|
5#
發(fā)表于 2024-2-8 18:18:18
|
只看該作者
Sub creatEndRect()2 X" U( O+ \8 F: M+ o
2 [- i y) ~7 c5 r7 K/ ?
Dim line2 As AcadLine
. _+ k8 Q/ K1 [! i( l ThisDrawing.Utility.GetEntity line2, basePnt, "Select an line:"
, S2 U1 B2 _1 [ 4 k: r* e% e3 J. N$ ? Z9 ?
Dim p14 A& n4 D0 D1 ~& G
p1 = line2.startPoint8 M2 D! U9 `" q) B$ z& \# ?
Dim p2
- z5 K0 @ C+ ]3 f' z& ` p2 = line2.endPoint
+ y a! o0 S ^0 @8 Q' G' a
+ ?* k, v3 z& I2 h# g* j' k Dim angle2 As Double
. S/ ?8 h% Y. u4 U) Q) _# ~* _ angle2 = line2.angle
3 v7 b* y# ^- e z$ f9 W3 z3 b' }* q0 j# F: T
Dim pts1(0 To 7) As Double+ Q! [! s; w$ s( k4 z, o% L0 [
Dim pts2(0 To 7) As Double) H& f& _- I- [& h
, C4 Y z2 ?; @
pts1(0) = CDbl(p1(0)) + 0.5 * Sin(angle2): pts1(1) = CDbl(p1(1)) - 0.5 * Cos(angle2)' a! ~4 _( L, z) x
pts1(2) = pts1(0) + 5 * Cos(angle2): pts1(3) = pts1(1) + 5 * Sin(angle2)& |% U3 a' p5 s: C
pts1(4) = pts1(2) - 1 * Sin(angle2): pts1(5) = pts1(3) + 1 * Cos(angle2)
: P6 |/ W% `* B pts1(6) = pts1(4) - 5 * Cos(angle2): pts1(7) = pts1(5) - 5 * Sin(angle2). M, |. x V2 B" l
6 ` ]& F% [7 W Z pts2(0) = CDbl(p2(0)) + 0.5 * Sin(angle2): pts2(1) = CDbl(p2(1)) - 0.5 * Cos(angle2)* D/ n" B* E! ?6 s; U9 C
pts2(2) = pts2(0) - 5 * Cos(angle2): pts2(3) = pts2(1) - 5 * Sin(angle2)/ B( ~2 k# [* p4 I
pts2(4) = pts2(2) - 1 * Sin(angle2): pts2(5) = pts2(3) + 1 * Cos(angle2)/ T$ R7 u1 b0 q# ~
pts2(6) = pts2(4) + 5 * Cos(angle2): pts2(7) = pts2(5) + 5 * Sin(angle2)
8 d# ^) ]" g( e% e' ~
6 f( E2 m. B7 f6 X- t, d* d; C Dim pl0 As AcadLWPolyline
0 y7 D+ T4 R. @# o1 V9 a4 D Set pl0 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts1)3 e% w( }" y# P. n* L
Dim pl1 As AcadLWPolyline4 C3 r& j5 s/ n
Set pl1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(pts2)* }+ w# A" F- O# V+ u" ?
8 M" }7 H1 [4 j |: C% M
pl0.Closed = True
) x4 T. b. P1 L0 c3 g M pl1.Closed = True; ^ r* C8 T! ?6 `& U* f6 e0 H" Z, v
! M% d* J2 B: q) C3 l, h& UEnd Sub |
|