634bf611c9
fix: remove stale chord_tol_mm kwarg from main()
2026-02-17 01:49:24 +00:00
612a21f561
feat(adaptive-isogrid): preserve arcs as typed segments instead of polyline discretization
...
Schema v2.0: outer_boundary is now a list of typed segments:
- {type: 'line', start: [x,y], end: [x,y]}
- {type: 'arc', start: [x,y], end: [x,y], center: [x,y], radius: R, clockwise: bool}
Extract: detect arcs via UF Eval.IsArc/AskArc, output exact geometry.
Import: create NX sketch arcs (3-point) for arc segments, backward-compatible with v1.0 polylines.
2026-02-17 01:47:36 +00:00
abc7d5f013
fix(extract): increase chord tolerance to 1mm, cap at 500 pts/edge
...
0.1mm was generating thousands of unnecessary points on straight
edges. Now: 1mm default, 0.5mm minimum, 500 max per edge.
Curves still get proper sampling, straight edges stay lean.
2026-02-17 01:40:55 +00:00
cd7f7e8aa9
fix(extract): use EvaluateUnitVectors for parametric edge sampling
...
Available NXOpen.UF.Eval methods discovered:
- EvaluateUnitVectors(evaluator, t) - parametric point+tangent
- AskArc(evaluator) - arc center/radius for circular edges
- Initialize2, AskLimits, Free - evaluator lifecycle
Also logs arc data attributes for debugging.
2026-02-17 01:36:25 +00:00
fbdafb9a37
fix(extract): discover UF curve eval methods dynamically
...
NXOpen Python wraps UF methods with version-specific names.
Now dumps available methods on UF.Modl, UF.Eval, UF.Curve
and tries them in order. Detailed logging shows which method
was found and used, plus raw result format on parse failures.
2026-02-17 01:33:39 +00:00
fc1c1dc142
fix(extract): use UF_MODL_ask_curve_props instead of UF_EVAL
...
UF_EVAL.Evaluate() doesn't exist in NXOpen Python.
UF_MODL.AskCurveProps(tag, param) uses normalized 0-1
parameter and returns (point, tangent, normal, binormal,
torsion, radius). Works on all edge types.
2026-02-17 01:31:29 +00:00
89e0ffbbf2
Fix NX curved edge sampling with robust UF_EVAL parsing
2026-02-17 01:24:55 +00:00
23b6fe855b
fix: handle closed circular edges (holes) - UF.Eval + GetLength circle fallback + debug logging
2026-02-16 17:57:06 +00:00
98d510154d
fix: rewrite edge sampling + loop building using verified NXOpen API (GetVertices, GetEdges, GetLength, UF.Eval)
2026-02-16 17:46:52 +00:00
851a8d3df0
fix: replace face.GetLoops() with compatible API (GetEdgeLoops / UF layer / GetEdges fallback)
2026-02-16 17:42:08 +00:00
1166741ffd
fix: add try/except + debug logging around sandbox extraction
2026-02-16 17:31:33 +00:00
afaa925da8
fix: search features + feature names for ISOGRID_SANDBOX attribute (Promote Body stores attrs on feature, not body)
2026-02-16 17:26:31 +00:00
26100a9624
feat(adaptive-isogrid): extract_sandbox.py v2 - NX journal compatible, no argparse, sim→idealized navigation, listing window output
2026-02-16 17:20:28 +00:00