主题: 超菜鸟求助
查看单个帖子
旧 2009-04-27, 01:56 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 超菜鸟求助

超菜鸟求助
www.dimcax.com
超菜鸟求助
(defun c:bz()
(setvar "dimadec" 2)
(setq p1 (getpoint " 输入第一点:"))
(setq p2 (getpoint " 输入第二点:"))
(setq p3 (getpoint " 输入第三点:"))
(command "line" p1 p2 "")
(setq ent1 (entlast))
(command "line" p2 p3 "")
(setq ent2 (entlast))
(setq ang (/ (+ (angle p2 p1) (angle p2 p3)) 2))
(setq p4 (polar p2 ang 5))
(command "osmode" 0)
(command "dimangular" (list ent1 p2) (list ent2 p2) p4)
(princ)
)
小弟非常菜,刚刚学习lisp语言,以上是论坛中某大哥的原创,学习过程中,不理解以下几点,麻烦高手赐教:
1、entlast这个函数在程序里怎么运行的?ent1取得这个16进制的数是什么作用?
2、(setq ang (/ (+ (angle p2 p1) (angle p2 p3)) 2)) 是什么意思啊,什么角度?
3、angel p2 p1 和 angel p1 p2 有什么不同?
4、(command "dimangular" (list ent1 p2) (list ent2 p2) p4)在程序中是怎么运行的阿?list ent1 p2 怎么理解阿?
多谢啦!
d
1.entlast获取最后一个生成而未被删除的图元。具体看帮助
2.求两直线的中线角度,不过有时候会出错。角度单位为弧度。
3.相差了 pi (180°)
4.图原名和点,结构和entsel获取的结果相同。有时候cad命令需要的不仅仅是图原名,还需要点来说明在图元上的位置,如fillet命令...
d
ent1 是一个图元名称,是一个16进制的数,怎么能用来作为函数的参数呢?怎么能用来做一个点呢?
d
都这么多高手浏览了,就赐教一个呗!
d
二楼已经讲得很清楚了。如果楼主连二楼的第4条都不理解,那真是“超级菜鸟”了。
踅摸
d
p
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)