Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Александр Лоза от 12-08-2016, 11:22:36

Название: Плагины на ObjectArx под RealDWG
Отправлено: Александр Лоза от 12-08-2016, 11:22:36
Доброго времени суток.
Имеется ли возможность с использованием ObjectARX (на .NET, C#) разрабатывать плагины, которые будет использовать программа, разработанная с использованием RealDWG (также на .NET, C#)?
Идея заключается в следующем. С использованием RealDWG разрабатывается коммерческая программа, которая должна иметь возможность запускать PlugInы, которые извлекают некоторую информацию из чертежа (например, анализируют штампы, границы чертежа (по объектам), извлекают перечень весов линий, анализируют текстовые, размерные стили и т.п.).
А вот разработка плагинов должна быть доступна пользователям без лицензии RealDWG, чтобы сами клиенты могли разрабатывать либо модифицировать плагины с использованием ObjectARX.

Реализация такой технологии реальна?
Есть ли подводные камни?
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Ривилис от 12-08-2016, 12:05:35
Александр Лоза
Приветствую на форуме!
Имеется ли возможность с использованием ObjectARX (на .NET, C#) разрабатывать плагины, которые будет использовать программа, разработанная с использованием RealDWG (также на .NET, C#)?
1) ObjectARX - это native C++. То о чем ты ведёшь речь - это RealDWG .NET API.
2) Да. Теоретически это возможно, если ты придумаешь свою систему плагинов, которые будешь загружать и выполнять их код.
А вот разработка плагинов должна быть доступна пользователям без лицензии RealDWG, чтобы сами клиенты могли разрабатывать либо модифицировать плагины с использованием ObjectARX.
Думаю что с точки зрения лицензии RealDWG это невозможно. Но постараюсь уточнить.
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Лоза от 12-08-2016, 13:22:58
Цитировать
1) ObjectARX - это native C++. То о чем ты ведёшь речь - это RealDWG .NET API.
Под ObjectARX (.NET) я имел в виду, что пользователями скачивается и устанавливается пакет ObjectArx и далее на .NET API этого пакета производится разработка плагинов. Насколько понимаю, пакет ObjectArx для пользователей Autodesk в принципе доступный и бесплатный.
Меня смущало насколько plugin, разработанный на .NET API на основе пакета ObjectARX будет работать с программой, разработанной на .NET API на основе RealDWG - будет ли нормально происходить стыковка.

