MSasu 发表于 2022-7-6 08:22:50

没问题!

pBe 发表于 2022-7-6 08:26:49

 
主人,我不是,但你说得太好了,你太善良了
但是你知道吗?这都是你的Aaryan。。我们只是来帮助你,为你指明正确的方向。
 
干杯

aaryan 发表于 2022-7-6 08:27:56

非常感谢Mircea和pBe。。
 
我已经检查了代码,即使对于在多段线之外选择的点,它也能正常工作,但如果我选择一个点(不是在多段线上),我就得不到垂直距离。你能查一下吗。

pBe 发表于 2022-7-6 08:33:00

如果用户确实从pline中选择了一个点。它将为您提供拾取点和垂直于多段线之间的距离?是这样吗?
 

(defun c:test3()
   (setq a (car (entsel "\nSelect polyline:")))
   (setq pt (getpoint "\nPick point:"))
   (setq dist (if (vlax-curve-getDistAtPoint a pt)
               (vlax-curve-getDistAtParam a
                  (vlax-curve-getParamAtPointa pt))
    (distance (vlax-curve-getClosestPointToa pt) pt)))
(princ (strcat "\nKP on this point is: " (rtos dist 2 3)))
       (princ)
   )

aaryan 发表于 2022-7-6 08:34:50

不仅是拾取的点与垂直于多段线的点之间的距离,还包括与垂直于多段线的点之间的KP。
 
喜欢
(princ (strcat "\nKp on this point is:" "xyz" "and offset from route is:abc"))
 
偏移量可以是正的,也可以是负的,这意味着如果我选择的点在右边,它将是正的偏移量,如果它在左边,它将是负的。

MSasu 发表于 2022-7-6 08:37:07

我认为,通过结合pBe和我给出的代码示例,您将获得该结果-这将是一个很好的练习。

pBe 发表于 2022-7-6 08:40:35

 
这是个不错的主意。我同意。
去做吧,Aaryan。
 
 
我需要一片阿斯匹林

aaryan 发表于 2022-7-6 08:42:56

好的,这将是我的工作。。。
不管怎样,我的问题现在解决了。
我感谢你的工作和对我的帮助。
我将再次提出另一个问题和另一个主题。
 
谢谢并致以最良好的问候
Aaryan。

pBe 发表于 2022-7-6 08:48:54

 
如果你不介意的话,完成后在这里分享你的代码。
 
继续编码

aaryan 发表于 2022-7-6 08:51:06

我一定会在这里分享pBe。
 
当做
页: 1 [2]
查看完整版本: 帮我开始。