SketchUp (.skp) loader
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 858
- Forks
- 144
- PR merge metrics
- No merged PRs in 30d
Description
Describe the feature you'd like:
A SKPLoader for native SketchUp (.skp) files — three-stdlib has loaders for most common 3D formats, but nothing for .skp. Today the only way to get a SketchUp model into a Three.js scene is exporting to glTF/OBJ from SketchUp first (needs SketchUp installed), or routing through a server-side conversion service.
Also posted as a discussion for open conversation before committing to a specific implementation: #436
Suggested implementation:
OpenSKP is an MIT-licensed, from-scratch .skp reader — no Trimble SDK, no native binary, pure TypeScript, works in both Node and the browser (openskp on npm). It already parses geometry, materials, layers, and instancing, and can bake a full triangulated scene via buildScene().
A SKPLoader extends Loader would read the file into an ArrayBuffer, call SkpFile.fromBuffer(buffer).buildScene(), and walk the result into THREE.Group/BufferGeometry/MeshStandardMaterial, the same shape OBJLoader/GLTFLoader already follow. There's a working reference implementation doing exactly this in OpenSKP's own example viewer (examples/web-viewer), so this wouldn't start from zero. Happy to put together the PR myself if this is wanted.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with OpenSKP's examples/web-viewer and its SkpFile.fromBuffer(buffer).buildScene() entry point, then compare the existing OBJLoader and GLTFLoader shapes in three-stdlib. Confirm the desired approach in discussion #436. Done means a SKPLoader can read native .skp data and map the parsed scene into THREE.Group, BufferGeometry, and MeshStandardMaterial.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- three.js, typescript
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100