|
|
发表于 2008-9-23 18:00:07
|
显示全部楼层
来自: 中国
Sub A()- S. n! H5 |1 y6 @. D) z3 ~6 E+ r
Dim B As AcadBlock, I As Integer, P(2) As Double7 V. g, h$ P& u' s- @
With ThisDrawing6 y8 i& G1 W- c$ f
For Each B In .Blocks '遍历文档中的块集合,通过块名称查找指定的块
% G- z- [0 t2 X% [ If B.Name = 块名称字符串 Then '找到指定的块! C6 E$ q8 `6 F- f/ _
For I = 0 To B.Count - 1 '遍历块元素
3 X5 N; |0 @% x I `+ P, ~4 U If B.Item(I).ObjectName = "AcDbEllipse" Then Exit For '找到椭圆后退出循环
9 V0 g7 N0 y* h. E8 O Next
5 ?, r0 K' B" a1 W5 ^& F .ModelSpace.InsertBlock P, 块名称字符串, 1, 1, 1, -.Utility.AngleFromXAxis(B.Item(I).Center, B.Item(I).StartPoint)2 ~- D; {5 f& l2 S- P4 F
'根据椭圆中心点和起点,用AngleFromXAxis方法获取椭圆旋转角,并用其负值做为插入块时的旋转角(反向转回来)
' c7 O( @% X: I- @. w* B Exit For
- E3 l6 J% H5 l9 i" u: G End If
$ z& x' h+ ~3 v# h) { W/ a Next7 w" A1 ^1 D5 w p5 e2 \' w0 J
End With
8 L5 m7 T2 q8 s* j0 uEnd Sub |
|