ndian 发表于 2004-4-12 22:51:00

急!你能改进一些lisp吗?

在编图中 我都是以“块”的方式插入,例如 陡坎的牙齿方向的问题,我用下面LISP只能改变一条直线(AB-》BA),不能改变块的       希望 大虾能改进一下!!急啊


qq:42808710


下面lisp是实现了: 直线AB ---->直线BA


(defun c:changeline ()<BR>                                                                                       <BR>                                                                       (setq ent (car (entsel)) )                                                                                                                       ;car 取出序列的第一个元素<BR>                                                                       (setq ents (entget ent))                                                                                                                                               ;entget 取出对象的数据序列<BR>                                                                       (setq dxf10 (cdr (assoc 10 ents)))                                                               ;cdr 取出点对序列的第二元素,<BR>                                                                                                                                                                                                                                                                                                                                                                                                                               ;或一般序列第一元素除外的子序列<BR>                                                                       (setq<BR>                                                                               ents (subst (cons 10 (cdr (assoc 11 ents))) (assoc 10 ents) ents)<BR>                                                                       )<BR>                       <BR>                                                               ;<BR>                                                               ; subset 函数置换序列变量的数据项。或用cons函数加入新的数据项。 <BR>                                                               ; cons       函数组合出新的数据项,或是用assoc函数从别的对象数据序列中取出新的数据项<BR>                                                               ; assoc 函数取出要修改的数据项,并判断该项目是否存在                                                                                       <BR>                                                               ;<BR>                                                               (setq ents (subst (cons 11 dxf10) (assoc 11 ents) ents))       ; dxf10       是一个变量<BR>        <BR>                                       


                       (entmod ents)                               ;entmod 函数更新该对象                                                                                                                                                                                                                       <BR>                       (princ)<BR>)
页: [1]
查看完整版本: 急!你能改进一些lisp吗?