# csx
[](https://github.com/KarpelesLab/csx/actions/workflows/ci.yml)
[](https://crates.io/crates/csx)
[](https://docs.rs/csx)
[](LICENSE)
A pure Rust library for continuous-structure geometry and material modeling,
compatible with [CSXCAD](https://openems.de) and openEMS.
* Clean-room implementation (no CSXCAD/openEMS code was consulted), MIT licensed.
* Zero runtime dependencies; XML support is an optional (default) feature.
* Edition 2024, MSRV 1.95.
Status: early development — see [PLAN.md](PLAN.md).
## Overview
* Geometric primitives: box, multi-box, sphere, spherical shell, cylinder,
cylindrical shell, polygon, extruded polygon, revolved polygon, curve, wire,
point, polyhedron (inline or STL/PLY file) and expression-defined regions,
with transformations and Cartesian/cylindrical coordinates.
* Properties: materials (anisotropic, position-weighted), Drude/Lorentz and
Debye dispersive materials, metals, conducting sheets, excitations,
probes, field dumps, lumped elements.
* Parametric models: every value may be an expression over named parameters.
* Priority-based point queries (`property_at`, `medium_at`) and spatial index.
* Rectilinear grids with graded smoothing.
## Features
| `xml` | yes | read/write CSXCAD & openEMS XML files |
## License
MIT — see [LICENSE](LICENSE).