|
发表于 2024-2-8 18:18:18
|
显示全部楼层
Sub creatEndRect()
; R# k6 t9 E7 U2 I9 L 2 y" g& o+ e) N6 I- O# ]
Dim line2 As AcadLine
4 p3 @8 m. \, Y# \) G. h ThisDrawing.Utility.GetEntity line2, basePnt, "Select an line:"
/ J2 P x; C3 D+ R# z4 o4 y) T 7 i# x6 ]- b6 c! ]- h, y8 D$ _
Dim p1 ?/ Z0 k$ |' V d: ~7 }! p
p1 = line2.startPoint1 C7 g8 b( D, v1 S/ |- |" k
Dim p2
. L: ]$ i1 V' e5 q: \ p2 = line2.endPoint
9 A: q2 G" Z, |- o9 s0 V
9 a2 D+ U. k, x Dim angle2 As Double& x1 H$ @6 I f6 N
angle2 = line2.angle0 z& r: O# d2 a" |
) {1 {' N5 t3 x7 ^( I Dim pts1(0 To 7) As Double
! S, _- ]8 d, K6 H5 Z Dim pts2(0 To 7) As Double& q4 C; Q& P$ y: e" B4 X" n! n
: I4 a7 y4 o; {+ u) @
pts1(0) = CDbl(p1(0)) + 0.5 * Sin(angle2): pts1(1) = CDbl(p1(1)) - 0.5 * Cos(angle2)
4 r0 a3 D( E' t pts1(2) = pts1(0) + 5 * Cos(angle2): pts1(3) = pts1(1) + 5 * Sin(angle2)9 N6 l, A( f- H2 O F
pts1(4) = pts1(2) - 1 * Sin(angle2): pts1(5) = pts1(3) + 1 * Cos(angle2)
& g* q2 l7 D, J0 ~: J* l pts1(6) = pts1(4) - 5 * Cos(angle2): pts1(7) = pts1(5) - 5 * Sin(angle2)% E7 A/ v- y+ q% j, U! J; F ` _
6 s4 C& j0 H5 [ pts2(0) = CDbl(p2(0)) + 0.5 * Sin(angle2): pts2(1) = CDbl(p2(1)) - 0.5 * Cos(angle2)6 h; u R. g9 u6 |9 o6 H
pts2(2) = pts2(0) - 5 * Cos(angle2): pts2(3) = pts2(1) - 5 * Sin(angle2)
5 F" a7 S8 K' P% ~ pts2(4) = pts2(2) - 1 * Sin(angle2): pts2(5) = pts2(3) + 1 * Cos(angle2)
: y! L$ W& A% ] pts2(6) = pts2(4) + 5 * Cos(angle2): pts2(7) = pts2(5) + 5 * Sin(angle2)
: C5 S5 g; Y4 Y 6 }# T) h$ B8 Y- G
Dim pl0 As AcadLWPolyline
& }% A" {4 K+ v. G2 F/ s( r Set pl0 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts1). C+ F Z1 m' `& w3 ^2 ~
Dim pl1 As AcadLWPolyline
) B. [; O9 ~ A Set pl1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts2)
4 U+ s+ X) D9 U. V8 x- ~2 d1 k( Q/ U ~
pl0.Closed = True' X0 k* \) [+ X: u
pl1.Closed = True1 `8 `0 Q! w [/ t" J# y" s
5 j+ g2 D0 J5 o; o& o4 mEnd Sub |
|