@bitbybit-dev/jscad
Version:
Bit By Bit Developers JSCAD based CAD Library to Program Geometry
35 lines (34 loc) • 1.24 kB
JavaScript
import * as Inputs from "../inputs/jscad-inputs";
/**
* Contains various functions for Solid expansions from JSCAD library https://github.com/jscad/OpenJSCAD.org
* Thanks JSCAD community for developing this kernel
*/
export class JSCADExpansions {
constructor(jscad) {
this.jscad = jscad;
}
expand(inputs) {
const geometry = inputs.geometry.length && inputs.geometry.length > 0 ? inputs.geometry : [inputs.geometry];
if (!inputs.corners) {
inputs.corners = Inputs.JSCAD.solidCornerTypeEnum.round;
}
const result = this.jscad.expansions.expand({
delta: inputs.delta,
corners: inputs.corners,
segments: inputs.segments,
}, ...geometry);
return result;
}
offset(inputs) {
const geometry = inputs.geometry.length && inputs.geometry.length > 0 ? inputs.geometry : [inputs.geometry];
if (!inputs.corners) {
inputs.corners = Inputs.JSCAD.solidCornerTypeEnum.edge;
}
const result = this.jscad.expansions.offset({
delta: inputs.delta,
corners: inputs.corners,
segments: inputs.segments,
}, ...geometry);
return result;
}
}