spring8801 发表于 2017-8-17 08:34:55

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

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

jpg102329 发表于 2017-8-17 09:02:48



(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)
)

954220086



jpg102329 发表于 2017-8-17 09:07:27

如果可用,请记得给我回复说一句我的答案能用,版主看到你的回复会把明经币扣给我的。挣点明经币不容易啊,望理解

spring8801 发表于 2017-8-17 13:26:06

jpg102329 发表于 2017-8-17 09:07
如果可用,请记得给我回复说一句我的答案能用,版主看到你的回复会把明经币扣给我的。挣点明经币不容易啊, ...

"错误: no function definition: JC-LEN"请问这是什么原因?

spring8801 发表于 2017-8-17 13:41:04

spring8801 发表于 2017-8-17 13:26
"错误: no function definition: JC-LEN"请问这是什么原因?

可以用了,程序必须先加载TTP.lsp程序,再加载上面的代码吗?而且先后顺序不能更改么?

jpg102329 发表于 2017-8-17 14:00:05

spring8801 发表于 2017-8-17 13:41
可以用了,程序必须先加载TTP.lsp程序,再加载上面的代码吗?而且先后顺序不能更改么?

因为整体文件有点多,所以贴出来的代码只是主程序,子函数都在TTP.LSP中,包括主程序也在,网页上的部分代码在TTP.LSP文件中已经存在,可以直接使用。希望版主可以把钱付给我哈哈,写代码不容易

jpg102329 发表于 2017-8-17 14:00:49

上午看的时候你还只有5个明经币呢,怎么这会儿就17个了,你是怎么弄到的啊

itoboy 发表于 2017-8-18 21:58:53

jpg102329 发表于 2017-8-17 14:00
上午看的时候你还只有5个明经币呢,怎么这会儿就17个了,你是怎么弄到的啊

估计是用激情、贡献之类兑换的

spring8801 发表于 2017-8-21 13:50:57

itoboy 发表于 2017-8-18 21:58
估计是用激情、贡献之类兑换的

说的对,是兑换的

spring8801 发表于 2017-8-21 13:52:15

jpg102329 发表于 2017-8-17 14:00
因为整体文件有点多,所以贴出来的代码只是主程序,子函数都在TTP.LSP中,包括主程序也在,网页上的部分 ...

可以用了,都是版主才能给你么?我不在上面直接点付给你么?
页: [1] 2
查看完整版本: 求多段线上任意间距点至别一条多段线的垂直距离,并将距离输出至记事本或excel中