spring8801 发表于 2017-8-16 18:01:20

求多段线上任意间距点至别一条多段线的垂直距离,并将距离输出至记事本或excel中

本帖最后由 spring8801 于 2017-8-17 08:17 编辑

如图所示,以A线为基准线,求B线任意间距点(手动输入间距)至A线的距离,B线上的点在A线右侧为正值,左侧为负值。并将距离按照顺序输出记事本或excel中。

jpg102329 发表于 2017-8-17 07:55:57

大师您好,我看您还有5个明经币,我忽然有个想法。今天天气真好,要是能捡到5个明经币就好了,或许就能写出一些代码了

spring8801 发表于 2017-8-17 08:12:42

jpg102329 发表于 2017-8-17 07:55
大师您好,我看您还有5个明经币,我忽然有个想法。今天天气真好,要是能捡到5个明经币就好了,或许就能写出 ...

在哪设置明经币?5个明经币没有问题啊

spring8801 发表于 2017-8-17 08:40:27

spring8801 发表于 2017-8-17 08:12
在哪设置明经币?5个明经币没有问题啊

重新发布悬赏帖子了,这帖子如何删除?

jpg102329 发表于 2017-8-17 08:44:55

本帖最后由 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)
)








jpg102329 发表于 2017-8-17 08:54:51

spring8801 发表于 2017-8-17 08:40
重新发布悬赏帖子了,这帖子如何删除?

我设置了附件收费2个明经币,你可以去下载了

ziqidonglai 发表于 2017-9-12 09:03:22

wdjy808 发表于 2018-3-9 11:23:05

函数错误7,是怎么了
页: [1]
查看完整版本: 求多段线上任意间距点至别一条多段线的垂直距离,并将距离输出至记事本或excel中