3D de-standalone-ification
This commit is contained in:
parent
c6f4832ee4
commit
bbab283850
12 changed files with 44 additions and 284 deletions
|
@ -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])
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
16
src/io.js
16
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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue