Как стать автором
Обновить

Комментарии 7

Крайне полезный функционал. Не особо слежу за вашим продуктом, не подскажете, как обстоят дела с запуском приложений на лиспе или vba, написанных для AutoCAD?

Как вы себе это представляете? На счёт LISP не знаю, а VBA, использует определённым образом подготовленную DLL с COM интерфейсами классов приложения, и является по сути скриптовой прослойкой по вызову API приложения из макроса. Иначе говоря, макросы написанные под AutoCAD не могут работать в в другом приложении, только если не создавать там какую-то хитрую прослойку по трансляции вызовов API AutoCAD в API nanoCAD. Да то, придётся придумать как подменять базовую библиотеку и потом транслировать вызовы к ней.

Спасибо за ответ. Lisp заточен под команды аатокада, и если они совпадают с nanocad, то наверное не должно быть проблем. Однако, справедливости ради, очень много дополнительных инструментов для автокад заимствовано именно из nanocad, и возможно бОльшая часть инструментов и не потребуется

Интересное мнение, на счёт заимствований. Сильно в этом сомневаюсь, конечно. Но суть проблемы не в этом, а в том, что в любом случае, такого рода скрипты работают не с абстрактными объекта, типа деталь или сборка, а с конкретной реализацией таковых в конкретной CAD системе. Соответственно, и обращение в макросах идёт к конкретной реализации, а не к идеализируемому объекту. Иначе говоря, если был такой скриптовый язык для CAD систем, который бы скрывал реализацию в каждой конкретной системе, тогда можно было бы что то и сделать универсальное, сразу для нескольких программ. Но насколько я знаю, таких систем нет, и поэтому надо или писать конкретно под каждый продукт, или придумывать что то типа метамакроса, который бы потом транслировался в скрипт под каждый из продуктов.

Технология, скрывающая реализацию в каждой конкретной системе и позволяющая запустить одно и то же приложение в разных САПРах есть, называется MultiCAD.NET, см. нашу статью на эту тему: https://habr.com/ru/company/nanosoft/blog/242497/. Правда технология не скриптовая.

LISP в nanoCAD-е есть, загружается привычными способами, командой APPLOAD или по-лисповому (load "my.lsp"). А вот VBA в nanoCAD-е, к сожалению, нет — к появлению nanoCAD-а Microsoft уже не продавал движок VBA новым клиентам. Тем не менее ActiveX/COM API в nanoCAD-е есть, и VBA приложения можно портировать VB.NET. Код переезжает с минимальными исправлениями, а формы приходится перерисовывать, сохраняя названия контролов.

не по наслышке зная что происходит на заводах и предприятиях а так же зная некоторые аспекты внутренней кухни вашей конторы не могу не спросить: так когда же всё таки ждать нативную версию вашего CAD'а под linux?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий