Das Wissen aller Anwender nutzen

Im Allplan Connect Forum tauschen sich Anwender aus, geben wertvolle Tipps oder beraten sich bei ganz konkreten Aufgabenstellungen − auch international.
Und damit wirklich keine Frage unbeantwortet bleibt, unterstützen die Mitarbeiter des Technischen Supports ebenfalls aktiv das Forum.

Es erwarten Sie:

  • Foren-Vielfalt aus CAD Architektur, CAD Ingenieurbau uvm.
  • Tipps von User für User
  • international: Deutsch, Englisch, Italienisch, Französisch und Tschechisch

Melden Sie sich jetzt an und diskutieren Sie mit!

Zur Registrierung

[Frage] Node Format Layer zuweisen

Schlagworte:
  • Allplan
  • 2022-1-0
  • Format
  • Layer

Hallo nochmal.

Meine mit VS erstellten Pythonparts enthalten oft mehrere Geometrie-Teile. Ich benutze am Ende des Skripts mehrfach das Node Format um den einzelnen Bestandteilen verschiedene Formateigenschaften zu zuweisen. Stift, Strich, Farbe und Oberfläche funktionieren einwandfrei, der Layer aber nicht.

Was mache ich falsch?

Gruß Felix
Allplan 2024-0-1

Anhänge (2)

Typ: image/png
141-mal heruntergeladen
Größe: 392,26 KiB
Typ: text/xml
860-mal heruntergeladen
Größe: 3,81 KiB

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

Die Layer-Zuweisung funktioniert schon korrekt. Nur hast Du das nicht an der richtigen Stelle "kontrolliert".

In der Palette "Layer" sieht man die beiden Layer sehr schön, und kann die beiden Quader einzeln "wegschalten".(s. vs_layer.png)

In der Palette "Objekte" wird nur der Layer des Visual-Scripting-Objekts angezeigt.

Visual-Scripting-Objekte sind Makros (Container für andere Objekte), und in der Palette "Objekte" wird nur der Layer dieses
Containers angezeigt. Die Layer der Objekte in dem Container (auf den Makrofolien) werden in der Palette "Objekte" nicht angezeigt!

Nur in der Palette "Layer" wird in das Makro (in den Container) hineingeschaut.

Eine "übersichtlichere Darstellung bietet das Plugin ModelInspector. Dort wird in das Makro (in den Container) hineingeschaut. (s. ModelInspector_Layer.png)

Anhänge (2)

Typ: image/png
79-mal heruntergeladen
Größe: 32,42 KiB
Typ: image/png
63-mal heruntergeladen
Größe: 32,44 KiB

Die Layer-Zuweisung funktioniert schon korrekt. Nur hast Du das nicht an der richtigen Stelle "kontrolliert".

In der Palette "Layer" sieht man die beiden Layer sehr schön, und kann die beiden Quader einzeln "wegschalten".(s. vs_layer.png)

In der Palette "Objekte" wird nur der Layer des Visual-Scripting-Objekts angezeigt.

Visual-Scripting-Objekte sind Makros (Container für andere Objekte), und in der Palette "Objekte" wird nur der Layer dieses
Containers angezeigt. Die Layer der Objekte in dem Container (auf den Makrofolien) werden in der Palette "Objekte" nicht angezeigt!

Nur in der Palette "Layer" wird in das Makro (in den Container) hineingeschaut.

Eine "übersichtlichere Darstellung bietet das Plugin ModelInspector. Dort wird in das Makro (in den Container) hineingeschaut. (s. ModelInspector_Layer.png)

Anhänge (2)

Typ: image/png
79-mal heruntergeladen
Größe: 32,42 KiB
Typ: image/png
63-mal heruntergeladen
Größe: 32,44 KiB

Alles klar, vielen Dank für die Info. Das wusste ich noch nicht.

Das eigentliche Problem kommt aber erst noch:
Ich habe im PythonPart wieder verschiedene Layer vergeben.
Anschließend habe ich einen Schnitt vom PythonPart erstellt. Den Schnitt habe ich so eingestellt, dass die Formateigenschaften der Kanten nicht überdefiniert werden (siehe Bild 02). Die Schnittdarstellung zeigt also die Objekte so, wie sie formatiert sind und sollte auch den Layer wiedergeben. Bei freien Körpern funktioniert das auch.
(Ich mache das häufig so, weil ich dann im Plan verschiedene Bauteile unterschiedlich formatieren kann, wofür ich sonst mehrere Schnitte übereinander legen müsste. Obwohl das auch keine Lösung ist, weil die Verdecktberechnung dann nicht funktioniert.)

Wenn ich jetzt im Modellbereich die entsprechenden Layer ausschalte, werden nur die Objekte im PythonPart ausgeblendet. Die Ableitung der Objekte im Schnitt bleibt sichtbar. Das gleiche passiert, wenn ich im Planlayout den Layer in den Planfenstereinstellungen ausschalte (siehe Bild 03).

Das liegt daran, dass der Schnitt nicht die Layer der PythonPart-Teile wiedergibt, sondern alle Teile des Parts auf den Layer der Makroverlegung legt. In meinem Fall STANDARD. Das sieht man auch wenn man den Schnitt in Konstruktion wandelt.

Zum Vergleich habe ich das PythonPart mit "Makro auflösen" in seine Bestandteile zerlegt und diese im gleichen Schnitt mit dargestellt. Dabei werden die Layer korrekt an die Körper übergeben.

Soll das jetzt heißen ich muss meine PythonParts zur Planerstellung immer auflösen um eine gezielte Formatierung im Plan vornehmen zu können, oder gibt es irgendwo eine Einstellung die Abhilfe schafft?

PS: Warum der eine Körper im Plan in Grau dargestellt wird, weiß ich auch nicht. Aber das ist vielleicht ein anderes Problem.

Gruß Felix
Allplan 2024-0-1

Anhänge (3)

Typ: image/png
71-mal heruntergeladen
Größe: 69,93 KiB
Typ: image/png
36-mal heruntergeladen
Größe: 67,87 KiB
Typ: image/png
52-mal heruntergeladen
Größe: 135,80 KiB

Habe heute erstmals mit VS experimentiert: Die erstellten 3D-Körper erhalten direkt im VS die richtigen Formateigenschaften "von Layer", auch der Wechsel von Zeichnungstypen bei Verwendung von Linienstilen funktioniert im Grundriss und in der 3D-Drahtansicht. Allerdings schaffe ich es nicht, diese Linienstile in den UVS dargestellt zu bekommen. Hier sind die Schnittkanten in einer anderen Farbe dargestellt, auch wenn im Schnitt nichts überdefiniert wird. Das Problem ist im Wesentlichen identisch mit "UVS durch Treppenmodellierer mit Elementen auf verschiedenen Layern". Wenn ich das PP mit "Makro auflösen auflöse", funktioniert alles bestens.
Gibt es hier einen Trick, um das PP direkt im Schnitt richtig darzustellen, ohne aufzulösen?

Es gibt leider keinen Trick, um diesen Fehler zu umgehen.
Leider kann nur Allplan hier Abhilfe schaffen, indem Layer von Elementen in Makros in den UVS
korrekt darsgestellt werden. siehe auch dieser Beitrag

Ok danke! Das wird dann wieder mal eine ewige Baustelle in Allplan

Nun, das will ich nicht hoffen! Es hat ja schon mal funktioniert: Zur 2021-1-10 wurde der Fehler schon mal gefixt...