找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: guobaoming

[求助]:怎样画这样的弧?

[复制链接]

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-7-15 15:04:20 | 显示全部楼层
最初由 lsjjm 发布
[B]XDsoft, ahlzl 两位斑竹:
是不是我这个人有点抬杠? 如果说明, 就像XDsoft说的 “因为在ACAD里面,  弧线始终是逆时针的“,自然结果是唯一的。这也是一般情况下的花圆弧条件。
可看看搂主的原问:“已知弧的两个... [/B]


因为在这里,讨论的是ACAD里面如何画圆弧, 所以,画的时候,肯定要用户输入起始点,这个是必须存在的条件,包括程序或者交互,都必须有这个过程,所以弧线在起始点定下后,方向就唯一确定下来了. 因此ACAD的圆弧始终是逆时针的(或者顺,根据设置,但始终是一个固定方向,没有二义性).

如果要是讨论数学,那么结果不唯一,需要方向条件限制.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-13 21:34:49 | 显示全部楼层
我刚用了一下,挺好的,解决一些问题,但不知什么原因逆时针(N)用不了,显示错误: bad function
nil*Cancel*
不过也没什么,可以画顺时针的,再镜象
暂时我还没想好可以用它来画什么,不过这么热心肠的同志应该给发点奖金
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-13 22:02:36 | 显示全部楼层
不太可能,已知两点距离,还知道弧有长,指定距离,怎么画弧距离?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-13 23:21:39 | 显示全部楼层
花了不时间,学了一点新知识,很开心,我试过可以实现.以后我在施工现场放线,会多一点把握.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-16 20:52:05 | 显示全部楼层
四个月前(7月13日),我解决了这个问题。摸索出一个能“一招鲜,吃遍天"的“绝招”(近来哈哈牌筷子等问题我都是用这招来解的)。近来,在eachy和zhynt两位斑竹的指导下,又写出了一LISP程序。比17贴的VBA程序又完善了一点。通过写这段程序,我又学到了很多……高兴啊![php]
(defun c:aaa (/ p1 p2 s a l x xx fx flx r c c1 c2 mspace myobj)
  (defun N ()
    (setq c (- (+ a (* 0.5 pi)) (* x 0.5)))
    (setq cen (polar p1 c r))
    (setq c1 (+ c pi))
    (setq c2 (+ c1 x))
    (setq myobj (vla-addarc mspace (vlax-3d-point cen) r c1 c2))
    (princ)
  )
  (setq p1 (getpoint "\n请输入圆弧第一点:"))
  (setq p2 (getpoint p1 "\n请输入圆弧第二点:"))
  (setq s (getdist p1 "\n请输入弧长:"))
  (setq a (angle p1 p2))
  (setq l (distance p1 p2))
  (vl-load-com)
  (setq        mspace (vla-get-modelspace
                 (vla-get-activedocument (vlax-get-acad-object))
               )
  )
  (if (<= s l)
    (progn
      (prompt "您所要画的圆弧并不存在!")
      (princ)
    )
    (progn
      (setq x 2)
      (setq fx (- (/ (sin (/ x 2)) x) (/ (* 0.5 l) s)))
      (setq
        flx (/ (- (* 0.5 x (cos (* 0.5 x))) (sin (* 0.5 x))) (* x x))
      )
      (setq xx (- x (/ fx flx)))
      (while (> (abs (- x xx)) 0.0000000001)
        (setq x xx)
        (setq fx (- (/ (sin (/ x 2)) x) (/ (* 0.5 l) s)))
        (setq flx
               (/ (- (* 0.5 x (cos (* 0.5 x))) (sin (* 0.5 x))) (* x x))
        )
        (setq xx (- x (/ fx flx)))
      )
      (setq r (/ s xx))

      (initget "N S")
      (setq aa (getkword "\n 请输入圆弧方向[逆时针(N)/顺时针(S)]<N>:"))
      (if (= aa nil)
        (setq aa "N")
      )
      (if (= aa "N")
        (N)
        (if (= aa "S")
          (progn
            (setq c (- (+ a (/ x 2)) (* 0.5 pi)))
            (setq cen (polar p1 c r))
            (setq c1 (- (+ c pi) x))
            (setq c2 (+ c pi))
            (setq myobj (vla-addarc mspace (vlax-3d-point cen) r c1 c2))
            (princ)
          )
        )
      )
    )
  )
)[/php]
加载后,打入aaa便可运行.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-16 21:38:50 | 显示全部楼层
其实就是已知一圆弧的弦长和弧长,书里面有很多工式可以求出其它要素,如外距、半径等等。如桥梁工程师手册、城市道路设计等工程方面的书都有工式可寻。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-18 11:00:58 | 显示全部楼层
只知道弧长和端点,也就是一点,那不同的半径都可以画出那么长弧长的弧,怎么会是唯一的呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-18 18:30:43 | 显示全部楼层
to 楼上二位:在当前平面内当然是唯一的了!不信,画画看.(镜像不算)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-29 10:58:21 | 显示全部楼层
不好意思,我是搞结构的,这个问题我觉得没有讨论的必要,实际中用得到吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-2 22:19:28 | 显示全部楼层
ahlzl斑竹真是太厉害了,请问VBA、LSP好学吗,哪里有中文教程下载啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-9 11:29:13 | 显示全部楼层
看了以上所有的贴,让我觉得没有解决不了的问题!---------有那么多朋友!
以前我总是遇到问题就放在一边。
现在终于明白:有问题就提出来,肯定有解决的办法!
谢谢各位斑竹了!
我在这里学到了不少东西!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-19 23:34:30 | 显示全部楼层
我编写一个程序时也遇到了类似的问题,跟着ahlzl的链接来到这里。
可是我发现这里有很多人不能给予帮助,只在旁边叽里呱啦,显着自己怎么能似的,大有泼冷水的嫌疑。虽说论坛里面有较大的言论自由,但我想这种自由应该更好地利用到为解决问题提供便利,为大家相互交流提供方便,而不是在一边说风凉话、打击别人的热情。
sorry,自己跑题了!
末了还要感谢提供帮助的朋友,因为我在这里已经解决问题的一个方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-4 16:09:40 | 显示全部楼层
在工作中有遇过类似的情况,请告诉我你们用的方法,详细一些
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-11 16:59:57 | 显示全部楼层
根本就是没解。在这二个前提条件下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-12 00:29:44 | 显示全部楼层
印象中,根据弧长可以算出弦长,进而得出高度,然后用起点、中点、终点画出,不知可行马
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-11-13 20:18 , Processed in 0.410409 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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