How bhatthiman/noja works
NoJA is currently a command-line tool for validating engineering CSV inputs and generating shell-to-nozzle CAD geometry; the README describes finite-element evaluation as the broader goal, but the documented working capability is geometry generation. The workflow validates inputs, creates a timestamped run folder, copies the job CSV, builds the shell/nozzle model, and exports STEP and BREP files. Materials are checked for required columns, but the shown runtime does not use material properties or perform stress analysis. RF-pad geometry is represented as an optional model feature; source excerpts do not show its exact dispatch logic.
Main entry points: run.py Run command · geometry.py Fused CAD model · input.py Input validation · config.py Path and geometry settings
Components 15
Run workflow
- Run command
run.py - Timestamped run folder
- STEP / BREP exports
Input handling
- Job CSV
- Materials CSV
materials/materials.csv - Input validation
input.py - Job parameter reader
input.py - Path and geometry settings
config.py
CAD geometry
- Geometry parameters
geometry.py - Shell solid
geometry.py - Nozzle solid
geometry.py - Reinforcement pad
geometry.py - Fused CAD model
geometry.py - CAD exporter
geometry.py
Other components
- Engineer
Connections 17
- Engineer → Run command: runs
README.md - Run command → Input validation: validates via
run.py - Input validation → Materials CSV: checks columns
input.py - Input validation → Job CSV: checks sections
input.py - Run command → Timestamped run folder: creates
run.py - Run command → Job CSV: copies
run.py - Run command → CAD exporter: calls
run.py - CAD exporter → Fused CAD model: builds
geometry.py - Fused CAD model → Geometry parameters: gets dimensions
geometry.py - Geometry parameters → Job parameter reader: reads parameters
geometry.py - Job parameter reader → Job CSV: reads
input.py - Geometry parameters → Path and geometry settings: uses defaults
geometry.py - Fused CAD model → Shell solid: builds
geometry.py - Fused CAD model → Nozzle solid: builds
geometry.py - Fused CAD model → Reinforcement pad: may build
geometry.py - CAD exporter → STEP / BREP exports: writes
geometry.py - Run command → Path and geometry settings: uses paths
run.py