Ревит 2020 вылетает при печати

Автор Тема: Ревит 2020 вылетает при печати  (Прочитано 3413 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3

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

Ревит 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.  



Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Ревит 2020 вылетает при печати
« Ответ #1 : 25-11-2020, 10:59:19 »
Сложно сказать.

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

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

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Ревит 2020 вылетает при печати
« Ответ #2 : 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.

гугл по этим запросам ничего, понятного для меня не сказал ))
может есть какие то идеи, в какую сторону копать?

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Ревит 2020 вылетает при печати
« Ответ #3 : 25-11-2020, 11:19:47 »
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;

файл печатается и вылетает если сделать только:
printManager.CombinedFile = true;

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Ревит 2020 вылетает при печати
« Ответ #4 : 25-11-2020, 11:20:51 »
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;
это ещё почему?

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

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

Может в 10 винде принтер не поддерживает какую-то настройку, типа той же "Печать в файл"?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Ревит 2020 вылетает при печати
« Ответ #5 : 25-11-2020, 11:22:45 »
файл печатается и вылетает если сделать только
printManager.CombinedFile = true;

Ну если совсем не получится разобраться, тогда у тебя остается вариант взять, например, iTextSharp и склеить pdf-ки после печати

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Ревит 2020 вылетает при печати
« Ответ #6 : 25-11-2020, 12:32:39 »
Цитата: ivmax от 25-11-2020, 11:05:10
в UI нельзя сделать так, там radioButton:
printManager.CombinedFile = true;
 printManager.PrintToFile = true;
это ещё почему?
в UI можно выбрать только 1 галочку




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

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

Ну если совсем не получится разобраться, тогда у тебя остается вариант взять, например, iTextSharp и склеить pdf-ки после печати
С помощью этой библиотеки можно создавать пдфки прямо из ревита?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Ревит 2020 вылетает при печати
« Ответ #7 : 25-11-2020, 12:39:49 »
в UI можно выбрать только 1 галочку
Так может и программно не нужно ставить?

С помощью этой библиотеки можно создавать пдфки прямо из ревита?
Нет. С ней можно редактировать созданные

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Ревит 2020 вылетает при печати
« Ответ #8 : 25-11-2020, 12:45:03 »
Так может и программно не нужно ставить?
я делал и так и так, все равно вылетает. печатает 1 файл и сразу вылетает

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Ревит 2020 вылетает при печати
« Ответ #9 : 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.  

возможно это кому-то поможет.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ревит 2020 вылетает при печати
« Ответ #10 : 27-11-2020, 16:00:21 »
мне удалось решить мою проблему печати следующим образом:
Так в чем особенность?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Ревит 2020 вылетает при печати
« Ответ #11 : 27-11-2020, 16:06:18 »
мне удалось решить мою проблему печати следующим образом:
Так в чем особенность?

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