New E11 Part Mass Extractor: - Add nx_journals/extract_part_mass_material.py - NX journal using NXOpen.MeasureManager.NewMassProperties() for accurate geometry-based mass - Add optimization_engine/extractors/extract_part_mass_material.py - Python wrapper that reads JSON output from journal - Add E11 entry to extractors/catalog.json Documentation Updates: - SYS_12_EXTRACTOR_LIBRARY.md: Add mass accuracy warning noting pyNastran get_mass_breakdown() under-reports ~7% on hex-dominant meshes with tet/pyramid fill elements. E11 (geometry .prt) should be preferred over E4 (BDF) unless material is overridden at FEM level. - 01_CHEATSHEET.md: Add mass extraction tip V14 Config: - Expand design variable bounds (blank_backface_angle max 4.5°, whiffle_triangle_closeness max 80mm, whiffle_min max 60mm) Testing showed: - E11 from .prt: 97.66 kg (accurate - matches NX GUI) - E4 pyNastran get_mass_breakdown(): 90.73 kg (~7% under-reported) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
52 lines
1.7 KiB
JSON
52 lines
1.7 KiB
JSON
{
|
|
"381739e9cada3a48": {
|
|
"name": "extract_displacement",
|
|
"filename": "extract_displacement.py",
|
|
"action": "extract_displacement",
|
|
"domain": "result_extraction",
|
|
"description": "Extract maximum displacement from structural analysis",
|
|
"params": {
|
|
"result_type": "displacement",
|
|
"metric": "maximum"
|
|
},
|
|
"signature": "381739e9cada3a48"
|
|
},
|
|
"63d54f297f2403e4": {
|
|
"name": "extract_von_mises_stress",
|
|
"filename": "extract_von_mises_stress.py",
|
|
"action": "extract_von_mises_stress",
|
|
"domain": "result_extraction",
|
|
"description": "Extract maximum von Mises stress from structural analysis",
|
|
"params": {
|
|
"result_type": "von_mises_stress",
|
|
"metric": "maximum"
|
|
},
|
|
"signature": "63d54f297f2403e4"
|
|
},
|
|
"2f58f241a96afb1f": {
|
|
"name": "extract_mass",
|
|
"filename": "extract_mass.py",
|
|
"action": "extract_mass",
|
|
"domain": "result_extraction",
|
|
"description": "Extract total structural mass",
|
|
"params": {
|
|
"result_type": "mass",
|
|
"metric": "total"
|
|
},
|
|
"signature": "2f58f241a96afb1f"
|
|
},
|
|
"e11_part_mass_material": {
|
|
"name": "extract_part_mass_material",
|
|
"filename": "extract_part_mass_material.py",
|
|
"action": "extract_part_mass_material",
|
|
"domain": "cad_extraction",
|
|
"description": "Extract mass, volume, surface area, CoG, and material from NX .prt files via NXOpen.MeasureManager",
|
|
"params": {
|
|
"result_type": "part_mass",
|
|
"metric": "total",
|
|
"requires_journal": "nx_journals/extract_part_mass_material.py"
|
|
},
|
|
"signature": "e11_part_mass_material",
|
|
"notes": "Requires running NX journal first: run_journal.exe nx_journals/extract_part_mass_material.py <prt_file> -args <prt_path> <output_dir>"
|
|
}
|
|
} |