QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1964|回复: 7
收起左侧

[讨论] 如何快速作出此难题

[复制链接]
发表于 2010-8-4 15:22:28 | 显示全部楼层 |阅读模式 来自: 中国广西南宁

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 gege613 于 2010-8-4 15:26 编辑
+ `( D7 L( E% V9 j: `. Z/ T# w6 m2 ~% _9 {+ N0 C+ S4 q' X
如何快速作出此难题,用CAD2010约束也许简单,如果不用约束呢。
613.jpg

评分

参与人数 1三维币 +10 收起 理由
2005llnn + 10 提供作图讨论

查看全部评分

发表于 2010-8-5 08:14:42 | 显示全部楼层 来自: 中国北京
控制住距离以后定弧长,貌似还没有这样的约束。期待高手解决,关注中。
发表于 2010-8-5 12:52:09 | 显示全部楼层 来自: 中国辽宁铁岭
这个图没有几何画法.AutoCAD的约束也不能约束弧长.只能用近似画法.6 h$ |9 M7 k5 q: c/ {6 j' c
比较实用的方法一个是计算,即先算出结果再按结果画图.比如用EXCEL的单变量求解,算出弧的角度约为65.41920502度,按此角度画出任意半径的弧后,再缩放到合乎要求的尺寸.; P; V% x+ r2 `( \5 z. r
Untitled-1.gif * o2 C' ]- H# _0 e7 b; v; n
, L; [% O$ `7 K' b
还有一个方法就是编程.实质上是用计算机的迭代运算代替人工尝试的逼近法,或者说是一种自定义的约束.下面是画本图的VBA代码
  p+ [- @- L* i' y  d

  1. $ y3 a" E6 Y0 M: L8 l8 }9 _; ~
  2. Sub HT()# x" M$ C8 C# Z( v8 E
  3.     Dim Arc As AcadArc, C(2) As Double, A As Double, A1 As Double, A2 As Double, H As Double1 a: ~$ l; S8 {2 \
  4.     With ThisDrawing
    / h( A: ]: s3 J2 H) r% C) `
  5.         Set Arc = .ModelSpace.AddArc(C, 1, 0, 0)
    $ T% K, Q" l) S
  6.         A2 = ThisDrawing.Utility.AngleToReal(180, acDegrees) * 2, c, p" D. F* w/ A
  7.         Do9 K; a6 s' R- d' L/ I' N, ^
  8.             A = (A1 + A2) / 2
      ?2 d( u+ Y5 F
  9.             Arc.StartAngle = (.Utility.AngleToReal(180, acDegrees) - A) / 2
    # _! _# r) t5 T, Z0 m" p) l: P
  10.             Arc.EndAngle = Arc.StartAngle + A8 I# R7 i% x$ g2 S
  11.             Arc.ScaleEntity C, 888.888 / Arc.ArcLength
    ! Z7 k) g" \; }( G9 q/ k
  12.             H = Arc.Radius - Arc.StartPoint(1); t4 Z1 m' R+ g  N" ]8 a- j2 k
  13.             If H = 123.456 Or A = A1 Or A = A2 Then
    ' O- P; R( N& Z" Z# P: ^- i
  14.                 Exit Do' ?6 s6 F+ G* @4 t# x' H0 R
  15.             ElseIf H > 123.456 Then' R$ F0 J$ X! q4 h- @! ?' z, G
  16.                 A2 = A
    9 J' t! X, c3 K- h+ V
  17.             Else
    * b0 ~+ ?2 T7 F) ?4 j; J2 N
  18.                 A1 = A
    3 F0 {: D7 X# x1 S7 ?
  19.             End If" \6 E2 R3 Z+ |+ X
  20.         Loop5 f, K. A8 u8 r  ^/ `+ y$ b7 c  K
  21.         .ModelSpace.AddLine Arc.StartPoint, Arc.EndPoint6 w' f  |3 |$ y- s( m: `
  22.     End With
    9 D( ?2 s" q" h: p; @& |
  23. End Sub' S9 F: _4 C3 A1 L1 S: y3 ~$ X" e
复制代码
5 H& K# J, D% x; B
还有其它方法也可以近似地画出这个图来,欢迎大家进一步讨论.

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 技术讨论

查看全部评分

发表于 2010-8-6 08:32:49 | 显示全部楼层 来自: 中国广东东莞
楼主可以看下该帖:
4 W. ^& D& X1 P: \/ ]6 Lhttp://www.3dportal.cn/discuz/vi ... hlight=%BB%A1%B3%A4

评分

参与人数 1三维币 +3 收起 理由
2005llnn + 3 技术讨论

查看全部评分

发表于 2010-8-6 14:27:46 | 显示全部楼层 来自: 中国广西梧州
本帖最后由 2005llnn 于 2010-8-6 14:33 编辑 $ D; e3 ]) V: q+ z, A
  B- d0 H& g7 y* F
复习一下:精确选点法”解CAD几何作图难题
  C8 h  ]+ o& G% C$ k通过拉伸可以快速作出此题。8 K( N& }! t8 n  K
1、CAD圆弧的特性:如果两端点在同一水平线上,沿水平方向拉伸其中一个端点,圆弧中点在垂直方向会有变化,
- {& S( w' Z+ [( c5 \( {8 J圆弧中点在水平方向移动的距离等于拉伸其中一个端点沿水平方向移动的距离的一半。
; f. n4 R! \8 }拉伸圆弧的中点,圆弧的中点只在垂直方向移动。0 I, S0 o; C' d) E
2、点选圆弧,打开特性表,圆弧弧长在特性表中会显示出来。
# j7 o3 t/ n! v. |1 R* N& w3、作图方法:; H3 @2 c4 d  }! ^/ d6 c$ i
作一水平线,在水平线中点分别作两条长123.456的垂直线。+ ~; Q' s6 g. n% B
通过三点作出圆弧。
7 A! w8 @& P& t" K) {* ]) ~# w根据特性表显示圆弧弧长来确定拉伸圆弧其中一个端点的移动的距离。- Z& ~3 p3 w/ N0 j/ c$ M
将两垂直线沿水平方向移动距离=端点移动的距离一半。/ S7 X" W. ~/ x+ Y2 h- ]2 @. Z
拉伸圆弧的中点到其中一条垂直线的端点。7 i* u* \0 j( O" \5 _: X- e- J
2010-8-6-1.gif ( V/ F6 u$ e1 a- I) ~
反复几次就达到精度要求。
7 C) i9 \) ?& A标注尺寸进行核对。
& _8 s5 \) _! C/ z; I
2010-8-6-2.gif
发表于 2010-8-6 15:02:38 | 显示全部楼层 来自: 中国北京
佩服5#的做法!
发表于 2010-8-14 09:35:00 | 显示全部楼层 来自: 中国河南南阳
三点可以画出一个圆,cad上有这个功能,利用A尺寸的两端(这是两个点)和标出的高度尺寸(这是有一个点),很容易画出那个圆弧。
发表于 2010-8-15 12:22:39 | 显示全部楼层 来自: 中国云南玉溪
应该 有几何解,在明经见过类似的题,不过我是个菜鸟。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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