Naar de inhoud
PyPath

Vakpakket Binnenkort

Water

Gietwater, bassins en leidingnetten: je eigen tools voor waterinstallaties, geoefend op een nagebootst kassencomplex met watergeefunit, verdeelleidingen en druppelleidingen.

Voor wie

Tekenaars en engineers die waterinstallaties tekenen: gietwater en watergift in de glastuinbouw, of leidingnetten in andere gebouwen.

Welke tools je bouwt

  • Een materiaalstaat per diameter, klaar voor de bestellijst
  • Druppelleidingen tellen en hun lengte per afdeling optellen
  • Open einden en ontbrekende eindkappen vinden
  • Controleren of elke leiding in het goede systeem zit
  • Lijsten naar CSV voor Excel

De definitieve lijst volgt met de lessen.

Een voorbeeld

Hoeveel meter gietwaterleiding zit er per diameter in het complex? Dit script maakt de materiaalstaat.

MateriaalstaatGietwater.pushbutton/script.py
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Plumbing import Pipe

doc = __revit__.ActiveUIDocument.Document

per_diameter = {}
for leiding in FilteredElementCollector(doc).OfClass(Pipe):
    systeem = leiding.get_Parameter(
        BuiltInParameter.RBS_SYSTEM_NAME_PARAM).AsString()
    if systeem != "Gietwater":
        continue
    dn = leiding.get_Parameter(
        BuiltInParameter.RBS_PIPE_DIAMETER_PARAM).AsValueString()
    lengte = leiding.get_Parameter(
        BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble()
    meters = UnitUtils.ConvertFromInternalUnits(lengte, UnitTypeId.Meters)
    per_diameter[dn] = per_diameter.get(dn, 0) + meters

for dn in sorted(per_diameter, key=lambda d: float(d.split()[0])):
    print("{}: {:.1f} m".format(dn, per_diameter[dn]))
Uitvoer op het nagebootste model
20 mm: 1940.4 m
32 mm: 6.4 m
40 mm: 3.2 m
50 mm: 6.4 m
63 mm: 11.2 m
75 mm: 12.8 m
90 mm: 29.9 m

Gecontroleerd tegen de documentatie van de Revit API 2025; nog niet in een echte Revit gedraaid.