I'd also be interested in hearing about a code approach to this but here are some practical tips:
1. Draft Angle Analysis will give you visual confirmation of the part line (the line along which the 3-axis approachable portion of the surface meets the portion of the surface referred to as the "undercut").
2. Running the Silhouette command in the Top viewport (this is how a 3-axis machine "sees" your model by default) to generate a curve or series of curves as your part line.
Remember:
1. Your tool tip geometry and diameter play a large role in which portions of the surface are approachable. In other words, it's just just undercuts you're looking for but also tight valleys and pockets into which your end mill may not fit.
2. Approachability is relative - a change to the CPlane properly synced with the origin system in your CAM package will completely change which portions of your model can be defined by a 3-axis mill.
My initial approach would be to sample the normal vector at enough locations. If the normal is horizontal or points down, you can't mill it. With "enough locations" I mean something quite specific. Given a nurbs-surface I'd sample at degree*2 samples per span in every direction. However normal vector evaluation is extremely fast so you can sample the living daylights out of a surface if you're worried you might miss a small spot.
With Breps it becomes somewhat trickier. The same logic applies, but you'll have to iterate over all faces and for every sample determine whether it's inside or outside the trimming region.
Alternatively you can convert the surface/brep to a mesh and then just iterate over all mesh normals.
Brian Ringley
I'd also be interested in hearing about a code approach to this but here are some practical tips:
1. Draft Angle Analysis will give you visual confirmation of the part line (the line along which the 3-axis approachable portion of the surface meets the portion of the surface referred to as the "undercut").
2. Running the Silhouette command in the Top viewport (this is how a 3-axis machine "sees" your model by default) to generate a curve or series of curves as your part line.
Remember:
1. Your tool tip geometry and diameter play a large role in which portions of the surface are approachable. In other words, it's just just undercuts you're looking for but also tight valleys and pockets into which your end mill may not fit.
2. Approachability is relative - a change to the CPlane properly synced with the origin system in your CAM package will completely change which portions of your model can be defined by a 3-axis mill.
Jul 14, 2012
David Rutten
My initial approach would be to sample the normal vector at enough locations. If the normal is horizontal or points down, you can't mill it. With "enough locations" I mean something quite specific. Given a nurbs-surface I'd sample at degree*2 samples per span in every direction. However normal vector evaluation is extremely fast so you can sample the living daylights out of a surface if you're worried you might miss a small spot.
With Breps it becomes somewhat trickier. The same logic applies, but you'll have to iterate over all faces and for every sample determine whether it's inside or outside the trimming region.
Alternatively you can convert the surface/brep to a mesh and then just iterate over all mesh normals.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Jul 14, 2012
Tuan N. Tran
I haven't looked into the documentation for the method/syntax yet. Is possible to run a DraftAngleAnalysis on the mesh?
Jul 15, 2012