The Basics of Cutting and Grinding discs

Abrasive-cutting processes are widely used to obtain semi-finished products from metal bars, slabs, or tubes. Thus, the abrasive cutting-off process is applied when requiring precision cutting and productivity at a moderate price. Cut-off tools are discs composed of small abrasive particles embedded in a bonding material, called the binder. This work aims to compare the cutting performance of cutting discs with different composition, in dry cutting of steel bars. To do that, disc wear was measured and disc final topography was digitalized in order to determine both disc surface wear patterns and if the abrasive particles bonding into the binder matrix was affected. In addition, X-Ray inspection gave information about the abrasive grit-binder bonding. Therefore, the method here presented allows identifying discs with a superior abrasive-cutting capability, by combining profilometry and tomography to define micrometrical aspects, grit size, and binder matrix structure. Results led to the conclusion that discs with high grit size and protrusion, high grit retention by bond material, and closer mesh of fiberglass matrix binder were the optimal solution.
[font=”IBM Plex Sans”, sans-serif]Plenty of manual cutting applications call for a hand-held grinder and cutting wheel. Cutting sheet metal, sizing a piece for fabrication, cutting out a weld to refabricate it, and cutting and notching in pipeline work are just a few examples of what can be accomplished using a grinder and cutting wheel.[/font]
[font=”IBM Plex Sans”, sans-serif]Resinoid-bonded cutting wheels are a popular choice to achieve these types of cuts because they offer portability and allow you to cut in many different angles and orientations. The bonding agent, in this case resinoid, holds the wheel together so it can cut effectively. The bond wears away as the abrasive grains wear and are expelled so new sharp grains are exposed.[/font]
[font=”IBM Plex Sans”, sans-serif]By following a few best practices, you can extend wheel life, promote safety, and improve productivity and efficiency within the process.[/font]
[font=”IBM Plex Sans”, sans-serif]The Basics of Cutting Wheels[/font]
[font=”IBM Plex Sans”, sans-serif]The main considerations in using resinoid-bonded wheels include the cutting application, the tool being used—such as a right-angle grinder, die grinder, or chop saw—desired cutting action, the material being cut, and space. Wheels typically provide a fast cutting action, long life, and tend to be cost-effective.[/font]
[font=”IBM Plex Sans”, sans-serif]The two main types of resinoid-bonded abrasive cutting wheels are Type 1, which are flat, and Type 27, which have a raised hub. Type 1 wheels generally are used for straight-on cutting on electric or pneumatic right-angle grinders or die grinders and chop saws, among other tools. Type 27 wheels are required when there is some type of interference and the metal cutting disc needs to be raised up from the base of the grinder, but personal preference also plays a role in the decision. They are most commonly used with electric or pneumatic right-angle grinders.[/font]
[font=”IBM Plex Sans”, sans-serif]Resinoid-bonded abrasive cutting wheels are available in various sizes and thicknesses. The most popular range is 2 to 16 inches in diameter, and common thicknesses are from 0.045 in. to 1⁄8 in. Thinner wheels remove less material during the cut.[/font]
[font=”IBM Plex Sans”, sans-serif]Some types of wheels cut faster than others. The abrasive material used in the wheel is one influencer on cut rate and consumable life. Wheels come in several grain options, such as aluminum oxide, silicon carbide, zirconia alumina, ceramic alumina, and combinations of these materials.[/font]
[font=”IBM Plex Sans”, sans-serif]While not as sharp as other grains, aluminum oxide provides toughness and good performance for cutting on steel. Silicon carbide, on the other hand, is a very sharp grain but not quite as tough, making it suitable for cutting nonferrous metals. Zirconia alumina is a self-sharpening, tough, durable grain that holds up well in a range of demanding applications. Ceramic alumina also is designed to self-sharpen as it “breaks” at predetermined points to maintain a consistent cut rate and long life.[/font]
[font=”IBM Plex Sans”, sans-serif]When selecting a resinoid-bonded abrasive wheel, consider that products made with a mixture of zirconia or ceramic alumina with a harder bond typically cost more but offer durability and longer consumable life.[/font]
[font=”IBM Plex Sans”, sans-serif]Make sure to refer to the manufacturer’s recommendations, product descriptions, and RPM ratings to select the proper wheel size and bonded abrasive material for your application. Matching the size and RPM rating of the tool to the size and RPM rating of the wheel is critical for safe and effective usage. Choosing the tool with the greatest amperage or amount of torque while staying within size and RPM requirements of the wheel will increase performance.[/font]
[font=”IBM Plex Sans”, sans-serif]The kind of tool and the tool guard that you use also are factors that play a role in the type of wheel that can be used for an application. A larger-diameter wheel works best if you’re cutting deep into metal or need to cut a piece with a large diameter, for example, because it eliminates the need to rock the wheel back and forth during the cutting process. Look for a wheel with the diameter designed for the size and thickness of material being cut.[/font]
[font=”IBM Plex Sans”, sans-serif]Thin wheels, such as aluminum cutting disc, on the other hand, tend to remove less metal during the cut and have shorter life spans, but provide a quicker cut. There are some exceptions to this as different versions of thin wheels are lasting longer, so be sure to do your research before you make a final decision to ensure the wheel you select maximizes efficiency.[/font]
[font=”IBM Plex Sans”, sans-serif]Specialty cutting wheels are also available that are designed for use with certain materials, such as stainless steel and aluminum.[/font]
[font=”IBM Plex Sans”, sans-serif]Proper Positioning and Other Tips[/font]
[font=”IBM Plex Sans”, sans-serif]In addition to paying attention to designations for RPM rating, size, and material, you should also follow these tips when using resinoid-bonded abrasive cutting wheels.[/font]

  • Use the cutting wheel at a 90-degree angle, perpendicular to the work surface.
  • Apply the proper amount of pressure—not too much, not too little—to allow the cutting wheel to do the work. Always avoid pushing too hard on the wheel, which can cause the grinder to stall or kick back or give you a much less efficient cutting action. It also increases the chances that you will slip or lose control of the tool, which can cause damage or injury.
  • Choose a grinder with the highest torque or amperage available for the application, as this will help the wheel to do more of the work. For example, instead of using a 4.5-in. Grinder cutting wheel on a 6-amp grinder, use a 4.5-in. wheel on a 10-amp grinder. The RPM rating remains the same, but the tool will provide more torque to cut into the metal.
  • Choose a tool and consumables that offer quick, consistent cutting, which typically provides the most efficient performance.
  • Remember, the thinner the cutting wheel, the more susceptible it can be to side loading, which is a term that describes when the wheel bends while moving side to side in the cut. This can turn dangerous if you lean too hard on a wheel, which can cause the wheel to break or jam in the cut. It can also reduce the efficiency of the wheel and increase the cut time.
  • Store the wheel in a clean, dry environment, and avoid placing it in water or mud. This helps minimize environmental effects that could degrade its performance or cause it to crack or wear prematurely. The performance of resinoid bond tends to deteriorate when the wheel is stored for extended periods of time, so be sure to use FIFO (first in, first out) when using wheels.
  • Inspect the wheel and consumable before each use to check for signs of damage or wear. Cutting wheels, including angle grinder cutting discs can become harder to control as they wear down. If you can no longer make a safe cut because the wheel’s diameter is worn so thin, then the best course of action is to replace it.

