|
|
发表于 2008-9-23 18:00:07
|
显示全部楼层
来自: 中国
Sub A()0 ~; ^ F( N4 k$ [9 ]- P4 I
Dim B As AcadBlock, I As Integer, P(2) As Double* V9 [8 ]) s1 ?. l& k) U' H
With ThisDrawing
+ E+ F _% z% D. } For Each B In .Blocks '遍历文档中的块集合,通过块名称查找指定的块5 s3 D, ~: D; h9 R. ~5 ~
If B.Name = 块名称字符串 Then '找到指定的块
9 a- V' G4 Y) M S For I = 0 To B.Count - 1 '遍历块元素, v$ l' n, x. w
If B.Item(I).ObjectName = "AcDbEllipse" Then Exit For '找到椭圆后退出循环3 K$ b' p3 d; }+ H i- R7 e
Next! E& b2 m1 X- u2 L, i1 ^0 i& n
.ModelSpace.InsertBlock P, 块名称字符串, 1, 1, 1, -.Utility.AngleFromXAxis(B.Item(I).Center, B.Item(I).StartPoint)/ r9 M: f+ w1 L# X, |
'根据椭圆中心点和起点,用AngleFromXAxis方法获取椭圆旋转角,并用其负值做为插入块时的旋转角(反向转回来)
& ?) Y4 S5 D- H4 i1 E# A. Z Exit For
% A0 v" `: {: c End If
8 X' N0 d* h x8 L Next
; b: M, a4 w5 s( ?& c End With' T: j1 `# ?( @5 h7 s. y0 A
End Sub |
|