ose3dprinter.part.frame

angle_frame_connector

class AngleFrameConnector

Bases: object

Encapsulates the data (i.e. topography and shape) for an Angle Frame Connector, and is separate from the “view” or GUI representation.

An angle frame connector is made up of three brackets.

axis_side_mount_length = 27.75
axis_side_mount_width = 5
classmethod calculate_bracket_length(width, thickness)
classmethod calculate_bracket_width(thickness)
classmethod calculate_y_axis_overhang_distance()
classmethod distance_between_axis_side_mount_holes_and_frame()
classmethod make(width, thickness, corner='bottom_left_front', with_set_screw=False, with_filleting=False)

Make an angle frame connector.

Parameters
  • width (float) – Width of the angled frame.

  • thickness (float) – Thickness of the angled frame.

  • corner (str, optional) – Which corner to orient the angle frame connector to. Defaults to bottom left front corner.

  • with_set_screw (bool) – Whether to include set screw mechanism.

  • with_filleting (bool) – Whether to include filleting.

Returns

an angle frame connector

Return type

Part.Shape

cut_screw_screw(bracket, width, height, thickness, set_screw_block_width)
cut_set_screw_hole(bracket, height, thickness, cylinder)
fillet_bracket(bracket, height)
find_top_wires_parallel_to_xy_plane(bracket, height)
fuse_nut_ramps_to_bracket(bracket, thickness, set_screw_cutout_length, set_screw_cutout_width, ramp_height)

Fuse nut ramps to bracket so nut doesn’t spin when tightening screw.

| |__
Parameters
  • bracket (Part.Shape) – Bracket

  • set_screw_cutout_length (float) – Length of set screw cutout

  • set_screw_cutout_width (float) – Width of set screw cutout

get_angle_frame_connector_placement(corner, length)
get_inner_points(width, thickness)
get_is_top_shape(height)
get_outer_points(width, thickness, set_screw_block_width, with_set_screw)
get_placement_by_corner(length)
is_wire_parallel_to_xy_plane(wire)
make_angle_connector_corner(bracket_length, bracket_width)
make_cylinder(radius, height)
make_set_screw_cutout(length, nut_height, height)

Make set screw cutout in the shape of a pentagon, or home plate in baseball.

make_tri_bracket(width, height, thickness, with_set_screw=False, with_filleting=False)

Make tri-bracket.

Three tri-brackets make up the angle frame connector.

Parameters
  • width (float) – Width of bracket.

  • height (float) – Height of bracket.

  • thickness (float) – Thickness of bracket

  • with_set_screw (bool) – Whether to include set screw mechanism.

  • with_filleting (bool) – Whether to include filleting.

angled_bar

class AngledBar

Bases: object

static make(length, width, thickness, orientation='bottom_front_flat')

Make an angled bar with bottom-left-most corner in the origin (0, 0, 0)

Parameters
  • length (float) – Length of angled bar.

  • width (float) – Width of angled bar. after an inner sheet is cut out of the center.

  • thickness (float) – Thickness of angled bar.

  • orientation (str) – Orientation of angled bar. Must be one of AngledBarOrientation. Defaults to AngledBarOrientation.BOTTOM_FRONT_FLAT.

Returns

An angled bar.

Return type

Part.Shape

fuse_parts(*parts)
get_angled_bar_placement(orientation, length, width)
get_placement_by_orientation(length, width)

angled_bar_frame

class AngledBarFrame

Bases: object

Frame made from 12 angled bars connected by angle frame connectors.

static make(side, width, thickness)

Make a frame from from 12 angled bars connected by angle frame connectors. No welding or epoxy required, and the frame can be disassembled.

Parameters
  • side (float) – Side or dimension of frame from one corner to the opposite corner.

  • width (float) – Width of angled bar.

  • thickness (float) – Thickness of each angled bar.

Returns

A frame made up of angled bars, connected by angle frame connectors.

Return type

Part.Shape

