Попробую как-раз на получении ручек. Отпишусь потом получилось или нет
Итак - попробовал. Работает! С перемещением и копированием все хорошо. Даже с копированием в другой документ. Но счастье длилось не долго - до тех пор как я повернул примитив. Вот тут началось что-то такое, что я уже пол вечера понять не могу.
Пример:
1. Строю примитив с расширенными данными так, чтобы первая точка была в (0,0,0)
2. Затем поворачиваю примитив так, чтобы эта точка переместилась в (0,50,0)
3. Использую команду из Express Tools - List Xdata и получаю такое значение:
* Code 1011, 3D World space position: (0 50 0). Т.е. то значение, которое мне и нужно, НО!
4. При чтении из Xdata я получаю другую координату! При этом:
TypedValue[] resBufArr = resBuf.AsArray();
var wasInsertionPoint = false;
foreach (TypedValue typedValue in resBufArr)
{
switch ((DxfCode)typedValue.TypeCode)
{
case DxfCode.ExtendedDataWorldXCoordinate:
{
if (!wasInsertionPoint)
{
AcadHelpers.Editor.WriteMessage("\n(Point3d)typedValue.Value: " + (Point3d)typedValue.Value);
InsertionPoint = (Point3d)typedValue.Value;
wasInsertionPoint = true;
}
else
{
EndPoint = (Point3d)typedValue.Value;
}
break;
}
}
}
вижу в командной строке
(Point3d)typedValue.Value: (7.105427357601E-15,50,0). Даже не соображу куда копать и что читать