Support Forum

[Frage] Einem PythonPart einen Bürolayer zuweisen


Mit folgendem code lässt sich ein minimales PythonPart mit einem bestimmten Layer erstellen. Aber wie kann ich dem Part einen unserer Bürolayer zuweisen? Irgendwie fehlt mir etwas. Die PythonPartLayer sind Integer, aber die Bürolayer haben einen Kurznamen und einen Langnamen?

import NemAll_Python_Geometry as Geo
import NemAll_Python_Elements as Ele

def check_allplan_version(build_ele, version):
    return True

def create_element(build_ele, doc):
    layer_number = build_ele.Number.value
    common_props = Ele.CommonProperties()
    common_props.Layer = layer_number
    line = Geo.Line2D(0, 0, 2, 5)
    return ([Ele.ModelElement2D(common_props, line)], [])

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

1 - 10 (11)

die Layer sind in Wirklichkeit Integer, leider, siehe Bild.

Anhänge (1)

img
Layer_151616.png
Typ: image/png
236-mal heruntergeladen
Größe: 9,77 KiB

...in your pyp.file the Parameter "layer_number" should habe the ValueType Layer, then you get a nice combobox with all layers ( incl. your office-layers) for selection

...in your pyp.file the Parameter "layer_number" should habe the ValueType Layer, then you get a nice combobox with all layers ( incl. your office-layers) for selection

Cool danke für die Infos. Sehr praktisch diese ComboBox.

Eigentlich dachte ich das ist noch ein Fehler drin. Siehe Post https://connect.allplan.com/ch_de/forum/themen/topic/topics//dwg_export_mit_allen_layern.html Aber es ist einfach so, dass die ersten 7000 Layer im Büro nicht vergeben sind, und daher als ??_Nummer angezeigt werden. Wenn ich eine im Büro vergebene Nummer zuweise hat das Bauteil dann auch den gwünschten Layer und der wird als Text angezeigt.

Gruss Bernd

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Wäre das möglich mit dem Pytonpart die gesamte Layerstruktur nacheinander mit einer Linie und der entsprechenden Layerbeschriftung auszulesen und grafisch auf dem Teilbild abzulegen?
Das würde beim Verwalten des Bürostandards enorm helfen...

Gruß Jürgen
Zeicon 1992-1997 | Allplan 1997-V2019

Leider kann man mit den PythonParts nicht auf bestehende objekte zugreifen. Da ich von anderen CAD weiss wie cool das ist, kann ich nur hoffen, dass das iregendwann mal kommt.

Brauchst du unbedingt den Layernamen? Die Nummern wären kein Problem? Ich stelle die Frage daher mal exakter ...

Gibt es eine Pythonmethode, die zu einer Layernummer den zugehörigen Layernamen zurückgibt (falls einer existiert.)?

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Es gibt ja zumindest das Allplanattribut @141@ kann das per python nicht verwendet werden?
ps. ich habe null Ahnung von Python...

Gruß Jürgen
Zeicon 1992-1997 | Allplan 1997-V2019

Zitiert von: Allplan_er
Es gibt ja zumindest das Allplanattribut @141@ kann das per python nicht verwendet werden?

Wie schon mal geschrieben, aktuell kann mittels PythonParts nicht auf bestehende objekte zugegriffen werden.

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Hallo,

auch wenn es nicht zum Thema passt:
Mit einem SmartPart geht das schon (s. Anhang)

In den PythonParts gibt es (noch) keine Funktion, mit der man Informationen über Ressourcen
(Layer, Schraffuren etc. ) abfragen kann!

Gruß Jörg

Anhänge (2)

img
layer_test.png
Typ: image/png
213-mal heruntergeladen
Größe: 36,93 KiB
Typ: application/xml
311-mal heruntergeladen
Größe: 10,08 KiB
1 - 10 (11)

https://connect.allplan.com/ verwendet Cookies  -  Mehr Informationen

Akzeptieren