Python для AutoCAD реальность или утопия?
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Python для AutoCAD реальность или утопия?

Python для AutoCAD реальность или утопия?

Ответ
Поиск в этой теме
Непрочитано 25.08.2025, 15:24 #1
Python для AutoCAD реальность или утопия?
posetitel
 
Регистрация: 16.10.2013
Сообщений: 398

Здравствуйте, коллеги!
Который день пытаюсь накидать простенькую программку на питоне для автокада.
Смысл программки простой: подключились к акаду, запросили у пользователя выбрать объекты, потом запустили первую функцию (пусть будет преобразовать полилинии в отрезки), запустили вторую функцию (пусть будет назначить масштаб мультивыноскам), завершили работу.
Кое-что получается, но работает нестабильно, постоянно отваливается (как я понял) COM-соединение. То после выбора объектов, то на одной из функций. Чего я только не делал (по совету отечественного гигачата):
- и запускал повторные попытки ком-соединения,
- и подгружал объекты в память питона, отключался от акада, выполнял все операции в памяти, далее подключался к акаду, чтобы обновить объекты,
- и пытался удерживать соединение,
все тщетно.
Сбои случаются не сразу и не регулярно, вроде как даже можно мириться с периодическим падением скрипта и запускать его повторно.
Но может я захожу не в ту дверь? Как можно добиться стабильной работы скрипта без ошибок ком-соединения?

Последний раз редактировалось posetitel, 25.08.2025 в 16:28.
Просмотров: 418
 
Непрочитано вчера, 07:52
| 1 #2
trir


 
Регистрация: 18.12.2010
Сообщений: 5,114


Используй C#, Python для мазохистов
trir вне форума  
 
Непрочитано вчера, 08:14
#3
gumel


 
Регистрация: 20.04.2011
Сообщений: 487


Цитата:
Сообщение от trir Посмотреть сообщение
Используй C#, Python для мазохистов
А C# использует какой-то особый способ связи с AutoCAD?

Я вот например учил Delphi, и большинство программ связанных с AutoCAD написаны на Паскале и связь через OLE компоненты.
Но матёрые программисты мне всегда говорили, что COM это для извращенцев и для Автокада надо делать на Лиспе..
gumel вне форума  
 
Непрочитано вчера, 09:07
1 | #4
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Цитата:
Сообщение от gumel Посмотреть сообщение
А C# использует какой-то особый способ связи с AutoCAD?
Ага. Если по простому, то Dll написанные на C# грузятся внутрь автокада и там, внутри, работают.
Цитата:
Сообщение от gumel Посмотреть сообщение
Но матёрые программисты мне всегда говорили, что COM это для извращенцев и для Автокада надо делать на Лиспе..
Так было лет 20 назад, с тех пор мир вокруг и автокад немного поменялись.
Boxa вне форума  
 
Автор темы   Непрочитано вчера, 10:28
#5
posetitel


 
Регистрация: 16.10.2013
Сообщений: 398


Советы перейти на шарп звучат ото всюду, и я уверен, что они хорошие эти советы, ничего против не имею. Даже скачал себе VS Studio (тяжелая, доложу я вам, прога) и стал пытаться что-то там налабать. Не взлетело так с наскока. Нужно погружаться.
Если упрощенно представить мои такие обывательские попытки в разных языках под акад, то Пайтон, VBA - это такие железобетонные готовые панели, целые блоки кода в одном методе, а C# да и лисп где-то рядом - это маленькие кирпичики, каждый метод нужно набирать из более мелких. Отсюда следствие - из кирпичиков можно собрать гораздо более разнообразное строение, более удобное и приспособленное под конкретного обывателя, нежели типовые коробки по серии, но и трудозатраты будут соответствующие.
Возвращаясь к примеру из темы, я решил, что не стоит упарываться в подробную детальную разработку довольно простенького приложеница, немного упрощающего процесс черчения. В конечном счете затраты на выполнение сих операций руками с помощью меню автокада, будут куда меньше по сравнению даже с процессом просто скачивания и установки VS Studio. Вокруг все говорят про питон. Так может питон уже и в автокаде есть, может такие простенькие программки уже давно люди пишут на питоне путем указания всего лишь двух методов, типа скачай замени, молодец, выведи отчет в консоль? Но не тут то было. И здесь встретились подводные камни. Потому и вопрос. Может я что-то не то делаю в этих питонах?

----- добавлено через ~4 мин. -----
ПС: ну и в довесок, что сильно разочаровало, так это необходимость выключать и заново запускать автокад, чтобы попробовать изменения в коде. Питон переписал и запускаешь на уже открытом чертеже, а вот библиотеку dll надо пересобрать, загрузить и запустить. В режиме отладки все равно каждый раз автокад стартует с нуля.

Последний раз редактировалось posetitel, вчера в 10:35.
posetitel вне форума  
 
Непрочитано вчера, 10:43
1 | #6
trir


 
Регистрация: 18.12.2010
Сообщений: 5,114


Цитата:
В режиме отладки все равно каждый раз автокад стартует с нуля.
я пришёл к тому, что отделил методы работы c AutoCAD от остальной программы - это позволило тестировать код без запуска AutoCAD
https://github.com/triroakenshield/RosReestrImpLib
trir вне форума  
 
Непрочитано вчера, 10:45
1 | #7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,443


Через COM далеко не все можно сделать, к сожалению.
А так - в гугле забанили? Чуть ли не на первых строках поиска : https://adn-cis.org/forum/index.php?topic=7864.0
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Python для AutoCAD реальность или утопия?

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Плагин создания кабельных линий и генерации КЖ раздела КИПиА. Протестировано на AutoCAD 2015...2022 и офис 2013...2019. NanoCAD 23 petro_f Готовые программы 244 26.09.2024 10:25
Видеоуроки AutoCAD kosmax AutoCAD 173 17.02.2017 15:08
AutoCAD 2008: Проблема при печати файла с неизвестным форматом листа Fredyk AutoCAD 3 12.07.2012 12:26
AutoCAD 2008, Функция "Последние Файлы" никак не хочет работать Fredyk AutoCAD 4 05.07.2012 08:35
Стандарт использования AutoCAD в приборостроении (советы и обсуждение) Immortal_6666 AutoCAD 9 06.06.2012 10:11