private static MDT.Tool ToPointed(MMT.Tool tool)
        {
            var t  = new MDT.PointedTool();
            var pt = tool as MMT.PointedTool;

            t.ConeHeight     = pt.ConeHeight;
            t.Diameter       = pt.Diameter;
            t.StraightLength = pt.StraightLength;
            t.UsefulLength   = pt.UsefulLength;

            UpdateBaseData(t, tool);

            return(t);
        }
        private MeshGeometry3D Build(MDT.PointedTool t)
        {
            var builder = new MeshBuilder();

            builder.AddCylinder(new Vector3(),
                                new Vector3(0.0f, 0.0f, -(float)t.StraightLength),
                                t.Diameter / 2.0);
            builder.AddCone(new Vector3(0.0f, 0.0f, -(float)t.StraightLength),
                            new Vector3(0.0f, 0.0f, -(float)(t.StraightLength + t.ConeHeight)),
                            t.Diameter / 2.0,
                            false,
                            20);

            return(builder.ToMesh());
        }