Hallo
Wenn Du die Bohrung auf eine Fläche setzen willst, dann solltest Du im Flächenfilter erstmal Flächen einschränken. Nach der Auswahl der Fläche steht der Hostpointer ja bereits in dem Attribut face: drin. Die Erstellung des Lochs solltest Du abhängig vom Inhalt des Attributs machen, dafür empfehlt es sich den Code leicht zu ändern:
(list parameter modifiable ) face: {};
(list ) face_mask: {face};
(list ) face_mode: {single,selpoint};
Nach der Anpassung des Codes und Auswahl einer Fläche steht in der Liste an erster Stelle der Hostpointer auf die Fläche, der die Fläche darstellt und an zweiter Stelle der Punkt an dem Du geklickt hast.
Die Parameterübergabe class in Deiner Instanz (Child) loch: solltest Du dann folgendermaßen anpassen:
Class, if -empty?(face: ) then ug_simple_hole else nulldesign;
Dies bewirkt, dass die Bohrung erst erzeugt wird, wenn Du auch wirklich eine Fläche ausgewählt hast.
Natürlich musst Du dann noch die Übergabe der Werte Location und Placement_Face anpassen. Aber dafür hilft dir die Funktion nth(). Schau mal in die Doku, will nicht alles verraten.
Viel Spaß damit und meld Dich, wenn Du Probleme hast.
guckmalda
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP