Обертывание кода OpenSCAD в модуль нарушает код
Моя проблема проста: у меня есть код, который отображает то, что я хочу, но когда я помещаю его в модуль, OpenSCAD выдает ошибку, когда я отображаю, что объект верхнего уровня не найден.
difference()
{
flipper(length, res, chord, xlambda, xA, ylambda, yA, phase);
//dye channels
dye_channel(len_dye_1, loc_dye_1, chord, xlambda, xA, ylambda, dye_r_1);
dye_channel(len_dye_2, loc_dye_2, chord, xlambda, xA, ylambda, dye_r_2);
//dye_outlet
translate([0,0,len_dye_1*floor(xlambda*chord)]) rotate([0,90,0]) cylinder(r=dye_r_1,h=loc_dye_1,$fn=25);
translate([0,0,len_dye_2*floor(xlambda*chord)]) rotate([0,90,0]) cylinder(r=dye_r_2,h=loc_dye_2,$fn=25);
//screw holes
translate([loc_screw_1,0,0]) cylinder(r=screw_r_1,h=len_screw_1);
translate([loc_screw_2,0,0]) cylinder(r=screw_r_2,h=len_screw_2);
}
Когда я помещаю это в модуль, я получаю ошибку.
module dye_flipper(len_dye_1, len_dye_2, loc_dye_1, loc_dye_2, len_screw_1, dye_r_1,
dye_r_2, len_screw_2, loc_screw_1, loc_screw_2, screw_r_1, screw_r_2, length, res,
chord, xlambda, xA, ylambda, yA, phase)
{...}
Функции других подпрограмм немного сложны, и я думаю, мы могли бы рассматривать их как черный ящик. Просто сам код разницы создает нужный мне объект. Я хотел бы поместить это в модуль, потому что это кажется хорошей практикой программирования для меня.
1 ответ
Звучит просто... но вы на самом деле вызываете модуль после его определения? dye_flipper(...)