[font=NexusSerif, Georgia, “Times New Roman”, Times, STIXGeneral, “Cambria Math”, “Lucida Sans Unicode”, “Microsoft Sans Serif”, “Segoe UI Symbol”, “Arial Unicode MS”, serif]A grinding disc is defined by the type of abrasive material, bonding material, grain size, structure of the wheel, and grade of the wheel used for the machining of a component. These factors decide the grinding efficiency of the grinding wheel and surface finish quality of the machined component. A wide range of abrasives are being used in modern era to overcome necessities in machining of various make of components. Abrasives ranging from the economic verses of aluminium oxide to the likes of super-abrasives such as cubic boron nitride and the expensive diamond grains are used for machining as well as surfacing purposes. Over the years, research has depicted that no distinct abrasive material can meet all the requirements of grinding applications. The mechanical and physical properties of a particular abrasive material make it suitable for a certain application.[/font]

Wire Brushes

[font=”Open Sans”, sans-serif]A wheel wire brush is an abrasive tool that has stiff bristles made from a variety of rigid materials designed to clean and prepare metal surfaces. The filaments of wire brushes are small diameter pieces of inflexible material that are closely spaced together as a means for cleaning surfaces that require aggressive and abrasive tools. The means of applying the brush can be either manual or mechanical depending on the type of brush and the surface to be treated.[/font]
[font=”Open Sans”, sans-serif]The short video below explains the manufacturing of a unique type of wire brush called a wire drawn brush, which is a very sturdy and durable brush that is made by a process that ensures filament retention.[/font]

