|
Sub creatEndRect()
2 W; o3 B ~5 F/ n" h2 r# u6 G7 y
( ^! V9 M4 ]+ o9 P2 U6 u6 N Dim line2 As AcadLine; J6 C) S" v K& N/ H8 o
ThisDrawing.Utility.GetEntity line2, basePnt, "Select an line:", ~2 @+ g" c# y
4 D0 f1 s' q, i* B `9 i0 r Dim p1/ E# o, f- M( V
p1 = line2.startPoint. l1 E: [9 Q% E$ m9 Q9 N: r& c) l
Dim p2* O f y2 }) g9 E& s) T
p2 = line2.endPoint& T& U: o# Q( @. J; L5 W) m: r, S
! A4 b8 Q( M, ~* A$ J
Dim angle2 As Double% v5 q( ^! o. l: a( U0 s
angle2 = line2.angle
/ c$ S) \5 p: M: T6 N8 [' {3 m, X, L$ a; k( _
Dim pts1(0 To 7) As Double
2 O0 i2 B+ J g6 y; I# n Dim pts2(0 To 7) As Double
G# b1 }5 V- Y$ z
' q* M, b" S/ H' T pts1(0) = CDbl(p1(0)) + 0.5 * Sin(angle2): pts1(1) = CDbl(p1(1)) - 0.5 * Cos(angle2)6 ?( ?7 q7 _, j$ }* D
pts1(2) = pts1(0) + 5 * Cos(angle2): pts1(3) = pts1(1) + 5 * Sin(angle2)$ B2 S3 m2 I# _' G+ o
pts1(4) = pts1(2) - 1 * Sin(angle2): pts1(5) = pts1(3) + 1 * Cos(angle2)
+ b5 n% Y4 U/ d* z9 |7 I* n pts1(6) = pts1(4) - 5 * Cos(angle2): pts1(7) = pts1(5) - 5 * Sin(angle2)
, k3 X: v2 h: L . j; I8 U4 B/ S% A2 n
pts2(0) = CDbl(p2(0)) + 0.5 * Sin(angle2): pts2(1) = CDbl(p2(1)) - 0.5 * Cos(angle2)
( c. ~' t7 T- A, f" { pts2(2) = pts2(0) - 5 * Cos(angle2): pts2(3) = pts2(1) - 5 * Sin(angle2)
$ n9 y% C: u2 l. Q* d pts2(4) = pts2(2) - 1 * Sin(angle2): pts2(5) = pts2(3) + 1 * Cos(angle2)
# n( @1 a2 @8 p# b+ r4 k0 b pts2(6) = pts2(4) + 5 * Cos(angle2): pts2(7) = pts2(5) + 5 * Sin(angle2)' M# o2 U* q/ X% s
- F3 u, U, K* D4 C' x; D: v
Dim pl0 As AcadLWPolyline
/ {& W a6 F) E, T; B R Set pl0 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts1)7 R, {! c$ e7 Z& t. v7 ?; D
Dim pl1 As AcadLWPolyline" v( g; ]$ p- C8 P. i8 Z7 t
Set pl1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts2)
" U" K, K) i- D7 G
: W& f5 I! Y* J4 T$ c" q pl0.Closed = True
6 O* E5 m" k9 P) r$ x5 M pl1.Closed = True
, f: p9 Y3 _% ?1 h _/ H5 X7 U9 V5 ^" b* p) W1 v. ?$ n
End Sub |
|