Skip to content

Dimension

let model = await SketchUpApi.getActiveModel();
await model.performOperation(async operation => {
const dimensionRef = operation.createDimensionLinear(
model,
[0, 0, 0], // start point
[100, 0, 0], // end point
[0, 0, 20], // offset vector
);
const dimension = await operation.entityForRef(dimensionRef);
console.log('Linear dimension:', dimension);
console.log('Text:', dimension.text);
}, 'Create a linear dimension');
let model = await SketchUpApi.getActiveModel();
await model.performOperation(async operation => {
// Create a group with geometry
const groupRef = operation.createGroup(model);
const edgeRefs = operation.createEdge(groupRef, [
[50, 0, 0],
[100, 0, 0],
]);
const edge = await operation.entityForRef(edgeRefs[0]);
// Create dimension: start attached to entity, end attached to instance path
const dimensionRef = operation.createDimensionLinear(
model,
{ entity: edge, point: [75, 0, 0] }, // attach to edge
{ instancePath: [groupRef, edge.start] }, // attach to vertex via instance path
[0, 0, 20],
);
const dimension = await operation.entityForRef(dimensionRef);
console.log('Dimension:', dimension);
console.log('Start entity:', dimension.startEntity);
console.log('End attached to:', dimension.endAttachedTo);
}, 'Create dimension with entity and instance path');
let model = await SketchUpApi.getActiveModel();
await model.performOperation(async operation => {
// First create a circle
const result = operation.createCircle(
model,
[0, 0, 0],
[0, 0, 1],
24,
);
const circle = await operation.entityForRef(result.curve);
// Create a radial dimension for the circle
const dimensionRef = operation.createDimensionRadial(
model,
circle, // arc curve to measure
[-10, 20, 0], // leader break point
);
const dimension = await operation.entityForRef(dimensionRef);
console.log('Radial dimension:', dimension);
console.log('Text:', dimension.text);
}, 'Create a radial dimension');