|
|
Sub AddArcLength()5 a- n2 z, _2 n- K3 m- @+ r
' This example creates an arc in model space.1 ^1 E; v& E2 o4 B) R
' 已知圆心角、弧长绘弧8 k. M% n" T/ ?3 f, \$ d+ ^
Dim arcObj As AcadArc& H6 c- h" |( X$ n' Z2 X# b1 a: [
Dim centerPoint As Variant% G4 t n1 a3 l6 ^( J, c
Dim radius As Double
( W0 K7 ?* t7 {& u% ~. V' l Dim startAngleInRadian As Double) x7 d. ~) M" C
Dim endAngleInRadian As Double
1 Y& y+ i* C( `% I1 O Dim ARCLength As Double
F4 W- X0 G8 ^, u Dim lineobj As AcadLine
" R* s& ]6 E7 v9 n Dim getobj As ACADObject* k- Q8 Q/ o4 X* |5 k5 {) @1 n
Dim p As Variant
' p$ w: o( U1 [/ @6 p+ L/ q% T
3 I, v: ^% b6 z. p% S3 m0 m 'centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#9 C' b' K0 t b4 \# e+ Y: z$ y
centerPoint = ThisDrawing.Utility.GetPoint(, "请指定圆心:")9 J% E( c, _" P0 J$ u
ThisDrawing.Utility.GetEntity getobj, p, "选择第一条直线:"" q o/ _+ b6 J; A( y! O( E
startAngleInRadian = getobj.Angle4 s% r" j1 h7 v4 [8 o% L; }
ThisDrawing.Utility.GetEntity getobj, p, "选择第二条直线:"4 T/ X' w' a. n
endAngleInRadian = getobj.Angle7 Z/ n* m! t, m1 l
ARCLength = ThisDrawing.Utility.GetString(0, vbCrLf & "所绘弧长:")4 Q6 x+ F3 y5 `1 X, U5 V
radius = ARCLength / (endAngleInRadian - startAngleInRadian)2 f- N! m( U# o* f( P- w( s
- k2 _9 K v8 N% `. L) {% m# o1 D
' Create the arc object in model space
- {4 X* X( l0 B9 L) v0 } Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)& m: x: b- Q) E9 ]7 U! J# M+ t
' ZoomAll
4 C5 x' |* G* REnd Sub |
|