make_bottom_or_top_of_angled_frame(bar_length, width, thickness, bar_orientations, corners, bracket_length, rear_translation, rear_bar_translation)

angled_bar_orientation

class AngledBarOrientation

Bases: object

Represents the orientation for one edge of an angled bar frame.

BOTTOM_FRONT_FLAT = 'bottom_front_flat'
BOTTOM_LEFT_FLAT = 'bottom_left_flat'
BOTTOM_REAR_FLAT = 'bottom_rear_flat'
BOTTOM_RIGHT_FLAT = 'bottom_right_flat'
FRONT_LEFT_UPRIGHT = 'front_left_upright'
FRONT_RIGHT_UPRIGHT = 'front_right_upright'
REAR_LEFT_UPRIGHT = 'rear_left_upright'
REAR_RIGHT_UPRIGHT = 'rear_right_upright'
TOP_FRONT_FLAT = 'top_front_flat'
TOP_LEFT_FLAT = 'top_left_flat'
TOP_REAR_FLAT = 'top_rear_flat'
TOP_RIGHT_FLAT = 'top_right_flat'

axis_side_mount

class AxisSideMount

Bases: object

TODO: Rename to TopAngleFrameConnectorTab?

attachment_overlap = 10.22
classmethod calculate_distance_between_holes_and_connector(length)
classmethod calculate_overhang_distance(length)
distance_between_hole_and_outer_edge = 9.38554
height = 65.2
hole_radius = 3.39
classmethod make(width, length, top_corner)

Returns which side of the angle frame connector to add the axis mount to.

Parameters
  • width (float) – Width of axis side mount.

  • top_corner (str) – A top corner: top left front, top right front, top left rear, or top right rear.

Returns

Axis side mount

Return type

Part.Shape

classmethod make_slanted_edge(slanted_edge_distance, width)
| | |___
classmethod make_trapezoid_tab(width, length, attachment_overlap)

/ / / |_________________|

get_placement(top_corner, height, attachment_overlap)
get_placement_by_top_corner(height, attachment_overlap)

cnc_cut_frame

class CNCCutFrame

Bases: object

static make(side, width, sheet_thickness)

Make a frame from flat sheets cut by a CNC machine, then welded or epoxied together.

This approach works best with welding.

See Also:

https://wiki.opensourceecology.org/wiki/D3D_Frame

Parameters
  • side (float) – Dimension of one side of a cubic sheet.

  • width (float) – Width of outer sheet, after an inner sheet is cut out of the center.

  • sheet_thickness (float) – Thickness of each sheet.

Returns

A frame “welded” together from eight CNC cut sheets.

Return type

Part.Shape

make_sheet(side, width, thickness)

Make one side of the frame or “sheet”.

__________ |
| | |
| | |

|____________|

A sheet is a cubic plane of metal with dimensions specified by side, thickness specified by thickness, and inner sheet cut out of the center, leaving the outer width with a dimension specified by width.

Parameters
  • side (float) – Dimension of one side of the cubic sheet.

  • width (float) – Width of outer sheet, after an inner sheet is cut out of the center.

  • thickness (float) – Thickness of the sheet.

Returns

A sheet, or one side of a frame.

Return type

Part.Shape

corner

class Corner

Bases: object

Represents corners of a cube. TODO: Rename to CubeCorner?

BOTTOM_LEFT_FRONT = 'bottom_left_front'
BOTTOM_LEFT_REAR = 'bottom_left_rear'
BOTTOM_RIGHT_FRONT = 'bottom_right_front'
BOTTOM_RIGHT_REAR = 'bottom_right_rear'
TOP_LEFT_FRONT = 'top_left_front'
TOP_LEFT_REAR = 'top_left_rear'
TOP_RIGHT_FRONT = 'top_right_front'
TOP_RIGHT_REAR = 'top_right_rear'
is_top_corner(corner)

Returns whether a corner is a top corner.

Parameters

corner (str) – A corner.

Returns

Whether the corner is a top corner or not.

Return type

bool