求多段线上任意间距点至别一条多段线的垂直距离,并将距离输出至记事本或excel中
本帖最后由 spring8801 于 2017-8-17 08:17 编辑如图所示,以A线为基准线,求B线任意间距点(手动输入间距)至A线的距离,B线上的点在A线右侧为正值,左侧为负值。并将距离按照顺序输出记事本或excel中。
大师您好,我看您还有5个明经币,我忽然有个想法。今天天气真好,要是能捡到5个明经币就好了,或许就能写出一些代码了 jpg102329 发表于 2017-8-17 07:55
大师您好,我看您还有5个明经币,我忽然有个想法。今天天气真好,要是能捡到5个明经币就好了,或许就能写出 ...
在哪设置明经币?5个明经币没有问题啊 spring8801 发表于 2017-8-17 08:12
在哪设置明经币?5个明经币没有问题啊
重新发布悬赏帖子了,这帖子如何删除? 本帖最后由 jpg102329 于 2017-8-17 08:54 编辑
(defun c:tt(/ +- A B CAN DIST ET INT LST PTA PTLST X)
(setq a(car(jc-entsel'((0 . "*polyline"))"点选A线")))
(setq b(jc-entsel'((0 . "*polyline"))"点选B线"))
(setq can(if(>(* 0.5 (jc-len(car b)))(vlax-curve-getDistAtPoint (car b)(apply'vlax-curve-getclosestpointto b)))""))
(initget 3)
(setq dist(getdist"间距:"))
(setq ptlst(jc-定距等分坐标表 (car b) dist can))
(setq int 0)
(setq lst
(mapcar'(lambda(x)
(setq pta(vlax-curve-getclosestpointto a x))
(setq dist(distance pta x))
(setq +-(if(>(car pta)(car x))"+""-"))
(list
(rtos(setq int(1+ int))2 0)
(strcat +- (rtos dist))
)
)ptlst))
(jc-line ptlst (mapcar '(lambda(x)(vlax-curve-getclosestpointto a x)) ptlst))
(if(not(or(setq et(vlax-get-or-create-object"ket.application"))(setq et(vlax-get-or-create-object"et.application"))(setq et(vlax-get-or-create-object"excel.application"))))
(progn(alert"未找到WPS或MSexcel")(exit)))
(vla-put-visible et 1)
(vlax-invoke(vlax-get-property ET 'WorkBooks)'Add);建工作薄
(JC-EXCEL-PASE et "A1"lst)
(prompt"***大懒猪荣誉出品***")
(princ)
)
spring8801 发表于 2017-8-17 08:40
重新发布悬赏帖子了,这帖子如何删除?
我设置了附件收费2个明经币,你可以去下载了 函数错误7,是怎么了
页:
[1]