|
|
发表于 2008-9-23 18:00:07
|
显示全部楼层
来自: 中国
Sub A()
. ]0 \& Y+ E. l/ }* Z Dim B As AcadBlock, I As Integer, P(2) As Double* o) p5 {$ J- r# U
With ThisDrawing
* F! U2 e; @/ }; q, K5 d1 \+ [ For Each B In .Blocks '遍历文档中的块集合,通过块名称查找指定的块% J. w; @# ^8 N$ _% F& _
If B.Name = 块名称字符串 Then '找到指定的块
% K* Y a1 o/ K: U For I = 0 To B.Count - 1 '遍历块元素
' ]" Z/ o4 j1 _5 ]' ` If B.Item(I).ObjectName = "AcDbEllipse" Then Exit For '找到椭圆后退出循环. O# o# N% L+ Q& Y' I
Next$ |9 v' K8 [3 x( G
.ModelSpace.InsertBlock P, 块名称字符串, 1, 1, 1, -.Utility.AngleFromXAxis(B.Item(I).Center, B.Item(I).StartPoint), r. v( Y) ? q- N# N
'根据椭圆中心点和起点,用AngleFromXAxis方法获取椭圆旋转角,并用其负值做为插入块时的旋转角(反向转回来)
: P* t8 j( V- y5 S$ X Exit For. j* ~% {4 E# e. A. x0 Q
End If! Y3 K: S; n- c4 V' C0 ?
Next
4 f- B3 W* I( M6 @ End With
i# x* V7 [& c5 v$ H% \* jEnd Sub |
|