Подскажите пожалуйста как исправить ошибку? Язык JS вообще не знаю, программу требуется написать в рамках курса по графике (OpenJSCAD)

(function(){ 

var c1 = CSG.sphere({ 
radius: (round(10*sin(14))/10),
center: [0,0,0] }); 

var c2 = CSG.sphere({ 
radius: (round(10*sin(14))/10), 
center: [1.5*round(10*sin(14))/10,0,0] 
});

var c3 = CSG.sphere({ 
radius: (round(10*sin(14))/10), 
center: [2*1.5*round(10*sin(14))/10,0,0] 
});

var c4 = CSG.sphere({ 
radius: (round(10*sin(14))/10), 
center: [3*1.5*round(10*sin(14))/10,0,0]
});

return [c1, c2, c3, c4];
}());

Ошибка: Uncaught SyntaxError: missing ) after argument list Line: 57,col: 4


Ответы (1 шт):

Автор решения: vp_arth

Тут проблема исполнения сервиса.

Код, который вы вводите, они вставляют:

pos = function(p) {o.push(p);}; 
pos(union(/*Вот сюда*/));

Поэтому точку с запятой тут ставить никак нельзя, уберите её.

Порекомендовал бы вам использовать функциональный подход, вместо IIFE:

[
    [15*round(10*sin(14))/10,0,0],
    [15*round(10*sin(14))/10,0,0],
    [20*1.5*round(10*sin(14))/10,0,0],
    [30*1.5*round(10*sin(14))/10,0,0]
].map((center) => CSG.sphere({ 
    radius: (round(100*sin(14))/10), 
    center 
})).concat([
    CSG.sphere({radius: 10, center: [-10, -10, -10]})
])
→ Ссылка