Answer to Perforation Test Problem

Transcript

In this lesson, we will walk through the answer to the optional test problem of creating perforations on a part. To learn a bit more about perforations, you can also visit our perforations training dedicated solely to different options for creating perforations. Since this is a big use case for a lot of our customers, we’ve included this as a test problem because you can use the same concepts of orienting the body to create these holes. This is that final result that we’re looking for.

To get to there, I first have to import my part perforation. I’ve converted it to an implicit body and I’ve also selected my faces. So we were asked to take that inner face, so I have all those inner faces, and make those holes normal to that face. Next, I’m going to stitch these all together and convert them into a mesh. So instead of having multiple meshes from those CAD bases, I’ll have one mesh to work with. Once my geometry section is complete, we’ll go on to our next step which is creating the locations for these holes. I’m going to use our Random Points on Mesh to do that. So we have our mesh base, I have my point count of 600, and our random seed of one to create all the locations where we will place our holes.

You could also, if you wanted a certain region that has a cluster of them in one area and another, you could have added a ramp into our spatial weighting as well. We’ve also, if you wanted instead to control the distance between the two, we can also do that. I won’t explain it in this video, you can watch it in that perforations training. But that can also be another kind of challenge problem using our surface area of our mesh and thinking about that distance that we would need to control that point spacing.

Now that I have the location for where my holes will go, I have to create my holes and I’ll start with a cylinder which I am just making sure is going to go through our geometry. So I have that two go to eight in the Z direction. You might play around with that when you’re first starting off, maybe you have this a lot larger as long as it’s going fully through your part, it doesn’t really matter. Our radius, I’m going to have as about two millimeters as asked in the problem. The next thing I’ll do is convert this to a mesh with the tolerance of one. I did for this one sharpen, and I’ve also simplified it so I get this cylinder to start off with.

Next, we’ll use our Orient Object to place it on each one of these points on our surface. So our source plane, I’ve placed this at the center of my cylinder. You may have placed it in a different location, as long as you make sure that this hole goes all the way through your part, that should be fine. But making sure it’s at the centroid, I can ensure that it’ll go all the way through in one direction and through the other direction as well. And that’s why also you may have, if you didn’t choose the centroid, you may have a different point to as well. And our normal I just have that at 001 so it’s going through a hole for my destination planes. I have my origin is those points, and then I use the Evaluate Field Gradient so that I can find that normal. So at the solid body, what is the normal at each of those points, and this will give me this factor. You could have also used our Closest Point to Body as well and taken the normal from that property. And we can see all of the planes are now pointing inwards and are normal to our face.

So we orient our holes onto each one of those planes like so, and I’m going to merge these into one. So we did not do the Orient Object with an implicit, because doing a Boolean Union of 600 would take a little while, and by merging that meshes it will be quick. So the last step is to convert this to an implicit body and then we can just subtract this from our solid body to get the design we have here. So that’s how we could create perforations in this way.

This video reviews the answer to the optional perforation test problem, which asks you to add perforations to the given part.

Example File:

This file was last updated in nTop 5.13.2