Как создать SAFEARRAY для создания AddRegion

Автор Тема: Как создать SAFEARRAY для создания AddRegion  (Прочитано 18271 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #15 : 03-02-2020, 12:30:11 »
кажется на python'е тоже с этим проблема, я лет 10 назад в Delphi с этим плюхался...
Вроде работает: https://adn-cis.org/forum/index.php?topic=7864.msg42066#msg42066
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн maratovichАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 1
  • Skype: maratovich78
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #16 : 04-02-2020, 10:11:13 »
Как только не ковырял - не выходит каменная чаша.
Странно всё это.
Грустно...

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #17 : 04-02-2020, 10:12:57 »
Как только не ковырял - не выходит каменная чаша.
Странно всё это.
Грустно...
Если бы выходило, то за последние 15 лет кто-нибудь это отметил.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #18 : 04-02-2020, 11:09:31 »
Чтобы не привязываться к версии.
Работает в любом CAD независимо от года и разрядности. Одна сборка для всего.
Так себе аргумент, если честно. В Visual Studio штатным функционалом можно легко настроить так, чтобы под все версии одним нажатием собирались библиотеки. Можно дополнительно ещё чуток настроить события после сборки - и все собранные библиотеки будут автоматически помещаться на своё место в структуре Bundle. Если, конечно, не используются версии AutoCAD ниже 2012...
К тому же, AutoCAD API очень мало меняется с версии 2013. Поэтому, есть большой шанс, что то что написано под 2013 будет работать и в 2020 без перекомпиляции. Но безопаснее, конечно, делать отдельные сборки.
Вы уже пишете на VB.NET - так сделайте ещё один шаг вперёд и избавьтесь от COM-зависимости! И код писать легче станет и возможностей откроется вагон и маленькая тележка!

Оффлайн maratovichАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 1
  • Skype: maratovich78
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #19 : 04-02-2020, 11:21:12 »
Вы уже пишете на VB.NET - так сделайте ещё один шаг вперёд и избавьтесь от COM-зависимости!
Нет уж, писать отдельные проги под 7 CAD систем, учитывая их годы и разрядность - мозг заклинит.
Ели-ели сил хватает переварить существующие проекты.
У меня тут идея - создать маленькую dll на VB6 и засунуть в неё функцию для региона. Если это сработает, то будет одно неудобство - надо регистрировать dll.

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #20 : 04-02-2020, 11:42:36 »
У меня тут идея - создать маленькую dll на VB6 и засунуть в неё функцию для региона. Если это сработает, то будет одно неудобство - надо регистрировать dll.
На лиспе напишите  ;)

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #21 : 04-02-2020, 11:50:18 »
У меня тут идея - создать маленькую dll на VB6 и засунуть в неё функцию для региона. Если это сработает, то будет одно неудобство - надо регистрировать dll.
На лиспе напишите  ;)
Кстати, неплохая идея и не понадобится иметь еще один dll-файл. lisp можно и на лету создавать. :-)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн maratovichАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 1
  • Skype: maratovich78
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #22 : 04-02-2020, 11:55:57 »
На лиспе напишите  ;)
В некоторых CAD не все функции лиспа работают, а алгоритм сложный, массив элементов проходит предварительную обработку, на это нужно переписать всю прогу, а это не реально.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #23 : 04-02-2020, 12:02:39 »
maratovich,
Я на всякий случай отправил запрос в ADN DevHelp, но особо на результат не надеюсь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн maratovichАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 1
  • Skype: maratovich78
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #24 : 04-02-2020, 12:04:12 »
Спасибо.  :)

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #25 : 04-02-2020, 12:10:55 »
Цитировать
Нет уж, писать отдельные проги под 7 CAD систем, учитывая их годы и разрядность - мозг заклинит.
проще сразу делать dxf/dwg без всяких CAD систем

Оффлайн maratovichАвтор темы

  • ADN OPEN
  • Сообщений: 21
  • Карма: 1
  • Skype: maratovich78
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #26 : 04-02-2020, 12:25:26 »
проще сразу делать dxf/dwg без всяких CAD систем
Не... там цель другая..
Off-Topic: показать
вот, не сочтите за рекламу, для полного понимания сути (http://www.kdmsoft.ru)
« Последнее редактирование: 04-02-2020, 13:26:25 от Александр Ривилис »

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 534
  • Карма: 117
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #27 : 04-02-2020, 13:22:04 »
В некоторых CAD не все функции лиспа работают, а алгоритм сложный, массив элементов проходит предварительную обработку, на это нужно переписать всю прогу, а это не реально.
Не обязательно всю программу на лисп переводить, достаточно только часть для создания региона. И придумать как передать данные в лисп из расчетной части, наверняка уже есть решения.

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #28 : 04-02-2020, 13:30:28 »
Как я понял, там кросс-платформенные приложения. AutoCAD + клоны. Я так подозреваю, что с лиспом могут быть проблемы, особенно с его vla- и vlax- функциями.

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 534
  • Карма: 117
Re: Как создать SAFEARRAY для создания AddRegion
« Ответ #29 : 04-02-2020, 13:37:34 »
Как я понял, там кросс-платформенные приложения. AutoCAD + клоны. Я так подозреваю, что с лиспом могут быть проблемы, особенно с его vla- и vlax- функциями.
Они могут возникнуть и с СОМ. Возможно для построения Region не потребуется прибегать к vla- и vlax- функциям. Они кстати случаем не через СОМ?