示例#1
0
def start_reload():
   logger = script.get_logger()
   results = script.get_results()
   
   # re-load pyrevit session.
   logger.info('Reloading....')
   sessionmgr.reload_pyrevit()
   results.newsession = sessioninfo.get_session_uuid()
    def __init__(self, name, linebreak=False):
        # if ironpython
        if sys.implementation.name == "ironpython":
            # if in pyrevit
            try:
                from pyrevit import script

                self.logger = script.get_logger()
            # if not
            except ImportError:
                self.logger = self._start_logger(name, linebreak)
        # if cpython
        elif sys.implementation.name == "cpython":
            self.logger = self._start_logger(name, linebreak)

        else:
            print(sys.implementation.name)
            self.logger = self._start_logger(name, linebreak)
示例#3
0
"""Provides options for overriding Visibility/Graphics on selected elements."""
#pylint: disable=E0401,C0103
from collections import OrderedDict

from pyrevit import HOST_APP
from pyrevit import revit, DB
from pyrevit import forms
from pyrevit import script

logger = script.get_logger()

selection = revit.get_selection()
# select all individual elements inside a group
selection.expand_groups()


def find_solid_fillpat():
    existing_pats = DB.FilteredElementCollector(revit.doc)\
                      .OfClass(DB.FillPatternElement)\
                      .ToElements()
    for pat in existing_pats:
        fpat = pat.GetFillPattern()
        if fpat.IsSolidFill and fpat.Target == DB.FillPatternTarget.Drafting:
            return pat


def colorvg(r, g, b, projline_only=False, xacn_name=None):
    color = DB.Color(r, g, b)
    wireframe_color = DB.Color(r - 20 if r - 20 >= 0 else 0,
                               g - 20 if g - 20 >= 0 else 0,
                               b - 20 if b - 20 >= 0 else 0)
示例#4
0
# coding: utf8

from Autodesk.Revit.DB import Document, Element, Parameter, ElementId

import rpw
from rpw import revit
from pyrevit.forms import WPFWindow
from pyrevit.script import get_logger

import os
import datetime

from pyrevitmep import excel

logger = get_logger()
doc = revit.doc  # type: Document

xl_app = excel.initialise()

# Create a workbook with designated file as template
res_path = os.path.join(__commandpath__,
                        r"A05_Correction des reservations.xlsx")
res_workbook = xl_app.Workbooks("A05_Correction des reservations.xlsx")
res_sheet = res_workbook.Sheets("Feuil1")

row = 2
with rpw.db.Transaction("Set BY_GROUP_ID, BY_ELEMENT_ID"):
    while res_sheet.Cells(row, 1):
        try:
            el_id = ElementId(int(res_sheet.Cells(row, 1).Value2))
            element = doc.GetElement(el_id)  # type: Element
示例#5
0
from pyrevit import revit, DB, script, forms
from rpw.ui.forms import FlexForm, Label, TextBox, Button, ComboBox, CheckBox, Separator
import locator, ui
from itertools import izip
import sys
from pychilizer import units, select, geo, database

ui = ui.UI(script)
ui.is_metric = units.is_metric
doc = __revit__.ActiveUIDocument.Document

output = script.get_output()
logger = script.get_logger()  # helps to debug script, not used

selection = select.select_with_cat_filter(DB.BuiltInCategory.OST_Rooms,
                                          "Pick Rooms for Room Data Sheets")

# collect all view templates for plans and sections
viewsections = DB.FilteredElementCollector(doc).OfClass(
    DB.ViewSection)  # collect sections
ui.viewsection_dict = {v.Name: v
                       for v in viewsections
                       if v.IsTemplate}  # only fetch the IsTemplate sections

viewplans = DB.FilteredElementCollector(doc).OfClass(
    DB.ViewPlan)  # collect plans
ui.viewplan_dict = {v.Name: v
                    for v in viewplans
                    if v.IsTemplate}  # only fetch IsTemplate plans

# TODO: fix the default value