Цитировать
Думаю что с точки зрения лицензии RealDWG это невозможно. Но постараюсь уточнить.
На счет  лицензии RealDWG - буду благодарен информации по данному вопросу.
Если лицензией такой механизм запрещен, то и дальнейшая проработка вопроса смысла не имеет.
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Ривилис от 12-08-2016, 13:47:40
На счет  лицензии RealDWG - буду благодарен информации по данному вопросу.
Если лицензией такой механизм запрещен, то и дальнейшая проработка вопроса смысла не имеет.
Я обратился в Autodesk с этим вопросом - обещали проконсультироваться и ответить. Скорее всего уже на следующей неделе, так как это достаточно тонкий вопрос.
Меня смущало насколько plugin, разработанный на .NET API на основе пакета ObjectARX будет работать с программой, разработанной на .NET API на основе RealDWG - будет ли нормально происходить стыковка.
Сложно сказать. Наверняка будут какие-то подводные камни. И вряд ли кто-то уже делал такую подсистему плагинов для RealDWG, так что скорее всего ни у кого такого опыта нет. Впрочем я думаю, что acdbmgd.dll должны быть совместимы на уровне одной версии. Тем более, что ты передавая своё RealDWG-приложение ты передаёшь и эту сборку и тогда сторонний писатель плагина может при отладке своего плагина пользоваться acdbmgd.dll из RealDWG.
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Лоза от 12-08-2016, 16:28:13
Спасибо, будем ждать ответа.
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Ярослав Решетников от 12-08-2016, 22:06:49
Коллеги, добрый вечер.
Некоторое время назад компания Autodesk наделила своего партнера-реселлера, компанию Tech Soft 3D (http://www.techsoft3d.com/products/autodesk-platforms/realdwg/) уникальными правами на программную платформу RealDWG.
С этого момента поддержкой по RealDWG занимаются сотрудники компании Tech Soft 3D.
Самый короткий путь к получению скорейшего и верного ответа по RealDWG это обратиться напрямую к сотрудникам данной компании.
По этой ссылке (http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=770257) размещены ответы на наиболее часто задаваемые вопросы. Для дополнительных вопросов, пожалуйста, воспользуйтесь формой или контактами в самом конце страницы.
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Лоза от 25-08-2016, 08:51:50
Коллеги, добрый день!
Ниже привожу переписку с представителем Tech Soft 3D.
Судя по последнему ответу (текст ответа стоит впереди) - при использовании пакета ObjectARX программы будут работать только при наличии AutoCAD.
Хотя, я возможно, что-то не так понял, или же наоборот - полной уверенности что мы поняли друг друга нет.

Сомнения на счет невозможности реализации все же остались, т.к.,  согласен  с Александром Ривилисом:
Цитировать
сторонний писатель плагина может при отладке своего плагина пользоваться acdbmgd.dll из RealDWG
- по крайней мере, на первый взгляд, шевелиться должно.




Dear Alexander,


In response to you 4 points….

2. If you link something with ObjectARX libraries, the output can’t run unless there is an AutoCAD is the host application, i. e. RealDWG based applications can’t host such a dll.
3. This scenario is only possible within AutoCAD present, see 2. Above. A similar function can be exposed from a RealDWG based application, but that would need to be done by the 3rd party developer.
4. Again, this is only possible using AutoCAD as the host application.


-David


From: Alexandr Loza
Sent: 24 August 2016 15:14
To: David Grieve

Hello, David,

A bit of clarification.
Is it possible the next scenario?
1.   Using RealDWG SDK (using .NET) I open a dwg file from my main application.
2.   Then load user’s dll (Plugins, which was be built by users using ObjectARX)
3.   And then execute the certain function(class method) from dll  with one parameter – Database. So, I Pass Database object to user’s dll function.
4.   Dll (Plugin) is build using free ObjectARX and use only AcDbMgd.dll from Object ARX. Certain Method accept DataBase object as a parameter, extract some information and return something. The main idea is – this dll is built by Object ARX and is editable by users (but use only AcDbMgd.dll). But it need to run from RealDWG application.

Now I think that it is possible and there is no violations in this scenario.
Confirm please if I'm right

From: David Grieve
Sent: Tuesday, August 23, 2016 2:15 PM
To: Alexandr Loza


Hello Alexander,

If you create a program that uses the RealDWG SDK then the host program will be your program. You will be able to add file reading and interrogation features using the RealDWG SDK (using AcDbMgd.dll). However, this is not a plug-in.

Your client will not be able to write plug-ins to your host program, unless of course you create your own API. The API must not duplicate functions used in RealDWG.

-David
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Ривилис от 25-08-2016, 09:11:21
Я бы выделил вот это:
...Your client will not be able to write plug-ins to your host program, unless of course you create your own API....
Думаю что он слишком буквально понял тебя, т.е. что ты хочешь чтобы в твою программу грузилось и выполнялось любое приложение, написанное под AutoCAD. Очевидно, что это невозможно, хотя бы по той причине, что из всех сборок AutoCAD для RealDWG доступно только acdbmgd.dll
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Александр Лоза от 25-08-2016, 09:32:20
Возможно, хотя я вроде сообщал, что намереваюсь использовать только AcDbMgd.dll:
Цитировать
The main idea is – this dll is built by Object ARX and is editable by users (but use only AcDbMgd.dll)

Александр, спасибо за ответы,
Пока вопрос буду считать завершенным.
Название: Re: Плагины на ObjectArx под RealDWG
Отправлено: Андрей Бушман от 25-08-2016, 13:11:43
Идея заключается в следующем. С использованием RealDWG разрабатывается коммерческая программа, которая должна иметь возможность запускать PlugInы, которые извлекают некоторую информацию из чертежа (например, анализируют штампы, границы чертежа (по объектам), извлекают перечень весов линий, анализируют текстовые, размерные стили и т.п.).
Вполне возможно, что ты не с той стороны к телеге лошадь ставишь. Если задача стоит в том, чтобы работать с DWG файлами (создавать, редактировать, извлекать информацию и т.д. и т.п.), то на RealDWG свет клином вовсе не сошёлся. А через плагины или не через плагины - это уж как ты будешь архитектуру своего ПО строить. Существуют качественные альтернативы RealDWG, причём значительно более дешёвые (на данном форуме их упоминание грозит приданием анафеме, но гугл вполне может помочь в их поиске).