ducpy.builders.element_builders¶
Helper functions for creating DUC elements with a user-friendly API.
Classes¶
Functions¶
|
Helper function to create an ElementWrapper with the given parameters. |
|
Helper function to create a DucPath object for path overrides. |
Helper function to create a DatumReference object. |
|
Helper function to create a ToleranceClause object. |
|
|
Helper function to create a FeatureControlFrameSegment object. |
Helper function to create an FCFSegmentRow object. |
|
|
Helper to create a BoundElement using a builder-like approach. |
|
Helper to create a DucTableColumn object. |
|
Helper to create a DucTableRow object. |
Helper to create a DucTableCellSpan object. |
|
|
Helper to create a DucTableCell object. |
Helper to create a DucTableAutoSize object. |
|
Helper to create a DucTableColumnEntry object. |
|
Helper to create a DucTableRowEntry object. |
|
Helper to create a DucTableCellEntry object. |
Module Contents¶
- ducpy.builders.element_builders._create_element_wrapper(element_class, base_params, element_params, explicit_properties_override=None)¶
Helper function to create an ElementWrapper with the given parameters.
- class ducpy.builders.element_builders.BaseElementParams¶
- x: float¶
- y: float¶
- width: float¶
- height: float¶
- scope: str¶
- angle: float = 0.0¶
- styles: ducpy.classes.ElementsClass.DucElementStylesBase | None = None¶
- id: str | None = None¶
- label: str = ''¶
- locked: bool = False¶
- is_visible: bool = True¶
- z_index: float = 0.0¶
- description: str = ''¶
- group_ids: List[str] | None = []¶
- region_ids: List[str] | None = []¶
- layer_id: str = ''¶
- frame_id: str | None = None¶
- bound_elements: List[ducpy.classes.ElementsClass.BoundElement] | None = []¶
- link: str = ''¶
- custom_data: str | Dict[str, Any] = ''¶
- is_plot: bool = True¶
- is_annotative: bool = False¶
- is_deleted: bool = False¶
- index: int | None = None¶
- class ducpy.builders.element_builders.ElementBuilder(x: float = 0.0, y: float = 0.0, width: float = 1.0, height: float = 1.0, scope: str = DEFAULT_SCOPE)¶
- base¶
- extra¶
- at_position(x: float, y: float)¶
- with_size(width: float, height: float)¶
- with_angle(angle: float)¶
- with_styles(styles: ducpy.classes.ElementsClass.DucElementStylesBase)¶
- with_id(id: str)¶
- with_label(label: str)¶
- with_scope(scope: str)¶
- with_locked(locked: bool)¶
- with_visible(is_visible: bool)¶
- with_z_index(z_index: float)¶
- with_description(description: str)¶
- with_group_ids(group_ids: List[str])¶
- with_region_ids(region_ids: List[str])¶
- with_layer_id(layer_id: str)¶
- with_frame_id(frame_id: str)¶
- with_bound_elements(bound_elements: List[ducpy.classes.ElementsClass.BoundElement])¶
- with_bound_element(element_id: str, element_type: str)¶
Adds a single bound element to the current element.
- with_link(link: str)¶
- with_custom_data(custom_data: str | Dict[str, Any])¶
- with_plot(is_plot: bool)¶
- with_annotative(is_annotative: bool)¶
- with_deleted(is_deleted: bool)¶
- with_index(index: int)¶
- with_extra(**kwargs)¶
- build_rectangle()¶
- build_ellipse()¶
- build_polygon()¶
- build_linear_element()¶
- build_arrow_element()¶
- build_image_element()¶
- build_pdf_element()¶
- build_parametric_element()¶
- build_text_element()¶
- build_table_from_data()¶
- build_table_element()¶
- build_frame_element()¶
- build_plot_element()¶
- build_viewport_element()¶
- build_freedraw_element()¶
- build_doc_element()¶
- build_linear_dimension()¶
- build_aligned_dimension()¶
- build_angular_dimension()¶
- build_radius_dimension()¶
- build_diameter_dimension()¶
- build_arc_length_dimension()¶
- build_center_mark_dimension()¶
- build_rotated_dimension()¶
- build_spacing_dimension()¶
- build_continue_dimension()¶
- build_baseline_dimension()¶
- build_jogged_linear_dimension()¶
- build_leader_element()¶
- build_feature_control_frame_element()¶
- build_block_instance_element()¶
- build_mermaid_element()¶
- build_embeddable_element()¶
- build_xray_element()¶
- ducpy.builders.element_builders.create_duc_path(line_indices: List[int], background: ducpy.classes.ElementsClass.ElementBackground | None = None, stroke: ducpy.classes.ElementsClass.ElementStroke | None = None) ducpy.classes.ElementsClass.DucPath ¶
Helper function to create a DucPath object for path overrides.
- ducpy.builders.element_builders.create_datum_reference(letters: str, modifier: ducpy.Duc.MATERIAL_CONDITION.MATERIAL_CONDITION | None = None) ducpy.classes.ElementsClass.DatumReference ¶
Helper function to create a DatumReference object.
- ducpy.builders.element_builders.create_tolerance_clause(value: str, zone_type: ducpy.Duc.TOLERANCE_ZONE_TYPE.TOLERANCE_ZONE_TYPE | None = None, feature_modifiers: List[ducpy.Duc.FEATURE_MODIFIER.FEATURE_MODIFIER] | None = None, material_condition: ducpy.Duc.MATERIAL_CONDITION.MATERIAL_CONDITION | None = None) ducpy.classes.ElementsClass.ToleranceClause ¶
Helper function to create a ToleranceClause object.
- ducpy.builders.element_builders.create_fcf_segment(symbol: ducpy.Duc.GDT_SYMBOL.GDT_SYMBOL, tolerance: ducpy.classes.ElementsClass.ToleranceClause, datums: List[ducpy.classes.ElementsClass.DatumReference]) ducpy.classes.ElementsClass.FeatureControlFrameSegment ¶
Helper function to create a FeatureControlFrameSegment object.
- ducpy.builders.element_builders.create_fcf_segment_row(segments: List[ducpy.classes.ElementsClass.FeatureControlFrameSegment]) ducpy.classes.ElementsClass.FCFSegmentRow ¶
Helper function to create an FCFSegmentRow object.
- ducpy.builders.element_builders.create_bound_element(element_id: str, element_type: str) ducpy.classes.ElementsClass.BoundElement ¶
Helper to create a BoundElement using a builder-like approach.
- ducpy.builders.element_builders.create_table_column(id: str, width: float = 100.0, style_overrides: ducpy.classes.ElementsClass.DucElementStylesBase | None = None) ducpy.classes.ElementsClass.DucTableColumn ¶
Helper to create a DucTableColumn object.
- ducpy.builders.element_builders.create_table_row(id: str, height: float = 30.0, style_overrides: ducpy.classes.ElementsClass.DucElementStylesBase | None = None) ducpy.classes.ElementsClass.DucTableRow ¶
Helper to create a DucTableRow object.
- ducpy.builders.element_builders.create_table_cell_span(columns: int = 1, rows: int = 1) ducpy.classes.ElementsClass.DucTableCellSpan ¶
Helper to create a DucTableCellSpan object.
- ducpy.builders.element_builders.create_table_cell(row_id: str, column_id: str, data: str = '', locked: bool = False, span: ducpy.classes.ElementsClass.DucTableCellSpan | None = None, style_overrides: ducpy.classes.ElementsClass.DucElementStylesBase | None = None) ducpy.classes.ElementsClass.DucTableCell ¶
Helper to create a DucTableCell object.
- ducpy.builders.element_builders.create_table_auto_size(columns: bool = True, rows: bool = True) ducpy.classes.ElementsClass.DucTableAutoSize ¶
Helper to create a DucTableAutoSize object.
- ducpy.builders.element_builders.create_table_column_entry(key: str, value: ducpy.classes.ElementsClass.DucTableColumn) ducpy.classes.ElementsClass.DucTableColumnEntry ¶
Helper to create a DucTableColumnEntry object.
- ducpy.builders.element_builders.create_table_row_entry(key: str, value: ducpy.classes.ElementsClass.DucTableRow) ducpy.classes.ElementsClass.DucTableRowEntry ¶
Helper to create a DucTableRowEntry object.
- ducpy.builders.element_builders.create_table_cell_entry(key: str, value: ducpy.classes.ElementsClass.DucTableCell) ducpy.classes.ElementsClass.DucTableCellEntry ¶
Helper to create a DucTableCellEntry object.
- class ducpy.builders.element_builders.ElementSpecificBuilder(base: BaseElementParams, extra: dict)¶
- base¶
- extra¶
- class ducpy.builders.element_builders.RectangleElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- class ducpy.builders.element_builders.EllipseElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_ratio(ratio: float)¶
- with_start_angle(start_angle: float)¶
- with_end_angle(end_angle: float)¶
- with_show_aux_crosshair(show_aux_crosshair: bool)¶
- class ducpy.builders.element_builders.PolygonElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_sides(sides: int)¶
- class ducpy.builders.element_builders.LinearElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_points(points: List[tuple])¶
- with_lines(lines: List[ducpy.classes.ElementsClass.DucLine] | None)¶
- with_bezier_handles(bezier_handles: dict | None)¶
- with_line_definitions(line_definitions: List[dict] | None)¶
- with_path_overrides(path_overrides: List[ducpy.classes.ElementsClass.DucPath] | None)¶
- with_last_committed_point(last_committed_point: ducpy.classes.ElementsClass.DucPoint | None)¶
- with_start_binding(start_binding: ducpy.classes.ElementsClass.DucPointBinding | None)¶
- with_end_binding(end_binding: ducpy.classes.ElementsClass.DucPointBinding | None)¶
- with_wipeout_below(wipeout_below: bool)¶
- class ducpy.builders.element_builders.ArrowElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_points(points: List[tuple])¶
- with_start_binding(start_binding: ducpy.classes.ElementsClass.DucPointBinding | None)¶
- with_end_binding(end_binding: ducpy.classes.ElementsClass.DucPointBinding | None)¶
- class ducpy.builders.element_builders.ImageElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_file_id(file_id: str)¶
- with_scale(scale: List[float])¶
- with_status(status: ducpy.Duc.IMAGE_STATUS.IMAGE_STATUS)¶
- with_crop(crop: ducpy.classes.ElementsClass.ImageCrop | None)¶
- with_filter(filter: ducpy.classes.ElementsClass.DucImageFilter | None)¶
- class ducpy.builders.element_builders.PdfElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_file_id(file_id: str)¶
- class ducpy.builders.element_builders.ParametricElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_file_id(file_id: str)¶
- with_source_type(source_type: ducpy.Duc.PARAMETRIC_SOURCE_TYPE.PARAMETRIC_SOURCE_TYPE)¶
- with_code(code: str)¶
- class ducpy.builders.element_builders.TextElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_text(text: str)¶
- with_text_style(text_style: ducpy.classes.ElementsClass.DucTextStyle | None)¶
- with_auto_resize(auto_resize: bool)¶
- with_dynamic(dynamic: List[ducpy.classes.ElementsClass.DucTextDynamicPart] | None)¶
- class ducpy.builders.element_builders.TableFromDataBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_data(data: List[List[str]])¶
- with_column_headers(column_headers: List[str] | None)¶
- with_column_widths(column_widths: List[float] | None)¶
- with_row_height(row_height: float)¶
- with_header_row_count(header_row_count: int)¶
- with_table_style(style: ducpy.classes.ElementsClass.DucTableStyle | None)¶
- with_auto_size(auto_size: ducpy.classes.ElementsClass.DucTableAutoSize | None)¶
- class ducpy.builders.element_builders.TableElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_columns(columns: List[ducpy.classes.ElementsClass.DucTableColumn])¶
- with_rows(rows: List[ducpy.classes.ElementsClass.DucTableRow])¶
- with_cells(cells: List[ducpy.classes.ElementsClass.DucTableCell])¶
- with_table_style(style: ducpy.classes.ElementsClass.DucTableStyle | None)¶
- with_header_row_count(header_row_count: int)¶
- with_auto_size(auto_size: ducpy.classes.ElementsClass.DucTableAutoSize | None)¶
- class ducpy.builders.element_builders.FrameElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_stack_base(stack_base: ducpy.classes.ElementsClass.DucStackBase | None)¶
- with_clip(clip: bool)¶
- with_label_visible(label_visible: bool)¶
- with_standard_override(standard_override: ducpy.classes.StandardsClass.Standard | None)¶
- class ducpy.builders.element_builders.PlotElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_margins(margins: ducpy.classes.ElementsClass.Margins | None)¶
- with_style(style: ducpy.classes.ElementsClass.DucPlotStyle | None)¶
- with_stack_base(stack_base: ducpy.classes.ElementsClass.DucStackBase | None)¶
- with_clip(clip: bool)¶
- with_label_visible(label_visible: bool)¶
- with_standard_override(standard_override: ducpy.classes.StandardsClass.Standard | None)¶
- class ducpy.builders.element_builders.ViewportElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_points(points: List[tuple])¶
- with_view(view: ducpy.classes.ElementsClass.DucView)¶
- with_view_scale(scale: float)¶
- with_viewport_style(style: ducpy.classes.ElementsClass.DucViewportStyle | None)¶
- with_stack_base(stack_base: ducpy.classes.ElementsClass.DucStackBase | None)¶
- with_standard_override(standard_override: ducpy.classes.StandardsClass.Standard | None)¶
- with_shade_plot(shade_plot: ducpy.Duc.VIEWPORT_SHADE_PLOT.VIEWPORT_SHADE_PLOT | None)¶
- with_frozen_group_ids(frozen_group_ids: List[str] | None)¶
- with_start_binding(start_binding: ducpy.classes.ElementsClass.DucPointBinding | None)¶
- with_end_binding(end_binding: ducpy.classes.ElementsClass.DucPointBinding | None)¶
- class ducpy.builders.element_builders.FreeDrawElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_points(points: list)¶
- with_pressures(pressures: list)¶
- with_size_thickness(size: float)¶
- with_thinning(thinning: float)¶
- with_smoothing(smoothing: float)¶
- with_streamline(streamline: float)¶
- with_easing(easing: str)¶
- with_simulate_pressure(simulate_pressure: bool)¶
- with_start_cap(cap: bool)¶
- with_start_taper(taper: float)¶
- with_start_easing(easing: str)¶
- with_end_cap(cap: bool)¶
- with_end_taper(taper: float)¶
- with_end_easing(easing: str)¶
- with_last_committed_point(last_committed_point: ducpy.classes.ElementsClass.DucPoint | None)¶
- with_svg_path(svg_path: str | None)¶
- class ducpy.builders.element_builders.DocElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_text(text: str)¶
- with_doc_style(style: ducpy.classes.ElementsClass.DucDocStyle | None)¶
- with_columns_layout(columns: ducpy.classes.ElementsClass.ColumnLayout | None)¶
- with_auto_resize(auto_resize: bool)¶
- with_flow_direction(flow_direction: ducpy.Duc.TEXT_FLOW_DIRECTION.TEXT_FLOW_DIRECTION | None)¶
- with_dynamic(dynamic: List[ducpy.classes.ElementsClass.DucTextDynamicPart] | None)¶
- class ducpy.builders.element_builders.LinearDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_origin1(origin1: ducpy.classes.ElementsClass.GeometricPoint)¶
- with_origin2(origin2: ducpy.classes.ElementsClass.GeometricPoint)¶
- with_location(location: ducpy.classes.ElementsClass.GeometricPoint)¶
- with_dimension_style(style: ducpy.classes.ElementsClass.DucDimensionStyle | None)¶
- with_text_override(text_override: str | None)¶
- class ducpy.builders.element_builders.AlignedDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.AngularDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.RadiusDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.DiameterDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.ArcLengthDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.CenterMarkDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.RotatedDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.SpacingDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- class ducpy.builders.element_builders.ContinueDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- with_continue_from_dimension_id(continue_from_dimension_id: str)¶
- class ducpy.builders.element_builders.BaselineDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- with_base_dimension_id(base_dimension_id: str)¶
- class ducpy.builders.element_builders.JoggedLinearDimensionBuilder(base: BaseElementParams, extra: dict)¶
Bases:
LinearDimensionBuilder
- with_jog_x(jog_x: float)¶
- with_jog_y(jog_y: float)¶
- class ducpy.builders.element_builders.LeaderElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_content_anchor_x(content_anchor_x: float)¶
- with_content_anchor_y(content_anchor_y: float)¶
- with_content(content: ducpy.classes.ElementsClass.LeaderContent | None)¶
- class ducpy.builders.element_builders.FeatureControlFrameElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_segments(segments: List[ducpy.classes.ElementsClass.FCFSegmentRow])¶
- with_frame_modifiers(frame_modifiers: ducpy.classes.ElementsClass.FCFFrameModifiers | None)¶
- with_leader_element_id(leader_element_id: str | None)¶
- with_datum_definition(datum_definition: ducpy.classes.ElementsClass.FCFDatumDefinition | None)¶
- with_style(style: ducpy.classes.ElementsClass.DucFeatureControlFrameStyle | None)¶
- class ducpy.builders.element_builders.BlockInstanceElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_block_id(block_id: str)¶
- with_element_overrides(element_overrides: List[ducpy.classes.ElementsClass.StringValueEntry] | None)¶
- with_attribute_values(attribute_values: List[ducpy.classes.ElementsClass.StringValueEntry] | None)¶
- with_duplication_array(duplication_array: ducpy.classes.ElementsClass.DucBlockDuplicationArray | None)¶
- class ducpy.builders.element_builders.MermaidElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_source(source: str)¶
- with_theme(theme: str | None)¶
- with_svg_path(svg_path: str | None)¶
- class ducpy.builders.element_builders.EmbeddableElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_link(link: str)¶
- class ducpy.builders.element_builders.XrayElementBuilder(base: BaseElementParams, extra: dict)¶
Bases:
ElementSpecificBuilder
- with_origin_x(origin_x: float)¶
- with_origin_y(origin_y: float)¶
- with_direction_x(direction_x: float)¶
- with_direction_y(direction_y: float)¶
- with_color(color: str)¶
- with_start_from_origin(start_from_origin: bool)¶