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)
页: 1 [2] 3
查看完整版本: 随心随意测距