let model = await SketchUpApi.getActiveModel();
model.performOperation(async (op) => {
await op.createBuilder((builder) => {
for (let x = 0; x < 10; x++) {
for (let y = 0; y < 10; y++) {
const pt1 = [x * scale, y * scale, 0];
const pt2 = [(x + 1) * scale, y * scale, 0];
const pt3 = [(x + 1) * scale, (y + 1) * scale, 0];
const pt4 = [x * scale, (y + 1) * scale, 0];
const face1 = builder.faceCreate([pt1, pt2, pt4]);
const face2 = builder.faceCreate([pt2, pt3, pt4]);
softEdges.push(builder.edgeCreate(pt2, pt4));
return [odds, evens, softEdges];
.onPostBuild((converter, [evens, odds, softEdges]) => {
evens.forEach((face) => op.faceSetFrontMaterialName(converter.asRef(face), 'maroon'));
odds.forEach((face) => op.faceSetFrontMaterialName(converter.asRef(face), 'red'));
softEdges.forEach((edge) => op.edgeSetProperties(converter.asRef(edge), {soft: true, smooth: true}));
}, 'Create triangle grid');