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:
- Revit zmiana worksetu – założenia programu
- Działanie programu
- Film z działania programu
- Kod programu
- Sprawdź również

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:
- Wprowadzanie zmian w modelu dla elementów na różnych worksetach
- Przy weryfikacji elementów na danym worksecie
- 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.

Program zmienia aktywny workset w tle.

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.
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ż:
- 10 darmowych alternatyw open-source, które zastąpią Twoje drogie subskrypcje
- Podsumowanie spotkań z AI, pipeline OBS Studio, transkrypcja, baza wiedzy
- Alternatywy dla Obsidiana, Logseq, Notion, Capacities
- Rozmawiaj z Excelem, jak połączyć Codexa z arkuszem kalkulacyjnym
- GitHub jako repozytorium dokumentacji projektowej, wersjonowanie opisów i zestawień




