TPU Seal Ring + FreeCAD Macro to make your own!

TPU Seal Ring + FreeCAD Macro to make your own!

$6.99
Sale price  $6.99 Regular price 
Skip to product information
TPU Seal Ring + FreeCAD Macro to make your own!

TPU Seal Ring + FreeCAD Macro to make your own!

$6.99
Sale price  $6.99 Regular price 
In Stock. Ready to order — printed when you buy.
Fast fulfillment. Ships after quality check. Trackable delivery.
Easy returns. Shop with confidence — see our return policy.
Secure checkout. Encrypted payment powered by Shopify.
  • Made to order — 3D printed after you buy
  • Free shipping on orders over $25
  • Quality checked before it ships
  • Questions? Contact us · Returns

FreeCAD Seal Ring Generator

This macro provides an easy way to generate seal rings in FreeCAD. It allows customization of the outer diameter, inner diameter, and height, with an optional fillet radius to round the edges. The fillet radius is constrained to ensure a proper shape.

Features:

  • Define the outer diameter, inner diameter, and height of the seal ring.
  • Toggle between square and rounded edges by setting the fillet radius.
  • Automatic validation to prevent excessive rounding.
  • Designed for public use and easy integration into FreeCAD projects.

Usage:

Modify the values in create_seal_ring(outer_dia, inner_dia, height, fillet_radius) to fit your needs, then run the macro in FreeCAD.

🚀 Open-source and free for all to use!


 

import FreeCAD as App
import Part

def create_seal_ring(outer_dia, inner_dia, height, fillet_radius=0):
   """
   Creates a seal ring in FreeCAD with optional edge rounding.
   
   Parameters:
   outer_dia (float): Outer diameter of the seal ring.
   inner_dia (float): Inner diameter of the seal ring.
   height (float): Height of the seal ring.
   fillet_radius (float, optional): Radius for edge rounding. Default is 0 (square edges).
   
   Note:
   - The maximum allowed fillet_radius is min(height/2, (outer_dia - inner_dia)/4)
   """
   doc = App.ActiveDocument if App.ActiveDocument else App.newDocument("SealRing")
   
   outer_cylinder = Part.makeCylinder(outer_dia / 2, height)
   inner_cylinder = Part.makeCylinder(inner_dia / 2, height)
   
   ring = outer_cylinder.cut(inner_cylinder)
   
   # Toggle rounding by setting fillet_radius
   if fillet_radius > 0:
       ring = ring.fillet(fillet_radius)
   
   obj = doc.addObject("Part::Feature", "SealRing")
   obj.Shape = ring
   
   doc.recompute()
   return obj

# Example: Create a seal ring with given dimensions and optional rounding
# Outer diameter: 13.9 mm, Inner diameter: 6.0 mm, Height: 8.0 mm
# Set fillet_radius to 0 for square edges, or a positive value for rounding
# Max fillet_radius should not exceed min(8.0/2, (13.9 - 6.0)/4) = min(4.0, 1.975)

 

#Edit here:
create_seal_ring(13.9, 6.0, 8.0, fillet_radius=0)

 

print("Seal ring has been created.")

Design by Arydian on MakerWorld (license: BY-SA).

Customers who viewed this item also viewed