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

ADN Club => Revit API => Тема начата: ivmax от 24-11-2020, 17:38:18

Название: Ревит 2020 вылетает при печати
Отправлено: ivmax от 24-11-2020, 17:38:18

Здравствуйте, подскажите пожалуйста, в чем может быть причина.

Ревит 2020 крашится после выполнения строки 19, то есть файл печатается и сразу появляется окно с ошибкой.
в 2019 ревите все работало.
установлено последнее обновление ревит 2020.
последние строки из журанала:
Извините, вам запрещён просмотр содержимого спойлеров.

Код - C# [Выбрать]
  1.                        var printManager = doc.PrintManager;
  2.                         printManager.PrintRange = PrintRange.Select;
  3.                         printManager.Apply();
  4.                         printManager.SelectNewPrintDriver("PDF-XChange Standard");
  5.                         printManager.Apply();
  6.  
  7.                         SetupPrintingOptions(printManager, sheet, IsColorPrint);
  8.  
  9.                         printManager.CombinedFile = true;
  10.                         printManager.Apply();
  11.                         printManager.PrintToFile = true;
  12.                         printManager.Apply();
  13.                      
  14.                         printManager.PrintToFileName = options.FullPath + sheet.PrintingName + ".pdf";
  15.                         printManager.Apply();
  16.  
  17.                         try
  18.                         {
  19.                             printManager.SubmitPrint();
  20.                         }
  21.                         catch (AccessViolationException ex)
  22.                         {
  23.                             //throw;
  24.                         }
  25.  
  26.  

(https://i.postimg.cc/tsX2Fhx4/image.png) (https://postimg.cc/tsX2Fhx4)
Название: Re: Ревит 2020 вылетает при печати
Отправлено: Александр Игнатович от 25-11-2020, 10:59:19
Сложно сказать.

Работает ли нормально печать с этими же настройками через UI?

Работает ли код с другими принтерами?
Название: Re: Ревит 2020 вылетает при печати
Отправлено: ivmax от 25-11-2020, 11:05:10
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;

код работал с Adobe pdf (в 2019 ревите).

вообще как то странно получается. один лист печатает, другой не печатает. в след раз открою и первый не печатается.
на машине с windows7 вообще все без ошибок работает.
на другой машине (windows10) повторяется строка из журнала как и у меня:

' 1:< SLOG $b31f0f3d 2020-11-25 10:28:39.865 <Crash
'C 25-Nov-2020 10:28:39.875;  DBG_INFO: Detected unfrozen change of selection.: line 603 of d:\ship-rtm\2020_px64\source\revit\revitui\modscope\modscope.cpp.

гугл по этим запросам ничего, понятного для меня не сказал ))
может есть какие то идеи, в какую сторону копать?
Название: Re: Ревит 2020 вылетает при печати
Отправлено: ivmax от 25-11-2020, 11:19:47
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;

файл печатается и вылетает если сделать только:
printManager.CombinedFile = true;
Название: Re: Ревит 2020 вылетает при печати
Отправлено: Александр Игнатович от 25-11-2020, 11:20:51
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;
это ещё почему?

код работал с Adobe pdf (в 2019 ревите).

работает ли с ним в 2020? работает ли с другими принтерами в 2020?

Может в 10 винде принтер не поддерживает какую-то настройку, типа той же "Печать в файл"?
Название: Re: Ревит 2020 вылетает при печати
Отправлено: Александр Игнатович от 25-11-2020, 11:22:45
файл печатается и вылетает если сделать только
printManager.CombinedFile = true;

Ну если совсем не получится разобраться, тогда у тебя остается вариант взять, например, iTextSharp и склеить pdf-ки после печати
Название: Re: Ревит 2020 вылетает при печати
Отправлено: ivmax от 25-11-2020, 12:32:39
Цитата: ivmax от 25-11-2020, 11:05:10
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;
это ещё почему?
в UI можно выбрать только 1 галочку

(https://i.postimg.cc/nsDKCk0P/image.png) (https://postimg.cc/nsDKCk0P)


работает ли с ним в 2020? работает ли с другими принтерами в 2020?
с другими принтерами тоже не работает

Может в 10 винде принтер не поддерживает какую-то настройку, типа той же "Печать в файл"?
У всех принтеров, которые я попробовал эта галочка не активна.

Ну если совсем не получится разобраться, тогда у тебя остается вариант взять, например, iTextSharp и склеить pdf-ки после печати
С помощью этой библиотеки можно создавать пдфки прямо из ревита?
Название: Re: Ревит 2020 вылетает при печати
Отправлено: Александр Игнатович от 25-11-2020, 12:39:49
в UI можно выбрать только 1 галочку
Так может и программно не нужно ставить?

С помощью этой библиотеки можно создавать пдфки прямо из ревита?
Нет. С ней можно редактировать созданные
Название: Re: Ревит 2020 вылетает при печати
Отправлено: ivmax от 25-11-2020, 12:45:03
Так может и программно не нужно ставить?
я делал и так и так, все равно вылетает. печатает 1 файл и сразу вылетает
Название: Re: Ревит 2020 вылетает при печати
Отправлено: ivmax от 27-11-2020, 15:54:41
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;

тут я был не прав, извиняюсь.

мне удалось решить мою проблему печати следующим образом:

Код - C# [Выбрать]
  1.                 uidoc.ActiveView = view;
  2.                 var pm = doc.PrintManager;
  3.                 pm.SelectNewPrintDriver("PDF-XChange Standard");
  4.                 pm.Apply();
  5.                 pm.PrintRange = PrintRange.Current;
  6.                 pm.CombinedFile = true;
  7.                 pm.PrintToFileName = $@"d:\{view.Name}.pdf";
  8.                 pm.Apply();
  9.                 pm.SubmitPrint(view);
  10.  

возможно это кому-то поможет.
Название: Re: Ревит 2020 вылетает при печати
Отправлено: Александр Ривилис от 27-11-2020, 16:00:21
мне удалось решить мою проблему печати следующим образом:
Так в чем особенность?
Название: Re: Ревит 2020 вылетает при печати
Отправлено: ivmax от 27-11-2020, 16:06:18
мне удалось решить мою проблему печати следующим образом:
Так в чем особенность?

в строке PrintRange, объекта PrintManager. Когда я устанавливаю PrintRange.Select  и пытаюсь напечатать более 1 листа, то после печати первого ревит крашится. если установить PrintRange.Current - все работает,
почему так происходит для меня загадка.