请问这个代码想增加一个线型的筛选改怎么加呀
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif;; tt(圆替换成块)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif(defun c:tt ()
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif(princ "\n根据圆直径替换成块: ")
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif(if (setq ss (ssget '((0 . "circle"))))
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (progn
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (setq i -1
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif ss1 (ssadd)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (while (setq s1 (ssname ss (setq i (1+ i))))
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (setq ent (entget s1)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif pt(cdr (assoc 10 ent))
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif rr(cdr (assoc 40 ent))
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (cond ((= rr 5.15)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (command "insert" "xm12" pt 1 1 0)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (ssadd s1 ss1)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif ((= rr 4.15)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (command "insert" "xm10" pt 1 1 0)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (ssadd s1 ss1)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif (command "erase" ss1 "")
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif )
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif(princ)
[*]http://bbs.mjtd.com/source/plugin/imc_colorcode/images/jssc_none.gif)
在论坛找到这个代码 想再增加一个线型的识别 例如: 一个图又 不同线型的 直接10.3的圆 不同线型不同直径的圆分别用不同的块替换
本帖最后由 Andyhon 于 2017-11-11 23:02 编辑
未调试...
(defun Hidden->blk (sset)
(setq i -1)
(while (setq s1 (ssname sset (setq i (1+ i))))
(setq ent (entget s1)
pt(cdr (assoc 10 ent))
rr(cdr (assoc 40 ent))
)
(cond ((= rr 5.15)
(command "insert" "xm12H" pt 1 1 0)
(ssadd s1 ssA)
)
((= rr 4.15)
(command "insert" "xm10H" pt 1 1 0)
(ssadd s1 ssA)
)
)
)
)
(defun Center->blk (sset)
(setq i -1)
(while (setq s1 (ssname sset (setq i (1+ i))))
(setq ent (entget s1)
pt(cdr (assoc 10 ent))
rr(cdr (assoc 40 ent))
)
(cond ((= rr 5.15)
(command "insert" "xm12C" pt 1 1 0)
(ssadd s1 ssA)
)
((= rr 4.15)
(command "insert" "xm10C" pt 1 1 0)
(ssadd s1 ssA)
)
)
)
)
;; tt(圆替换成块)
(defun c:tt ()
(princ "\n根据圆直径替换成块: ")
(if (setq ss (ssget '((0 . "circle"))))
(progn
(setq ss1 (ssget "P" '((6 . "Center"))))
(command "select" ss "")
(setq ss2 (ssget "P" '((6 . "Hidden"))))
(setq ssA (ssadd))
(if ss1
(Center->blk ss1)
)
(if ss2
(Hidden->blk ss2)
)
(command "erase" ssA "")
)
)
(princ)
)
先这样试吧
(setq ss (ssget '((0 . "circle") (6 . "Center"))))
(setq ss (ssget '((0 . "circle") (6 . "Hidden"))))
... Andyhon 发表于 2017-11-11 10:13
先这样试吧
(setq ss (ssget '((0 . "circle") (6 . "Center"))))
(setq ss (ssget '((0 . "circle") ( ...
我是想再框选的时候不区分 只是在替换的时候才区别不同的线型 再不同的块替换 (setq ss (ssget '((0 . "circle"))))
...
(setq ss1 (ssget "P" '((6 . "Center"))))
(command "select" "ss" "")
(setq ss2 (ssget "P" '((6 . "Hidden"))))
... Andyhon 发表于 2017-11-11 11:17
(setq ss (ssget '((0 . "circle"))))
...
大神能具体点么 才接触这个 不是很懂 我就是想再 rr 5.15 这个条件基础上再加一个队线型的条件 请上传Dwg含至少三个实例图样作说明... Andyhon 发表于 2017-11-11 21:20
请上传Dwg含至少三个实例图样作说明...
就想这个图里面的四个圆一样相吧这四种分别用不同的块替换
块名又各如何? Andyhon 发表于 2017-11-11 21:31
块名又各如何?
块名字可以随便做那个打算做现成的图快插入
页:
[1]
2