|
5#
發(fā)表于 2024-2-8 18:18:18
|
只看該作者
Sub creatEndRect()
; K7 J( ]2 ^+ [( ~, ~
% t- E8 I+ N9 D7 W' }+ E Dim line2 As AcadLine3 `& w' \& m3 [! j1 j' y3 m7 ~
ThisDrawing.Utility.GetEntity line2, basePnt, "Select an line:"
+ N% o2 j' \) V$ I 2 U. L6 U6 m9 d
Dim p1* a. n7 C, L4 U% q i# j8 |
p1 = line2.startPoint5 Z# O1 ?$ `# R. m: R# b" y
Dim p2. ?* Z! E1 d% r+ j _' b
p2 = line2.endPoint, c; H* {% ]2 r" |9 ]
- W, I$ K8 N. J3 D- L& J Dim angle2 As Double& c4 ?8 o+ S. m$ G/ T2 }) O: n! }
angle2 = line2.angle
4 k/ F9 t3 ~; [# g
2 J/ ^2 a E# n( H/ q Dim pts1(0 To 7) As Double- V/ p$ o( o' x
Dim pts2(0 To 7) As Double9 M9 E* `5 d1 X9 m
' `. ^# d. g4 U+ p- C pts1(0) = CDbl(p1(0)) + 0.5 * Sin(angle2): pts1(1) = CDbl(p1(1)) - 0.5 * Cos(angle2)
! \2 F" \! m. x9 p' O8 | pts1(2) = pts1(0) + 5 * Cos(angle2): pts1(3) = pts1(1) + 5 * Sin(angle2)! Z0 L, Q5 M @, E# T; T
pts1(4) = pts1(2) - 1 * Sin(angle2): pts1(5) = pts1(3) + 1 * Cos(angle2)
3 l9 [: j* i# J: D% g pts1(6) = pts1(4) - 5 * Cos(angle2): pts1(7) = pts1(5) - 5 * Sin(angle2)
, k+ Y6 U+ O5 {: ~5 | ] 5 K; X# @6 o7 J0 x6 G) }
pts2(0) = CDbl(p2(0)) + 0.5 * Sin(angle2): pts2(1) = CDbl(p2(1)) - 0.5 * Cos(angle2)
! k& l' ~# I: X7 G+ e" h6 H pts2(2) = pts2(0) - 5 * Cos(angle2): pts2(3) = pts2(1) - 5 * Sin(angle2)* O9 u8 U4 c, {" U' p
pts2(4) = pts2(2) - 1 * Sin(angle2): pts2(5) = pts2(3) + 1 * Cos(angle2)
& U( T. I+ n }8 [/ V- R: i pts2(6) = pts2(4) + 5 * Cos(angle2): pts2(7) = pts2(5) + 5 * Sin(angle2)6 G$ W* E5 }7 o% }: d
5 }4 g; _2 K# A
Dim pl0 As AcadLWPolyline
) j) U2 T2 f0 N. l" A% ~# p Set pl0 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts1)
7 V; C3 o: T( s1 _ Dim pl1 As AcadLWPolyline
# t: g3 }8 \3 t1 V. Q( ]! Z Set pl1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts2)9 F) ?7 ~; Z: v- N1 q7 U
) i" O+ L) W/ q% G! S' ?5 q pl0.Closed = True f4 t( B$ o6 b
pl1.Closed = True
4 x1 P( M k" v( y: ]# R1 }/ p2 \3 s; c, K
End Sub |
|