|
发表于 2009-9-28 02:02:00
|
显示全部楼层
参考了网上的代码
Dim CurrUCS As AcadUCS
If ThisDrawing.GetVariable("UCSNAME") = "" Then
With ThisDrawing
Set CurrUCS = .UserCoordinateSystems.Add( _
.GetVariable("UCSORG"), _
.GetVariable("UCSXDIR"), .GetVariable("UCSYDIR"), _
"OriginalUCS")
End With
Else
Set CurrUCS = ThisDrawing.ActiveUCS 'current UCS is saved
End If
blockRefObj.TransformBy (CurrUCS.GetUCSMatrix())
结果是块角度没变
其中有段代码改一下
.Utility.TranslateCoordinates(.GetVariable("UCSXDIR"), acUCS, acWorld, 0), _
.Utility.TranslateCoordinates(.GetVariable("UCSYDIR"), acUCS, acWorld, 0), _
这样块的角度就是ucs的两倍角(特殊情况下不一定)
怎么会这样啊 真是无语了
|
|