Имейте в виду, что ENAME, скорее всего, не получится передать.Передать получится. Будет небольшая проблема в преобразовании ENAME -> ObjectId (при помощи P/Invoke acdbGetObjectId)
Интересно, а есть какие-нибудь устоявшиеся практики? Ведь не первый же случай, когда требуется объект, полученный в LISP, обработать .NET методом.Я вижу несколько основных вариантов:
1. P/Invoke acdbGetObjectId - получение ObjectId из ENAMEПо этому способу примеров не нашел, но, думаю, там тоже все не сильно сложно. Надо только разобраться в каком виде в метод .NET из LISP приходит ENAME.
Надо только разобраться в каком виде в метод .NET из LISP приходит ENAME.Оп! Помоему оно сразу приходит в ObjectId. :)
Цитата: Александр Ривилис от 02-08-2016, 11:41:23Не сложно но громоздко. Примеры есть и у нас на форуме: http://adn-cis.org/forum/index.php?topic=3119.msg12697#msg12697
1. P/Invoke acdbGetObjectId - получение ObjectId из ENAME
По этому способу примеров не нашел, но, думаю, там тоже все не сильно сложно.
Оп! По моему оно сразу приходит в ObjectId.ObjectId, которое Autodesk.AutoCAD.DatabaseServices.ObjectId? Нее, вряд ли, слишком шикарно, чтобы быть правдой :). Или Вы имеете в виду ObjectID, которое в виде Int64, которое хранится в Autodesk.AutoCAD.DatabaseServices.ObjectId.OldId?
Не сложно но громоздко. Примеры есть и у нас на форуме: http://adn-cis.org/forum/index.php?topic=3119.msg12697#msg12697Нда... Сложно получается для универсального способа.
ObjectId, которое Autodesk.AutoCAD.DatabaseServices.ObjectId? Нее, вряд ли, слишком шикарно, чтобы быть правдой :)Тем не менее! Доверюсь Gile: https://forums.autodesk.com/t5/net/convert-entity-name-to-objectid/m-p/3674898#M31697