OWEN7 发表于 2013-5-20 15:24:27

线的虚实变换

怎么样实现 线的快速变形, 虚线变实,实线变虚。。。DASH线性。

wowan1314 发表于 2013-5-20 16:11:42

;改成虚线------------------------------------------------------- 11
(defun c:YY-11(/ ent)
(setq ent (ssget))
(command "change" ent "" "p" "lt" "dash" "")
(PRINC)
)

OWEN7 发表于 2013-5-20 17:09:15

本帖最后由 OWEN7 于 2013-5-20 17:29 编辑

谢谢WOWAN兄。。。。。但我想要的是运行命令后,点一下是 虚线,再点一下是 实线。 而且支持框选。。

461045462 发表于 2013-5-20 17:31:51

change--->选择对象:指定修改点或 [特性(P)]--->输入要修改的特性
[颜色(C)/标高(E)/图层(LA)/线型(LT)/线型比例(S)/线宽(LW)/厚度(T)]

669423907 发表于 2013-5-20 22:53:40

[函数] 处女贴,发个实体线型在虚线和实线之间变化的函数
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=87839&fromuid=38464

ZZXXQQ 发表于 2013-5-21 08:54:25

;线型变换 明经 ZZXXQQ 2013.5.21
(defun c:tt ()
(if (setq ss (ssget)) (progn
(setq i -1)
(setq clt "DASHED")
(repeat (sslength ss)
   (setq ent (entget(ssname ss (setq i (1+ i)))))
   (if (assoc 6 ent)
    (if (= (cdr(assoc 6 ent)) clt)
    (setq ent (subst (cons 6 "Continuous") (assoc 6 ent) ent))
    (setq ent (subst (cons 6 clt) (assoc 6 ent) ent))
    )
    (if (= (cdr(assoc 6 (tblsearch "LAYER" (cdr(assoc 8 ent))))) clt)
   (setq ent (append ent (list(cons 6 "Continuous"))))
   (setq ent (append ent (list(cons 6 clt))))
    )
   )
   (entmod ent)
)
))
(princ)
)

OWEN7 发表于 2013-5-21 12:15:48

ZZXXQQ 彻底佩服服了。很漂亮的代码, 致敬。

wowan1314 发表于 2013-5-21 15:07:00

没办法,只会简单的。
;虚线与随层线型间切换------------------------------------------------------- 11
(defun c:T11(/ ent SS I)
(setq SS (ssget ":L") I -1)
(WHILE (SETQ ENT (SSNAME SS (SETQ I (1+ I))))
    (IF (cdr (assoc 6 (entget ENT)))   
      (command "change" ent "" "p" "lt" "byLAYER" "")
      (command "change" ent "" "p" "lt" "dash" "")
    )
)
(PRINC)
)

xiabin68 发表于 2013-5-24 08:41:58

都整的简单直观

lzg8877 发表于 2013-5-24 08:57:14

我只觉得这里好人多 好心人多!帮助不少呀
页: [1] 2
查看完整版本: 线的虚实变换