gridfinity_build123d package
gridfinity_build123d.base module
gridfinity_build123d.baseplate module
gridfinity_build123d.bin module
gridfinity_build123d.constants module
Gridfinity standard constants.
- class gridfinity_build123d.constants.gf_bin(inner_wall: float = 0.95, inner_radius_v: float = 2.8, inner_radius: float = 1.2)[source]
Bases:
objectBin constants.
- inner_radius: float = 1.2
- inner_radius_v: float = 2.8
- inner_wall: float = 0.95
- class gridfinity_build123d.constants.gridfinity_standard[source]
Bases:
objectGridfinity standard constants.
- class bottom(platform_height: float = 2.8, hole_from_side: float = 8)[source]
Bases:
objectBottom constants.
- hole_from_side: float = 8
- platform_height: float = 2.8
- class grid(size: float = 42, radius: float = 4, tollerance: float = 0.5)[source]
Bases:
objectGrid constants.
- radius: float = 4
- size: float = 42
- tollerance: float = 0.5
- class magnet(radius: float = 3.25, thickness: float = 2.4)[source]
Bases:
objectMagnet constants.
- radius: float = 3.25
- thickness: float = 2.4
- class screw(radius: float = 1.5, depth: float = 6)[source]
Bases:
objectScrew constants.
- depth: float = 6
- radius: float = 1.5
- class stacking_lip(height_1: float = 0.7, height_2: float = 1.8, height_3_bin: float = 1.9, height_3_base_plate: float = 2.15, offset: float = 0.25)[source]
Bases:
objectStacking lip constants.
- height_1: float = 0.7
- height_2: float = 1.8
- height_3_base_plate: float = 2.15
- height_3_bin: float = 1.9
- offset: float = 0.25
gridfinity_build123d.features module
gridfinity_build123d.utils module
Utiity module.
- class gridfinity_build123d.utils.Attach(value)[source]
Bases:
EnumAttach.
Enum for indicating a direction when attaching objects
- BACK = 5
- BOTTOM = 2
- FRONT = 6
- LEFT = 3
- RIGHT = 4
- TOP = 1
- class gridfinity_build123d.utils.Direction(value)[source]
Bases:
EnumDirection Enum.
Direction can be converted to a tuple.
- BACK = 5
- BOT = 2
- FRONT = 6
- LEFT = 4
- RIGHT = 3
- TOP = 1
- class gridfinity_build123d.utils.ObjectCreate[source]
Bases:
ABCInterface for object forcing to implement create_obj.
- abstract create_obj(rotation: ~build123d.geometry.Rotation | tuple[float, float, float] = (0, 0, 0), align: ~build123d.build_enums.Align | tuple[~build123d.build_enums.Align, ~build123d.build_enums.Align, ~build123d.build_enums.Align] | None = None, mode: ~build123d.build_enums.Mode = <Mode.ADD>) BasePartObject[source]
Create the build123d 3d object.
- Parameters:
rotation (RotationLike, optional) – Angels to rotate around axes. Defaults to (0, 0, 0).
align (Union[Align, tuple[Align, Align, Align]], optional) – Align min center of max of object. Defaults to None.
mode (Mode, optional) – Combination mode. Defaults to Mode.ADD.
- Raises:
NotImplementedError – Child class does not have an implementation
- Returns:
The build123d 3d object
- Return type:
BasePartObject
- class gridfinity_build123d.utils.StackProfile(stack_type: ProfileType, rotation: float = 0, align: Align | tuple[Align, Align] | None = None, mode: Mode = <Mode.ADD>)[source]
Bases:
BaseSketchObjectStackProfile.
Create a profile of the gridfinity stacking system. Usualy used in the sweep function.
- Parameters:
stack_type (ProfileType) – Type of stacking lip (Bin vs Plate).
rotation (float, optional) – angles to rotate objects. Defaults to 0.
align (Union[Align, tuple[Align, Align, Align]], optional) – Align min center of max of object. Defaults to None.
mode (Mode, optional) – Combination mode. Defaults to Mode.ADD.
- exception gridfinity_build123d.utils.UnsuportedEnumValueError(enum_var: Enum)[source]
Bases:
ExceptionConstruct Enum exception.
- Parameters:
enum_var (Enum) – Enum value
- class gridfinity_build123d.utils.Utils[source]
Bases:
objectUtils.
Class wrapping utility functions
- static attach(context: BuildPart, part: Part, attach: Attach, offset_value: float = 0) None[source]
Attach.
Attaches other object acording to “attach”.
- Parameters:
context (BuildPart) – context were attach should be executed.
part (Part) – the part to be attached
attach (Attach) – Direction to attach
offset_value (float, optional) – offset. Defaults to 0.
- Raises:
UnsuportedEnumValueError – Unsuported Enum value
- static create_bin_platform(grid: list[list[bool]], rotation: ~build123d.geometry.Rotation | tuple[float, float, float] = (0, 0, 0), align: ~build123d.build_enums.Align | tuple[~build123d.build_enums.Align, ~build123d.build_enums.Align, ~build123d.build_enums.Align] | None = None, mode: ~build123d.build_enums.Mode = <Mode.ADD>) BasePartObject[source]
Create the platform for the bin.
This function considers that the bins have a different dimension than the base elements (41.5mm instead of 42mm). This is to allow for certain tolerance for the bins. Therefore the size of the grid is set to the gridfinity standard grid size instead of the size of the sketch.
- Parameters:
grid (list[list[bool]]) – grid
rotation (RotationLike, optional) – Angels to rotate around axes. Defaults to (0, 0, 0).
align (Union[Align, tuple[Align, Align, Align]], optional) – Align min center of max of object. Defaults to Align.CENTER.
mode (Mode, optional) – Combination mode. Defaults to Mode.ADD.
- Returns:
the upper part of the bin.
- Return type:
BasePartObject
- static create_profile_block(profile_type: ~gridfinity_build123d.utils.StackProfile.ProfileType, offset_value: float = 0, rotation: ~build123d.geometry.Rotation | tuple[float, float, float] = (0, 0, 0), align: ~build123d.build_enums.Align | tuple[~build123d.build_enums.Align, ~build123d.build_enums.Align, ~build123d.build_enums.Align] | None = None, mode: ~build123d.build_enums.Mode = <Mode.ADD>) BasePartObject[source]
Create block with stacing profile.
- Parameters:
profile_type (StackProfile.ProfileType) – Profile type
offset_value (float, optional) – Offset of profile sweep. Defaults to 0.
rotation (RotationLike, optional) – Angels to rotate around axes. Defaults to (0, 0, 0).
align (Union[Align, tuple[Align, Align, Align]], optional) – Align min center of max of object. Defaults to None.
mode (Mode, optional) – Combination mode. Defaults to Mode.ADD.
- Returns:
_description_
- Return type:
BasePartObject
- static get_face_by_direction(context: BuildPart, direction: Direction) Face[source]
Get face by direction.
- Parameters:
context (BuildPart) – context were attach should be executed.
direction (Direction) – Direction of face
- Returns:
face
- Return type:
Face
- static get_subclasses(class_name: type) list[type][source]
Get subclasses of a base class recursively.
- Parameters:
class_name (Any) – class type to get subcalsses from
- Returns:
list of child class types
- Return type:
Any
- static locate_grid(grid: list[list[bool]], width: float, length: float) list[Location][source]
Generate locations for a grid with given spacing in x and y directions.
- Parameters:
grid (list[list[bool]]) – grid
width (float) – spacing of the grid in the x-direction.
length (float) – spacing of the grid in the y-direction.
- Returns:
the locations for the grid.
- Return type:
list[Location]
- static place_by_grid(obj: ~build123d.objects_part.BasePartObject, grid: list[list[bool]], width: float | None = None, length: float | None = None, rotation: ~build123d.geometry.Rotation | tuple[float, float, float] = (0, 0, 0), align: ~build123d.build_enums.Align | tuple[~build123d.build_enums.Align, ~build123d.build_enums.Align, ~build123d.build_enums.Align] = <Align.CENTER>, mode: ~build123d.build_enums.Mode = <Mode.ADD>) BasePartObject[source]
Place multiple instances of object according to grid.
- Parameters:
obj (BasePartObject) – object to be copied
grid (list[list[bool]]) – grid
width (float | None) – spacing of the grid in the x-direction. Defaults to None.
length (float | None) – spacing of the grid in the y-direction. Defaults to None.
rotation (RotationLike, optional) – Angels to rotate around axes. Defaults to (0, 0, 0).
align (Union[Align, tuple[Align, Align, Align]], optional) – Align min center of max of object. Defaults to Align.CENTER.
mode (Mode, optional) – Combination mode. Defaults to Mode.ADD.
- Raises:
ValueError – grid does not reasemble locations
- Returns:
gridlike object
- Return type:
BasePartObject
- static place_sketch_by_grid(obj: ~build123d.topology.composite.Sketch, grid: list[list[bool]], width: float | None = None, length: float | None = None, rotation: float = 0, align: ~build123d.build_enums.Align | tuple[~build123d.build_enums.Align, ~build123d.build_enums.Align] = <Align.CENTER>, mode: ~build123d.build_enums.Mode = <Mode.ADD>) BaseSketchObject[source]
Place multiple instances of a sketch according to a grid.
- Parameters:
obj (BaseSketchObject) – sketch to be copied
grid (list[list[bool]]) – grid
width (float | None) – spacing of the grid in the x-direction. Defaults to None.
length (float | None) – spacing of the grid in the y-direction. Defaults to None.
rotation (RotationLike, optional) – Angels to rotate around axes. Defaults to (0, 0, 0).
align (Union[Align, tuple[Align, Align, Align]], optional) – Align min center of max of object. Defaults to Align.CENTER.
mode (Mode, optional) – Combination mode. Defaults to Mode.ADD.
- Returns:
gridlike sketch
- Return type:
BaseSketchObject