查找之间的线性距离
你好我想得到线之间的线性距离,就像在特殊层上的图像一样
如果距离超过边缘线,则将其旋转到垂直方向
如图所示
任何帮助都将不胜感激
快速一:
(defun c:ldis ( / e i l p q s x )
(setq x
(list
'(08 . "Distance")
(cons 40 (getvar 'textsize))
(cons 07 (getvar 'textstyle))
'(72 . 1)
'(73 . 2)
)
)
(if (setq s (ssget '((0 . "LINE"))))
(progn
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i))))
p (cdr (assoc 10 e))
q (cdr (assoc 11 e))
)
(if (equal (car p) (car q) 1e-3)
(setq l (cons (if (< (cadr p) (cadr q)) p q) l))
)
)
(mapcar
'(lambda ( a b / m s w )
(setq m (mapcar '(lambda ( a b ) (/ (+ a b) 2)) a b)
s (cons 01 (rtos (- (car b) (car a))))
w ((lambda ( b ) (- (caadr b) (caar b))) (textbox (cons s x)))
)
(entmake
(vl-list* '(0 . "TEXT") s
(cons 10 m)
(cons 11 m)
(if (< (- (car b) (car a)) w) (cons 50 (/ pi 2.0)) '(50 . 0.0))
x
)
)
)
(setq l (vl-sort l '(lambda ( a b ) (< (car a) (car b)))))
(cdrl)
)
)
)
(princ)
) 真的是世界上最好的网站
谢谢李
请回答一个问题
控制文本向下或向上移动的变量是什么 不客气
你是指文字的旋转还是位置? 我找到了变量it,s m point,我可以将偏移量加到m point到所需的位置
谢谢李的好意 享受 如果它也适用于多段线,那就太好了。。
谢谢你的Lisp程序,工作得很好!
谢谢-你是说只有两个顶点的二维多段线吗?或者程序应该只考虑第一个多段线段吗? Lee可能更简单的方法是使用围栏选择第一行选择最后一行选择列表,顺序正确,无需排序。随机线示例2选取此选项用于自动标注复制的房屋平面图尺寸。
页:
[1]