Files
Atomizer/tools/adaptive-isogrid/src/nx/build_interface_model.py
Antoine 4bec4063a5 feat: add adaptive isogrid tool — project foundations
- Python Brain: density field, constrained Delaunay triangulation,
  pocket profiles, profile assembly, validation modules
- NX Hands: skeleton scripts for geometry extraction, AFEM setup,
  per-iteration solve (require NX environment to develop)
- Atomizer integration: 15-param space definition, objective function
- Technical spec, README, sample test geometry, requirements.txt
- Architecture: Python Brain + NX Hands + Atomizer Manager
2026-02-16 00:01:35 +00:00

29 lines
878 B
Python

"""
NXOpen script — Build Interface Model (Model A) for Assembly FEM.
ONE-TIME: Creates spider elements (RBE2/RBE3) at each hole + edge BC nodes.
Exports interface_nodes.json for the iteration script.
NOTE: Skeleton — requires NX environment for development.
See docs/technical-spec.md Section 4.2 for full pseudocode.
"""
def build_interface_model(geometry_json_path, fem_part):
"""
Build Model A: spider elements at each hole + edge BC nodes.
For each hole:
- Center node (master)
- N circumference nodes (~1 per 2mm of circumference)
- RBE2 (rigid) or RBE3 (distributing) spider
For plate boundary:
- Edge nodes at ~3mm spacing
Exports interface_nodes.json with all node IDs and coordinates.
"""
raise NotImplementedError(
"Develop inside NX Simcenter. See docs/technical-spec.md Section 4.2."
)