icon

Support Forum

V2026-1-6 Attribute - KostengruppenZuordnung


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?

https://www.allplan.com/de/pythonparts/#noreferrer/28/

Gruß!
Jürgen

Allplan Ingenieurbau V10 bis V2027

Anhänge (1)

Typ: image/png
41-mal heruntergeladen
Größe: 1,03 MiB

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...

Viele Grüße
Florian

Das "F" in Digitalisierung steht für Faxgerät!

LinkedIn-Profil

www.vollack.de

Anhänge (2)

Typ: image/png
2-mal heruntergeladen
Größe: 709,82 KiB
Typ: text/plain
0-mal heruntergeladen
Größe: 6,64 KiB