wanhongron
发表于 2022-5-18 17:13:18
@gzcsun侠,你的程序非常完美,辛苦了
landsat99
发表于 2022-5-18 18:20:21
Python win32com
import pythoncom
import win32com.client
Cad = win32com.client.Dispatch("AutoCAD.Application")
Uti = Cad.ActiveDocument.Utility
def pt(x, y, z=0):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, (x, y, z))
def dist(pt1, pt2):
x1 = pt1; y1 = pt1; x2 = pt2; y2 = pt2
return ((x2 - x1)**2 + (y2 - y1)**2)**0.5
dd = 0
pt1 = Uti.GetPoint(pt(0,0),"First point: ")
while True:
pt2 = Uti.GetPoint(pt(pt1, pt1), "Next point >>> ")
dd += dist(pt1, pt2)
Uti.Prompt("Total Dist= " + str(dd) + "\n\r")
pt1 = pt2
cj52000
发表于 2022-5-18 21:11:56
gzcsun 发表于 2022-5-18 15:33
(defun c:tt1(/ N n1 P1 p22 P2)
(setq n 0)
(setq n1 0)
大师,很好用,能否把小数位数改为3位小数,谢谢 !
lxl217114
发表于 2022-5-19 12:44:07
liufii 发表于 2022-5-18 11:30
多谢分享!
试了下出现错误,只能测量一段,错误如下:
出现了相同的问题
mercio
发表于 2022-5-20 07:39:15
厉害,收藏一下
wanhongron
发表于 2022-5-21 08:38:19
能否把测的结果随鼠标位置显示
wanhongron
发表于 2022-5-21 10:24:50
或在屏幕中间显示,免得老是低头看命令栏
xyp1964
发表于 2022-5-21 11:19:28
;; 不具有通用性
gzcsun
发表于 2022-5-21 14:53:05
wanhongron 发表于 2022-5-21 10:24
或在屏幕中间显示,免得老是低头看命令栏
打开动态输入就可以
gzcsun
发表于 2022-5-21 14:56:29
cj52000 发表于 2022-5-18 21:11
大师,很好用,能否把小数位数改为3位小数,谢谢 !
(rtos n 2 2)
改为
(rtos n 2 3)