提取曲线等分段点坐标并存盘

;提取曲线等分段点坐标并存盘
;等分数可突破“Measure“及“Divide”命令最大数32767的限制
;在盘结果为:点编号&nbsp&nbsp&nbspX&nbsp&nbsp&nbspY,在盘后立即用记事本后打开该文件
;可以用提取的坐标进行施工放样
(defun&nbspc:qxcl()
&nbsp&nbsp&nbsp&nbsp(vl-load-com)
&nbsp&nbsp&nbsp&nbsp(setq&nbspcm&nbsp(getvar&nbsp"cmdecho")&nbspom&nbsp(getvar&nbsp"osmode"))
&nbsp&nbsp&nbsp&nbsp(setvar&nbsp"cmdecho"&nbsp0)&nbsp(setvar&nbsp"osmode"&nbsp0)
&nbsp&nbsp&nbsp&nbsp(setq&nbspff&nbsp(open&nbsp(setq&nbspwjm&nbsp(getfiled&nbsp"请选择等分点数据存盘文件"&nbsp""&nbsp"txt"&nbsp1))&nbsp"w")
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspen&nbsp(car&nbsp(entsel&nbsp"
请选择要等分段的曲线:"))
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspn&nbsp&nbsp(getint&nbsp"
请输入等分数=")&nbsp
&nbsp&nbsp&nbsp&nbsp)
&nbsp&nbsp&nbsp&nbsp(command&nbsp"lengthen"&nbspen&nbsp"")
&nbsp&nbsp&nbsp&nbsp(setq&nbspvob&nbsp(vlax-ename->vla-object&nbspen)
&nbsp&nbsp&nbspl&nbsp&nbsp&nbsp(getvar&nbsp"perimeter")
&nbsp&nbsp&nbspdis&nbsp(/&nbspl&nbspn)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspi&nbsp&nbsp&nbsp0
&nbsp&nbsp&nbsp&nbsp)
&nbsp&nbsp&nbsp&nbsp(repeat&nbsp(1+&nbspn)
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(setq&nbsppt&nbsp&nbsp(vlax-curve-getpointatdist&nbspvob&nbsp(*&nbspi&nbspdis))&nbspi&nbsp(1+&nbspi))
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(princ
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 结果按高斯坐标形式在盘
&nbsp&nbsp&nbsp&nbsp(strcat&nbsp(itoa&nbspi)&nbsp"&nbsp&nbsp"&nbsp(rtos&nbsp(cadr&nbsppt)&nbsp2&nbsp4)&nbsp"&nbsp&nbsp"&nbsp(rtos&nbsp(car&nbsppt)&nbsp2&nbsp4)&nbsp"
")&nbspff
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 若按迪卡尔坐标(即数学坐标)形式在盘,请用
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp (strcat&nbsp(itoa&nbspi)&nbsp"&nbsp&nbsp"&nbsp(rtos&nbsp(car&nbsppt)&nbsp2&nbsp4)&nbsp"&nbsp&nbsp"&nbsp(rtos&nbsp(cadr&nbsppt)&nbsp2&nbsp4)&nbsp"
")&nbspff
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp)
&nbsp&nbsp&nbsp&nbsp)
&nbsp&nbsp&nbsp&nbsp(close&nbspff)
&nbsp&nbsp&nbsp&nbsp(startapp&nbsp"notepad"&nbspwjm)
&nbsp&nbsp&nbsp&nbsp(setvar&nbsp"cmdecho"&nbspcm)&nbsp(setvar&nbsp"osmode"&nbspom)&nbsp(princ)
)

发表评论

您的邮箱不会被公开。* 为必填项