12 Replies Latest reply on Sep 11, 2017 7:36 AM by Nadav Gover

    Maximum milling drill tool

    Nadav Gover


      Does anyone know of an API method to get the maximum drill tool?

      Meaning for CNC milling, what is the maximum diameter of the drill tool able to make the part in one shot, without replacing tools.



        • Re: Maximum milling drill tool
          Bjorn Hulman

          Hi Nadav,

          Do you need a macro? Check tool will tell you min rad Using the Check Tool for Minimum Radius of Curvature


          I take it the tool needs to be changes manually on your intended milling machine. Using a tool determined by the min rad might be uneconomical time wise.

            • Re: Maximum milling drill tool
              Nadav Gover

              Actually this is pretty good!

              I don't really intend to use this tool, this is more for evaluating measures.

              Do you know of anyway to get the outer minimum curvature and the inner one?

              Plus, the Check tool doesn't give an answer if there are sharp corners, any idea for that? just telling if there are corners, not the angle.



                • Re: Maximum milling drill tool
                  Jacob Corder

                  if i understand you correctly, i am assuming you want to tie actual machining tools into your design. meaning if you have a 6mm drill, how deep can it go without needing another drill to follow. basically a series of drills.


                  without having your tools in a database that can be queried then this isn't totally possible. if you do, then its simple.


                  a good rule of thumb is 5x and  8x diameter tools can drill to full depth in a single load. they may peck for chip break or evacuation.


                  sometimes 12x diameter is allowed, but most of the time it isn't.


                  greater than 12x will normally require the (5x or 8x),Tool Change,  the 12x, Tool Change, and the 16x

                  any time these tool changes occur it significantly increases the cost. more than just the tool change.(spindle ramp up delays, Fluid On Delays,ect)


                  deeper than 16x like a 24 or 30 would probably be (5x or 8x), Tool Change, 12x,Tool change (24x or 30x)



                  of course 8x doesn't necessarily mean exactly 8x diameter

                  8x diameter 6mm drill would be 48mm max depth. however its probably more like 55mm



                  if this isn't what you meant then disregard.

                  • Re: Maximum milling drill tool
                    Jacob Corder

                    if you are just trying to use an End mill to do the whole machining process then your going to want to group the diameters based on the available tools.

                    using a 6mm end mill to cut a 40mm counterbore is not a good idea.


                    basically Use IBody2::GetFaces

                    Loop through them to build an array of diameters.


                    keep in mind that sometimes faces are not of type cylinder, however they are actually cylinders but spline driven probably due to importing.

                    if they are solidworks features then they should be evaluated as cylinders correctly

                    if using VB.net

                         DiameterCollection should be a system.collections.generic.list(of Double)

                    if using vba

                         DiameterCollection will be an array of type double

                         Dim DiameterCollection() as double

                    For each SwFace as face2 in SwBody.GetFaces

                         Dim Surf as surface = swface.getsurface

                         if surf.isCylinder then

                              Dim Diam as double

                              Dim CylParams as object

                              CylParams = surf.CylinderParams

                              Diam = CylParams(6)*2 'This is in meters

                              'If using .net

                                   if DiameterCollection.contains(diam)=false then


                                   end if



                               'if using VBA

                                   For n = 0 to ubound(diameterCollection)

                                        If DiameterCollection(n) = diam then

                                              Exit For

                                        elseif n = ubound(diameterCollection) then

                                             Redim preserve DiameterCollection(ubound(diameterCollection)+1)

                                             DiameterCollection(ubound(DiameterCollection)) = Diam

                                             Exit For

                                        end if


                             end if



                    once this collection of diameters is built you can then compare it against available endmill tools to build the list of tools needed.



                    Sharp edges is the next step.