FreeCAD .FCStd and Rhino .3dm files open, insert and drop like STEP and IGES: cadmpeg (Apache-2.0, pinned =0.6.1, native builds only) detects the format, decodes it under its service resource caps, validates the model and writes it as STEP AP214, which becomes an Import feature in a new component named after the file, with the up and names options. Only the fcstd, rhino and step codecs are compiled in (no default features). ACIS is left out: cadmpeg's sat codec is a ShapeManager stream decoder. native_cad.rs is the single importer seam. Self-made FreeCAD and Rhino box fixtures, hostile-input, ZIP-bomb and cap tests, engine tests for the component path; the browser build reports these formats as not supported. A note under design format 23 says an Import's file can name these formats. Co-authored-by: Jacob Oursland <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
28 lines
852 B
TOML
28 lines
852 B
TOML
[package]
|
|
name = "solidcraft-io"
|
|
description = "SolidCraft file formats: designs (JSON), STL, OBJ, STEP, IGES, 3MF and glTF, and FreeCAD/Rhino import"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
solidcraft-geom = { workspace = true }
|
|
solidcraft-kernel = { workspace = true }
|
|
solidcraft-doc = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
zip = { workspace = true }
|
|
quick-xml = { workspace = true }
|
|
gltf = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
|
|
# FreeCAD and Rhino import. Not in the browser build: it compiles the zstd C library.
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
cadmpeg-core = { workspace = true }
|
|
cadmpeg-ir = { workspace = true }
|
|
cadmpeg-registry = { workspace = true }
|