|
|
Sub AddArcLength()
( X0 E* o1 ~- H2 {7 H) E0 w' L ' This example creates an arc in model space.
& n: v: f9 U- n4 ~' p2 G9 G+ ~! @ ' 已知圆心角、弧长绘弧! q& h% r: O! J
Dim arcObj As AcadArc! p* q2 m9 V' R0 W- N, L0 q; u' T
Dim centerPoint As Variant
- c# M3 e* f# n$ ] Dim radius As Double
% S1 l1 n6 I( c. W: o6 n+ O& W Dim startAngleInRadian As Double
# J6 X' O: _. L8 b& @ Dim endAngleInRadian As Double
2 l" W0 j* N6 i# l Dim ARCLength As Double7 N& K6 T4 _1 g4 B! k
Dim lineobj As AcadLine
8 E* q2 V6 y8 x4 n) V4 ^ Dim getobj As ACADObject7 n o2 H- [6 p ~! p- Z
Dim p As Variant
2 ] M6 I0 p/ g
! c" E- k5 A L8 q( T8 _, t 'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
* z! ~6 _( [! b- g4 s7 K' Z centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:")
( F0 r& X9 T0 ?& @; C ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"4 d: P7 @8 W+ v" V
startAngleInRadian = getobj.Angle
1 Z1 T1 o# V) B0 @ ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"8 n; A# o4 L8 p! s- L7 j/ N4 {
endAngleInRadian = getobj.Angle
9 s7 x& Y [# S& ~ ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")/ z$ z0 j) l1 b8 i8 i
radius = ARCLength / (endAngleInRadian - startAngleInRadian)
- Q. u/ [2 B) \! p ! G; a" v* V* l* Z" l
' Create the arc object in model space
/ ?# R3 ]7 q2 r Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)' w+ \* V9 @/ u
' ZoomAll
`9 \3 G9 w' T2 CEnd Sub |
|