|
|
Sub AddArcLength()
4 c- k! C8 m- _( [# G ' This example creates an arc in model space.
# }% u0 l3 K4 `" i, ^0 g ' 已知圆心角、弧长绘弧+ M& P# |5 O% K( Y& {6 F: X
Dim arcObj As AcadArc4 X; e/ [4 @8 X
Dim centerPoint As Variant! \8 E4 w1 `/ j! P. p' w
Dim radius As Double; K6 v5 s) }6 o' _+ i( k& j4 U5 U# B _
Dim startAngleInRadian As Double
2 k4 T0 ]/ c7 x" H n! u) i Dim endAngleInRadian As Double2 s& i4 d- t- S8 ~
Dim ARCLength As Double) ~$ z7 }' y6 i# C$ E7 w
Dim lineobj As AcadLine
5 f; T4 V+ T9 z8 `) J Dim getobj As ACADObject
) c1 K* Y9 I. X9 z+ r9 \ Dim p As Variant. v9 z, m c$ B7 Z% Q
, g: M* m) d2 l* V0 k) e% C% ]
'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
5 O6 C- ~3 D" v: f% E centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:")
0 T" e6 h8 v' g8 ~/ x ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"9 x, D/ ~1 Y( [) p5 g5 S
startAngleInRadian = getobj.Angle
* R4 @/ {! o3 E+ j' K' O ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"2 Y$ D2 @* R* X/ [9 Y
endAngleInRadian = getobj.Angle% r4 w2 B8 i; M( S/ g
ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")
4 D+ `$ ]. k" l/ Q5 j6 Y radius = ARCLength / (endAngleInRadian - startAngleInRadian)- R8 Z3 \1 w3 r Q% y
. ]! ~% U+ Z2 e
' Create the arc object in model space$ d% |3 n' F' S
Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)5 n! _& Z0 n" I* T
' ZoomAll
- m( ^7 A/ [ Z4 O9 e! mEnd Sub |
|