找回密码
 注册会员
查看: 308|回复: 0

[求助] autolisp更新图元元素后更新不了

[复制链接]
发表于 2021-2-9 12:12:42 |Error| 显示全部楼层 |阅读模式

我们不再是孤独的探索者;让我们的手紧紧相连,一起成长。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
(defun c:xj()

       (setq a1 (getpoint"/n输入第一点:"))   
       (setq a2 (getpoint"/n输入第二点:"))
       (setvar "cmdecho" 0)                     
       (setq osm (getvar "osmode"))         
       (setvar "osmode" 0)                    
       (setq a3 (getpoint"/n输入点:"))
       (command "line" a1 a2 "")
       (setq e1 (entget (entlast)))          ; 获取最后图元
       (command "offset" 0.1 (entlast) a3 "")
       (setq e2 (entget (entlast)))
       (setq c1 (cons 62 3))                 ; 生成颜色点对列表
       (setq c2 (cons 62 3))
       (setq c3 (cons 8 "50"))            ; 生成图层点对列表
       (setq c4 (cons 8 "50"))
       (setq b1 (assoc 62 e1))            ;获取旧颜色点对列表
       (setq b2 (assoc 62 e2))
       (setq b3 (assoc 8 e1))             ;获取图层色点对列表
       (setq b4 (assoc 8 e2))
       (if (= b1 nil) (setq e1 (cons c1 e1)) (subst c1 b1 e1))   ;更换列表中元素
       (if (= b2 nil) (setq e2 (cons c2 e2)) (subst c2 b2 e2))
       (entmod e1)                                               ;更新
       (entmod e2)
       (if (= b3 nil) (setq e3 (cons c3 e3)) (subst c3 b3 e1))   ;更换列表中元素
       (if (= b4 nil) (setq e4 (cons c4 e4)) (subst c4 b4 e2))
       (entmod e1)                                               ;来到这步没更新了是怎回事?
       (entmod e2)
       (command "trim" "")
       (setvar "osmode" osm)  
       (princ)

     )

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Cncad.Net ( 苏ICP备2026083443号 )

GMT+8, 2026-11-1 18:34 , Processed in 0.191410 second(s), 18 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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