Добрый день!
Возникла необходимость отслеживания изменения координат и вращения вставленного облака точек.
первым делом вставил облако точек и поместил его в нулевую координату
using (Transaction t = new Transaction(doc, "RCS Insertion")) {
t.Start();
PointCloudInstance pci = CreatePointCloud(doc, ofd.FileName);
pci.Location.Move(XYZ.Zero);
pci.Pinned = true;
t.Commit();
}
Но дальше пришлось взять первую точку облака точек и по ней отслеживать перемещение, но проблема состоит в том, что при вращении и перемещении точки координаты перемещения неверны...
есть ли у облака точек точка относительно которой я могу определить его перемещение?
Что касается вращения я использовал Transform относительно нормали
Transform transform = pci.GetTransform();
XYZ vectorTran = transform.OfVector(transform.BasisX);
XYZ norm = new XYZ(1, 0, 0);
double d1 = transform.BasisX.AngleTo(norm);
pnts.Add(d1.ToString());
но при перемещении опять же координаты не верны.
Есть варианты попроще?
Спасибо