|
|
Sub AddArcLength()& v5 K0 C7 F a' S; U* _
' This example creates an arc in model space.; g- z( d- [. [
' 已知圆心角、弧长绘弧
! H( A: Z3 B \; U, | Dim arcObj As AcadArc+ |2 A5 m) i) U o
Dim centerPoint As Variant8 ~' ]2 c, f+ D( Y, M: g
Dim radius As Double
3 S, P2 v" a8 B1 v8 u- V Dim startAngleInRadian As Double
+ W1 Y0 X9 [3 j& P% f3 H Dim endAngleInRadian As Double
( B- G8 S* \# V1 r2 p& r Dim ARCLength As Double
. m1 v/ s4 w1 ^ Dim lineobj As AcadLine ?; W j7 E, H9 {0 x7 l/ l9 y
Dim getobj As ACADObject5 \% l8 q9 y/ W) {5 e
Dim p As Variant
7 _# i4 ?) K2 I- x
% c4 D0 M' {4 b" j3 a 'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
) I: K* I$ |. {1 b centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:")
4 Z, _0 m, R0 T% r: h6 [ ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"/ A) w6 f6 d) a- A6 n- {9 Z
startAngleInRadian = getobj.Angle) t: g: u3 {4 S* |2 j& V$ D% S
ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"1 c" `# T4 F5 F* T( a3 q! ~
endAngleInRadian = getobj.Angle" Z1 a' g7 J2 A m: T
ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")% Z2 t) E, V0 G& R0 Z2 a
radius = ARCLength / (endAngleInRadian - startAngleInRadian)
+ I- T4 ~7 j' }
, r8 ?/ A& P, B' f% J ' Create the arc object in model space5 `. |2 `+ O: c4 `6 B* R
Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)2 B5 C- D1 X7 E1 e' L* R2 E
' ZoomAll0 p% x h+ A6 _3 e
End Sub |
|