Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Akkella от 20-12-2018, 22:11:11
-
Здравствуйте, подскажите пожалуйста, можно ли подключить к плагину .net api из внешнего приложения, либо как добавить ввод данных в плагин из консоли автокада
-
можно ли подключить к плагину .net api из внешнего приложения
Если имеется в виду "Использовать AutoCAD .NET API из внешнего приложения" - то ответ НЕТ!!!
либо как добавить ввод данных в плагин из консоли автокада
Ничего не понял. Объясни что тебе нужно в деталях.
-
Ничего не понял. Объясни что тебе нужно в деталях.
Есть внешняя программа (ехе) которая взаимодействует с автокадом посредством СОМ, но мне нужно взаимодействовать с подшивками (acsmcomponents), доступ к которым можно получить только из автокада, поэтому я хочу написать плагин на .net api (dll загружаемый через netload) который бы взаимодействовал с основной программой и был бы типа ретранслятора для доступа к подшивкам.
Собственно нужно как то вводить данные в этот плагин, либо через консоль автокада (sendcommand от основной программы), либо напрямую.
-
Понятно. Вариантов несколько. Один из них описан здесь: https://adndevblog.typepad.com/autocad/2013/12/connecting-an-autocad-plug-in-to-an-external-application-using-wcf.html
-
Это второй вариант: https://adndevblog.typepad.com/autocad/2012/09/reach-functions-of-a-net-plug-in-from-another-application-out-of-process.html
-
но мне нужно взаимодействовать с подшивками (acsmcomponents), доступ к которым можно получить только из автокада
абсолютно не верно (https://github.com/triroakenshield/SheetSetManager)
-
абсолютно не верно
Скорее всего Trir прав, поизучай:
http://adn-cis.org/forum/index.php?topic=7971.0
а также почитай информацию по "sheet set" в ActiveX:
http://help.autodesk.com/view/ACD/2015/ENU/?guid=GUID-5D302758-ED3F-4062-A254-FB57BAB01C44
вполне возможно, что плагин внутри AutoCAD тебе не нужен, Если конечно тебе не нужно получить доступ к чему-то, что есть в .NET API, но отсутствует в ActiveX.
-
Скорее всего Trir прав, поизучай:
и вовсе не поэтому, подшивка это закодированный xml-документ и в болоте (http://www.theswamp.org/index.php?topic=46497.0) давно разобрались как его декодировать
вот этот клас (https://github.com/triroakenshield/SheetSetManager/blob/master/AcSmXml.cs) это делает - после этого с dst-файлом можно работать как с простым xml и без AutoCAD'а, правда надо помнить про механизм блокировки файла подшивки! (он почти такой же как у dwg)
-
и вовсе не поэтому
тут я немного другое имел ввиду. Получить свойства из XML скорее всего можно. А если человеку нужен доступ к функциям - публикация, переименование листов и т.д.? тогда ему нужно иметь доступ к API подшивки.
-
но мне нужно взаимодействовать с подшивками (acsmcomponents), доступ к которым можно получить только из автокада
абсолютно не верно (https://github.com/triroakenshield/SheetSetManager)
Ты уже ему это предлагал. Судя по тому, что задан этот вопрос твой вариант его не устроил.
-
Это второй вариант: https://adndevblog.typepad.com/autocad/2012/09/reach-functions-of-a-net-plug-in-from-another-application-out-of-process.html
Спасибо, то что надо
-
Спасибо, то что надо
только с подшивками это не поможет (http://adn-cis.org/forum/index.php?topic=7971.0)
-
Спасибо, то что надо
только с подшивками это не поможет (http://adn-cis.org/forum/index.php?topic=7971.0)
Не понял взаимосвязи.
-
Я вроде получил какой-то COM-объект, но у него нет метода CreateDatabase. Буду дальше думать
Вот это как раз из-за того, что в этой библиотеке не всё есть для позднего связывания. И это причина того, что её нельзя использовать в VisualLisp. Думаю, что лучше не тратить на это время.
-
trir,
А причем здесь позднее связывание? В .NET-плагине можно использовать раннее связывание.