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

ADN Club => AutoCAD .NET API => Тема начата: alz от 12-02-2023, 08:51:58

Название: Печать из Accoreconsole
Отправлено: alz от 12-02-2023, 08:51:58
Поискал информацию и не нашел. При печати из консоли  (DWG to PDF через dll )  не применяется переопределение цвета слоя на видовом экране в листе, это ограничение консоли или есть какие то настройки печати, которые я не учел?
Название: Re: Печать из Accoreconsole
Отправлено: Александр Ривилис от 12-02-2023, 21:56:07
При печати из консоли  (DWG to PDF через dll )  не применяется переопределение цвета слоя на видовом экране в листе
А в полном AutoCAD печать происходит правильно?
Название: Re: Печать из Accoreconsole
Отправлено: alz от 13-02-2023, 06:37:43
А в полном AutoCAD печать происходит правильно?
Да, объекты с цветом послою. На видовом экране цвет слоя изменен на другой, из обычного автокада печатает как отображается на видовом, из консоли выводит с изначальным цветом слоя.

Upd.
Немного потестировал, этот баг проявляется не на всех объектах, обычные объекты автокада нормально меняют цвет, изменения не работают на сетях цивила, в стиле отображения элементов цвет линий поБлоку, сами элементы установлены поСлою, а цвет слоя уже отдельно на видовых экранах прописан, из автокада распечатывает корректно, из консоли переопределение игнорируется.
Цвет дренажа переопределен на серый(251) слева распечатка из автокада, справа из консоли.
(https://i.postimg.cc/t1NCmhkv/Screenshot-709.png) (https://postimg.cc/t1NCmhkv)
Название: Re: Печать из Accoreconsole
Отправлено: Александр Ривилис от 13-02-2023, 22:01:50
Я бы заподозрил, что в консоль не грузятся какие-то dbx/dll Civil3D и фактически печатаются прокси.
Название: Re: Печать из Accoreconsole
Отправлено: alz от 13-02-2023, 23:41:35
Я бы заподозрил, что в консоль не грузятся какие-то dbx/dll Civil3D и фактически печатаются прокси.

Да, похоже так оно и есть, только трубы идут не как прокси а как объекты Aecc_pipe и переопределение цвета на них не работает, проверил открыв чертеж в режиме как автокад.
Проблема видимо в двойной установке цвета, линий внутри стиля труб/колодцев и самих собственно труб/колодцев, у меня в стиле стояло по блоку что бы была возможность менять цвет элементов независимо от слоя.
Похоже у объектов Aecc_pipe и Aecc_structure цвет фиксируется таким, какой был у линий внутри стиля и средствами автокада уже не меняется, если стояло по блоку, то цвет можно менять, но при установке по слою не работает переопределение. Если в стиле было установлено по слою, то в чистом автокаде хоть какой цвет устанавливай, будет как у слоя, но как раз в этом случае переопределение прекрасно работает.
В общем походу тему я создал не в том разделе)
Название: Re: Печать из Accoreconsole
Отправлено: Алексей Кулик от 14-02-2023, 15:37:13
Может, открывать файлы не напрямую, а скриптом типа
Код - INI [Выбрать]
  1. (setvar "demanload" 3)
  2. _.-open
  3. <FileName>
  4. _.plot
?
P.S. С src-файлами знаком только понаслышке
Название: Re: Печать из Accoreconsole
Отправлено: alz от 14-02-2023, 17:36:07
Алексей Кулик,  Уже стоит этот параметр 3.
Тут похоже надо копать в сторону того, чем отличается загрузка цивила и чистого автокада, но для меня это такие дебри, что проще считать это фичей, и просто обходить этот момент, для чего просто пришлось 2 отдельных чертежа, для каждой сети свой, использовать.
Название: Re: Печать из Accoreconsole
Отправлено: Александр Ривилис от 14-02-2023, 18:10:22
alz,
А с какими параметрами ты запускаешь accoreconsole? Параметр /product C3D задаешь?
Название: Re: Печать из Accoreconsole
Отправлено: alz от 14-02-2023, 18:22:38
Александр Ривилис, И так и так пробовал, разницы никакой.
вот такие параметры
options = " /i " + "C:\\ProgramData\\My_catalog\\print\\print.dwg" + " /s C:\\ProgramData\\My_catalog\\print.scr" + " /product C3D";
Название: Re: Печать из Accoreconsole
Отправлено: Александр Ривилис от 14-02-2023, 18:26:57
Осталось попробовать перед печатью загружать в scr-файле AeccCoreBase.crx и AeccArchBase.crx
Ну и запускать accoreconsole.exe с тем профилем, который ты запускаешь Civil 3D: /p <имя профиля>
Название: Re: Печать из Accoreconsole
Отправлено: alz от 14-02-2023, 19:00:46
Осталось попробовать перед печатью загружать в scr-файле AeccCoreBase.crx и AeccArchBase.crx
Ну и запускать accoreconsole.exe с тем профилем, который ты запускаешь Civil 3D: /p <имя профиля>
Как у вас мысля вовремя пришла, я как раз вычитал про подгрузку этих файлов на автодесковском форуме и разбирался как их подгрузить, никогда до этого с arx дела не имел. В общем требовался AeccCoreBase.crx, он загрузился нормально, AeccArchBase.crx вообще не нашло. Параметр продукта не нужен, никакого влияния не оказывает.
Вот запись файла scr если вдруг кто-то тоже с таким столкнется
_arx
_load
AeccCoreBase.crx
NETLOAD
//все дела
_close
_y
Название: Re: Печать из Accoreconsole
Отправлено: Александр Ривилис от 14-02-2023, 20:00:27
alz,
Вместо трех строк:
Код - INI [Выбрать]
  1. _arx
  2. _load
  3. AeccCoreBase.crx
лучше использовать одну:
Код - INI [Выбрать]
  1. (arxload "AeccCoreBase.crx" nil)
В твоём случае если файл AeccCoreBase.crx не найдется скрипт прервётся. В моём - выполнение продолжится.
Название: Re: Печать из Accoreconsole
Отправлено: alz от 14-02-2023, 21:01:22
Код - INI [Выбрать]
  1. (arxload "AeccCoreBase.crx" nil)
В твоём случае если файл AeccCoreBase.crx не найдется скрипт прервётся. В моём - выполнение продолжится.
Прям чем-то лисповским повеяло))
Да, так лаконичнее однозначно, как ни странно но в первоначальном коде у меня была подгрузка обоих файлов
AeccArchBase.crx в том числе, вот его не нашел, просто в консоли вышло сообщение что файл не найден и код скрипта продолжился дальше.
Название: Re: Печать из Accoreconsole
Отправлено: Александр Ривилис от 14-02-2023, 22:07:59
вот его не нашел, просто в консоли вышло сообщение что файл не найден и код скрипта продолжился дальше.
Возможно в консоли несколько иначе. Впрочем возможно зависит и от версии AutoCAD.