AUTO LISP倒角程序怎样编啊??

AUTO LISP倒角程序怎样编啊??,第1张

只册颂培是因为你的(command "chamfer")格式有问题而已,不是说用command 调用所用的函数都是按照画图时候的顺序来就可以的,而且经尝试,不可以樱粗用PLINE~只能用LINE,我也不知道为什州唯么,正确的语言是

(defun c:dj()

(setq p0 (getpoint "输入第一点:"))

(setq p1 (polar p0 0 100))

(setq p2 (polar p1 (* 0.5 pi) 30))

(command "line" p0 p1 "")

(setq l1 (entlast))

(command "line" p1 p2 "")

(setq l2 (entlast))

(command "chamfer" "t" "t" "d" 5 5 "chamfer" l1 l2 "" )

(prin1)

)

倒圆角命令快捷键就是【F】,所以lisp的命令不能是【F】,不要与其他命令冲突。

如果每次倒角半径相同,就不需要重缓斗复输入半径,按【空格】键就可以重复上一次的动作。

使用command命令,测试了一下,不能调用倒角命令的半径输入功能。

从AutoCAD2010版本开始,CAD增加了【动作录制器】功能,可以录制动作,命名的时候可以用【A2】这样陆哪芦命名,早带这个命名就是命令,可以做到有些lisp程序做不到的功能。具体怎么使用,按【F1】在帮助里面查看。

块属性需要用entnext不断的往后取得到,下面给你一个例子

把两个属性快的属性执行一致

(defun C:bpp() 复制属性

(setq ent1 nil ent2 nil)

(while (= nil ent1)(setq ent1 (car (entsel "\n数据源信郑块:")))) 取其中 一个块

(while (= nil ent2)(setq ent2 (car (entsel "宏坦岁\n需要被一致的块:")))) 取其中另一个块

(setq n

(length (vlax-safearray->list (vlax-variant-value

(vlax-invoke-method

(vlax-ename->vla-object ent1)

'蔽睁GetAttributes)

)))

)

(repeat n

(setq ent1 (entnext ent1))

(setq ent2 (entnext ent2))

(setq entlist1 (entget ent1))

(setq entlist2 (entget ent2))

(setq entlist2 (subst (assoc 1 entlist1) (assoc 1 entlist2) entlist2))

(entMOD entlist2)

(entUPD ent2)

)

)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12419991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存