|
Sub creatEndRect()* @7 b2 l8 n- r8 Q) F
2 s) G5 v( i+ N0 C1 E Dim line2 As AcadLine& \: w4 z0 Z3 n( J
ThisDrawing.Utility.GetEntity line2, basePnt, "Select an line:" Q) `0 ?% n6 X" N: y! I/ w8 I
' c! F6 ?3 X H; W
Dim p1' g* r, j! F1 v5 b4 z" X2 `
p1 = line2.startPoint/ L( G; ~, S9 W" d
Dim p2
# Z# b4 H; ^. U4 y- h `5 M p2 = line2.endPoint
9 s6 p$ y4 ?5 Q3 |( l& F) e( h * i1 h1 u* o0 i# B# R
Dim angle2 As Double& a8 A& ?1 |" X2 \6 A/ e
angle2 = line2.angle
' u! r8 P1 D* D& P4 B' E3 Z: U
3 Q5 H9 z% u& M. A m) i5 R Dim pts1(0 To 7) As Double
9 A6 P @) s. o9 `8 R/ g/ S Dim pts2(0 To 7) As Double, Q( Y! f/ W0 a& c! ?# [2 C
& R4 q8 j' {) R pts1(0) = CDbl(p1(0)) + 0.5 * Sin(angle2): pts1(1) = CDbl(p1(1)) - 0.5 * Cos(angle2)
0 F. _3 O9 ]' i pts1(2) = pts1(0) + 5 * Cos(angle2): pts1(3) = pts1(1) + 5 * Sin(angle2)
) i. h+ ?8 t( \ pts1(4) = pts1(2) - 1 * Sin(angle2): pts1(5) = pts1(3) + 1 * Cos(angle2)+ R( T5 e- x! }8 m. e( l
pts1(6) = pts1(4) - 5 * Cos(angle2): pts1(7) = pts1(5) - 5 * Sin(angle2)
* n* v6 E! G( h; Q1 d" y1 s! u
6 } N1 A! K) C! E* ~" Z' W pts2(0) = CDbl(p2(0)) + 0.5 * Sin(angle2): pts2(1) = CDbl(p2(1)) - 0.5 * Cos(angle2)8 V' W) l6 w9 b: V- q& O! Z8 R
pts2(2) = pts2(0) - 5 * Cos(angle2): pts2(3) = pts2(1) - 5 * Sin(angle2)
' V$ ~" K: q8 ?' X& P, ` P pts2(4) = pts2(2) - 1 * Sin(angle2): pts2(5) = pts2(3) + 1 * Cos(angle2)
# J9 {1 n+ g) ]. _, i9 y- |3 @9 j1 a pts2(6) = pts2(4) + 5 * Cos(angle2): pts2(7) = pts2(5) + 5 * Sin(angle2)
( S# ~* N! x) K/ g5 g9 z- i ; N& o% L/ J0 V
Dim pl0 As AcadLWPolyline
' o: a, |$ r" I0 E' \/ | D$ m Set pl0 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts1)
+ G. @/ g% p9 f7 _ [! d2 i Dim pl1 As AcadLWPolyline5 h, O7 T3 K) \$ ~' g: x
Set pl1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts2)( X0 F* z. E* w0 }+ x* c8 x
' n1 ?6 c, w$ q/ W: P; p( M pl0.Closed = True: h( O0 v X' c$ J
pl1.Closed = True
' `: @" s6 Y6 o- L% ~/ [2 A: l$ K7 n
End Sub |
|