家园首页· 下载中心· 图纸中心· 文章中心· 教学中心· 晓东词典· 资源中心· FTP联盟· 校友录· 邮购服务
   论坛首页免费注册个人设置帮助退出论坛 爱心币规则  快速链接 游乐园  

  为改善网站速度,本站接受大家捐款,共建家园,点击查看汇款方法和捐款朋友名单...


晓东CAD家园 : Powered by vBulletin version 2.2.1 家园首页 >> 家园论坛 > …编程开发版块 > ※AutoLISP/VLISP 开发技术※ > [原创]:利用vla-sectionsolid剖圆锥得抛物线
  上一主题   下一主题
作者
主题 发布新主题    回复主题
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
1楼楼主说:[原创]:利用vla-sectionsolid剖圆锥得抛物线

程序思路:利用圆锥曲线的特性:对于正圆锥,垂直底面剖为双曲线,平行
母线剖为抛物线,平行底面剖为圆,斜底面剖为椭圆,于是用平面截锥体得
到抛物线,当然稍微改动即可变为双曲线
程序动机:学习vla-sectionsolid这个语句
思考:得到的spline是否为准确的抛物线呢?或者说近似度非常高呢?假如
我们承认acad的实体是足够精确,而其布尔运算也足够精确的话,这个剖面
线应该足够精确。个人觉得,spline似乎是三次曲线,按道理应该可以很好的
模拟二次曲线抛物线,但对于y^2/a^2-x^2/b^2=1的双曲线,又和y=x^3这
种三次曲线不一样。有点晕,对spline没有研究,麻烦高手解释一下,谢谢。

(defun c:test ()
  (
vl-load-com)
  (
setq *acad-object* nil)
  (
setq *active-document* nil)
  (
setq *model-space* nil)
  (
setq ratio (getreal "\n y=kx^2 k=?:"))
  (
setq vl-p1 (vlax-3d-point '(0 0 0)))
  (setq vl-p2 (vlax-3d-point '
(1000 0 0)))
  (
setq vl-p3 (vlax-3d-point '(1000 1000 0)))
  (setq vl-p4 (vlax-3d-point '
(0 0 -500)))
  (
setq vl-p5 (vlax-3d-point (list 0 0 (/ 0.5 ratio))))
  (
setq mycone (vla-addcone (model-space) vl-p1 1000 1000))
  (
vla-move mycone vl-p1 vl-p4)
  (
vla-rotate3d mycone vl-p1 vl-p2 (/ pi 4))
  (
vla-move mycone vl-p1 vl-p5)
  (
setq cur (vla-sectionsolid mycone vl-p1 vl-p2 vl-p3))
  (
vla-erase mycone)
  (
vla-explode cur)
  (
setq a (ssget "X" '((-4 . "<OR") (0 . "region")
          (0 . "line")
          (-4 . "OR>")
         )
      )
  )
  (command "erase" a "")
)

(defun acad-object ()
  (cond
    (*acad-object*)
    (t
      (setq *acad-object* (vlax-get-acad-object))
    )
  )
)


(defun active-document ()
  (cond
    (*active-document*)
    (t
      (setq *active-document* (vla-get-activedocument (acad-object)))
    )
  )
)


(defun model-space ()
  (cond
    (*model-space*)
    (t
      (setq *model-space* (vla-get-modelspace (active-document)))
    )
  )
)



斑竹奖励爱心币:15   by aeo
向版主反映该贴 | IP: 已记录



结构分析、CAD Autolisp技术、软件使用技巧
http://qjchen.yo2.cn

2005年09月21日 00:37
snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
gobot [查找更多关于gobot的帖子]
初级会员


ID: No.222884
发贴数: 18

经验值: 97%
等级: 2 级

现金:12¥
存款:

积分: 0
注册日期: 2005.03.06
日均在线: 0.02 小时
来  自:
2楼楼主说:

是几次模拟??



向版主反映该贴 | IP: 已记录


2006年04月28日 08:39
gobot 离线引用回复 点这里给 gobot 发送一条悄悄话 查找 gobot 的更多帖子 编辑/删除
snoopychen [查找更多关于snoopychen的帖子]积分28
超级会员


ID: No.8476
发贴数: 365

经验值: 82%
等级: 17 级

现金:633¥
存款:

积分: 28
注册日期: 2002.08.04
日均在线: 0.31 小时
来  自:
3楼楼主说:

还是不是很懂spline的原理,所以不确定,但是对于自己测试的一些点,感觉精度还挺高的
取坐标的时候,宜用(setq a (entget (car (entsel))))之类来取,小数位多点,比id命令和list命令要好些



向版主反映该贴 | IP: 已记录



结构分析、CAD Autolisp技术、软件使用技巧
http://qjchen.yo2.cn

2006年04月29日 01:01
snoopychen 离线引用回复 点这里给 snoopychen 发送一条悄悄话 查找 snoopychen 的更多帖子 编辑/删除
时区: GMT北京时间. 现在时间: 11:47. 发布新主题    回复主题 
  上一主题   下一主题
快速回复 [字数限制(为0不限制):0]
标题:
选项:
自动分析URL
Email 通知
显示签名

在新主题帖子中上传一个附件上传附件[最大: 1024000 字节:] 附件收爱心币!
有效文件扩展名: gif jpg dwf pdf txt zip jpeg lsp dcl doc c cpp swf rar 7z png
显示可打印版本 | 将本页发送给朋友 | 订阅该主题 | 添加到收藏夹

论坛跳转:
给这个主题评分:

论坛状态:
你不可以发布新主题
你不可以回复主题
你不可以上传附件
你不可以编辑自己的帖子
HTML代码 允许
vB代码 允许
表情符号 禁止
[IMG]代码 允许
 

< 管理员信箱 --辽ICP备05017898号 >
MSN:ad@xdcad.net 点击这里给我发消息 

本论坛属于个人性质的论坛,仅提供会员交流!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律有抵触的言论!否则后果自负