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_global_state_from_base(...)

create_local_state_from_base(...)

create_view_from_base(...)

create_ucs_from_base(→ ducpy.classes.ElementsClass.DucUcs)

create_group_from_base(...)

create_layer_from_base(...)

create_region_from_base(...)

create_standard_from_base(...)

create_grid_settings_from_base(...)

create_snap_settings_from_base(...)

create_version_graph_from_base(...)

create_checkpoint_from_base(...)

create_delta_from_base(...)

create_external_file_from_base(...)

create_stack_base_from_base(...)

create_identifier(...)

create_standard_overrides(...)

create_standard_view_settings(...)

create_standard_styles(...)

create_standard_units(...)

create_standard_validation(...)

create_identified_grid_settings(...)

Create an identified grid settings object.

create_identified_snap_settings(...)

Create an identified snap settings object.

create_polar_grid_settings(...)

create_isometric_grid_settings(...)

create_snap_override(...)

create_dynamic_snap_settings(...)

create_polar_tracking_settings(...)

Create polar tracking settings.

create_tracking_line_style(...)

create_layer_snap_filters(...)

create_snap_marker_style(...)

create_snap_marker_style_entry(...)

create_snap_marker_settings(...)

create_linear_unit_system(...)

create_angular_unit_system(...)

create_alternate_units(...)

create_primary_units(...)

create_dimension_validation_rules(...)

create_layer_validation_rules(...)

create_json_patch_operation(...)

Create a JSON Patch operation for version control deltas.

create_leader_text_content(...)

Create a leader text content for leader elements.

create_leader_block_content(...)

Create a leader block content for leader elements.

create_leader_content(...)

Create a leader content wrapper for leader elements.

create_tolerance_clause(...)

Create a tolerance clause for feature control frames.

create_datum_reference(...)

Create a datum reference for feature control frames.

create_feature_control_frame_segment(...)

Create a feature control frame segment.

create_block_attribute_definition_entry(...)

Create a block attribute definition entry.

create_block(→ ducpy.classes.ElementsClass.DucBlock)

Create a block with elements and attribute definitions.

create_string_value_entry(...)

Create a string value entry for block attributes.

create_standard_complete(...)

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)
build() ducpy.classes.DataStateClass.DucGlobalState
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)
build() ducpy.classes.DataStateClass.DucLocalState
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)
build() ducpy.classes.ElementsClass.DucGroup
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)
build() ducpy.classes.ElementsClass.DucLayer
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)
build() ducpy.classes.ElementsClass.DucRegion
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)
build() ducpy.classes.StandardsClass.Standard
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)
build() ducpy.classes.StandardsClass.GridSettings
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)
build() ducpy.classes.StandardsClass.SnapSettings
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)
build() ducpy.classes.DataStateClass.VersionGraph
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)
build() ducpy.classes.DataStateClass.Checkpoint
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)
build() ducpy.classes.DataStateClass.DucExternalFileEntry
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)
build() ducpy.classes.ElementsClass.DucStackBase
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.