马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
[Actionscript3] 纯文本查看 复制代码 (defun c:2d23d ( / e i l p s x z )
(cond
( (null (setq s (ssget '((0 . "LWPOLYLINE,TEXT"))))))
( (progn
(repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i)))
x (entget e)
)
(if (= "TEXT" (cdr (assoc 0 x)))
(if (setq z (distof (cdr (assoc 1 x))))
(setq l (cons (cons (trans (cdr (assoc 10 x)) e 0) z) l))
)
(setq p e)
)
)
(null p)
)
(princ "\nNo polyline selected.")
)
( (null (setq l (mapcar '(lambda ( x ) (cons (vlax-curve-getclosestpointto p (car x)) (cdr x))) l)))
(princ "\nSelected text is not numerical.")
)
( (setq x (entget p)
z (cdr (assoc 38 x))
)
(foreach g x
(if (and (= 10 (car g)) (setq g (trans (cdr g) p 0)) (not (vl-some '(lambda ( x ) (equal (car x) g 1e-8)) l)))
(setq l (cons (cons g z) l))
)
)
(entmake '((0 . "POLYLINE") (70 . 8)))
(foreach v (vl-sort l '(lambda ( a b ) (< (vlax-curve-getparamatpoint p (car a)) (vlax-curve-getparamatpoint p (car b)))))
(entmake
(list
'(00 . "VERTEX")
'(70 . 32)
(list 10 (caar v) (cadar v) (cdr v))
)
)
)
(entmake '((0 . "SEQEND")))
)
)
(princ)
) |