Allplan Fórum

[Otázka] SmartPartgruppe 3D Aktualisierung in der Grundriss Ansicht

Tagy:
  • 3D
  • 2D
  • Aktualisierung
  • SmartPart
  • Grundrissdarstellung

Hallo,

ich habe ein Problem mit dem SubSmartPart meines SmartParts.

Wenn ich in der 2D Grundriss Ansicht bin und eine über das Dialog Fenster Einstellungen verändere, bekommt das 3D Modell vom SmartPart Probleme.
In der 3D Ansicht sieht es aus, als erinert sich das SubSmartPart nicht mehr auf welcher Höhe es platziert worden ist. Es generiert sich zwar richtig, aber auf der falschen Höhe. Genaugenommen platziert es sich ohne eine Höhe.

Wenn ich versuche in der 2D Grundriss Darstellung das SmartPart zu aktualisieren, löst es das Problem nicht.
Wenn ich in der 3D Darstellung auf SmartPart aktualisieren klicke, springt mein SubSmartPart wieder auf die richtige Höhe, die das MainSmartPart auch hat.

Gibt es da eine Einstellung die ich anders machen muss?
ICh habe als Anhang meine Momentanen Einstellungen der beiden SmartParts reingeschickt.
Vielleicht muss ich nur etwas richtig einstellen.

Vielen Dank schon mal im Voraus

Přílohy (2)

Type: image/png
Staženo 76
Size: 33,36 KiB
Type: image/png
Staženo 38
Size: 31,50 KiB

Show most helpful answer Hide most helpful answer

..wie ich oben geschrieben habe: Mit deaktivierter Option "2D/3D-Script getrennt ausführen" werden 2D- und 3D-Script hintereinander in ein Script kopiert, und dann wird dieses Script ausgeführt. Es darf also im 2D-Script keinen Befehl END geben, sonst beendet dieser das gemeinsame Script vorzeitig!

Die Option "Zeige 2D-Darstellung immer im Grundriss" hat mit dieser Problematik überhaupt nichts zu tun!
Die Option ist für folgenden Fall gedacht:
Wenn das SmartPart im Raum gedreht ist, also entweder um X- oder Y-Achse gedreht wurde, wird normalerweise in der Grundrissprojektion die 2D-Folie dieses gedrehten SmartParts nicht angezeigt, sondern die 3D-Folie!
Für bestimme Elemente ist das nicht erwünscht, z.B. Dachflächenfenster.
"Zeige 2D-Darstellung immer im Grundriss" = EIN bewirkt nun, dass die 2D-Folie immer angezeigt wird, wenn man in der Grundrissprokjektion ist. Auch wenn das SmartPArt gedreht wurde.

Přílohy (1)

Type: image/png
Staženo 43
Size: 75,39 KiB
1 - 10 (11)

Getrennte ausführung 2D/3D-Script sollte bei beiden SmartParts Aus sein!
Im MainSmartPart sollte der Aufruf des Sub-SmartParts (CALL_OBJ) nur im 3D-Script erfolgen!
Die SmartParts dürfen nicht an Räume oder Ebenen (Höhe) gekoppelt sein!

Hallo,

Maybe it is not necessary to activate the box for 2D display if viewed in plan.
_______________

Möglicherweise ist es nicht erforderlich, die Box für die 2D-Anzeige zu aktivieren, wenn sie im Plan angezeigt wird.


Přílohy (1)

Type: image/png
Staženo 11
Size: 17,81 KiB

Ich habe nun "2D/3D-Script getrennt ausführen" ausgestellt bei beiden SmartParts.
Nun habe ich aber das Problem, dass das SubSmartPart nicht mehr generiert wird in der 3D-Ansicht.

Ich habe mittels Code eine Folie für mein 3D-Script erstellt. Vielleicht liegt es ja daran:

DEFINE FOIL "f_dose" 0 , 1 , 0 , 200 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 2 
FOIL "f_dose" 

Dieser Befehl war dazu gedacht die 3D-Ansicht nicht in meiner 2D-Ansicht darstellen zu lassen.
Im 2D-Script habe ich aber keine Folie eingestellt.

Hat da jemand vielleicht noch eine Idee?
Ich habe auch mit der Einstellung "2D-Darstellung immer im Grundriss" versuche gemacht, aber es scheint nichts zu ändern. Trotzdem behalte ich diesen Tipp für die nächsten Versuche im Kopf.

Wenn Du im 3D-Script DEFINE FOIL benutzt, musst Du das im 2D-Script auch machen!
Sonst wird der Inhalt des 2D-Scripts ignoriert!
Zum Verständnis:
Normalerweise wird erst das 2D-Script ausgeführt. Die generierten Elemente landen auf der Standard-2D-Folie.
Dann das 3D-Script, wobei die Elemente auf der Standard-3D-Folie landen.

Bei "2D/3D-Script getrennt ausführen"=Aus werden die Scripte zusammenkopiert, und dann ausgeführt.
Damit ist es nicht mehr klar, welches Element auf die 2D-Folie soll, und welches auf die 3D-Folie!
Genau dafür wurde u.a. der Befehl DEFINE FOIL eingeführt. Damit kann man auch 2D-Linien in der 3D-Folie unterbringen, und umgekehrt.

Wenn eine "DEFINE FOIL" - Anweisung gefunden wird, werden nur noch die definierten Folien benutzt.
D.h. die standardmäßig beim 2D-Script und 3D-Script vorhandenen Zielfolien werden ignoriert, sobald man selbst Folien definiert!

