Scripting Polyholes in Alibre Design
3D printing by using layers of melted plastic filament, such as used by RepRap printers, causes small holes (less than 15mm in diameter) to end up smaller than the designed size. To compensate for this people create designs with larger holes so they shrink to the right size. It’s not an ideal solution – how much do they need to be increased by? What if you later want to send the same design to a commercial printing service that is more accurate?
The RepRap developer Nophead examined this issue and came up with a simple way to design holes that print at the right size regardless of the printing method. He called them polyholes.
In short the solution is to approximate the hole with a polygon and increase it’s size slightly.
Creating these polyholes in a CAD package is tedious. The size has to be calculated and the number of sides varies with the hole size. ADScript has this functionality baked right in. Here is an example python script:
# use millimeters for all values Units.Current = UnitTypes.Millimeters # test block dimensions length = 15 width = 10 depth = 3 # size of test holes diameter = 3 # create a new part, get the XY plane and create a sketch on the plane PolyholeTest = Part("PolyholeTest") XYPlane = PolyholeTest.GetPlane("XY-Plane") Base = PolyholeTest.AddSketch("Base", XYPlane) # draw the part outline Base.AddPolyline([0, 0, length, 0, length, width, 0, width, 0, 0], False) # draw a regular hole Base.AddCircle(length / 3, width / 2, diameter, False) # draw a polyhole Base.AddPolyhole(length / 3 * 2, width / 2, diameter, False) # extrude the sketch into a part PolyholeTest.AddExtrudeBoss("Block", Base, depth, False) # save and export to STL for printing PolyholeTest.Save("C:\Users\Andy\Desktop") PolyholeTest.ExportSTL("C:\Users\Andy\Desktop\PolyholeTest.stl")
When this script is run it produces the following test part with the regular hole on the left and the polyhole on the right:
To rotate the part simply change the plane used, perhaps to “ZX-Plane”, and run the script again.
|Print article||This entry was posted by Andy on April 6, 2013 at 12:00 am, and is filed under 3D Printing, Computer Aided Design, Software Engineering. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site.|
No comments yet.
No trackbacks yet.
about 7 months ago - No comments
The most common type of gear is the involute gear, which provides smooth and efficient operation. A gear is defined by the following parameters:
Pitch diameter (diameter of gear)
Diametral pitch (tooth size)
Number of teeth
Pressure angle (commonly 14.5, 20 or 25 degrees)
The pressure angle defines the shape of a tooth. For two gears to mesh the pressure
about 8 months ago - No comments
Creating screws is tedious. There are lots of diameter and length combinations and there is more to a screw than first meets the eye. Creating a parts library containing lots of variations is a perfect use for ADScript.
Here is a M3 x 20mm socket cap screw generated from the script below.
This screw is modeled to
about 8 months ago - No comments
ADScript makes it easy to use Alibre Design with Python scripting. For example creating a new part:
Test = Part("Test")
We can get access to planes in the design workspace, for example:
XYPlane = Test.GetPlane("XY-Plane")
Once we have a part and plane we can create a sketch on the plane:
MySketch = Test.AddSketch("MySketch", XYPlane)
Adding to the sketch is easy:
about 9 months ago - No comments
The easiest way to design projects that involve multiple parts in Alibre Design is to create and edit parts inside an assembly workspace. This allows the edges and cross-sections of one part to be reused in another part which is very useful.
However for 3D printing there is a downside – creating a part inside an
about 9 months ago - 1 comment
Previously I wrote about my little utility that allows exporting properly positioned STLs from Alibre Design so they can be imported into a slicing program for multi-color printing. This is fine for use with the RepRapPro slicer but perhaps not with other slicers.
Slic3r is a very popular, fast and flexible slicing program and now it
about 10 months ago - No comments
The Professional and Expert versions of Alibre Design come with a ray tracer called Keyshot but the Personal Edition of Alibre Design does not. However it is easily possible to use the free and very powerful Blender to generate ray traces of your 3D models.
First you must design the parts in Alibre Design and put
about 10 months ago - 2 comments
When you wish to print out a part on a 3D printer the workflow is simple – design the part, export to STL and print it. This is fine when you are only printing with a single material or color. Becoming increasingly popular and affordable are 3D printers that support printing with two or three