|
|
发表于 2008-9-23 18:00:07
|
显示全部楼层
来自: 中国
Sub A()
4 u0 x3 I6 ]1 N5 m3 C Dim B As AcadBlock, I As Integer, P(2) As Double
: ]( I! G5 i* v/ Y# { With ThisDrawing
. w" s' ]6 S) g8 v. L# U9 A: P For Each B In .Blocks '遍历文档中的块集合,通过块名称查找指定的块4 d% Y) N/ h" z( X/ |/ m! ] d
If B.Name = 块名称字符串 Then '找到指定的块5 V# w: [% M1 U# F
For I = 0 To B.Count - 1 '遍历块元素
" m6 u/ Z7 j: _7 w If B.Item(I).ObjectName = "AcDbEllipse" Then Exit For '找到椭圆后退出循环; p1 a% U5 z+ U
Next; m5 S+ V1 {) B" a! ]1 t
.ModelSpace.InsertBlock P, 块名称字符串, 1, 1, 1, -.Utility.AngleFromXAxis(B.Item(I).Center, B.Item(I).StartPoint)( c( H z$ w- ?: Q' f
'根据椭圆中心点和起点,用AngleFromXAxis方法获取椭圆旋转角,并用其负值做为插入块时的旋转角(反向转回来)( I8 Y6 ^& p2 A) o/ Q
Exit For
: m2 X. K( t) N End If
! \1 n6 P- y! f. M) G1 M Next( A- a( \: e$ S0 p& A8 Q) }7 l
End With
9 F, I2 R e' E7 b7 S! I) o% w9 }End Sub |
|