Альтернатива Custom Object

Автор Тема: Альтернатива Custom Object  (Прочитано 8231 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Дима_Автор темы

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Альтернатива Custom Object
« : 23-02-2015, 15:03:00 »
Есть у меня понимание, что через некоторое время (сейчас пока другие задачи решаю) понадобится мне как-то описывать и впоследствии получать данные с пользовательских объектов (сейчас в этом качестве - для описания изделий - используются дин. блоки - но ими, к  сожалению описать можно далеко не все геометрические зависимости, да и те которые можно иногда так криво "описываются", что проще уже без них). Собственно вижу 3 варианта решения - использовать родной механизм - ARX, воспользоваться библиотекой multicad'а, или использовать ExtensionDictionary в купе с DrawableOverrule. Да весь "остальной" проект целиком написан на .Net - и это вторая причина (первая - я на arx ничего еще не писал) по которой 1 вариант мне не очень нравится, мультикадом - как-то то же не очень - почему пока не могу объяснить. А вот вариант с Overrule мне пока кажется наиболее понятным и "перспективным". Вопрос - делал-ли кто нибудь что-то подобное и какие есть "подводные камни" - в общем если есть чем поделиться для принятия "стратегического решения" - поделитесь.
з.ы. простой тест на проверку у примитива на "свой" ExtensionDictionary с выводом графики по полученным параметрам прошел успешно - без нареканий.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Альтернатива Custom Object
« Ответ #1 : 23-02-2015, 19:35:41 »
Второй вариант я не рассматриваю, так как не проверял его вообще. Ну и это еще дополнительная зависимость от сторонних разработчиков. Первый вариант с одной стороны даёт максимум возможностей, с другой стороны приводит к появлению прокси в отсутствии OE. Так что если возможностей третьего варианта для тебя достаточно, то можешь остановится на нём. Есть еще вариант 1+3, когда часть кода на mixed C++. 
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Альтернатива Custom Object
« Ответ #2 : 23-02-2015, 23:19:54 »
Второй вариант я не рассматриваю, так как не проверял его вообще. Ну и это еще дополнительная зависимость от сторонних разработчиков.
Эта самая "дополнительная зависимость" делает код переносимым между различными CAD системами (в отличие от ARX). Я всегда предпочитаю делать выбор в пользу переносимости, а *CAD .NET API Classic + MultiCAD вполне подходят на эту роль.

Дима_, если будешь пробовать второй и третий варианты, то мне было бы интересно ознакомиться с обнаруженными плюсами и минусами (на тот случай, если надумаешь выложить инфу). Поскольку о multicad на данном сайте запрещено упоминат (насколько я понимаю), то обозначенную информацию рекомендую выложить здесь. Там же можно будет и пообсуждать результаты, не боясь, что тема будет прикрыта.
« Последнее редактирование: 24-02-2015, 11:38:46 от Андрей Бушман »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Альтернатива Custom Object
« Ответ #3 : 23-02-2015, 23:52:52 »
Поскольку о multicad на данном сайте запрещено упоминать под страхом анафемы, то обозначенную информацию рекомендую выложить здесь.
1) Ты не заметил и уже упомянул. ;)
2) Упоминание и обсуждение альтернативных/конкурирующих CAD-систем на этом форуме запрещено. MultiCAD - это не CAD-система. Запрет касается использования MultiCAD в альтернативных CAD-системах, а в AutoCAD - пожалуйста.
3) Ты мог написать последний абзац Диме в личку.
P.S.: Дальше тему поведения на форуме в этой теме не развиваем. Обсуждение не связанное с темой вопроса я потом снесу.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Re: Альтернатива Custom Object
« Ответ #4 : 24-02-2015, 10:49:41 »
Буду говорить про 3-й вариант, т.к. его прорабатываю уже довольно продолжительное время. Помимо DrawableOverrule, неплохо еще сделать OsnapOverrule - для привязок и TransformOverrule - для возможности взрыва объекта в обычные примитивы AutoCAD, не зависящие от наличия подгруженной dll. Я использовал данные о дополнительной геометрии в ExtDict - ограничений нет никаких, проблем тоже https://screencast.autodesk.com/Main/Details/b8d509a7-5e9f-4d33-885b-5a2a8ea837bd. Сейчас прорабатываю вариант хранения данных о дополнительной геометрии вне чертежа https://screencast.autodesk.com/Main/Details/0ead74d4-642c-43d5-9370-e6d560f35fa6. Если выполнять перерисовку объектов обычного автокада, то, думаю, проблем не будет никаких. Пока что, все мои трудности связаны с тем, что я пытаюсь перерисовать объекты Civil 3D, а там все гораздо "веселее".

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Re: Альтернатива Custom Object
« Ответ #5 : 25-02-2015, 13:00:17 »
Вооот, очень хорошая тема! И даже MultiCAD можно обсудить...
Что порадовало, что на начальном этапе создание своего объекта в MultiCAD довольно просто и даже таким неучем, как я, осваивается легко, а вот с деталями как всегда намного сложнее, так как документация хромает на обе ноги. =(
Но вменяемую замену динамическим блокам сделать не сложно.