7 Replies Latest reply on Mar 15, 2017 6:21 PM by Eric Kelly

    Cut a body with the motion of another body (3d profile sweep)

    Matt Carney

      (I think this is the best place for this since it seems to me that the surfacing community usually has some extra tricks up their sleeves):


      I would like to cut a body with a surface that is moved along a profile. I could sweep a surface but it would have only a 2d profile, i'd like to take a 3d profile and sweep it to generate a new surface that I can  then use to cut a body.


      I'm looking for a way to cut a body with another (surface) body that is tracking along some motion path.  Two examples I can give are the following:


      1) I'm making a part that wants to snap to itself. It has a 90degree rotation followed by a 180 rotation (think two open scissors). However, the snapping path is not along the shared axis of the objects but rather it operates in another specified direction.


      2)I want a custom gear/cam profile. I have a custom "saw-toothed" rack and I would like to roll a wheel along the length of it and cut away the wheel with the shape of the rack.Something like this: http://mathtourist.blogspot.com/2011/05/riding-on-square-wheels.html Alternatively I'd like to generate a tooth profile such as a cycloidal gear where the tooth shapes are not rolling but tracking a path in and out of the teeth.




        • Re: Cut a body with the motion of another body (3d profile sweep)
          Jamil Snead

          Based off of the first part of your post I was going to suggest you look into a Solid Sweep. I don't really understand your 1st scenario, I would probably need to see an illustration or model or something to grasp what you are talking about. But the solid sweep wouldn't work for scenario 2, because you can't "roll" the tool as it follows the path.

          • Re: Cut a body with the motion of another body (3d profile sweep)
            Mark Biasotti

            Hi Matt,


            What you describe, like Jamil has expressed, is the Solid Sweep Tool. If you have two separate bodies (a cutter or Tool body and a body that you want to be cut) you can go to Insert>Cut>Sweep and you'll see you have an option to cut using a solid body.  This tool can cut along 3D paths but it is hit or miss, and more of the time a miss. In other words, it is a very poor implementation and works only 30% to 50% of the time. Also it has some severe limitations. It can only cut away (cannot create a swept 3D body) and the tool body needs to be a revolve containing only lines and arcs.


            This is not a criticism on SW, but me - since I was the Product Manager for this feature when I worked for SW and we needed to make some hard choices if we were going to release it as a feature. I does work most of the time for cutting profiles on helix es - which is what many of our customers wanted and also doing ball end mill cuts. That said a few things that make it work more often:

            • If you can avoid starting or ending the cut - i.e. cut thru the target body, you will be more successful. The hardest math to solve is at the start and end of the cut.
            • Sometimes doing a "Fit Spline" of your path to make it one continuous entity will help. This does not have much to do with solid sweep feature but profile and solid sweep in general in that sweeps along 3D paths can go wonky because the profile orientation is derived from the normal of the path. When that is a 3D path the normal can twist unpredictably.
            • Using multi-body to your advantage; you can split your target body (body in which you want to do a cut) into multiple bodies. Do your 2D and 3D sweep cuts on those bodies and then recombine the bodies with the combine tool.


            That said, you should be impressed with this tool because the underlying procedure and math is quite complex and I don't know of anyone else in the CAD industry (with the exception of Delcam ) that can do this. What is happening is that a faceted model of multiple positions of the body are being created and then they are used to generate an approximate surface/s and then Boolean'ed from the target body.



              • Re: Cut a body with the motion of another body (3d profile sweep)
                Matt Carney

                Mark, this is great information. I never noticed the solid-sweep cut capability. While the restrictions do seem fairly limiting I understand the math is pretty intense - I have heard of the convex shape limitations in work done by other folks as well. I will try splitting my cutting body into multiple bodies such that it may make it possible to generate the features of interest - I am a little doubtful about my current geometry but I will see if I can redesign it to follow the necessary rules.



                  • Re: Cut a body with the motion of another body (3d profile sweep)
                    Matt Carney

                    As a followup to this.  I have experimented with the solidsweep and it is mighty restrictive. As Mark explained, it seems to only work with pure cylinders. Even a halved cylinder does not work.


                    As an example of what I'd like to do (ignore my messy feature tree): I'm basically trying to make a chute (sp?) for dispensing a part I'm designing.  I've extruded a profile along a curve and it gets close. However, the part is more than just a profile, it has length which, when patterned, carves a different track.  I'd love to take the body a sweep it along a path and use that swept path as the cutting body. Or pattern a whole bunch of bodies, use them to cut away from the body, and then decimate or smooth the surface.. 


                    However, I'm not aware of any smoothing tools in SW. Any ideas?





                      • Re: Cut a body with the motion of another body (3d profile sweep)
                        Matt Carney

                        Another followup.


                        By strictly following the rules outlined by Mark and in the swept cut solid tool body feature I was able to use a swept body cut. The thing that got it to work was that the tool body was a simple extruded cylinder from a sketch on a plane normal to the swept path (which was a helix).  Unfortunately what I really want is a square cross section that is just slightly tilted from that normal plane.  I can't get it to work with a body designed not directly perpendicular or tangent to the swept plane, nor is a square a convex shape, I guess.


                        what I thought would've worked: A cylinder extruded from a plane normal to the beginning of a helix path works. So, I tried taking that same circular extrude feature but extruding along the line that I actually wanted (skewed by 3.22deg), but still starting from that normal plane, with no luck!


                        any other thoughts?


                        In the image below, the blue cylinder is my cutting tool, but you can see they slightly askew cylinder next to it is the orientation I actually want to sweep with.





                        Also, Mark. I understand some more what's hard with cutting with a faceted model. I tried doing this with javascript and threeJs attempting to do the slicing with a specific tooth profile thing.

                        Digital Assemblers of Structural/Mechanical Digital Materials

                  • Re: Cut a body with the motion of another body (3d profile sweep)
                    Mark Sanders

                    I have exactly the same request (I also suggested it for a top ten idea, 2 years running but it was beaten by more mundane, but possibly universal requests eg drawing lines from centre ;-)  and then my suggestion was lost, along with all the other non top 10 ideas  'like tears in rain' ;-)  )  Anyway ...


                    I design many joints for folding and articulating products and often need to effectively carve out the path of one 3D object from another as they are hinged,  jointed or move together . And whilst cutting a 2D profile along a path (or rotating about a hinge), is possible in all cad packages doing the same with a 3D object seems impossible (at least in solidworks).


                    I use the same workaround as @matt carney ie arrange multiple instances of the cutting part along its path and then subtract these from the master body. The snag as matt pointed out, apart from computing stress, is, the cuts leave a jagged  3d profile, which needs to be smoothed - which in turn takes a lot more workarounds... eg adding 3D splines to jaggies to sweep cut 2D profiles along - all very tedious when trying out many options/shapes.


                    So gents, the question is:  Do you know of any  other 3D software that can do his ?

                    @Mark Biasotti  mentioned, Delcam - i'll check this out,

                    but what about some of the newer arrivals ??

                    • eg Onshape, Fusion 360, inventor ??
                    • Or maybe I'll need get someone to make a tool for this using the new OnShape open source tool building system ?
                    • or Sculpting software like Rhino, Alias
                    • or even higher end packages like NX, Catia, Pro-E/creo,
                    • or specialist add-ons ? Power-Surfacing ? or even 'Solidworks' ID ?
                      • Re: Cut a body with the motion of another body (3d profile sweep)
                        Eric Kelly

                        Mark, I second that nomination, I have had a few jobs where I was trying to generate 3d paths with a part in motion to simulate a cutting tool or to generate a surface with a moving part in space.  It would be a SWEET thing one day when you could have a tumbling part pass thru another moving or stationary part and generate a hole, surface, 3d path, etc. to use in machinery design and other similar uses.  I had something as simple as a sippie cup lid with a flip up portion that I wanted to carve the base lid below with the "straw" portion to generate the pocket with all of the necessary clearances.  It required a multi step process, that would be unnecessary if I could revolve a solid to make a new solid.  or revolve the same solid and make a subtraction.


                        Solidworks would be king with that sort of ability.....