Here is one possibility which moves the later part of your script to another
module so it can be more easily used within the scope of the if().
module coaster(element){
if (element=="Hydrogen") rest_of_coaster(1,"Hydrogen","H",1.008);
else if (element=="Helium") rest_of_coaster(2,"Helium", "He",4.003);
}
module rest_of_coaster(atomic_number,element,symbol,atomic_mass){
// do whatever
}
A different approach is this
element_data = [[0,"","",0], // must be in order
[1,"Hydrogen","H",1.008], // indexed via atomic number
[2,"Helium", "He",4.003] // redundant atomic number to preserve
your sanity later
];
Hydrogen = 1;
Helium = 2;
module coaster(atomic_number){
element = element_data[atomic_number][0];
symbol = element_data[atomic_number][1];
atomic_mass= element_data[atomic_number][2];
//rest of script
}
--
View this message in context: http://forum.openscad.org/Using-a-single-parameter-to-set-multiple-variables-tp14102p14103.html
Sent from the OpenSCAD mailing list archive at Nabble.com.