|
发表于 2024-2-8 18:18:18
|
显示全部楼层
Sub creatEndRect()- u- Q5 \' H0 f1 u. |9 w1 i& o1 q
) ^' V- M7 V9 l f4 g Dim line2 As AcadLine/ I$ |9 R8 o# n3 E+ ]* {3 Y4 w
ThisDrawing.Utility.GetEntity line2, basePnt, "Select an line:"/ q. o5 ]6 k/ q* d, l, _9 A/ F
: d/ E6 m5 Y7 K6 z6 Q* y. q, n Dim p1/ ~' Q/ }* Z: q% z) h
p1 = line2.startPoint
6 u! S$ m) E2 _ G8 n$ w. Q" s Dim p2: n6 H. `4 U1 D5 S* C+ q% s6 a
p2 = line2.endPoint) R, ^! s5 |) K9 y3 ?5 E
. g8 }0 v' V1 m* B m Dim angle2 As Double1 v3 J/ b1 }9 H9 G: s2 T& [
angle2 = line2.angle6 Z8 T# o5 l1 a+ i/ B; t
. n% s$ \6 }- i' C$ q% S- A Dim pts1(0 To 7) As Double* h" w$ F. o, X7 ^; t) v( a
Dim pts2(0 To 7) As Double. ^8 q! Y a1 g9 K
" \ x, A. {! @9 d& Q: _
pts1(0) = CDbl(p1(0)) + 0.5 * Sin(angle2): pts1(1) = CDbl(p1(1)) - 0.5 * Cos(angle2)0 l" y! p* o7 B/ \9 U
pts1(2) = pts1(0) + 5 * Cos(angle2): pts1(3) = pts1(1) + 5 * Sin(angle2)
$ m' k: L7 H/ w2 v2 o pts1(4) = pts1(2) - 1 * Sin(angle2): pts1(5) = pts1(3) + 1 * Cos(angle2)
6 x0 Y0 F9 p; c1 D" F pts1(6) = pts1(4) - 5 * Cos(angle2): pts1(7) = pts1(5) - 5 * Sin(angle2)* N( ?& V* T M3 ^# s( ]" |
+ W/ ?1 D- }3 l* S2 e pts2(0) = CDbl(p2(0)) + 0.5 * Sin(angle2): pts2(1) = CDbl(p2(1)) - 0.5 * Cos(angle2)) |& l9 }- c |$ |
pts2(2) = pts2(0) - 5 * Cos(angle2): pts2(3) = pts2(1) - 5 * Sin(angle2)3 I8 W- a: Q5 l7 V* C( M6 J N: r6 |
pts2(4) = pts2(2) - 1 * Sin(angle2): pts2(5) = pts2(3) + 1 * Cos(angle2)
" ~5 N% N% z6 j2 R, Z pts2(6) = pts2(4) + 5 * Cos(angle2): pts2(7) = pts2(5) + 5 * Sin(angle2)
C# m9 I0 t) ^/ c P: o# T% B, P4 D7 g' Y
Dim pl0 As AcadLWPolyline' M% r$ M3 U1 [9 b& r
Set pl0 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts1)4 M5 E- X. E. W5 @
Dim pl1 As AcadLWPolyline/ f8 T q; p' b1 s2 X9 b
Set pl1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts2). S* z% x- v' E7 `- a- j' l
1 u( E- W. J& h: X' u pl0.Closed = True( W" z" j- `" t \; i7 z9 G0 R
pl1.Closed = True1 Y% {! h1 C* @
6 s4 _* e7 c& j$ [8 b& m5 ?
End Sub |
|