private MeshGeometry3D Build(MDT.DiskTool t)
        {
            var builder = new MeshBuilder();
            var d       = Math.Abs(t.BodyThickness - t.CuttingThickness) / 2.0;
            var r1      = t.Diameter / 2.0 - t.CuttingRadialThickness;
            var profile = new[]
            {
                new SharpDX.Vector2(0.0f, 10.0f),
                new SharpDX.Vector2(0.0f, (float)r1),
                new SharpDX.Vector2((float)(-d), (float)r1),
                new SharpDX.Vector2((float)(-d), (float)(t.Diameter / 2.0)),
                new SharpDX.Vector2((float)(t.BodyThickness + d), (float)(t.Diameter / 2.0)),
                new SharpDX.Vector2((float)(t.BodyThickness + d), (float)r1),
                new SharpDX.Vector2((float)t.BodyThickness, (float)r1),
                new SharpDX.Vector2((float)t.BodyThickness, 10.0f)
            };

            builder.AddRevolvedGeometry(profile.ToList(),
                                        null,
                                        new Vector3(),
                                        new Vector3(0.0f, 0.0f, -1.0f),
                                        100);

            return(builder.ToMesh());
        }
        private static MDT.Tool ToDisk(MMT.Tool tool)
        {
            var t  = new MDT.DiskTool();
            var dt = tool as MMT.DiskTool;

            t.Diameter = dt.Diameter;
            t.CuttingRadialThickness = dt.CuttingRadialThickness;
            t.BodyThickness          = dt.BodyThickness;
            t.CuttingThickness       = dt.CuttingThickness;
            t.RadialUsefulLength     = dt.RadialUsefulLength;

            UpdateBaseData(t, tool);

            return(t);
        }