明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1949|回复: 0

急!你能改进一些lisp吗?

[复制链接]
发表于 2004-4-12 22:51:00 | 显示全部楼层 |阅读模式
在编图中 我都是以“块”的方式插入,例如 陡坎的牙齿方向的问题,我用下面LISP只能改变一条直线(AB-》BA),不能改变块的 希望 大虾能改进一下!!急啊 qq:42808710 下面lisp是实现了: 直线AB ---->直线BA (defun c:changeline ()

(setq ent (car (entsel)) ) ;car 取出序列的第一个元素
(setq ents (entget ent)) ;entget 取出对象的数据序列
(setq dxf10 (cdr (assoc 10 ents))) ;cdr 取出点对序列的第二元素,
;或一般序列第一元素除外的子序列
(setq
ents (subst (cons 10 (cdr (assoc 11 ents))) (assoc 10 ents) ents)
)

;
; subset 函数置换序列变量的数据项。或用cons函数加入新的数据项。
; cons 函数组合出新的数据项,或是用assoc函数从别的对象数据序列中取出新的数据项
; assoc 函数取出要修改的数据项,并判断该项目是否存在
;
(setq ents (subst (cons 11 dxf10) (assoc 11 ents) ents)) ; dxf10 是一个变量

(entmod ents) ;entmod 函数更新该对象
(princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 20:48 , Processed in 0.184895 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表