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); }