ducpy.builders.state_builders¶
Helper functions for creating DUC state-related objects with a user-friendly API. Follows the same hierarchical builder pattern as element_builders.py.
Classes¶
Functions¶
|
|
|
|
Create an identified grid settings object. |
|
Create an identified snap settings object. |
|
|
|
Create polar tracking settings. |
|
|
|
Create a JSON Patch operation for version control deltas. |
|
Create a leader text content for leader elements. |
|
Create a leader block content for leader elements. |
|
Create a leader content wrapper for leader elements. |
|
Create a tolerance clause for feature control frames. |
|
Create a datum reference for feature control frames. |
|
Create a feature control frame segment. |
|
Create a block attribute definition entry. |
|
|
Create a block with elements and attribute definitions. |
Create a string value entry for block attributes. |
|
Create a complete standard with all components. |
Module Contents¶
- class ducpy.builders.state_builders.BaseStateParams¶
- id: str | None = None¶
- name: str = ''¶
- description: str = ''¶
- version: str = '1.0'¶
- readonly: bool = False¶
- class ducpy.builders.state_builders.StateBuilder¶
- base¶
- extra¶
- with_id(id: str)¶
- with_name(name: str)¶
- with_description(description: str)¶
- with_version(version: str)¶
- with_readonly(readonly: bool)¶
- with_extra(**kwargs)¶
- build_global_state()¶
- build_local_state()¶
- build_view()¶
- build_ucs()¶
- build_group()¶
- build_layer()¶
- build_region()¶
- build_standard()¶
- build_grid_settings()¶
- build_snap_settings()¶
- build_version_graph()¶
- build_checkpoint()¶
- build_delta()¶
- build_external_file()¶
- build_stack_base()¶
- class ducpy.builders.state_builders.StateSpecificBuilder(base: BaseStateParams, extra: dict)¶
- base¶
- extra¶
- class ducpy.builders.state_builders.GlobalStateBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_view_background_color(color: str)¶
- with_main_scope(scope: str)¶
- with_dash_spacing_scale(scale: float)¶
- with_is_dash_spacing_affected_by_viewport_scale(affected: bool)¶
- with_scope_exponent_threshold(threshold: int)¶
- with_dimensions_associative_by_default(associative: bool)¶
- with_use_annotative_scaling(use_annotative: bool)¶
- with_linear_precision(precision: int)¶
- with_angular_precision(precision: int)¶
- with_pruning_level(level: ducpy.Duc.PRUNING_LEVEL.PRUNING_LEVEL)¶
- class ducpy.builders.state_builders.LocalStateBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_scope(scope: str)¶
- with_active_standard_id(standard_id: str)¶
- with_scroll_x(scroll_x: float)¶
- with_scroll_y(scroll_y: float)¶
- with_zoom(zoom: float)¶
- with_is_binding_enabled(enabled: bool)¶
- with_pen_mode(pen_mode: bool)¶
- with_view_mode_enabled(enabled: bool)¶
- with_objects_snap_mode_enabled(enabled: bool)¶
- with_grid_mode_enabled(enabled: bool)¶
- with_outline_mode_enabled(enabled: bool)¶
- class ducpy.builders.state_builders.ViewBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_scroll_x(scroll_x: float)¶
- with_scroll_y(scroll_y: float)¶
- with_zoom(zoom: float)¶
- with_twist_angle(angle: float)¶
- with_center_x(center_x: float)¶
- with_center_y(center_y: float)¶
- with_center_point(center_point: ducpy.classes.ElementsClass.DucPoint)¶
- with_scope(scope: str)¶
- build() ducpy.classes.ElementsClass.DucView ¶
- class ducpy.builders.state_builders.UcsBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_origin_x(origin_x: float)¶
- with_origin_y(origin_y: float)¶
- with_angle(angle: float)¶
- build() ducpy.classes.ElementsClass.DucUcs ¶
- class ducpy.builders.state_builders.GroupBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_label(label: str)¶
- with_is_collapsed(is_collapsed: bool)¶
- with_is_plot(is_plot: bool)¶
- with_is_visible(is_visible: bool)¶
- with_locked(locked: bool)¶
- with_opacity(opacity: float)¶
- with_labeling_color(color: str)¶
- with_id(id: str)¶
- class ducpy.builders.state_builders.LayerBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_label(label: str)¶
- with_readonly(readonly: bool)¶
- with_is_collapsed(is_collapsed: bool)¶
- with_is_plot(is_plot: bool)¶
- with_is_visible(is_visible: bool)¶
- with_locked(locked: bool)¶
- with_opacity(opacity: float)¶
- with_labeling_color(color: str)¶
- with_stroke_color(color: str)¶
- with_background_color(color: str)¶
- with_id(id: str)¶
- class ducpy.builders.state_builders.RegionBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_label(label: str)¶
- with_boolean_operation(operation: ducpy.Duc.BOOLEAN_OPERATION.BOOLEAN_OPERATION)¶
- with_is_collapsed(is_collapsed: bool)¶
- with_is_plot(is_plot: bool)¶
- with_is_visible(is_visible: bool)¶
- with_locked(locked: bool)¶
- with_opacity(opacity: float)¶
- with_labeling_color(color: str)¶
- with_id(id: str)¶
- class ducpy.builders.state_builders.StandardBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_validation(validation: ducpy.classes.StandardsClass.StandardValidation)¶
- with_units(units: ducpy.classes.StandardsClass.StandardUnits)¶
- with_styles(styles: ducpy.classes.StandardsClass.StandardStyles)¶
- with_overrides(overrides: ducpy.classes.StandardsClass.StandardOverrides)¶
- with_view_settings(view_settings: ducpy.classes.StandardsClass.StandardViewSettings)¶
- with_id(id: str)¶
- with_name(name: str)¶
- with_description(description: str)¶
- with_version(version: str)¶
- with_readonly(readonly: bool)¶
- class ducpy.builders.state_builders.GridSettingsBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_grid_type(grid_type: ducpy.Duc.GRID_TYPE.GRID_TYPE)¶
- with_x_spacing(spacing: float)¶
- with_y_spacing(spacing: float)¶
- with_major_line_interval(interval: int)¶
- with_show_grid(show: bool)¶
- with_snap_to_grid(snap: bool)¶
- with_is_adaptive(adaptive: bool)¶
- with_subdivisions(subdivisions: int)¶
- with_origin_x(origin_x: float)¶
- with_origin_y(origin_y: float)¶
- with_rotation(rotation: float)¶
- with_follow_ucs(follow: bool)¶
- with_show_minor(show: bool)¶
- with_min_zoom(min_zoom: float)¶
- with_max_zoom(max_zoom: float)¶
- with_auto_hide(auto_hide: bool)¶
- with_enable_snapping(enable_snapping: bool)¶
- with_readonly(readonly: bool)¶
- with_display_type(display_type: ducpy.Duc.GRID_DISPLAY_TYPE.GRID_DISPLAY_TYPE)¶
- with_major_color(color: str)¶
- with_minor_color(color: str)¶
- with_major_style(style: ducpy.classes.StandardsClass.GridStyle)¶
- with_minor_style(style: ducpy.classes.StandardsClass.GridStyle)¶
- with_polar_settings(settings: ducpy.classes.StandardsClass.PolarGridSettings)¶
- with_isometric_settings(settings: ducpy.classes.StandardsClass.IsometricGridSettings)¶
- class ducpy.builders.state_builders.SnapSettingsBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_enabled(enabled: bool)¶
- with_snap_modes(modes: List[ducpy.Duc.SNAP_MODE.SNAP_MODE])¶
- with_object_snap_modes(modes: List[ducpy.Duc.OBJECT_SNAP_MODE.OBJECT_SNAP_MODE])¶
- with_snap_tolerance(tolerance: float)¶
- with_object_snap_aperture(aperture: int)¶
- with_tracking_enabled(enabled: bool)¶
- with_readonly(readonly: bool)¶
- with_twist_angle(angle: float)¶
- with_is_ortho_mode_on(ortho: bool)¶
- with_is_object_snap_on(snap_on: bool)¶
- with_show_tracking_lines(show: bool)¶
- with_construction_snap_enabled(enabled: bool)¶
- with_incremental_distance(distance: float)¶
- with_magnetic_strength(strength: float)¶
- with_snap_mode(mode: ducpy.Duc.SNAP_MODE.SNAP_MODE)¶
- with_active_object_snap_modes(modes: List[ducpy.Duc.OBJECT_SNAP_MODE.OBJECT_SNAP_MODE])¶
- with_snap_priority(priority: List[ducpy.Duc.OBJECT_SNAP_MODE.OBJECT_SNAP_MODE])¶
- with_dynamic_snap(dynamic_snap: ducpy.classes.StandardsClass.DynamicSnapSettings)¶
- with_snap_markers(snap_markers: ducpy.classes.StandardsClass.SnapMarkerSettings)¶
- with_tracking_line_style(style: ducpy.classes.StandardsClass.TrackingLineStyle)¶
- with_temporary_overrides(overrides: List[ducpy.classes.StandardsClass.SnapOverride])¶
- with_layer_snap_filters(filters: ducpy.classes.StandardsClass.LayerSnapFilters)¶
- with_element_type_filters(filters: List[str])¶
- with_snap_to_grid_intersections(snap: bool)¶
- with_polar_tracking(settings: ducpy.classes.StandardsClass.PolarTrackingSettings)¶
- class ducpy.builders.state_builders.VersionGraphBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_checkpoints(checkpoints: List[ducpy.classes.DataStateClass.Checkpoint])¶
- with_deltas(deltas: List[ducpy.classes.DataStateClass.Delta])¶
- with_user_checkpoint_version_id(version_id: str)¶
- with_latest_version_id(version_id: str)¶
- class ducpy.builders.state_builders.CheckpointBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_id(id: str)¶
- with_parent_id(parent_id: str)¶
- with_is_manual_save(is_manual: bool)¶
- with_data(data: bytes)¶
- with_description(description: str)¶
- class ducpy.builders.state_builders.DeltaBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_id(id: str)¶
- with_patch(patch: List[ducpy.classes.DataStateClass.JSONPatchOperation])¶
- with_parent_id(parent_id: str)¶
- with_is_manual_save(is_manual: bool)¶
- with_description(description: str)¶
- build() ducpy.classes.DataStateClass.Delta ¶
- class ducpy.builders.state_builders.ExternalFileBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_key(key: str)¶
- with_mime_type(mime_type: str)¶
- with_data(data: bytes)¶
- with_last_retrieved(last_retrieved: int)¶
- class ducpy.builders.state_builders.StackBaseBuilder(base: BaseStateParams, extra: dict)¶
Bases:
StateSpecificBuilder
- with_label(label: str)¶
- with_is_collapsed(is_collapsed: bool)¶
- with_is_plot(is_plot: bool)¶
- with_is_visible(is_visible: bool)¶
- with_locked(locked: bool)¶
- with_styles(styles: ducpy.classes.ElementsClass.DucStackLikeStyles)¶
- ducpy.builders.state_builders.create_global_state_from_base(base: BaseStateParams, **kwargs) ducpy.classes.DataStateClass.DucGlobalState ¶
- ducpy.builders.state_builders.create_local_state_from_base(base: BaseStateParams, **kwargs) ducpy.classes.DataStateClass.DucLocalState ¶
- ducpy.builders.state_builders.create_view_from_base(base: BaseStateParams, **kwargs) ducpy.classes.ElementsClass.DucView ¶
- ducpy.builders.state_builders.create_ucs_from_base(base: BaseStateParams, **kwargs) ducpy.classes.ElementsClass.DucUcs ¶
- ducpy.builders.state_builders.create_group_from_base(base: BaseStateParams, **kwargs) ducpy.classes.ElementsClass.DucGroup ¶
- ducpy.builders.state_builders.create_layer_from_base(base: BaseStateParams, **kwargs) ducpy.classes.ElementsClass.DucLayer ¶
- ducpy.builders.state_builders.create_region_from_base(base: BaseStateParams, **kwargs) ducpy.classes.ElementsClass.DucRegion ¶
- ducpy.builders.state_builders.create_standard_from_base(base: BaseStateParams, **kwargs) ducpy.classes.StandardsClass.Standard ¶
- ducpy.builders.state_builders.create_grid_settings_from_base(base: BaseStateParams, **kwargs) ducpy.classes.StandardsClass.GridSettings ¶
- ducpy.builders.state_builders.create_snap_settings_from_base(base: BaseStateParams, **kwargs) ducpy.classes.StandardsClass.SnapSettings ¶
- ducpy.builders.state_builders.create_version_graph_from_base(base: BaseStateParams, **kwargs) ducpy.classes.DataStateClass.VersionGraph ¶
- ducpy.builders.state_builders.create_checkpoint_from_base(base: BaseStateParams, **kwargs) ducpy.classes.DataStateClass.Checkpoint ¶
- ducpy.builders.state_builders.create_delta_from_base(base: BaseStateParams, **kwargs) ducpy.classes.DataStateClass.Delta ¶
- ducpy.builders.state_builders.create_external_file_from_base(base: BaseStateParams, **kwargs) ducpy.classes.DataStateClass.DucExternalFileEntry ¶
- ducpy.builders.state_builders.create_stack_base_from_base(base: BaseStateParams, **kwargs) ducpy.classes.ElementsClass.DucStackBase ¶
- ducpy.builders.state_builders.create_identifier(id: str, name: str, description: str = '') ducpy.classes.StandardsClass.Identifier ¶
- ducpy.builders.state_builders.create_standard_overrides(**kwargs) ducpy.classes.StandardsClass.StandardOverrides ¶
- ducpy.builders.state_builders.create_standard_view_settings(**kwargs) ducpy.classes.StandardsClass.StandardViewSettings ¶
- ducpy.builders.state_builders.create_standard_styles(**kwargs) ducpy.classes.StandardsClass.StandardStyles ¶
- ducpy.builders.state_builders.create_standard_units(**kwargs) ducpy.classes.StandardsClass.StandardUnits ¶
- ducpy.builders.state_builders.create_standard_validation(**kwargs) ducpy.classes.StandardsClass.StandardValidation ¶
- ducpy.builders.state_builders.create_identified_grid_settings(id: str, name: str, description: str, settings: ducpy.classes.StandardsClass.GridSettings) ducpy.classes.StandardsClass.IdentifiedGridSettings ¶
Create an identified grid settings object.
- ducpy.builders.state_builders.create_identified_snap_settings(id: str, name: str, description: str, settings: ducpy.classes.StandardsClass.SnapSettings) ducpy.classes.StandardsClass.IdentifiedSnapSettings ¶
Create an identified snap settings object.
- ducpy.builders.state_builders.create_polar_grid_settings(**kwargs) ducpy.classes.StandardsClass.PolarGridSettings ¶
- ducpy.builders.state_builders.create_isometric_grid_settings(**kwargs) ducpy.classes.StandardsClass.IsometricGridSettings ¶
- ducpy.builders.state_builders.create_snap_override(**kwargs) ducpy.classes.StandardsClass.SnapOverride ¶
- ducpy.builders.state_builders.create_dynamic_snap_settings(**kwargs) ducpy.classes.StandardsClass.DynamicSnapSettings ¶
- ducpy.builders.state_builders.create_polar_tracking_settings(enabled: bool = False, angles: List[float] | None = None, increment_angle: float | None = None, track_from_last_point: bool = False, show_polar_coordinates: bool = False) ducpy.classes.StandardsClass.PolarTrackingSettings ¶
Create polar tracking settings.
- ducpy.builders.state_builders.create_tracking_line_style(**kwargs) ducpy.classes.StandardsClass.TrackingLineStyle ¶
- ducpy.builders.state_builders.create_layer_snap_filters(**kwargs) ducpy.classes.StandardsClass.LayerSnapFilters ¶
- ducpy.builders.state_builders.create_snap_marker_style(**kwargs) ducpy.classes.StandardsClass.SnapMarkerStyle ¶
- ducpy.builders.state_builders.create_snap_marker_style_entry(**kwargs) ducpy.classes.StandardsClass.SnapMarkerStyleEntry ¶
- ducpy.builders.state_builders.create_snap_marker_settings(**kwargs) ducpy.classes.StandardsClass.SnapMarkerSettings ¶
- ducpy.builders.state_builders.create_linear_unit_system(**kwargs) ducpy.classes.StandardsClass.LinearUnitSystem ¶
- ducpy.builders.state_builders.create_angular_unit_system(**kwargs) ducpy.classes.StandardsClass.AngularUnitSystem ¶
- ducpy.builders.state_builders.create_alternate_units(**kwargs) ducpy.classes.StandardsClass.AlternateUnits ¶
- ducpy.builders.state_builders.create_primary_units(**kwargs) ducpy.classes.StandardsClass.PrimaryUnits ¶
- ducpy.builders.state_builders.create_dimension_validation_rules(**kwargs) ducpy.classes.StandardsClass.DimensionValidationRules ¶
- ducpy.builders.state_builders.create_layer_validation_rules(**kwargs) ducpy.classes.StandardsClass.LayerValidationRules ¶
- ducpy.builders.state_builders.create_json_patch_operation(op: str, path: str, value: Any = None) ducpy.classes.DataStateClass.JSONPatchOperation ¶
Create a JSON Patch operation for version control deltas.
- ducpy.builders.state_builders.create_leader_text_content(text: str) ducpy.classes.ElementsClass.LeaderTextBlockContent ¶
Create a leader text content for leader elements.
- ducpy.builders.state_builders.create_leader_block_content(block_id: str, attribute_values: List[ducpy.classes.ElementsClass.StringValueEntry] | None = None, element_overrides: List[ducpy.classes.ElementsClass.StringValueEntry] | None = None) ducpy.classes.ElementsClass.LeaderBlockContent ¶
Create a leader block content for leader elements.
- ducpy.builders.state_builders.create_leader_content(content: ducpy.classes.ElementsClass.LeaderTextBlockContent | ducpy.classes.ElementsClass.LeaderBlockContent) ducpy.classes.ElementsClass.LeaderContent ¶
Create a leader content wrapper for leader elements.
- ducpy.builders.state_builders.create_tolerance_clause(value: str, feature_modifiers: List[ducpy.Duc.FEATURE_MODIFIER.FEATURE_MODIFIER] | None = None, zone_type: ducpy.Duc.TOLERANCE_ZONE_TYPE.TOLERANCE_ZONE_TYPE | None = None, material_condition: ducpy.Duc.MATERIAL_CONDITION.MATERIAL_CONDITION | None = None) ducpy.classes.ElementsClass.ToleranceClause ¶
Create a tolerance clause for feature control frames.
- ducpy.builders.state_builders.create_datum_reference(letters: str, modifier: ducpy.Duc.MATERIAL_CONDITION.MATERIAL_CONDITION | None = None) ducpy.classes.ElementsClass.DatumReference ¶
Create a datum reference for feature control frames.
- ducpy.builders.state_builders.create_feature_control_frame_segment(symbol: ducpy.Duc.GDT_SYMBOL.GDT_SYMBOL, tolerance: ducpy.classes.ElementsClass.ToleranceClause, datums: List[ducpy.classes.ElementsClass.DatumReference]) ducpy.classes.ElementsClass.FeatureControlFrameSegment ¶
Create a feature control frame segment.
- ducpy.builders.state_builders.create_block_attribute_definition_entry(key: str, tag: str, default_value: str, is_constant: bool = False, prompt: str | None = None) ducpy.classes.ElementsClass.DucBlockAttributeDefinitionEntry ¶
Create a block attribute definition entry.
- ducpy.builders.state_builders.create_block(id: str, label: str, elements: List[ducpy.classes.ElementsClass.ElementWrapper], attribute_definitions: List[ducpy.classes.ElementsClass.DucBlockAttributeDefinitionEntry] | None = None, description: str | None = None) ducpy.classes.ElementsClass.DucBlock ¶
Create a block with elements and attribute definitions.
- ducpy.builders.state_builders.create_string_value_entry(key: str, value: str) ducpy.classes.ElementsClass.StringValueEntry ¶
Create a string value entry for block attributes.
- ducpy.builders.state_builders.create_standard_complete(id: str, name: str, description: str = '', version: str = '1.0', readonly: bool = False, units: ducpy.classes.StandardsClass.StandardUnits | None = None, validation: ducpy.classes.StandardsClass.StandardValidation | None = None, overrides: ducpy.classes.StandardsClass.StandardOverrides | None = None, styles: ducpy.classes.StandardsClass.StandardStyles | None = None, view_settings: ducpy.classes.StandardsClass.StandardViewSettings | None = None, grid_settings: ducpy.classes.StandardsClass.GridSettings | None = None, snap_settings: ducpy.classes.StandardsClass.SnapSettings | None = None, polar_tracking_settings: ducpy.classes.StandardsClass.PolarTrackingSettings | None = None) ducpy.classes.StandardsClass.Standard ¶
Create a complete standard with all components.