Unable to move discs in sequence – Tower of Hanoi (Animated) [on hold]

I am trying to move each disc automatically to its location. Basically show the user each step visually.

I am able to move a block horizontally but I am finding it difficult to move them all automatically in sequence.

What I used to print to text:

var poleA_X_Coord = '200px',   poleB_X_Coord = '600px',   poleC_X_Coord = '1000px';  var towerA_Y,     towerB_Y,     towerC_Y;    var disc1 = document.querySelector(".one");   var disc2 = document.querySelector(".two");   var disc3 = document.querySelector(".three");   var disc4 = document.querySelector(".four");   var disc5 = document.querySelector(".five");   var disc6 = document.querySelector(".six");   var disc7 = document.querySelector(".seven");   var disc8 = document.querySelector(".eight");    var discs = [disc1,disc2,disc3,disc4,disc5,disc6,disc7,disc8];    var poleA =  document.querySelector(".A");   var poleB =  document.querySelector(".B");   var poleC =  document.querySelector(".C");  function moveDisc(n, poleA, poleB, poleC) {    for (let i = 0; i < n; i++) {     if (n === 1) {       translateDisc(discs[i], poleC_X_Coord);     } else {       moveDisc(n - 1, poleA, poleC, poleB);       discs[i].style.transform = "translate(800px, 60px)"       moveDisc(n - 1, poleB, poleA, poleC);       discs[i].style.transform = "translate(800px, 60px)"     }   } }  function translateDisc(discs,moveTo) {   // get poleC x coord   // set translate transform using x and y above   //setTimeout    /*discs.style.transform = "translate ("+poleA_X_Coord+")";   discs.style.transform = "translate ("+poleB_X_Coord+")";   discs.style.transform = "translate ("+poleC_X_Coord+")";*/     disc1.style.transform = "translate(400px)";   disc2.style.transform = "translate(400px)";   disc3.style.transform = "translate(400px)"; }  function threeDiscs(totalDiscs) {   disc1.style.visibility = "visible";   disc2.style.visibility = "visible";   disc3.style.visibility = "visible";    poleA.style.height = "180px";   poleB.style.height = "180px";   poleC.style.height = "180px";      setTimeout(animate2,1000);  }  function animate2(){ disc1.style.transform = "translate(400px, 15px)"; disc2.style.transform = "translate(400px,15px)"; disc3.style.transform = "translate(400px,15px)"; }      function fourDiscs(totalDiscs) {   disc1.style.visibility = "visible";   disc2.style.visibility = "visible";   disc3.style.visibility = "visible";   disc4.style.visibility = "visible";    poleA.style.height = "200px";   poleB.style.height = "200px";   poleC.style.height = "200px"; }   function fiveDiscs(totalDiscs) {   disc1.style.visibility = "visible";   disc2.style.visibility = "visible";   disc3.style.visibility = "visible";   disc4.style.visibility = "visible";   disc5.style.visibility = "visible";    poleA.style.height ="220px";   poleB.style.height = "220px";   poleC.style.height = "220px"; }  function sixDiscs(totalDiscs) {   disc1.style.visibility = "visible";   disc2.style.visibility = "visible";   disc3.style.visibility = "visible";   disc4.style.visibility = "visible";   disc5.style.visibility = "visible";   disc6.style.visibility = "visible";    poleA.style.height ="240px";   poleB.style.height = "240px";   poleC.style.height = "240px"; }  function sevenDiscs(totalDiscs) {  // alert(totalDiscs);   disc1.style.visibility = "visible";   disc2.style.visibility = "visible";   disc3.style.visibility = "visible";   disc4.style.visibility = "visible";   disc5.style.visibility = "visible";   disc6.style.visibility = "visible";   disc7.style.visibility = "visible";    poleA.style.height ="260px";   poleB.style.height = "260px";   poleC.style.height = "260px"; }  function eightDiscs(totalDiscs) {  // alert(totalDiscs);  disc1.style.visibility = "visible";   disc2.style.visibility = "visible";   disc3.style.visibility = "visible";   disc4.style.visibility = "visible";   disc5.style.visibility = "visible";   disc6.style.visibility = "visible";   disc7.style.visibility = "visible";    disc8.style.visibility = "visible";    poleA.style.height ="280px";   poleB.style.height = "280px";   poleC.style.height = "280px"; }  function clearAll() {   window.location.reload(); }
/* General code styling */  header {   text-align: center;   text-decoration: underline;   background-color: #DDDDDD;   font-family: "Segoe Script", sans-serif;   font-size: 40px;   background-image: linear-gradient(#EFE2FF,#FED1FF) }  .try {   position: absolute;   text-align: center;   top: 655px;   width: 100%;  }  iframe {    background-color: gray;   position: absolute;   top: 800px;   left: 500px;   width: 550px;   height: 430px;   margin-bottom: 50px; }  .guide {   background-color: pink;   position: absolute;   top: 790px;   width: 245px;   left: 55px; }  .pattern {   position: absolute;   width: 229px;   overflow: auto;   height: 320px;   margin-top: 3px;   padding-left: 20px;   border: 3px dotted pink;   margin-bottom: 50px; }  .pattern:hover {         box-shadow: inset 0 0 7px 1px purple; }  .disc-selection {   text-align: center;   background-color: #FFFFFF;   font-family: 'Fira Code', sans-serif;     width: 100%;   background-color: #F0FFD1; }  .range-selection {   position: absolute;   top: 720px;   width: 100%;   background-color: #F0FFD1; }  .manual {    text-align: center; }   /* POLES  */  .pole {   position: absolute;   width: 10px;   background-color: black;   top: 200px; }  .A {   left: 200px; }  .B {   left: 600px; }  .C {   left: 1000px; }   /* DISCS */  .disc {   position: absolute;   height: 25px;   text-align: center;   color: #FFFFFF;   visibility: hidden; }  .eight {   width: 200px;   background-color: blue;   left: 100px;   top: 480px; }  .seven {   width: 175px;   background-color: red;   left: 110px;   top: 455px; }  .six {   width: 150px;   background-color: green;   left: 120px;   top: 430px; }  .five {   width: 125px;   background-color: darkgoldenrod;   left: 135px;   top: 405px; }  .four {   width: 100px;   background-color: indigo;   left: 150px;   top: 380px; }  .three {   width: 75px;   background-color: deeppink;   left: 165px;   top: 355px; }  .two {   width: 50px;   background-color: mediumpurple;   left: 175px;   top: 330px; }  .one {   width: 25px;   background-color: orange;   left: 190px;   top: 305px; }
<html>  <head>   <title>Tower Of Hanoi Solver </title>  </head>  <body>    <header title="This is the name of the game">Tower of Hanoi</header> <hr>   <div class="clock">     <div class="hand hour"></div>     <div class="hand minute"></div>     <div class="hand second"></div>   </div>   <div class="digital"></div>    <div class="disc-selection">     <label id="user-selection"> Select Number of Discs For Game Animation: </label>     <div class="selection" title="Select one of these numbers to display the relevant discs.">       <form method="GET">         <input id="three" name="three" onclick="threeDiscs(3)" style="width: 65px" type="button" value="3" />         <input id="four" name="four" onclick="fourDiscs(4)" style="width: 65px" type="button" value="4" />         <input id="five" name="five" onclick="fiveDiscs(5)" style="width: 65px" type="button" value="5" />         <input id="six" name="six" onclick="sixDiscs(6)" style="width: 65px" type="button" value="6" />         <input id="seven" name="seven" onclick="sevenDiscs(7)" style="width: 65px" type="button" value="7" />         <input id="eight" name="eight" onclick="eightDiscs(8)" style="width: 65px" type="button" value="8" />         <input id="clear" name="clear" onclick="clearAll()" style="width: 65px" type="button" value="Restart" title="Click this to clear blocks & restart" />         <input id="begin" name="begin" onclick="moveDisc(totalDiscs,'200px','600px','1000px')" style="width: 65px" type="button" value="Begin"/>       </form>       <hr>     </div>   </div>    <div class="game">   <div class="poles" title="These are the poles that the discs move between">     <div class="pole A"></div>     <div class="pole B"></div>     <div class="pole C"></div>   </div>    <div class="disc one">1</div>   <div class="disc two">2</div>   <div class="disc three">3</div>   <div class="disc four">4</div>   <div class="disc five">5</div>   <div class="disc six">6</div>   <div class="disc seven">7</div>   <div class="disc eight">8</div>    </div>  <!--   <div class="manual">     <header class="try">Try the game by yourself here! </header>     <div class="range-selection">       <form name="discSelectionSlider">         <label id="slider"="">Select number of discs for step-by-step instructions : </label>         <input type="range" name="discInputName" id="discInputId" value="4" min="3" max="8" oninput="discOutputId.value = discInputId.value">         <output name="discOutputName" id="discOutputId">4</output>         <br>         <input id="clear" name="clear" onclick="clearAll()" style="width: 65px" type="button" value="Restart" title="Click this to clear blocks & restart" />         <input id="discRange" name="discRange" onclick="moveDiscAlgorithm(discInputId.value,'a','b','c')" style="width: 65px" type="button" value="Enter"          title="Click this to set number of discs to play with" />       </form>     </div>      <div class="guide">       <h4 title="These are the steps to follow if you wish to solve it yourself."><u> Follow these steps to do it yourself : </u> </h4>       <div class="pattern"></div>     </div>       <iframe src="https://www.webgamesonline.com/towers-of-hanoi/index.php" name="iframe_a"></iframe>   </div> -->     <link type="text/css" href="clockStyle.css" rel="stylesheet" />   <link type="text/css" href="style.css" rel="stylesheet" />   <script type="application/javascript" src="script.js"></script>   <script type="application/javascript" src="showDiscs.js"></script>     <script type="application/javascript" src="digitalScript.js"></script>   <script type="application/javascript" src="analogueScript.js"></script>    </body>  </html>

function moveDiscAlgorithm(n, poleA, poleB, poleC) { if (n === 1) { document.querySelector(“.pattern”).innerHTML += (” Disc ” + n + ” moved from pole ” + poleA + ” >> ” + poleC); //move disc directly } else { moveDiscAlgorithm(n – 1, poleA, poleC, poleB); //narrowed through to the smallest disc/disc on top to move document.querySelector(“.pattern”).innerHTML += (” Disc ” + n + ” moved from pole ” + poleA + ” >> ” + poleC); //Returned from recursive call; continue where we left off moveDiscAlgorithm(n – 1, poleB, poleA, poleC); } }

I now need to do the same but make the visuals/blocks move.

Please help!