Easy-to-use wrapper around OpenCASCADE Technology
npm install opencascade-toolsopencascade-tools to convert IGES files and STEP files into OBJ files (Wavefront Technologies) and GLTF/GLB files (Khronos Group). In the future, we plan to add more functionality depending on community requests.
opencascade-tools on your machine (requires Node.js and the Node Package Manager (NPM)):
npm install -g opencascade-tools
`
Afterwards you can use our command line interface (CLI) and/or our application programming interface (API).
$3
Our CLI provides a few general functions (as the CLI of most CLI-based programs) and some (domain-) specific functions:
#### ⚙️ General functions
Get help on how to use the command line interface of opencascade-tools:
`
opencascade-tools --help
`
Get the version number of opencascade-tools as installed on your machine:
`
opencascade-tools --version
`
#### ⚙️ Specific functions
Convert IGES file or STEP file to OBJ file, GLTF file, or GLB file with standard values for the parameters of the triangulation algorithm:
`
opencascade-tools --format
`
Convert IGES file or STEP file to OBJ file, GLTF file, or GLB file with custom value for the linear deflection parameter of the triangulation algorithm:
`
opencascade-tools --format --linDeflection 1
`
Convert IGES file or STEP file to OBJ file, GLTF file, or GLB file with custom value for the angular deflection parameter of the triangulation algorithm:
`
opencascade-tools --format --angDeflection 1
`
$3
Convert STEP file to OBJ file, GLTF file, and GLB file with standard values for the parameters of the triangulation algorithm:
`ts
import { init, readIgesFile, readStepFile, triangulate, writeObjFile, writeGltfFile, writeGlbFile } from 'opencascade-tools'
async function run() {
const oc = await init()
const docHandle = readIgesFile(oc, '')
// or
const docHandle = readStepFile(oc, '')
triangulate(oc, docHandle.get())
writeObjFile(oc, docHandle, '')
writeGltfFile(oc, docHandle, '')
writeGlbFile(oc, docHandle, '')
}
run()
`
Convert STEP file to OBJ file, GLTF file, and GLB file with custom values for the parameters of the triangulation algorithm:
`ts
import { init, readIgesFile, readStepFile, triangulate, writeObjFile, writeGltfFile, writeGlbFile } from 'opencascade-tools'
async function run() {
const oc = await init()
const docHandle = readIgesFile(oc, '')
// or
const docHandle = readStepFile(oc, '')
const linDeflection = 0.1
const isRelative = false
const angDeflection = 0.1
const isInParallel = false
triangulate(oc, docHandle.get(), linDeflection, isRelative, angDeflection, isInParallel)
writeObjFile(oc, docHandle, '')
writeGltfFile(oc, docHandle, '')
writeGlbFile(oc, docHandle, '')
}
run()
`
📙 Developer guide
Clone the Git repository:
`
git clone https://github.com/ghackenberg/opencascade-tools.git
`
Install development and production dependencies:
`
cd opencascade-tools && npm install
`
Afterwards you can use the following scripts:
$3
Remove JavaScript binaries and TypeScript type definitions from previous builds:
`
cd opencascade-tools && npm run clean
`
Compile TypeScript sources to JavaScript binaries and TypeScript type definitions:
`
cd opencascade-tools && npm run build
`
Install your version of opencascade-tools into local NPM registry:
`
cd opencascade-tools && npm run deploy-local
`
Run all test cases with local installation of opencascade-tools:
`
cd opencascade-tools && npm run test-all
`
Run IGES test cases with local installation of opencascade-tools:
`
cd opencascade-tools && npm run test-iges
`
Run STEP test cases with local installation of opencascade-tools:
`
cd opencascade-tools && npm run test-step
`
Shorthand for clean, build, deploy local and run all test cases (see above scripts):
`
cd opencascade-tools && npm run test
`
Shorthand for clean, build, and publish to global NPM registry (see above scripts):
`
cd opencascade-tools && npm run deploy-global
``