Allplan Fórum

SmartParts und Von_Layer

Tagy:
  • 2013

Ich probiere gerade etwas mit den SmartParts und bin auch einen (Fehler?) gestoßen:

Ich möchte die einzelnen Teile des SmartParts auf unterschiedliche Layer legen und den Bauteilen über Linienstile, die den Layern zugeordnet sind unterschiedliche Farben geben.

Soweit klappt das ganz gut, Layer wird korrekt zugeordnet, Farben usw von Layer (über BY_LAYER od. -2) funktioniert in den Konstruktionsfenstern auch.
Nur bleibt die Animation von dem ganzen total ignoriert und zeigt IMMER die farbe an, die der gesamten verlegung zugeordnet ist.
Definiert man ein makro mit einer Folie, auf der zwei körper drauf sind, die unterschiedlichen layern (inkl. von-layer) zugeordnet sind, klappt das wie es soll und die farben zeigen sich auch in der animation.

soll das wirklich so sein oder gibt es hier ein definitionsloch? kann/muss ich da noch etwas einfügen in mein skript?

PEN -2
STROKE -2
COLOR -2
LAYER 50001
BOX 1 , 1 , 1
transx 1.5
LAYER 50002
BOX 1 , 1 , 1

Namenlos gezeichnet in vollem Bewusstsein - ignorant, in eigen Augen vermutlich höflich, dennoch unhöflichst, unfreundlichst wer einen/viele vermutete - sich von alters erschließende Namen nennt.
[b]

Hallo Markus,

hier hast du leider einen generellen Fehler in Allplan gefunden.
Die falsche Darstellung im Animationsfenster betrifft alle Makros, wenn diese die Einstellung
Format=Elemente
Reihenfolge = Elemente

haben. (s. bug_draw_order.png)

Leider ist es nicht möglich ein SmartPart-Makro mit den Einstellungen
Format=Elemente
Reihenfolge = Verlegung

zu erzeugen, da ohne DRAW_SEQ-Befehl jedem Objekt die Standard-Reihenfolge
(analog Allplan s. draw_order_std.png) zugeordnet wird.
Dadurch wird dann Reihenfolge = Elemente notwendig...

Wenn das für die Makros gefixt wird, klappts auch automatisch bei den SmartParts....

Gruß Jörg

Přílohy (2)

Type: image/png
Staženo 412
Size: 99,96 KiB
Type: image/png
Staženo 345
Size: 14,92 KiB

Warum ist es nicht möglich ein SmartPart mit Reihenfolge = Verlegung zu definieren?

Namenlos gezeichnet in vollem Bewusstsein - ignorant, in eigen Augen vermutlich höflich, dennoch unhöflichst, unfreundlichst wer einen/viele vermutete - sich von alters erschließende Namen nennt.
[b]

..wie schon gesagt, ohne irgendwelche Anweisungen, die die Reihenfolge regeln (DRAW_SEQ), wird das Verhalten von Allplan übernommen.
Und dabei erhalten alle Elemente einen Standard - Wert für "Reihenfolge".
Damit dieser Standard-Wert innerhalb eines Makros (SmartParts sind ja nichts anderes) auch wirksam wird, muß man die Eigenschaft der Makro-Verlegung auf "Reihenfolge=Elemente" stellen.
Dies geschieht auch, ...und verursacht die falsche Darstelllung im Animationsfenster.

Als Workaround könnte man annehmen, daß DRAW_SEQ CURRENT die Standard-Werte für Reihenfolge "ausschaltet", und alle Elemente mit der aktuellen Reihenfolge erzeugt.(und somit auch "Reihenfolge=Verlegung" aktiv sein könnte.)
Dies geschieht aber aufgrund eines kleinen Bugs in den SmartParts nicht...
(Das wird in der nächsten Version behoben.)

....allerdings braucht man diesen Workaround nicht, wenn das Makro generell im Animationsfenster korrekt dargestellt wird, egal wie "Reihenfolge=..." eingestellt ist.

Die Reihenfolge regelt ja das Überdeckungsverhalten von 2D-ELMENTEN in der GRUNDRISS-DARSTELLUNG.
Bei 3D-Elementen ergibt sich das Überdeckungsverhalten aus der Lage im Raum (Abstand zur Kamera).
Insofern ist es nicht zu verstehen, warum "Reihenfolge" irgendeine Auswirkung auf das Animations-Fenster hat!

Gruß Jörg

gut, für meinen Be im Moment würde es schon reichen, wenn der Bug bei den SmartParts weg ist..
Ich hab jetzt nich das problem einen zusätzlichen Befehl im skript zu haben.

Namenlos gezeichnet in vollem Bewusstsein - ignorant, in eigen Augen vermutlich höflich, dennoch unhöflichst, unfreundlichst wer einen/viele vermutete - sich von alters erschließende Namen nennt.
[b]