|
Sub AddArcLength()
2 T1 h( n4 E# [ ' This example creates an arc in model space.* g @) o k5 E# C( O! R
' 已知圆心角、弧长绘弧4 b! I* w0 }, T& t$ x' j& c
Dim arcObj As AcadArc8 J( U) [3 s3 W5 N8 o
Dim centerPoint As Variant
+ [$ w( O+ o' _# E Dim radius As Double
% t7 n: h l2 n: v1 h) ? Dim startAngleInRadian As Double
! x3 i9 K2 Y ^+ z% I Dim endAngleInRadian As Double
, m$ L+ M, ]+ ^; y$ E/ R, \ Dim ARCLength As Double
/ J' t9 H% F& E$ O Dim lineobj As AcadLine
5 q* J. S/ K- i0 C Dim getobj As ACADObject
4 _! N1 w: Q. w& V Dim p As Variant
4 S- t/ G$ E7 h& v3 I
3 F" a' N$ L0 _ s 'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
3 R7 `" S* y# K" p# {0 s centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:")0 L' D" q( x* n0 d, W# Z- y
ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"
3 c% R2 v, j% k) n% b* v startAngleInRadian = getobj.Angle
3 k% R h' k3 q5 q* J8 s- L ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"+ e2 B. `+ y+ }# J- `$ q! `8 u+ N
endAngleInRadian = getobj.Angle- y' G0 @, S! p4 B0 p6 @4 W; G
ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")8 h% o4 A8 y% W, b1 W8 x) \
radius = ARCLength / (endAngleInRadian - startAngleInRadian)
) P4 B% U: `6 }- }) B * w0 M' U9 i$ F5 Z. j
' Create the arc object in model space
V2 {5 |% y- N& C8 @# d4 y Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)/ Z! @% p; k+ A# u/ u; T2 k
' ZoomAll
" |8 b- e9 {+ j+ [+ a) g# y# L8 lEnd Sub |
|