Skip to content

Commit 2addba7

Browse files
authored
Merge pull request #2933 from WemyssJ/WemyssBranch
Print Sheets: using Revit Internal Printer is now optional
2 parents ce164b2 + 4a1a011 commit 2addba7

File tree

1 file changed

+21
-7
lines changed
  • extensions/pyRevitTools.extension/pyRevit.tab/Drawing Set.panel/Print Sheets.pushbutton

1 file changed

+21
-7
lines changed

extensions/pyRevitTools.extension/pyRevit.tab/Drawing Set.panel/Print Sheets.pushbutton/script.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -809,9 +809,17 @@ def _setup_naming_formats(self):
809809

810810
def _setup_printers(self):
811811
printers = list(Drawing.Printing.PrinterSettings.InstalledPrinters)
812+
813+
if IS_REVIT_2022_OR_NEWER:
814+
printers.insert(0, "Revit Internal Printer")
815+
812816
self.printers_cb.ItemsSource = printers
813-
print_mgr = self._get_printmanager()
814-
self.printers_cb.SelectedItem = print_mgr.PrinterName
817+
818+
if IS_REVIT_2022_OR_NEWER and "Revit Internal Printer" in printers:
819+
self.printers_cb.SelectedItem = "Revit Internal Printer"
820+
else:
821+
print_mgr = self._get_printmanager()
822+
self.printers_cb.SelectedItem = print_mgr.PrinterName
815823

816824
def _get_psetting_items(self, doc,
817825
psettings=None, include_varsettings=False):
@@ -1058,7 +1066,8 @@ def _print_sheets_in_order(self, target_sheets):
10581066
if not per_sheet_psettings:
10591067
print_mgr.PrintSetup.CurrentPrintSetting = \
10601068
self.selected_print_setting.print_settings
1061-
print_mgr.SelectNewPrintDriver(self.selected_printer)
1069+
if not (IS_REVIT_2022_OR_NEWER and self.selected_printer == "Revit Internal Printer"):
1070+
print_mgr.SelectNewPrintDriver(self.selected_printer)
10621071
print_mgr.PrintRange = DB.PrintRange.Current
10631072
except Exception as cpSetEx:
10641073
forms.alert(
@@ -1090,7 +1099,7 @@ def _print_sheets_in_order(self, target_sheets):
10901099
try:
10911100
pb1.update_progress(pbCount1, pbTotal1)
10921101
pbCount1 += 1
1093-
if IS_REVIT_2022_OR_NEWER:
1102+
if IS_REVIT_2022_OR_NEWER and self.selected_printer == "Revit Internal Printer":
10941103
optspdf = PrintUtils.pdf_opts()
10951104
PrintUtils.export_sheet_pdf(dirPath, sheet.revit_sheet, optspdf, doc, sheet.print_filename)
10961105
else:
@@ -1139,7 +1148,7 @@ def _print_sheets_in_order(self, target_sheets):
11391148
try:
11401149
pb1.update_progress(pbCount1, pbTotal1)
11411150
pbCount1 += 1
1142-
if IS_REVIT_2022_OR_NEWER:
1151+
if IS_REVIT_2022_OR_NEWER and self.selected_printer == "Revit Internal Printer":
11431152
optspdf = PrintUtils.pdf_opts()
11441153
PrintUtils.export_sheet_pdf(dirPath, sheet.revit_sheet, optspdf, doc, sheet.print_filename)
11451154
else:
@@ -1161,7 +1170,8 @@ def _print_linked_sheets_in_order(self, target_sheets, target_doc):
11611170
# make sure we can access the print config
11621171
print_mgr = self._get_printmanager()
11631172
print_mgr.PrintToFile = True
1164-
print_mgr.SelectNewPrintDriver(self.selected_printer)
1173+
if not (IS_REVIT_2022_OR_NEWER and self.selected_printer == "Revit Internal Printer"):
1174+
print_mgr.SelectNewPrintDriver(self.selected_printer)
11651175
print_mgr.PrintRange = DB.PrintRange.Current
11661176

11671177

@@ -1193,7 +1203,7 @@ def _print_linked_sheets_in_order(self, target_sheets, target_doc):
11931203
try:
11941204
pb1.update_progress(pbCount1, pbTotal1)
11951205
pbCount1 += 1
1196-
if IS_REVIT_2022_OR_NEWER:
1206+
if IS_REVIT_2022_OR_NEWER and self.selected_printer == "Revit Internal Printer":
11971207
optspdf = PrintUtils.pdf_opts()
11981208
PrintUtils.export_sheet_pdf(dirPath, sheet.revit_sheet, optspdf, doc, sheet.print_filename)
11991209
else:
@@ -1476,6 +1486,10 @@ def sheetlist_changed(self, sender, args):
14761486

14771487
def printers_changed(self, sender, args):
14781488
print_mgr = self._get_printmanager()
1489+
1490+
if self.selected_printer == "Revit Internal Printer":
1491+
return
1492+
14791493
print_mgr.SelectNewPrintDriver(self.selected_printer)
14801494
self._setup_print_settings()
14811495

0 commit comments

Comments
 (0)