我想围绕 Z 轴旋转 ACAD (AutoCAD 2008) 元素。我已经有以下代码片段:
Dim mm As Matrix3d = Matrix3d.Rotation(rotateDEG, HOW TO GET THE Z-AXIS HERE?, center)
For Each id As ObjectId In elements
Dim ent As Entity = CType(tr.GetObject(id, OpenMode.ForWrite), Entity)
ent.TransformBy(mm)
Next
我使用变换矩阵来旋转元素,但矩阵只能用旋转轴构建。我知道我可以从当前文档的编辑器那里得到它。但我需要它来自任意数据库中的元素,这并不总是活动的!
问题:如何获得上述旋转的 Z 轴?
编辑:
如下所述,我可以从当前编辑器中获取 Z 轴:
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim ucs As Matrix3d = doc.Editor.CurrentUserCoordinateSystem
Dim cs As CoordinateSystem3d = ucs.CoordinateSystem3d
但我没有处理活动文档和当前数据库!我有一个来自任意数据库的 ObjectID,它不必是当前数据库。我想在不使用 Editor 对象的情况下从此数据库中获取 Z 轴。
这可能吗?