明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2428|回复: 6

多段线问题

[复制链接]
发表于 2002-11-7 10:46:00 | 显示全部楼层 |阅读模式
一条多段线,欲在距端点A长度处,画与该线正交的line ,如何做?
发表于 2002-11-7 11:53:00 | 显示全部楼层

here...

Use the following visual lisp function can to that...
(vlax-curve-getparamatdist)  -> to get the param at dist A
(vlax-curve-getpointatdist) -> to get the point
(vlax-curve-getfirstderiv) -> to get the first derivative at that point
The rest is easy.
发表于 2002-11-7 15:57:00 | 显示全部楼层

程序....

(defun C:VV (/ HOLDORTH HOLDANG ENAME VL-OBJ X P PX1 JANG) ;HOLDOSMODE)
  (vl-load-com)
  ;;(setq HOLDOSMODE (getvar "osmode"))
  (setq HOLDORTH (getvar "orthomode"))
  (setq HOLDANG (/ (* (getvar "snapang") 180) pi))
  (setq        ENAME  (car (entsel "\nSelect a valid curve: "))
        VL-OBJ (vlax-ename->vla-object ENAME)
  )

  (setq        X (vlax-curve-getparamatpoint
            VL-OBJ
            (setq P (vlax-curve-getclosestpointto
                      VL-OBJ
                      (vlax-curve-getpointatparam
                        VL-OBJ
                        (vlax-curve-getparamatdist
                          VL-OBJ
                          (getdist (vlax-curve-getstartpoint VL-OBJ)
                                   "\n距端點長度: "
                          )
                        )
                      )
                    )
            )
          )
  )

  ;|
  (setvar "osmode" 512)
  (setq        X (vlax-curve-getparamatpoint
            VL-OBJ
            (setq P (vlax-curve-getclosestpointto
                      VL-OBJ
                      (getpoint "\nSelect point on curve: ")
                    )
            )
          )
  )|;

  (setq PX1 (vlax-curve-getfirstderiv VL-OBJ X))
  (setq JANG (angle '(0 0 0) PX1))
  (command "_.snapang" (/ (* JANG 180) pi))
  (prompt "\nInput endpoint of line: ")
  (setvar "orthomode" 1)
  (command "_.line" P PAUSE "")
  (setvar "orthomode" HOLDORTH)
  (setvar "snapang" HOLDANG)
  ;;(setvar "osmode" HOLDOSMODE)
  (princ)
)
 楼主| 发表于 2002-11-7 17:48:00 | 显示全部楼层

谢谢 Alin

 楼主| 发表于 2002-11-7 17:50:00 | 显示全部楼层

谢谢龙龙仔,非常好

发表于 2002-11-7 23:35:00 | 显示全部楼层

已经收录。我想这会对搞道桥的有用吧。

发表于 2002-11-8 07:42:00 | 显示全部楼层

可以请教一个问题么?

用(vlax-curve-getparamatpoint curve-obj point) 返回的参数于于该point点是什么关系
(vlax-curve-getfirstderiv curve-obj param)返回的曲线在指定位置的第一个衍生于指定点又是什么关系
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 09:44 , Processed in 0.180998 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表