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軸を取得するにはどうすればよいですか?
編集:
以下で説明するように、現在のエディターからZ軸を取得できます。
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim ucs As Matrix3d = doc.Editor.CurrentUserCoordinateSystem
Dim cs As CoordinateSystem3d = ucs.CoordinateSystem3d
しかし、私はアクティブなドキュメントと現在のデータベースに取り組んでいません!現在のデータベースである必要はない任意のデータベースからのObjectIDがあります。そして、Editorオブジェクトを使用せずにこのデータベースからZ軸を取得したいと思います。
これは可能ですか?