[Frage] PREV_MODE bei PythonParts? [Gelöst]

Schlagworte:
  • PythonParts
  • PREV_MODE
  • Handle
  • Preview

Hallo

gibt es bei den Pythonparts eine Funktion analog der Smartparts-Funktion "PREV_MODE".
Ich möchte, dass während der Bearbeitung des Pythonparts (über Palette oder Handles) in der Vorschau zusätzliche Hilfs-Elemente erstellt/angezeigt werden. Sobald das PP geschlossen wird sollen diese nicht mehr sichtbar sein.

Folgender Versucht brachte leider nicht das gewünschte Ergebnis.
- Die selbst deklarierte Funktion "PythonPartErstellen" hat Parameter "Preview". Ist dieser True werden die Hilfs-Elemente erstellt.
- In der Funktion "create_element" wird "PythonPartErstellen" mit Parameter Preview=False aufgerufen.
- In der Funktion "move_handle" wird "PythonPartErstellen" mit Parameter Preview=True aufgerufen.
- Starte ich die Bearbeitung des Pythonparts werden die Hilfs-Elemente nicht erstellt.
- Sobald ich einen Handle bewege sind die Hilfs-Elemente sichtbar.
- Verändere ich einen Wert in der Palette sind die Hilfs-Elemente nicht sichtbar
- Schliesse ich das Pythonpart bleibt die letzte Sichtbarkeit bestehen -> Handle bewege: sichtbar / Eingabe Palette: unsichtbar

Nun möchte ich aber, dass bei schliessen des Pythonpart keine Hilfs-Element sichtbar sind. Wie kann ich dies erreichen?

Gruss und Dank
Hansruedi

Lösung anzeigen Lösung verbergen

Hallo,

die Funktion "create_element" kann drei Listen zurückgeben, z.B.

return (model_ele_list, handle_list, preview_list)

In die dritte Liste können die Elemente eingetragen werden, die nur als Preview während der Erzeugung des PythonParts sichtbar sein sollen.

Viele Grüße
Horst

..so wird das nichts! Du brauchst eine Abfrage innerhalb von "create_element", in der Du erfahren kanns,
in welchem Kontext die Elemente erzeugt werden: Für das Preview oder für das fertige PythonPart (Makro).

Soviel ich weiß, exisitert ein solches Flag, oder eine solche Abfrage nicht.

Musst wohl einen Kompromiss eingehen und den Previewmode selber steuern über einen Button+unsichbare Checkbox oder eine Checkbox. Mit dem boolean dann deinen Programmflow branchen (eine preview/create function mit den Elementen und eine ohne).

Mit dem Button/Checkbox steuerst du dann, in welchem Branch du drin bist. Wenn du anfängst zu editieren drückst du den Button und gehst in den Branch mit den Elementen und wenn du fertig bist, drückst du ihn halt wieder und wechselst in den Branch ohne Hilfselemente.

So voll automatisch/intelligent wirds wohl nicht gehen. Mache es so ähnlich, aber um das genaue Gegenteil zu erreichen (Elemente blocken, die ich im Preview/Edit nicht haben will, die dann aber bei der finalen element creation drin sein sollen.

Funzt ganz gut.

Danke, werde den Previewmode manuell steuern.

Hallo,

die Funktion "create_element" kann drei Listen zurückgeben, z.B.

return (model_ele_list, handle_list, preview_list)

In die dritte Liste können die Elemente eingetragen werden, die nur als Preview während der Erzeugung des PythonParts sichtbar sein sollen.

Viele Grüße
Horst

Hallo Horst

In der Preview werden alle Elemente aus den drei Listen (model_ele_list, handle_list, preview_list) angezeigt.
Gibt es eine Möglichkeit Elemente in der Preview NICHT anzuzeigen?

Gruss und Dank
Hansruedi

Hallo Hansruedi,

bitte die gewünschte Funktionalität an einem Beispiel darstellen.

Viele Grüße
Horst

Sorry, meine Frage war missverständlich formuliert.

Ich wollte wissen, ob es möglich ist, dass Elemente, welche im fertigen Pythonpart dargestellt werden in der Preview nicht sichtbar sind.
Vor allem bei komplexen oder rechenintensiven Pythonparts würde das Sinn machen.

Dazu müsste während der Bearbeitung das Pythonpart mit einer vereinfachten Geometrie erstellt werden.
Bei Schliessen des Pythonpart müsste dieses nochmal neu mit der komplexen Geometrie erstellt werden.
Dies könnte man natürlich auch mittels Schalter, wie von BimBimBoris vorgeschlagen, erreichen.
Eine automatische Lösung wäre aber bequemer.

Gruss
Hansruedi