bchapman 发表于 2013-1-24 03:26:32

查找圆弧相交 90 度弧的位置

是否可以以图形方式找到一条将与一条直线相切的弧,并以正好90%(我猜的切点)与另一条弧相交。 请参阅图像:
通过标记编辑
已将.bmp文件替换为.png。
从 4300 KB 增加到 7KB。
查找命令 pngout。
谢谢!

**** Hidden Message *****

mjfarrell 发表于 2013-1-24 04:00:22

开始,结束,方向和方法???

bchapman 发表于 2013-1-24 22:23:42


嘿MJ,还在海外吗? 我会尝试一下,让你知道。我在大学的教授向我展示了一种方法,通过抵消线条,将圆圈和垃圾一分为二来实现这一目标,但我忘记了他是怎么做到的......公平地说,这是10年前的哈哈

mjfarrell 发表于 2013-1-25 00:02:24


嘿,MJ,还在海外吗?我会试一试,让你知道的。我大学的教授向我展示了一种通过偏移线、平分圆圈和垃圾来实现这一目标的方法,但我忘了他是怎么做到的...公平地说,那是10年前的lolworks

是的,我这些天在南非...偶尔会去卡塔尔和地球上的其他地方旅游。
这只是一个几何结构

bchapman 发表于 2013-1-25 22:09:46

不幸的是,这似乎不起作用。我不知道在交点处使圆弧正好成90度的方向。谢谢你

是的,我最近在南非……偶尔回卡塔尔和全球其他地方度假
它只是一个几何结构

bchapman 发表于 2013-1-26 08:21:57

以下是我如何构造弧线(为了清楚起见,我使用了动态输入):解释:使用PER垂直对象捕捉构造垂直于ARC的XLINE。
绘制一个以 XLINE 和 ARC 之间的交点为中心的圆,圆周穿过 XLINE 和 LINE 之间的交点。
复制 CIRCLE,使中心位于 XLINE 和 LINE 之间的交点处。
构造 ARC 的起点位于复制的 CIRCLE 和 LINE 的交点处,终点位于 XLINE 和 ARC 的交点处,方向位于 XLINE 和 LINE 之间的交点处。当然还有替代方法(在AutoCAD中有很多方法可以剥猫皮);例如,可以使用 ARC 的中心构造初始 XLINE,以避免使用 PER 垂直对象捕捉。此外,您可以构造两个垂直于 LINE 和初始 XLINE 的附加 XLINE,然后使用这些 XLINE 的交集作为结果弧的中心,如下图所示:也可以使用 AutoLISP 构造弧:(defun c:myarc ( / a c i l p u v x z )
    (while
      (and
            (setq p (getpoint "\nSpecify point on Arc: "))
            (or
                (null (setq a (car (nentselp p))))
                (/= "ARC" (cdr (assoc 0 (entget a))))
            )
      )
      (princ "\nPoint does not lie on an Arc.")
    )
    (if p
      (progn
            (while
                (progn (setvar 'errno 0) (setq l (car (entsel "\nSelect Line: ")))
                  (cond
                        (   (= 7 (getvar 'errno))
                            (princ "\nMissed, try again.")
                        )
                        (   (= 'ename (type l))
                            (if (/= "LINE" (cdr (assoc 0 (entget l))))
                              (princ "\nSelected object is not a Line.")
                            )
                        )
                  )
                )
            )
            (if l
                (progn
                  (setq l (entget l)
                        u (cdr (assoc 10 l))
                        v (cdr (assoc 11 l))
                        p (vlax-curve-getclosestpointto a (trans p 1 0))
                  )
                  (if (< (distance p u) (distance p v))
                        (setq x u u v v x)
                  )
                  (if (and
                            (setq i (inters u v p (cdr (assoc 10 (entget a))) nil))
                            (setq x (polar i (angle i u) (distance p i)))
                            (setq c
                              (inters
                                    x (polar x (+ (angle u v) (/ pi 2.0)) 1.0)
                                    p (polar p (+ (angle p i) (/ pi 2.0)) 1.0)
                                    nil
                              )
                            )
                        )
                        (progn
                            (if (LM:Clockwise-p p i x)
                              (setq z p p x x z)
                            )
                            (entmake
                              (list
                                 '(0 . "ARC")
                                    (cons 10 c)
                                    (cons 40 (distance c p))
                                    (cons 50 (angle c p))
                                    (cons 51 (angle c x))
                              )
                            )
                        )
                        (princ "\nLine is parallel with perpendicular from Arc.")
                  )
                )
            )
      )
    )
    (princ)
)
;; Clockwise-p - Lee Mac
;; Returns T if p1,p2,p3 are clockwise oriented
(defun LM:Clockwise-p ( p1 p2 p3 )
    (<
      (* (- (carp2) (carp1)) (- (cadr p3) (cadr p1)))
      (* (- (cadr p2) (cadr p1)) (- (carp3) (carp1)))
    )
)
(vl-load-com) (princ)请注意,此弧不是唯一的,因为原始 XLINE 可以垂直于弧上的任何位置。我希望这很清楚!。

bchapman 发表于 2013-1-27 05:59:35

谢谢李!你,像这个网站上的许多人一样,从未停止让我惊讶

bchapman 发表于 2013-1-27 06:34:49


布莱恩非常欢迎你,这是一个有趣的几何问题需要解决
页: [1]
查看完整版本: 查找圆弧相交 90 度弧的位置