GDML Fast Preview
A lightweight VS Code custom editor for fast interactive inspection of Geant4 GDML geometry.
v0.3.0
- Geant4-compatible GDML placement rotations (inverse placement rotation, matching
G4GDMLReadStructure).
- Six signed orthogonal views:
+X, -X, +Y, -Y, +Z, -Z.
- Global opacity slider plus one-click
Opaque mode.
- Per-volume visibility is independent: hiding a mother solid does not hide its daughters.
- Added
xtru (G4ExtrudedSolid) with multiple sections, offsets and scaling.
- Added
arb8, tet, eltube, polycone, and polyhedra preview support.
- Existing support:
box, tube, cone, orb, sphere, trd, para (angles approximated), and tessellated.
- Boolean CSG (
union, subtraction, intersection) is now evaluated as geometry, including nested boolean solids and the second operand position/rotation transform.
Usage
Open a .gdml file and run GDML: Open Fast Preview to Side, or use Reopen Editor With... → GDML Fast Preview.
Controls:
- Left drag: orbit
- Shift + left drag / right drag: pan
- Mouse wheel: zoom
- Click: select volume
- Double click: select and fit volume
Fit: fit complete visible geometry
Iso: isometric camera
±X, ±Y, ±Z: signed orthogonal views
Wire: wireframe
World: show/hide world solid
Axes: coordinate axes
Opacity: common opacity for solids
Opaque: set opacity to 100%
The eye control beside a hierarchy entry affects only that volume's own mesh. Daughter volumes remain independently visible.
0.3.1 boolean fix
- Publisher ID:
Desse97.
- Replaced the original BSP boolean evaluator with BVH CSG for
union, subtraction, and intersection.
- Fixed solid
tube meshes with rmin="0" so the end caps are watertight and non-degenerate for boolean operations.
- Boolean transforms are applied to the second operand before CSG evaluation, matching GDML / Geant4 semantics.
v0.4.0 Boolean tolerance fix
Boolean subtraction/intersection now applies a microscopic tolerance overshoot to the second operand to handle coplanar cutter faces (for example a 50 mm cylinder subtracted from a 50 mm box). Experimental CDT clipping is disabled for more predictable preview CSG.
Boolean solids
union, subtraction, and intersection are evaluated as mesh CSG. Boolean operands are normalized to the same attribute layout before evaluation; failures are reported instead of silently rendering the first operand.
| |