|
Sub AddArcLength()) w( o. a! ]. y7 R; @: Q
' This example creates an arc in model space.
/ A, K6 Z6 N7 B# a, w# W. Q ' 已知圆心角、弧长绘弧2 c7 s" o$ v( P" b" n8 L
Dim arcObj As AcadArc7 a7 w$ _2 W( ~, I# L
Dim centerPoint As Variant( f3 J R+ }% _- `8 \6 W7 i
Dim radius As Double
Y4 A9 {& K: Z$ u Dim startAngleInRadian As Double0 C* K* Z' w* T( {
Dim endAngleInRadian As Double
, F* h( \, q" B) A Dim ARCLength As Double7 q; e% y7 R) Y. g
Dim lineobj As AcadLine; e* M- Q3 x7 ] z8 c, l
Dim getobj As ACADObject, L0 n" E. r: x {$ Y+ [2 g
Dim p As Variant: T5 h+ x; n# v6 P
9 h! V( f0 [( m- z: [9 v! V
'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#5 b' L" F$ q: v0 ~0 V/ x( D
centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:"). g$ T8 b( U# |( t9 f7 v- N
ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"& n1 I% {$ k$ J( e0 ~
startAngleInRadian = getobj.Angle
5 g& ]+ |: i: P3 y3 x( ? ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"& c4 w* H8 u" B+ U
endAngleInRadian = getobj.Angle
- M# K5 e$ _5 w2 o ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")) K3 C) V1 |2 k
radius = ARCLength / (endAngleInRadian - startAngleInRadian)
( f% U7 Z3 z4 Q# N }8 r0 e$ [ ; Q5 l" x K! o' ]& |2 i/ G3 y
' Create the arc object in model space
: T. O# R7 ~2 O5 u$ r' o* W Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)
/ ~# r9 M7 g& ~' ZoomAll
+ ?2 h: c3 l8 e- B% uEnd Sub |
|