UNPKG

@bitbybit-dev/jscad

Version:

Bit By Bit Developers JSCAD based CAD Library to Program Geometry

35 lines (34 loc) 1.24 kB
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; } }