Revit zmiana worksetu

,

Wprowadzanie zmian w modelu, w którym utworzone jest wiele worksetów prowadzi do pomyłek przez złe przypisanie zmienianych elementów. Dzięki funkcji aktywny workset możesz w łatwy sposób wybrać dany element i dokonać zmiany worksetu.

Spis treści:

icons8.com/icon/
Ikona z icons8.com/icon/

Revit zmiana worksetu – założenia programu

Program do ustawiania aktywnego worksetu ma za zadanie pomóc Ci w Twojej codziennej pracy. Dzięki temu nie musisz ręcznie sprawdzać worksetu danego elementu, a następnie go zmieniać. Wystarczy wybrać element i jego workset automatycznie ustawi się jako aktywny. Kiedy najbardziej z tego skorzystasz:

  1. Wprowadzanie zmian w modelu dla elementów na różnych worksetach
  2. Przy weryfikacji elementów na danym worksecie
  3. Kiedy zaczynasz pracę na nowym modelu gdzie nie znasz jeszcze hierarchii przypisywania worksetów

Instrukcję instalacji nakładki znajdziesz w tym artykule.

Działanie programu

W pierwszej kolejności program pyta nas o wskazanie elementu. To jego workset będzie ustawiany jako aktywny.

revit-wybór-elementu

Program zmienia aktywny workset w tle.

revit-zmiana-worksetu

Film z działania programu

Kod programu – revit ustawianie aktywnego worksetu

Poniżej znajduje się kod programu z pierwszej wersji nakładki. Po więcej zapraszam na mojego GitHubie, gdzie na bieżąco pojawiać się będą nowe wersje nakładki.

Python
Copyright (C) 2022 Paweł Kińczyk
from rpw import revit
from Autodesk.Revit.UI.Selection import *
from Autodesk.Revit.DB import *
from pyrevit import forms
from pyrevit import output

doc = revit.doc
uidoc = revit.uidoc


## Pick model element
try:
    with forms.WarningBar(title="Pick elements in model"):
        collector = uidoc.Selection.PickObject(ObjectType.Element)

except Exception as e:
    print("Error: " + str(e))

## Get element's workset
el=doc.GetElement(collector.ElementId)
workset_id = el.WorksetId
transaction = Transaction(doc, 'Changed workset - PYLAB')

## Change active workset
try:
    transaction.Start()
    doc.GetWorksetTable().SetActiveWorksetId(workset_id)
    transaction.Commit()

    output = output.get_output()
    output.close()
except Exception as e:
    print("Error: " + str(e))

Wszelkie nieprawidłowości w działaniu programu jakie występują podczas korzystania proszę zgłaszać na moich kontach społecznościowych, albo koncie GitHub.

Sprawdź również:

Paweł Kińczyk
Paweł Kińczyk
Artykuły: 58

Newsletter

Chcesz być na bieżąco? Zapisz się do newslettera!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *