Am einfachsten baust du die Vorgabewerte direkt in die Parameterdefinition des module Befehls ein:
module platte(x=4,y=5,z=0.5,d=0.05){...}
Wenn du im Programm selbst explizit auf undefinierte Werte testen willst, dann z.B. so:
z=(z==undef)?0.5:z;
y=(y==undef)?5:y;
x=(x==undef)?4:x;
d=(d==undef)?0.05:d;
Die "if(!x){x=...} Befehle funktionieren nicht, da Zuweisungen innerhalb eines {...} Blocks
nur im Block selbst wirksam sind.
Zudem, auch wenn das funtionieren würde, hättest du das Problem, dass mit "!x" nicht
nur undefinierte Werte sondern auch explizite Nullwerte ersetzt würden. Daher ist es besser,
"(!x)" durch "(x==undef)" zu ersetzen und zudem die Vorgabewerte im module-Befehl auch
auf "undef" zu setzen (da sonst beim wiederholten Aufruf die letzten Werte noch vorhanden sein
können).