Я хочу повернуть элемент ACAD (AutoCAD 2008) вокруг оси Z. У меня уже есть следующий фрагмент кода:
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 для вращения выше?
Edit:
Как упоминалось ниже, я могу получить ось Z от текущего редактора:
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim ucs As Matrix3d = doc.Editor.CurrentUserCoordinateSystem
Dim cs As CoordinateSystem3d = ucs.CoordinateSystem3d
Но я не работаю с активным документом и текущей базой данных! У меня есть ObjectID из произвольной базы данных, которая не должна быть текущей базой данных.
И я хочу получить ось Z из этой базы данных без использования объекта Editor.
Возможно ли это?