fabex.joinery.arc_bar

fabex.joinery.arc_bar#

Functions#

bar(width, thick, diameter, tolerance[, amount, stem, ...])

Create a bar with specified dimensions and joint features.

arc(radius, thick, angle, diameter, tolerance[, ...])

Generate an arc with specified parameters.

arc_bar_arc(length, radius, thick, angle, angleb, ...)

Generate an arc bar joint with specified parameters.

arc_bar(length, radius, thick, angle, diameter, tolerance)

Generate an arc bar joint based on specified parameters.

Module Contents#

bar(width, thick, diameter, tolerance, amount=0, stem=1, twist=False, tneck=0.5, tthick=0.01, twist_keep=False, twist_line=False, twist_line_amount=2, which='MF')[source]#

Create a bar with specified dimensions and joint features.

This function generates a bar with customizable parameters such as width, thickness, and joint characteristics. It can automatically determine the number of fingers in the joint if the amount is set to zero. The function also supports various options for twisting and neck dimensions, allowing for flexible design of the bar according to the specified parameters. The resulting bar can be manipulated further based on the provided options.

Parameters:
  • width (float) – The length of the bar.

  • thick (float) – The thickness of the bar.

  • diameter (float) – The diameter of the tool used for joint creation.

  • tolerance (float) – The tolerance in the joint.

  • amount (int?) – The number of fingers in the joint; 0 means auto-generate. Defaults to 0.

  • stem (float?) – The radius of the stem or neck of the joint. Defaults to 1.

  • twist (bool?) – Whether to add a twist lock. Defaults to False.

  • tneck (float?) – The percentage the twist neck will have compared to thickness. Defaults to 0.5.

  • tthick (float?) – The thickness of the twist material. Defaults to 0.01.

  • twist_keep (bool?) – Whether to keep the twist feature. Defaults to False.

  • twist_line (bool?) – Whether to add a twist line. Defaults to False.

  • twist_line_amount (int?) – The amount for the twist line. Defaults to 2.

  • which (str?) – Specifies the type of joint; options are ‘M’, ‘F’, ‘MF’, ‘MM’, ‘FF’. Defaults to ‘MF’.

Returns:

This function does not return a value but modifies the state of the 3D

model in Blender.

Return type:

None

arc(radius, thick, angle, diameter, tolerance, amount=0, stem=1, twist=False, tneck=0.5, tthick=0.01, twist_keep=False, which='MF')[source]#

Generate an arc with specified parameters.

This function creates a 3D arc based on the provided radius, thickness, angle, and other parameters. It handles the generation of fingers for the joint and applies twisting features if specified. The function also manages the orientation and positioning of the generated arc in a 3D space.

Parameters:
  • radius (float) – The radius of the curve.

  • thick (float) – The thickness of the bar.

  • angle (float) – The angle of the arc (must not be zero).

  • diameter (float) – The diameter of the tool for joint creation.

  • tolerance (float) – Tolerance in the joint.

  • amount (int?) – The amount of fingers in the joint; 0 means auto-generate. Defaults to 0.

  • stem (float?) – The amount of radius the stem or neck of the joint will have. Defaults to 1.

  • twist (bool?) – Whether to add a twist lock. Defaults to False.

  • tneck (float?) – Percentage the twist neck will have compared to thickness. Defaults to 0.5.

  • tthick (float?) – Thickness of the twist material. Defaults to 0.01.

  • twist_keep (bool?) – Whether to keep the twist. Defaults to False.

  • which (str?) – Specifies which joint to generate (‘M’, ‘F’, ‘MF’). Defaults to ‘MF’.

Returns:

This function does not return a value but modifies the 3D scene

directly.

Return type:

None

arc_bar_arc(length, radius, thick, angle, angleb, diameter, tolerance, amount=0, stem=1, twist=False, tneck=0.5, tthick=0.01, which='MF', twist_keep=False, twist_line=False, twist_line_amount=2)[source]#

Generate an arc bar joint with specified parameters.

This function creates a joint consisting of male and female sections based on the provided parameters. It adjusts the length to account for the radius and thickness, generates a base rectangle, and then constructs the male and/or female sections as specified. Additionally, it can create a twist lock feature if required. The function utilizes Blender’s bpy operations to manipulate 3D objects.

Parameters:
  • length (float) – The total width of the segments including 2 * radius and thickness.

  • radius (float) – The radius of the curve.

  • thick (float) – The thickness of the bar.

  • angle (float) – The angle of the female part.

  • angleb (float) – The angle of the male part.

  • diameter (float) – The diameter of the tool for joint creation.

  • tolerance (float) – Tolerance in the joint.

  • amount (int?) – The number of fingers in the joint; 0 means auto-generate. Defaults to 0.

  • stem (float?) – The amount of radius the stem or neck of the joint will have. Defaults to 1.

  • twist (bool?) – Whether to add a twist lock feature. Defaults to False.

  • tneck (float?) – Percentage the twist neck will have compared to thickness. Defaults to 0.5.

  • tthick (float?) – Thickness of the twist material. Defaults to 0.01.

  • which (str?) – Specifies which joint to generate (‘M’, ‘F’, or ‘MF’). Defaults to ‘MF’.

  • twist_keep (bool?) – Whether to keep the twist after creation. Defaults to False.

  • twist_line (bool?) – Whether to create a twist line feature. Defaults to False.

  • twist_line_amount (int?) – Amount for the twist line feature. Defaults to 2.

Returns:

This function does not return a value but modifies the Blender scene

directly.

Return type:

None

arc_bar(length, radius, thick, angle, diameter, tolerance, amount=0, stem=1, twist=False, tneck=0.5, tthick=0.01, twist_keep=False, which='MF', twist_line=False, twist_line_amount=2)[source]#

Generate an arc bar joint based on specified parameters.

This function constructs an arc bar joint by generating male and female sections according to the specified parameters such as length, radius, thickness, and joint type. The function adjusts the length to account for the radius and thickness of the bar and creates the appropriate geometric shapes for the joint. It also includes options for twisting and adjusting the neck thickness of the joint.

Parameters:
  • length (float) – The total width of the segments including 2 * radius and thickness.

  • radius (float) – The radius of the curve.

  • thick (float) – The thickness of the bar.

  • angle (float) – The angle of the female part.

  • diameter (float) – The diameter of the tool for joint creation.

  • tolerance (float) – Tolerance in the joint.

  • amount (int?) – The number of fingers in the joint; 0 means auto-generate. Defaults to 0.

  • stem (float?) – The amount of radius the stem or neck of the joint will have. Defaults to 1.

  • twist (bool?) – Whether to add a twist lock. Defaults to False.

  • tneck (float?) – Percentage the twist neck will have compared to thickness. Defaults to 0.5.

  • tthick (float?) – Thickness of the twist material. Defaults to 0.01.

  • twist_keep (bool?) – Whether to keep the twist. Defaults to False.

  • which (str?) – Specifies which joint to generate (‘M’, ‘F’, ‘MF’). Defaults to ‘MF’.

  • twist_line (bool?) – Whether to include a twist line. Defaults to False.

  • twist_line_amount (int?) – Amount of twist line. Defaults to 2.