diff --git a/src/brep/modeling.cpp b/src/brep/modeling.cpp index c0abe54..5c96fa3 100644 --- a/src/brep/modeling.cpp +++ b/src/brep/modeling.cpp @@ -334,6 +334,7 @@ BrepModel fillet(const BrepModel& body, int edge_id, double radius) { } if (face_b < 0) return body; // No adjacent face found + const auto& curve = *edge.curve; // Compute face normals Vector3D n_a = compute_face_normal(body, face_a); Vector3D n_b = compute_face_normal(body, face_b); diff --git a/src/brep/step_import.cpp b/src/brep/step_import.cpp index 8b04e3c..f303d8e 100644 --- a/src/brep/step_import.cpp +++ b/src/brep/step_import.cpp @@ -393,26 +393,7 @@ static int to_ref(const StepValue& v) { return (v.type == StepValue::Type::Ref) static bool is_omitted(const StepValue& v) { return v.type == StepValue::Type::Omitted; } -// ───────────────────────────────────────────────────────────── -// AXIS2_PLACEMENT_3D → coordinate frame -// ───────────────────────────────────────────────────────────── -struct Placement3D { - Point3D origin = Point3D(0, 0, 0); - Vector3D axis = Vector3D(0, 0, 1); // Z-axis (primary) - Vector3D ref_dir = Vector3D(1, 0, 0); // X-axis (secondary, optional) -}; - -static Placement3D decode_axis2_placement_3d(const StepEntity& ent) { - Placement3D p; - // Args: name, location (CARTESIAN_POINT ref), axis (DIRECTION ref, optional), ref_direction (DIRECTION ref, optional) - if (ent.args.size() >= 2) { - p.origin = to_point({}); // will be resolved later via reference - // Store refs for later resolution - } - return p; -} - -// For internal use: we store placement's refs +// For internal use: we store placement's reference frame struct ResolvedPlacement { Point3D origin = Point3D(0, 0, 0); Vector3D z_axis = Vector3D(0, 0, 1);