[Otázka] Elemente mit Attributinformationen aus Excel-Tabelle erstellen.

Tagy:
  • 2023
  • Excel
  • ReadTabel
  • TableToList
  • TableColumns
  • SetValueToAttribute
  • GeometryElement

Hallo

Ich habe eine Excel-Tabelle mit Attributinformationen für verschiedene Elemente. Die Attribute befinden sich in den Spalten. Die verschiedenen Elementtypen stehen in den Zeilen.
Nun möchte ich für jeden Elementtyp einen Quader erstellen, der mit den Attributen aus den Spalten attributiert wird. Die Quader sollen dann in einer Reihe oder Raster angeordnet werden.
Das Ziel ist eine Vorlage bzw. einen Assistent für die Übernahme von Attributen.

Mit den Nodes ReadTabel, TableToList und TableColumns kann ich die Attribute als Liste auslesen. Mit SetValueToAttribute kann ich einen einzelnen Attributwert einem GeometryElement zuweisen.
Ich habe versucht mit SubListByRange einzelne Werte an den Node SetValueToAttribute zu übergeben. Diese werden jedoch alle zusammen als als Liste übergeben.

Es gelingt es mir nicht, eine Art Schleife zu erstellen, die pro Zeile einen Quader erzeugt. Und diesem die Attribute aus den Spalten zuweist.

Kann mir jemand einen Tipp geben?

Gruss und Dank
Hansruedi

Hallo Hansruedi,

zur Handhabung in VS kann ich leider nichts sagen, aber es gibt das PP Attribute-Workflow.
Damit kann ein ähnlicher workflow abgearbeitet werden.
https://www.allplan.com/de/pythonparts
Eventuell hilft dir das weiter...

VG
Marcus

Schleifen in Visual-Scripting sind (in der Allplan-Version) nicht möglich!

Man müßte dieses Manko folgendermaßen umgehenn:
-die Anzahl der Zeilen in der Attribute-Tabelle ermitteln -> n
-eine Listen von Abmessungen erzeugen, die n mal die gewünschte Größe des Quaders enthält
-diese Liste von Abmessungen sodann dem Node zum Erzeugen des Quaders übergeben.

In anderen Visual-Scripting-Lösungen (z.B. Grasshopper) würde der Quader-Node dann
für jede Abmessung einen Quader erzeugen.
Ob das auch in Allplan-Visual-Scripting so funktioniert, kann ich nicht sagen.

Auch wenn es funktioniert, wird das Problem darin bestehen, dass die Quader alle in einem Visual-Scripting-PythonPart (also in einem Makro) in Allplan "ankommen".
Da kann man dann nicht auf die Attribute zugreifen, da sich die Quader auf einer Makrofolie in einem Makro befinden!

Ich würde das ganze als Python-Part machen, und die Quader als "Fire&Forget"-Elemente erzeugen lassen.