357785513 发表于 2018-10-22 22:03:45

将LINE转成MLINE

各位高手如何将将LINE转成MLINE,一定得是,而不是三条line

ssyfeng 发表于 2018-10-23 09:55:05

本帖最后由 ssyfeng 于 2018-10-24 14:13 编辑

试试这个:(defun c:tt (/ clayer en ent layer line-ss pt1 pt2 ssn)
(vl-cmdf "_undo" "be")
(setq clayer (getvar "CLAYER")
    line-ss (ssget '((0 . "line")))
    ssn (sslength line-ss)
)
(repeat ssn
    (setq en (ssname line-ss (setq ssn (1- ssn)))
      ent (entget en)
      layer (cdr (assoc 8 ent))
      pt1 (cdr (assoc 10 ent))
      pt2 (cdr (assoc 11 ent))
    )
    (setvar "CLAYER" layer)
    (vl-cmdf "_mline" "j" "z" pt1 pt2 "")
    (vl-cmdf "_ERASE" en "")
)
(setvar "CLAYER" clayer)
(vl-cmdf "_undo" "e")
(princ)
)



panliang9 发表于 2018-10-23 09:30:32

没有直接line转mline,但有pline转multi-line的。line转pline很简单,论坛里很多。


357785513 发表于 2018-10-23 21:24:40

觉得ssyfeng的写得非常高明,就是主题与贴子太少了

mokson 发表于 2019-1-4 20:11:17

宸茬粡鏈熺浖浜嗚澶氬勾浜嗐

forever111 发表于 2019-4-7 00:01:36

学习了   学习了   谢谢
页: [1]
查看完整版本: 将LINE转成MLINE