我的口齿不清需要什么帮助
你好伙计们。。。我编写了一个lisp程序,用于创建到多段线或直线的距离标签
它可以很好地处理LW多段线,但不能很好地处理直线。。
在不同点创建一些未知值
请帮我找到问题。。。
当做
甘尼什
(defun c:test(/ ss c len mylist ssnm ent object sp ep ang ang1 mid p)
(setq ss(ssget))
(setq c 0)
(setq len(sslength ss))
(setq mylist'())
(repeat len
(setq ssnm(ssname ss c))
(setq ent(entget ssnm))
(setq object(cdr (assoc 0 ent)))
(if (= object "LINE")
(progn
(setq asc10(cdr (assoc 10 ent)))
(setq asc11(cdr (assoc 11 ent)))
(setq mylist(append (list asc10) mylist))
(setq mylist(append (list asc11) mylist))
)
)
(if (= object "LWPOLYLINE")
(progn
(foreach vert ent
(if (eq (car vert) 10)
(setq mylist(cons (cdr vert) mylist))
)
)
)
)
(setq c (1+ c))
)
(setq p 0)
(repeat (1- (length mylist))
(setq sp(nth p mylist))
(setq ep(nth (1+ p) mylist))
(setq ang(rtod (angle sp ep)))
(if (and (>= ang 94.0) (<= ang 273.0))
(setq ang1(rtod (angle ep sp)))
(setq ang1(rtod (angle sp ep)))
)
(setq mid(polar sp (angle sp ep) (/ (distance sp ep) 2)))
(command "TEXT" "J" "MC" mid "2" ang1 (rtos (distance sp ep)))
(setq p (1+ p))
)
)
(DEFUN RTOD (ANG)
(/ (* ang 180) pi)
)
未知值是关于什么的?如果你的意思是32.28085617578746。当前文本样式很可能具有定义的高度,因此命令调用将跳过
提示输入高度(在本例中为2),角度值将作为字符串结束
哎呀。。,不是这样的。我刚刚测试了你的代码,它确实创建了一个“在不同点创建的未知值”。。。等一下,我去看看
将文本值放置在不同的文本位置pbe 随附示例文件
样品图纸 我建议您将“文本”创建移动到循环gS7中
(command "TEXT" "J" "MC" "_non" mid "2" ang1 (rtos (distance sp ep))) 很不错的!!坦克you Tharwat
不客气。
owe! ok Now i got it pBe ,tank you so much for Helping me ..
if i have any doubt i will inform you ....
Ganesh
I'll be here. Also , look into the condition where the selected entity is a closed Polyline Ganesh yes of course pBe i tank u for alerting me
i used dxf code 70 for Know Whether Polyline isclosed or not ....
页:
[1]
2