diff --git a/package.json b/package.json index 5bac14a..4e76399 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "coverage": "nyc --reporter=html --reporter=text npm test" }, "dependencies": { - "@jscad/openjscad": "github:ergogen/oldjscad", "fs-extra": "^10.0.1", "js-yaml": "^3.14.1", "kle-serial": "github:ergogen/kle-serial#ergogen", diff --git a/rollup.config.js b/rollup.config.js index 8a9817b..3e71d16 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -4,7 +4,7 @@ import commonjs from '@rollup/plugin-commonjs' export default { input: 'src/ergogen.js', - external: ['makerjs', 'js-yaml', 'mathjs', 'kle-serial', '@jscad/openjscad'], + external: ['makerjs', 'js-yaml', 'mathjs', 'kle-serial'], output: { name: 'ergogen', file: 'dist/ergogen.js', @@ -14,8 +14,7 @@ export default { 'makerjs': 'makerjs', 'js-yaml': 'jsyaml', 'mathjs': 'math', - 'kle-serial': 'kle', - '@jscad/openjscad': 'myjscad' + 'kle-serial': 'kle' } }, plugins: [ diff --git a/src/cli.js b/src/cli.js index a8f4db4..cff5116 100755 --- a/src/cli.js +++ b/src/cli.js @@ -81,7 +81,7 @@ const composite = (data, rel) => { fs.mkdirpSync(path.dirname(abs)) fs.writeFileSync(abs + '.yaml', yaml.dump(data.yaml, {indent: 4})) } - for (const format of ['svg', 'dxf', 'jscad', 'stl']) { + for (const format of ['svg', 'dxf', 'jscad']) { if (data[format]) { fs.mkdirpSync(path.dirname(abs)) fs.writeFileSync(abs + '.' + format, data[format]) diff --git a/src/ergogen.js b/src/ergogen.js index 8d548c7..bef7755 100644 --- a/src/ergogen.js +++ b/src/ergogen.js @@ -67,12 +67,12 @@ const process = async (raw, debug=false, logger=()=>{}) => { empty = false } - logger('Extruding cases...') + logger('Modeling cases...') const cases = cases_lib.parse(config.cases || {}, outlines, units) results.cases = {} for (const [case_name, case_script] of Object.entries(cases)) { if (!debug && case_name.startsWith('_')) continue - results.cases[case_name] = await io.threedee(case_script, debug) + results.cases[case_name] = {jscad: case_script} empty = false } diff --git a/src/io.js b/src/io.js index ea3e8fc..60e91fc 100644 --- a/src/io.js +++ b/src/io.js @@ -1,6 +1,5 @@ const yaml = require('js-yaml') const makerjs = require('makerjs') -const jscad = require('@jscad/openjscad') const u = require('./utils') const a = require('./assert') @@ -65,18 +64,3 @@ exports.twodee = (model, debug) => { } return result } - -exports.threedee = async (script, debug) => { - const compiled = await new Promise((resolve, reject) => { - jscad.compile(script, {}).then(compiled => { - resolve(compiled) - }) - }) - const result = { - stl: jscad.generateOutput('stla', compiled).asBuffer().toString() - } - if (debug) { - result.jscad = script - } - return result -} diff --git a/test/cases/cube___cases_cube_jscad.jscad b/test/cases/cube___cases_cube_jscad.jscad new file mode 100644 index 0000000..bb9cda8 --- /dev/null +++ b/test/cases/cube___cases_cube_jscad.jscad @@ -0,0 +1,36 @@ +function square_outline_fn(){ + return new CSG.Path2D([[-2.5,-2.5],[2.5,-2.5]]).appendPoint([2.5,2.5]).appendPoint([-2.5,2.5]).appendPoint([-2.5,-2.5]).close().innerToCAG() +.extrude({ offset: [0, 0, 5] }); +} + + + + + function cube_case_fn() { + + + // creating part 0 of case cube + let cube__part_0 = square_outline_fn(); + + // make sure that rotations are relative + let cube__part_0_bounds = cube__part_0.getBounds(); + let cube__part_0_x = cube__part_0_bounds[0].x + (cube__part_0_bounds[1].x - cube__part_0_bounds[0].x) / 2 + let cube__part_0_y = cube__part_0_bounds[0].y + (cube__part_0_bounds[1].y - cube__part_0_bounds[0].y) / 2 + cube__part_0 = translate([-cube__part_0_x, -cube__part_0_y, 0], cube__part_0); + cube__part_0 = rotate([0,0,0], cube__part_0); + cube__part_0 = translate([cube__part_0_x, cube__part_0_y, 0], cube__part_0); + + cube__part_0 = translate([0,0,0], cube__part_0); + let result = cube__part_0; + + + return result; + } + + + + function main() { + return cube_case_fn(); + } + + \ No newline at end of file diff --git a/test/cases/cube___cases_cube_stl.stl b/test/cases/cube___cases_cube_stl.stl deleted file mode 100644 index 08f24dd..0000000 --- a/test/cases/cube___cases_cube_stl.stl +++ /dev/null @@ -1,86 +0,0 @@ -solid csg.js -facet normal 0 0 -1 -outer loop -vertex -2.5 2.5 0 -vertex 2.5 2.5 0 -vertex 2.5 -2.5 0 -endloop -endfacet -facet normal 0 0 -1 -outer loop -vertex -2.5 2.5 0 -vertex 2.5 -2.5 0 -vertex -2.5 -2.5 0 -endloop -endfacet -facet normal 0 0 1 -outer loop -vertex -2.5 2.5 5 -vertex -2.5 -2.5 5 -vertex 2.5 -2.5 5 -endloop -endfacet -facet normal 0 0 1 -outer loop -vertex -2.5 2.5 5 -vertex 2.5 -2.5 5 -vertex 2.5 2.5 5 -endloop -endfacet -facet normal 0 -1 0 -outer loop -vertex 2.5 -2.5 0 -vertex 2.5 -2.5 5 -vertex -2.5 -2.5 5 -endloop -endfacet -facet normal 0 -1 0 -outer loop -vertex 2.5 -2.5 0 -vertex -2.5 -2.5 5 -vertex -2.5 -2.5 0 -endloop -endfacet -facet normal 1 0 0 -outer loop -vertex 2.5 2.5 0 -vertex 2.5 2.5 5 -vertex 2.5 -2.5 5 -endloop -endfacet -facet normal 1 0 0 -outer loop -vertex 2.5 2.5 0 -vertex 2.5 -2.5 5 -vertex 2.5 -2.5 0 -endloop -endfacet -facet normal 0 1 0 -outer loop -vertex 2.5 2.5 5 -vertex 2.5 2.5 0 -vertex -2.5 2.5 0 -endloop -endfacet -facet normal 0 1 0 -outer loop -vertex 2.5 2.5 5 -vertex -2.5 2.5 0 -vertex -2.5 2.5 5 -endloop -endfacet -facet normal -1 0 0 -outer loop -vertex -2.5 2.5 5 -vertex -2.5 2.5 0 -vertex -2.5 -2.5 0 -endloop -endfacet -facet normal -1 0 0 -outer loop -vertex -2.5 2.5 5 -vertex -2.5 -2.5 0 -vertex -2.5 -2.5 5 -endloop -endfacet -endsolid csg.js diff --git a/test/cli/big/log b/test/cli/big/log index a44a320..4c9a55a 100644 --- a/test/cli/big/log +++ b/test/cli/big/log @@ -5,7 +5,7 @@ Preprocessing input... Calculating variables... Parsing points... Generating outlines... -Extruding cases... +Modeling cases... Scaffolding PCBs... Cleaning output folder... Writing output to disk... diff --git a/test/cli/big/reference/cases/_export.stl b/test/cli/big/reference/cases/_export.stl deleted file mode 100644 index 0cdcee2..0000000 --- a/test/cli/big/reference/cases/_export.stl +++ /dev/null @@ -1,86 +0,0 @@ -solid csg.js -facet normal 0 0 -1 -outer loop -vertex -9 9 0 -vertex 9 9 0 -vertex 9 -9 0 -endloop -endfacet -facet normal 0 0 -1 -outer loop -vertex -9 9 0 -vertex 9 -9 0 -vertex -9 -9 0 -endloop -endfacet -facet normal 0 0 1 -outer loop -vertex -9 9 1 -vertex -9 -9 1 -vertex 9 -9 1 -endloop -endfacet -facet normal 0 0 1 -outer loop -vertex -9 9 1 -vertex 9 -9 1 -vertex 9 9 1 -endloop -endfacet -facet normal 0 -1 0 -outer loop -vertex 9 -9 0 -vertex 9 -9 1 -vertex -9 -9 1 -endloop -endfacet -facet normal 0 -1 0 -outer loop -vertex 9 -9 0 -vertex -9 -9 1 -vertex -9 -9 0 -endloop -endfacet -facet normal 1 0 0 -outer loop -vertex 9 9 0 -vertex 9 9 1 -vertex 9 -9 1 -endloop -endfacet -facet normal 1 0 0 -outer loop -vertex 9 9 0 -vertex 9 -9 1 -vertex 9 -9 0 -endloop -endfacet -facet normal 0 1 0 -outer loop -vertex 9 9 1 -vertex 9 9 0 -vertex -9 9 0 -endloop -endfacet -facet normal 0 1 0 -outer loop -vertex 9 9 1 -vertex -9 9 0 -vertex -9 9 1 -endloop -endfacet -facet normal -1 0 0 -outer loop -vertex -9 9 1 -vertex -9 9 0 -vertex -9 -9 0 -endloop -endfacet -facet normal -1 0 0 -outer loop -vertex -9 9 1 -vertex -9 -9 0 -vertex -9 -9 1 -endloop -endfacet -endsolid csg.js diff --git a/test/cli/big/reference/cases/export.stl b/test/cli/big/reference/cases/export.stl deleted file mode 100644 index 0cdcee2..0000000 --- a/test/cli/big/reference/cases/export.stl +++ /dev/null @@ -1,86 +0,0 @@ -solid csg.js -facet normal 0 0 -1 -outer loop -vertex -9 9 0 -vertex 9 9 0 -vertex 9 -9 0 -endloop -endfacet -facet normal 0 0 -1 -outer loop -vertex -9 9 0 -vertex 9 -9 0 -vertex -9 -9 0 -endloop -endfacet -facet normal 0 0 1 -outer loop -vertex -9 9 1 -vertex -9 -9 1 -vertex 9 -9 1 -endloop -endfacet -facet normal 0 0 1 -outer loop -vertex -9 9 1 -vertex 9 -9 1 -vertex 9 9 1 -endloop -endfacet -facet normal 0 -1 0 -outer loop -vertex 9 -9 0 -vertex 9 -9 1 -vertex -9 -9 1 -endloop -endfacet -facet normal 0 -1 0 -outer loop -vertex 9 -9 0 -vertex -9 -9 1 -vertex -9 -9 0 -endloop -endfacet -facet normal 1 0 0 -outer loop -vertex 9 9 0 -vertex 9 9 1 -vertex 9 -9 1 -endloop -endfacet -facet normal 1 0 0 -outer loop -vertex 9 9 0 -vertex 9 -9 1 -vertex 9 -9 0 -endloop -endfacet -facet normal 0 1 0 -outer loop -vertex 9 9 1 -vertex 9 9 0 -vertex -9 9 0 -endloop -endfacet -facet normal 0 1 0 -outer loop -vertex 9 9 1 -vertex -9 9 0 -vertex -9 9 1 -endloop -endfacet -facet normal -1 0 0 -outer loop -vertex -9 9 1 -vertex -9 9 0 -vertex -9 -9 0 -endloop -endfacet -facet normal -1 0 0 -outer loop -vertex -9 9 1 -vertex -9 -9 0 -vertex -9 -9 1 -endloop -endfacet -endsolid csg.js diff --git a/test/cli/medium/log b/test/cli/medium/log index ba78a5c..6e2de58 100644 --- a/test/cli/medium/log +++ b/test/cli/medium/log @@ -5,7 +5,7 @@ Preprocessing input... Calculating variables... Parsing points... Generating outlines... -Extruding cases... +Modeling cases... Scaffolding PCBs... Writing output to disk... Done. diff --git a/test/cli/minimal/log b/test/cli/minimal/log index 72c917f..f0d6488 100644 --- a/test/cli/minimal/log +++ b/test/cli/minimal/log @@ -5,7 +5,7 @@ Preprocessing input... Calculating variables... Parsing points... Generating outlines... -Extruding cases... +Modeling cases... Scaffolding PCBs... Output would be empty, rerunning in debug mode... Writing output to disk...