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

ADN Club => AutoCAD .NET API => Тема начата: Дмитрий Загорулькин от 28-10-2020, 22:00:36

Название: DrawableOverrule и AcCoreConsole
Отправлено: Дмитрий Загорулькин от 28-10-2020, 22:00:36
Будет ли работать переопределение отрисовки объекта в AcCoreConsole? В частности, интересна операция вывода на печать.
Вопрос пока из разряда теоретических. Пока руки не дошли проверить. Может быть, кто-то уже пробовал?
Название: Re: DrawableOverrule и AcCoreConsole
Отправлено: Александр Ривилис от 28-10-2020, 23:59:41
Ничего на 100% утверждать не могу, но если в DrawableOverrule ты будешь использовать только классы и методы из accoremgd.dll и acdbmgd.dll (DrawableOverrule отсюда), то работать должно. А если используешь acmgd.dll, то даже не загрузится.
Название: Re: DrawableOverrule и AcCoreConsole
Отправлено: Дмитрий Загорулькин от 02-11-2020, 18:27:02
Проверил - работает!
Взял код отсюда: https://www.keanw.com/2009/08/a-simple-overrule-to-change-the-way-autocad-lines-are-displayed-using-net.html. Причесал маленько - убрал ненужную регенерацию, добавил контрольных выводов в командную строку.
Долго мучился с загрузкой dll в эту консоль. Упорно не хотела загружаться! Суть проблемы в том, что надо добавить путь к dll в доверенные местоположения, сохранить это в профиле и подгрузить с данным профилем. Но у меня почему-то отказывалась запускаться консоль с указанным профилем. Возможно, потому, что у меня не чистый AutoCAD, а Civil 3D, да и к тому же, русский. Помню, были какие-то проблемы в работе локализованной консоли. В общем, поборол так - взял свою dll и просто положил рядом с AcCoreConsole.exe. После этого, она загрузилась.
Проверял так: Создал новый чертёж. В нём нарисовал несколько отрезков. Настроил вывод на печать области с этими отрезками на стандартный вывод DWGtoPDF, сохранил параметры печати. Запустил консоль, открыл этот чертёж, загрузил dll. Печатал с помощью команды _.-plot, все параметры использовал по умолчанию - там берутся из сохранённых настроек печати. Сперва вывел на печать с выключенной перерисовкой - вывелись отрезки. Потом включил перерисовку и повторил вывод на печать - вывелись окружности. Так что, в таком самом упрощённом виде, переопределение перерисовки работает в AcCoreConsole!
Название: Re: DrawableOverrule и AcCoreConsole
Отправлено: brook от 10-12-2021, 11:45:08
Долго мучился с загрузкой dll в эту консоль. Упорно не хотела загружаться! Суть проблемы в том, что надо добавить путь к dll в доверенные местоположения, сохранить это в профиле и подгрузить с данным профилем. Но у меня почему-то отказывалась запускаться консоль с указанным профилем. Возможно, потому, что у меня не чистый AutoCAD, а Civil 3D, да и к тому же, русский. Помню, были какие-то проблемы в работе локализованной консоли. В общем, поборол так - взял свою dll и просто положил рядом с AcCoreConsole.exe. После этого, она загрузилась.
спасибо! тоже билась с этим, уже собиралась тему заводить. Положить в папку с Автокадом помогло.
заодно тут спрошу, я правильно понимаю, что никакой кириллицы AcCoreConsole не выносит и все пути и все команды должны быть латиницей? или как-то специальным образом нужно кириллицу переводить, если Acad Ru-ru?
Название: Re: DrawableOverrule и AcCoreConsole
Отправлено: Александр Ривилис от 10-12-2021, 14:46:43
или как-то специальным образом нужно кириллицу переводить, если Acad Ru-ru?
Ну вообще-то консольное приложение использует DOS-кодирорвку (DOS866 для русской версии Windows) для вывода текстов в консоль.
Название: Re: DrawableOverrule и AcCoreConsole
Отправлено: Иван Логинов от 11-03-2022, 17:32:04
спасибо! тоже билась с этим, уже собиралась тему заводить. Положить в папку с Автокадом помогло.
заодно тут спрошу, я правильно понимаю, что никакой кириллицы AcCoreConsole не выносит и все пути и все команды должны быть латиницей? или как-то специальным образом нужно кириллицу переводить, если Acad Ru-ru?
Внесу небольшую лепту, может кому поможет. Пробовал сохранять файл .src с кодировкой CP866, UTF8 - не помогало. С кодировкой Windows 1251 - получилось
Название: Re: DrawableOverrule и AcCoreConsole
Отправлено: Александр Ривилис от 12-03-2022, 13:44:43
Внесу небольшую лепту, может кому поможет. Пробовал сохранять файл .src с кодировкой CP866, UTF8 - не помогало. С кодировкой Windows 1251 - получилось
В *.scr-файле кодировка должна быть Windows 1251, а в *.bat-файле - DOS866