Hello,

The command you are showing seems correct for displaying the scale 0 to 200.
But there can be many other problematic things.
Without seeing the code and without understanding what you are doing, it is impossible to give sound advice.
_______________

Der angezeigte Befehl scheint für die Anzeige der Skala 0 bis 200 korrekt zu sein.
Aber es kann noch viele andere problematische Dinge geben.
Ohne den Code zu sehen und ohne zu verstehen, was Sie tun, ist es unmöglich, fundierte Ratschläge zu geben.


Hallo,

ich habe nun viel probiert und die Ratschläge zu Herzen genommen. Leider ist dabei mein Verständnis der 2D- und 3D-Script Arbeitsweise ein wenig gesunken.
Ich denke ich muss die Situation ein wenig größer erklären, damit mir da geholfen werden kann.

Mein Ziel ist es, dass ein MainSmartPart, das auf irgendeiner Höhe platziert wird, mehrere Male ein SubSmartPart aufruft.
Dieses SubSmartPart hat im 2D-Script einen Code, der eine Darstellung für die Grundriss Ansicht geben soll.
Das SubSmartPart hat aber auch ein 3D-Script, das eine Darstellung geben soll, die nur in einer 3D-Ansicht gezeigt werden soll.

Die Einstellungen die ich nun gemacht habe sind folgende:

  • Ich habe die getrennte Ausführung von 2D/3D-Script deaktiviert
  • Die "Zeige 2D-Darstellung immer im Grundriss" Einstellung habe ich ebenfalls deaktiviert
  • Define Foil habe ich vorerst auskommentiert, nachdem ich auf verschiedene Arten und Weisen versucht habe es richtig einzubinden

Ergebnis:
Es wird nur die 2D-Ansicht geladen angezeigt und mein 3D-Script (nachdem ich Tests mit PRINT gemacht habe) wird anscheinend komplett ignoriert.
Ich habe dieses Problem bei dem SubSmartPart selbst und nicht unbedingt in Kombination mit dem Aufruf des SubSmartParts durch das MainSmartPart. Es ist wie, als würde das SmartPart durch das 2D-Script gehen und dann bei dem Befehl END komplett aufhören und das 3D-Script garnicht ausführen wollen.

Mich würde es sehr interessieren, wie das SmartPart mit den Scripten bei mir versucht umzugehen. Wenn mir da jemand weiterhin helfen kann, wäre ich sehr dankbar

PS: Ich habe die Einstellungen des SmartParts ansonsten erstmal wieder so eingestellt, wie ich sie in den Bildern oben in der Fragestellung eingestellt habe. Die Ausnahme dabei ist, dass die beiden erwähnten deaktivierten Einstellungen, auch weiterhin deaktiviert sind.

Hallo,

Make the settings as in the attached image.
Remove the FOIL function from the 3D script.
It will certainly work.
Then, when it works, you can continue your development...
_______________

Nehmen Sie die Einstellungen wie im angehängten Bild vor.
Entfernen Sie die FOIL-Funktion aus dem 3D-Skript.
Es wird sicherlich funktionieren.
Wenn es funktioniert, können Sie Ihre Entwicklung fortsetzen...


Přílohy (1)

Type: image/png
Staženo 20
Size: 13,66 KiB

..wie ich oben geschrieben habe: Mit deaktivierter Option "2D/3D-Script getrennt ausführen" werden 2D- und 3D-Script hintereinander in ein Script kopiert, und dann wird dieses Script ausgeführt. Es darf also im 2D-Script keinen Befehl END geben, sonst beendet dieser das gemeinsame Script vorzeitig!

Die Option "Zeige 2D-Darstellung immer im Grundriss" hat mit dieser Problematik überhaupt nichts zu tun!
Die Option ist für folgenden Fall gedacht:
Wenn das SmartPart im Raum gedreht ist, also entweder um X- oder Y-Achse gedreht wurde, wird normalerweise in der Grundrissprojektion die 2D-Folie dieses gedrehten SmartParts nicht angezeigt, sondern die 3D-Folie!
Für bestimme Elemente ist das nicht erwünscht, z.B. Dachflächenfenster.
"Zeige 2D-Darstellung immer im Grundriss" = EIN bewirkt nun, dass die 2D-Folie immer angezeigt wird, wenn man in der Grundrissprokjektion ist. Auch wenn das SmartPArt gedreht wurde.

Přílohy (1)

Type: image/png
Staženo 43
Size: 75,39 KiB

Hallo,

danke für die Tipps bis hier hin.
Das MainScript und das SubScript haben beide "2D/3D-Script getrennt ausführen" deaktiviert und das SmartPart funktioniert an sich nun auch wieder.
Trotzdem habe ich immer noch mein ursprüngliches Problem.
Die 3D Projektion lässt alle SubObjekte auf die Höhe 0 fallen, wenn ich dem SmartPart ein Update über die Grundriss Ansicht gebe.
Wenn ich dem SmartPart über die 3D-Projektion updates gebe, funktioniert es sonst wie gewollt.

Kann es sein, dass die 2D-Projektion auf Höhe 0 automatisch gelegt wird und das bei dem durchgehendem Script (durch die Deaktivierung von "2D/3D-Script getrennt ausführen") die 3D Generierung auf die Höhe von der 2D-Projektion setzt?

Hat da jemand vielleicht noch weitere Ideen?

1 - 10 (11)