|
Sub AddArcLength()
9 J f& i+ \* j I, n3 C; j i ' This example creates an arc in model space.6 P6 l; @) B" Z+ M
' 已知圆心角、弧长绘弧
W4 |# E9 ^. d3 e) V Dim arcObj As AcadArc
" B0 l$ D# x( j4 ~! w Dim centerPoint As Variant
# `: S7 z4 f1 O4 `/ C: R Dim radius As Double
$ j! V b" B% \ R+ A% Y0 r Dim startAngleInRadian As Double
, m$ x$ h% Y2 R& c9 i Dim endAngleInRadian As Double
1 R/ T, | n+ s8 v Dim ARCLength As Double
' k2 K4 d$ x9 z% E Dim lineobj As AcadLine
% K2 {2 |4 }6 ~1 M5 @! f. w- ^' _$ J Dim getobj As ACADObject( T1 q- d: A8 U/ _* Q! m& a
Dim p As Variant0 w& k9 y8 k7 v3 X2 @, Y5 H4 h
4 F B7 I" i) Y! z
'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
5 f7 e7 _/ ]" g+ h' }2 z centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:")
5 O# R4 i5 Z9 k0 {4 V( y9 b ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"1 `( ?/ l* c1 v
startAngleInRadian = getobj.Angle
2 A6 E3 F, N# `, k; u6 p ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"
! t+ g0 A: n: k5 b3 e+ K endAngleInRadian = getobj.Angle
; x4 g0 m( E0 j& Y- H ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")
) u: ~3 u& k. p& U1 Y) l5 H& V. t radius = ARCLength / (endAngleInRadian - startAngleInRadian)6 [$ N* \( k: s: O) I& D) `: J; D
4 H" l- e: c" W
' Create the arc object in model space
4 W2 x8 J$ G; ?6 x7 x Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)
8 A' ^9 ^+ _' R0 C Q6 t- f5 }' ZoomAll( N1 p7 Z' }2 a9 H1 {' G
End Sub |
|