mdbdesign 发表于 2022-7-6 12:53:28

圆部分长度

可以获得如下所示的圆弧尺寸,而无需将圆分开,只需选择圆上的两个点???

Lee Mac 发表于 2022-7-6 12:58:40

是的,我相信通过使用vlax曲线函数,特别是vlax曲线getDistatPoint,这是可能的。
 
如果你需要进一步的帮助,就喊出来。
 

mdbdesign 发表于 2022-7-6 13:01:13

我用的是2002年,我很好奇Autodesk是否能开发出新版本的软件来实现这一点。

Lee Mac 发表于 2022-7-6 13:06:10

当然,也有弧长标注,但它只适用于弧。。。
 
对于LISP替代方案:
 
(defun ArcLen (Ent pt1 pt2)
(abs
   (- (vlax-curve-getDistatPoint Ent Pt2)
      (vlax-curve-getDistatPoint Ent Pt1))))

mdbdesign 发表于 2022-7-6 13:08:47

命令:\u appload Arclen。lsp已成功加载。
 
 
命令:
命令:
命令:ARCLEN
未知命令“ARCLEN”。按F1键获取帮助。
 
我的机器还在度假吗???

Lee Mac 发表于 2022-7-6 13:12:36

Arclen是一个子函数,需要三个参数,即所讨论的实体(圆)和两点。

Lee Mac 发表于 2022-7-6 13:15:22

例如。。。。绝对没有错误捕获:
 

(defun c:test (/ Cir p1 p2)
(if (and (setq Cir (car (entsel "\nSelect Circle: ")))
          (setq p1 (getpoint "\nSelect First Point: "))
          (setq p2 (getpoint "\nSelect Second Point: ")))
    (ArcLen Cir p1 p2)))

ronjonp 发表于 2022-7-6 13:15:51

这是你的解决方案,李,还有一点错误捕捉
 
(defun arclen (ent pt1 pt2)
(if (not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-curve-getendparam (list ent))))
   (abs (- (vlax-curve-getdistatpoint ent (vlax-curve-getclosestpointto ent pt2))
       (vlax-curve-getdistatpoint ent (vlax-curve-getclosestpointto ent pt1))
    )
   )
)
)
(arclen (car (entsel)) (getpoint) (getpoint))

Lee Mac 发表于 2022-7-6 13:21:01

谢谢Ron
 
另一个,提供更多信息:
 

(defun ArcLen (Ent pt1 pt2 / Cir Arc)
(vl-load-com)
(if (not (vl-catch-all-error-p
            (setq Cir
            (vl-catch-all-apply
                'vla-get-Circumference
                  (list
                  (vlax-ename->vla-object Ent))))))
   (list
   (setq arc
       (abs
         (- (vlax-curve-getDistatPoint Ent
            (vlax-curve-getClosestPointto Ent Pt2))
            (vlax-curve-getDistatPoint Ent
            (vlax-curve-getClosestPointto Ent Pt1)))))
   (- Cir arc))))

(defun c:test (/ ent p1 p2)
(if (and (setq ent (car (entsel "\nSelect Circle: ")))
          (setq p1 (getpoint "\nPt1: "))
          (setq p2 (getpoint "\nPt2: ")))
   (print (ArcLen ent p1 p2)))
(princ))

mdbdesign 发表于 2022-7-6 13:23:59

我只休息了半个小时(还在工作)让我试试。。。
页: [1] 2
查看完整版本: 圆部分长度