Lee Mac 发表于 2022-7-6 17:48:51

**我已经考虑过日常工作**
 
我可以创建一个例程,请求两条线的选择并检索其中一条线的角度,然后可能使用“while”命令,LISP可以连续绘制垂直于其中一条线的线(以用户定义的预定间距)。
 
然后,使用“onseg”设置为“nil”(假设直线无限)的“inters”函数,可以检索垂直直线和另一条选定直线之间的交点。然后,可以使用两点之间的“距离”函数轻松计算垂直距离。
 
然而,我遇到的问题是如何从LISP中提取计算出的距离,并将其保存到文本/excel文件中。
 
但我希望其他人能够处理这个问题(我希望ASMI知道一两件事)

bsimpson 发表于 2022-7-6 17:52:11

谢谢你的努力,
 
这是一项相当艰巨的任务。这个例程听起来很可靠,如果ASMI赢不了,那么也许我们可以将文本放入文本表中的AutoCad中?
 
让我们从阿斯米那里等到这里,我相信他在附近。
 
谢谢
 
bsimpson公司

BIGAL 发表于 2022-7-6 17:55:02

在这里搜索batters&vba,一切都完成了,你需要稍微修改一下,但它完全可以实现你想要的垂直于两条不同多段线的直线。
 
找到它“Batter ticks”

bsimpson 发表于 2022-7-6 18:00:00

嗨,比格尔,
 
我在我的电脑上尝试了这些程序。
其中大约有5个进化。我只设法让一个部分工作,它通过例行程序,并正确地要求选择两行,然后输入步骤。唉,输出是*取消*我不知道Y。
 
bsimpson公司

bsimpson 发表于 2022-7-6 18:04:02

嗨,李,
 
我发现下面的例程将坐标发送到txt文件,也许我们可以获取代码并使用它来解决您的问题;
 
“然而,我遇到的问题是如何从LISP中提取计算出的距离,并将其保存到文本/excel文件中”。
 
;将旧式多段线顶点坐标导出到文本文件
; mfuccaro@hotmail.com
(defun c:pl2tx(/en ask i a file)
(while(不问)
(setq en(car(entsel)))
(如果en(setq ask(=“POLYLINE”(cdr(assoc 0(entget en 107;)а)))))
)
(setq文件(打开)(GetField“输出文件”)
(strcat(getvar“dwgprefix”)
(substr(getvar“DWGNAME”)1(-strlen(getvar“DWGNAME”))4)
“txt”;文件类型
1) “w”))
(setq i 0 sep“;”);sep=分离器
(while(或(zerop i)a)
(setq a(mapcar的RTO(cdr(assoc 10(entget)(setq en(entnext en \107;)а)а))))
(如果是(写入行(strcat(car a)sep(cadr a)sep(caddr a))文件))
(setq i(1+i))
)
(关闭文件)
(princ(strcat“\n”(itoa(1-i))“导出点”))
(普林斯)
)
 
bsimpson公司

CAB 发表于 2022-7-6 18:08:15

没有技巧文件输出。使用以下子项。
请注意,列表必须包含字符串!!!
 
您必须转换以下内容:
SV距离
'(0 12.5
10 12.25
20 12.8
30 12.05
30.125 12.00)
为此:
'("0 12.5"
"10 12.25"
"20 12.8"
"30 12.05"
"30.125 12.00")
 
(defun FileWrite (fn lst / fd)
(if (setq fd (open fn "w"))
   (progn
   (foreach itm (layoutlist)
       (write-line itm fd)
   )
   (close fd)
   )
)
)

bsimpson 发表于 2022-7-6 18:10:52

嗨,CAB,
 
谢谢你的评论,不过我需要整个程序。
 
bsimpson公司
页: 1 [2]
查看完整版本: 线条宽度的Lisp