Ejemplo n.º 1
0
def _export_pat(revit_pat, export_dir):
    pat_file_contents = revit_pat.get_pat_data()
    with open(op.join(export_dir,
                      '{}.pat'.format(
                          coreutils.cleanup_filename(revit_pat.name)
                          )), 'w') as pat_file:
        pat_file.write(pat_file_contents)
Ejemplo n.º 2
0
def _export_pat(revit_pat, export_dir):
    pat_file_contents = revit_pat.get_pat_data()
    pat_file_name = coreutils.cleanup_filename(revit_pat.name)
    pat_file_path = op.join(export_dir, '{}.pat'.format(pat_file_name))
    logger.debug('Exporting pattern to: %s', pat_file_path)
    with open(pat_file_path, 'w') as pat_file:
        pat_file.write(pat_file_contents)
Ejemplo n.º 3
0
 def _print_sheets_in_order(self):
     print_mgr = doc.PrintManager
     print_mgr.PrintToFile = True
     # print_mgr.CombinedFile = False
     print_mgr.PrintRange = PrintRange.Current
     for sheet in self.sheets_lb.ItemsSource:
         output_fname = cleanup_filename('{:05} {} - {}.pdf'.format(
             sheet.print_index, sheet.number, sheet.name))
         print_mgr.PrintToFileName = op.join(USER_DESKTOP, output_fname)
         if sheet.printable:
             print_mgr.SubmitPrint(sheet.revit_sheet)
Ejemplo n.º 4
0
    def _print_sheets_in_order(self):
        print_mgr = revit.doc.PrintManager
        print_mgr.PrintToFile = True
        # print_mgr.CombinedFile = False
        print_mgr.PrintRange = DB.PrintRange.Current
        for sheet in self.sheets_lb.ItemsSource:
            output_fname = \
                coreutils.cleanup_filename('{:05} {} - {}.pdf'
                                           .format(sheet.print_index,
                                                   sheet.number,
                                                   sheet.name))

            # [BB] Added savepath to filename
            print_mgr.PrintToFileName = op.join(savepath, output_fname)
            if sheet.printable:
                print_mgr.SubmitPrint(sheet.revit_sheet)
Ejemplo n.º 5
0
    def _print_sheets_in_order(self):
        print_mgr = revit.doc.PrintManager
        print_mgr.PrintToFile = True
        # print_mgr.CombinedFile = False
        print_mgr.PrintRange = DB.PrintRange.Current
        for sheet in self.sheets_lb.ItemsSource:
            output_fname = \
                coreutils.cleanup_filename('{:05} {} - {}.pdf'
                                           .format(sheet.print_index,
                                                   sheet.number,
                                                   sheet.name))

            print_mgr.PrintToFileName = op.join(USER_DESKTOP, output_fname)
            if sheet.printable:
                print_mgr.SubmitPrint(sheet.revit_sheet)
            else:
                logger.warning(
                    'Sheet {} is not printable. Skipping print.'.format(
                        sheet.SheetNumber))
Ejemplo n.º 6
0
def _get_app_file(file_id,
                  file_ext,
                  filename_only=False,
                  stamped=False,
                  universal=False):
    appdata_folder = pyrevit.PYREVIT_VERSION_APP_DIR
    file_prefix = pyrevit.PYREVIT_FILE_PREFIX

    if stamped:
        file_prefix = pyrevit.PYREVIT_FILE_PREFIX_STAMPED
    elif universal:
        appdata_folder = pyrevit.PYREVIT_APP_DIR
        file_prefix = pyrevit.PYREVIT_FILE_PREFIX_UNIVERSAL

    full_filename = '{}{}.{}'.format(file_prefix, file_id, file_ext)

    if filename_only:
        return full_filename
    else:
        return op.join(appdata_folder,
                       coreutils.cleanup_filename(full_filename))
Ejemplo n.º 7
0
    def _print_sheets_in_order(self):
        # make sure we can access the print config
        print_mgr = self._get_printmanager()
        if not print_mgr:
            return
        print_mgr.PrintToFile = True
        with revit.DryTransaction('Set Printer Settings'):
            print_mgr.PrintSetup.CurrentPrintSetting = \
                self.selected_print_setting
            print_mgr.SelectNewPrintDriver(self.selected_printer)
            print_mgr.PrintRange = DB.PrintRange.Current
            for sheet in self.sheet_list:
                output_fname = \
                    coreutils.cleanup_filename('{:05} {} - {}.pdf'
                                            .format(sheet.print_index,
                                                    sheet.number,
                                                    sheet.name))

                print_mgr.PrintToFileName = op.join(USER_DESKTOP, output_fname)
                if sheet.printable:
                    print_mgr.SubmitPrint(sheet.revit_sheet)
                else:
                    logger.debug('Sheet %s is not printable. Skipping print.',
                                 sheet.number)
Ejemplo n.º 8
0
        vseop = DB.ViewScheduleExportOptions()
        vseop.ColumnHeaders = coreutils.get_enum_none(DB.ExportColumnHeaders)
        vseop.TextQualifier = DB.ExportTextQualifier.DoubleQuote

        # determine which separator to use
        csv_sp = ','
        regional_sep = user_config.get_list_separator()
        if regional_sep != ',':
            if forms.alert("Regional settings list separator is \"{}\"\n"
                           "Do you want to use this instead of comma?"
                           .format(regional_sep), yes=True, no=True):
                csv_sp = regional_sep

        if csv_sp:
            vseop.FieldDelimiter = csv_sp
            vseop.Title = False
            vseop.HeadersFootersBlanks = False

            for sched in schedules_to_export:
                fname = \
                    coreutils.cleanup_filename(revit.query.get_name(sched)) \
                    + '.csv'
                sched.Export(basefolder, fname, vseop)
                exported = op.join(basefolder, fname)
                coreutils.correct_revittxt_encoding(exported)
                output.print_md("**EXPORTED:** {0}"
                                .format(revit.query.get_name(sched)))
                print(exported)
                if open_exported:
                    coreutils.run_process('"%s"' % exported)
Ejemplo n.º 9
0
 def print_filename(self, value):
     self._print_filename = \
         coreutils.cleanup_filename(value, windows_safe=True)
Ejemplo n.º 10
0
from pyrevit import coreutils
from pyrevit import revit, DB
from pyrevit import script

logger = script.get_logger()

proj_info = revit.query.get_project_info()
data_file = script.get_document_data_file("SelList", "pym")
logger.debug(data_file)

if op.exists(data_file):
    if proj_info.name:
        filter_name = \
            'SavedSelection_' + proj_info.name + '_' + coreutils.timestamp()
    else:
        filter_name = \
            'SavedSelection_' + coreutils.timestamp()

    with open(data_file, 'r') as f:
        cursel = pl.load(f)

    with revit.Transaction('pySaveSelection'):
        selection_filter = \
            DB.SelectionFilterElement.Create(
                revit.doc,
                coreutils.cleanup_filename(filter_name)
                )
        for elid in cursel:
            selection_filter.AddSingle(DB.ElementId(int(elid)))