Hallo,
wo finde ich die Formel für das Attribut aus diesem Video, ohne geht das ja alles nicht, oder ist das jetzt, 3 Jahre später anders, einfacher Lösbar?
Gruß!
Jürgen
Allplan Ingenieurbau V10 bis V2027
Hallo,
wo finde ich die Formel für das Attribut aus diesem Video, ohne geht das ja alles nicht, oder ist das jetzt, 3 Jahre später anders, einfacher Lösbar?
Gruß!
Jürgen
Allplan Ingenieurbau V10 bis V2027
das Video ist aus meiner Sicht etwas irreführend, es zeigt zwei Lösungen.
man erwartet eine PythonPart Lösung. Zuerst wird aber eine Lösung mittels python Script gezeigt.
bei 1:01 siehst du die Formel. Diese verweist dich aber auf ein python Script, welches in std/scripts in der functions.py liegen muss.
zusätzlich benötigst du die KOstengruppe.csv die das Mapping der Kostengruppe übernimmt. Diese muss im selben Ortner liegen.
komplizierter und fehleranfälliger geht es kaum. habe das mal bei uns probiert und wieder verworfen, da keinen Mehrwert für uns.
def assignKG(ifc_entity, ifc_predefined_type, tragendes_bauteil, aussenliegend):
csv_path = r"**HIER DEINEN PFAD EINSTEZEN**\Std\Scripts\Kostengruppen.csv"
# Checkbox-Wert für tragendes Bauteil übersetzen
tragend_map = {"1.0": "ja", "0.0": "nein"}
tragend_wert = tragend_map.get(str(tragendes_bauteil).strip(), "").lower()
try:
with open(csv_path, newline='', encoding='utf-8') as file:
reader = csv.reader(file, delimiter=';')
for row in reader:
if len(row) 5:
continue
kostengruppe = row[0].strip()
csv_entity = row[1].strip()
csv_type = row[2].strip()
csv_tragend = row[3].strip().lower()
csv_aussen = row[4].strip().lower()
if (csv_entity == ifc_entity.strip() and
csv_type == ifc_predefined_type.strip() and
csv_aussen == aussenliegend and
csv_tragend == tragend_wert and
csv_aussen == aussenliegend):
return kostengruppe
return "KG nicht gefunden"
except FileNotFoundError:
return "CSV fehlt"P.S.
Sowas kann auch zu performance Problemen führen, weil das Script ständig im Hintergrund durchläuft.
Ich meine hierzu gab es hier im Forum schon mal einen thread...