Files
cdsl-cad/backend/engine/cdsl_engine/translator/__init__.py
T
ganjihong ad88d92ab9 refactor(cdsl_engine): split translator.py into the translator package
Phase 5 of the decoupling refactor (behavior-preserving move):
- translator/ir.py: SolidWorks plugin JSON to backend-IR conversion (70 syms)
- translator/codegen.py: backend IR to build123d source generation (64 syms)
- translator/runtime_lib.py: frozen generated-script runtime library,
  spliced into generate_build123d_code as *RUNTIME_LIB_LINES
- translator/common.py: helpers shared by both sides
- translator/__init__.py: full historical symbol surface re-exported

Generated-code equivalence verified byte-for-byte against the pre-split
output for a representative IR sample; py_compile clean.
2026-09-09 13:56:08 +08:00

165 lines
4.9 KiB
Python

"""Compatibility package for the historical ``cdsl_engine.translator`` module.
The former single-file translator now lives in ``ir`` (SolidWorks plugin JSON
to backend IR), ``codegen`` (backend IR to build123d source), ``runtime_lib``
(frozen generated-script library), and ``common`` (shared helpers). Every
historical import path and symbol keeps working.
"""
from __future__ import annotations
from .common import SW_END_CONDITIONS, THROUGH_CUT_AMOUNT_MM
from .ir import (
_SW_METADATA_FEATURE_TYPES,
_append_feature_source_sketches,
_axis_reference_from_feature_selections,
_axis_reference_from_owned_faces,
_best_extrude_depth_mm,
_choose_pattern_direction_sign,
_clean_null_reference,
_construction_endpoint_degrees,
_contour_entity_indices_from_segments,
_convert_sw_assembly,
_convert_sw_extrude,
_convert_sw_hole,
_convert_sw_imported_body,
_convert_sw_linear_pattern,
_convert_sw_reference,
_convert_sw_revolve,
_convert_sw_sketch,
_convert_sw_sketch_entity,
_editable_param,
_extract_axis_reference,
_extract_edge_selector_points,
_extract_sketch_parameters,
_extrude_depth_from_owned_faces,
_extrude_owned_faces_span_sketch_plane,
_feature_length_dimension_mm,
_feature_selection_selectors,
_feature_selection_source,
_hole_angle_dimension_rad,
_hole_counterbore_depth_dimension_mm,
_hole_counterbore_dimension_mm,
_hole_dimension_value,
_hole_dimension_value_excluding,
_hole_position_entity_flags,
_hole_position_points,
_hole_position_sketches,
_hole_position_to_model,
_hole_primary_depth_mm,
_hole_primary_diameter_mm,
_hole_primary_dimension_fallback,
_host_face_from_feature_selections,
_host_face_from_workplane,
_is_cut_feature,
_is_hole_profile_sketch,
_is_imported_body_feature,
_is_sketch_point_entity,
_is_weak_inferred_axis,
_operation_profile_bbox,
_owned_face_pattern_offsets,
_owned_face_signatures,
_pattern_direction_from_plugin,
_pattern_direction_from_reference,
_reverse_pattern_direction,
_selectable_stable_ids,
_selection_objects,
_selector_has_persistent_reference,
_sketch_bounds,
_sketch_point_mm,
_sketch_point_to_model,
_sketch_point_to_model_bbox,
_sketch_radius_mm,
_sketch_vector_to_model,
_source_bbox_from_plugin_json,
_source_feature,
_source_owned_faces,
_source_pattern_frame,
analyze_parameterization_status,
convert_sw_plugin_json_to_ir,
enrich_rebuild_parameters,
extract_editable_parameters,
normalize_to_ir,
)
from .codegen import (
_active_profile_loops,
_aligned_workplane_for_owned_midplane,
_blind_extrude_face_offset,
_effective_extrude_cut_depth_mm,
_effective_hole_cut_depth_mm,
_extract_mirror_plane_normal,
_extract_mirror_plane_origin,
_find_operation_for_source_feature,
_find_source_operation_for_pattern,
_flip_side_step_inner_radius_mm,
_flip_side_uses_step_ring,
_generate_assembly_compose,
_generate_chamfer,
_generate_extrude,
_generate_fillet,
_generate_hole,
_generate_imported_body_pending,
_generate_linear_pattern,
_generate_mirror_pattern,
_generate_move_face,
_generate_revolve,
_generate_sketch,
_hole_counterbore_depth_mm,
_hole_counterbore_diameter_mm,
_hole_countersink_angle_rad,
_hole_countersink_diameter_mm,
_hole_depth_mm,
_hole_diameter_mm,
_hole_drill_angle_rad,
_hole_has_drill_tip,
_hole_has_through_dimension,
_hole_owned_cut_faces,
_hole_should_use_sw_cut_holes,
_infer_closed_wire_loops,
_linear_pattern_offsets,
_looks_like_reverse_history,
_loop_area_from_radii,
_loop_radius_candidates,
_loops_matching_owned_radii,
_model_offset_to_host_local,
_operation_priority,
_ordered_wire_entities,
_owned_bbox_cut,
_owned_cylindrical_cut_faces,
_owned_extrude_terminal_offsets_mm,
_owned_profile_radii_mm,
_pattern_direction_vector,
_prefer_blind_sketch_extrude,
_project_owned_faces_to_sketch_bbox,
_resolve_extrude_owned_termination,
_reverse_curve_entity,
_revolve_axis_expr,
_sketch_circle_radii_mm,
_sketch_construction_axis,
_sketch_has_buildable_profile,
_sketch_point_to_model_from_basis,
_sw_math_transform_matrix,
_translate_owned_faces,
_translate_sketch_entities,
_translated_operation,
_translated_sketch,
generate_build123d_code,
get_part_name,
sort_operations_for_history,
)
from .runtime_lib import RUNTIME_LIB_LINES
__all__ = [
"RUNTIME_LIB_LINES",
"SW_END_CONDITIONS",
"THROUGH_CUT_AMOUNT_MM",
"analyze_parameterization_status",
"convert_sw_plugin_json_to_ir",
"enrich_rebuild_parameters",
"extract_editable_parameters",
"generate_build123d_code",
"get_part_name",
"normalize_to_ir",
"sort_operations_for_history",
]