From cf1d995d2820886ca242e92345f97ae59ecaea2b Mon Sep 17 00:00:00 2001 From: iambossTC Date: Mon, 9 Jun 2025 12:43:43 +0800 Subject: [PATCH] tune clstrip lock. --- Geom/DemoBuildGeom.cs | 8 +-- .../DemoBuildGeomOnlyMachiningProject.cs | 21 +++--- Machining/DemoBuildMachiningProject.cs | 70 ++++++++----------- 3 files changed, 39 insertions(+), 60 deletions(-) diff --git a/Geom/DemoBuildGeom.cs b/Geom/DemoBuildGeom.cs index 39fa369..efeb65b 100644 --- a/Geom/DemoBuildGeom.cs +++ b/Geom/DemoBuildGeom.cs @@ -23,12 +23,8 @@ namespace Sample.Geom public static List GenGeoms() { Box3d box = new Box3d(0, 0, -50, 70, 50, 0); - Cylindroid cylindroid = new Cylindroid() - { - PairZrs = new List([ new PairZr(0,12),new PairZr(20,12), - new PairZr(20,16),new PairZr(30,16)]), - LongitudeNum = 30 - }; + Cylindroid cylindroid = new Cylindroid([ new PairZr(0,12),new PairZr(20,12), + new PairZr(20,16),new PairZr(30,16)]); Stl stl = new Stl("geom.stl"); StlFile stlFile = new StlFile("geom.stl"); TransformationGeom transformationGeom = new TransformationGeom() diff --git a/Machining/DemoBuildGeomOnlyMachiningProject.cs b/Machining/DemoBuildGeomOnlyMachiningProject.cs index 9e9d39a..a26aa6a 100644 --- a/Machining/DemoBuildGeomOnlyMachiningProject.cs +++ b/Machining/DemoBuildGeomOnlyMachiningProject.cs @@ -27,16 +27,15 @@ namespace Sample.Machining { MillingCutter millingCutter = new MillingCutter() { - UpperBeamGeom = new TransformationGeom() - }; - - double diameter_mm = 12; - millingCutter.ShaperProfile = new AptProfile(millingCutter, + UpperBeamGeom = new Cylindroid( + [new PairZr(40,6), new PairZr(90,6)]), + ShaperProfile = new AptProfile( new ColumnApt() { - Diameter_mm = diameter_mm, + Diameter_mm = 12, FluteHeight_mm = 40 - }); + }) + }; return millingCutter; } @@ -53,12 +52,8 @@ namespace Sample.Machining CylindroidHolder cylindroidHolder = new CylindroidHolder() { Note = "BT40", - Cylindroid = new Cylindroid() - { - PairZrs = new List([ new PairZr(0,12),new PairZr(20,12), - new PairZr(20,16),new PairZr(30,16)]), - LongitudeNum = 30 - } + Cylindroid = new Cylindroid([ new PairZr(0,12),new PairZr(20,12), + new PairZr(20,16),new PairZr(30,16)]) }; machiningProject.MachiningToolHouse = new MachiningToolHouse() { diff --git a/Machining/DemoBuildMachiningProject.cs b/Machining/DemoBuildMachiningProject.cs index 85f486d..4ea1c0a 100644 --- a/Machining/DemoBuildMachiningProject.cs +++ b/Machining/DemoBuildMachiningProject.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using Hi.Milling.Apts; using Hi.Common.XmlUtils; using Hi.Geom; @@ -39,40 +38,31 @@ namespace Sample.Machining CylindroidHolder cylindroidHolder = new CylindroidHolder() { Note = "BT40", - Cylindroid = new Cylindroid() - { - PairZrs = new List([ new PairZr(0,12),new PairZr(20,12), - new PairZr(20,16),new PairZr(30,16)]), - LongitudeNum = 30 - } + Cylindroid = new Cylindroid([ new PairZr(0,12),new PairZr(20,12), + new PairZr(20,16),new PairZr(30,16)]) }; #endregion return cylindroidHolder; } - #region CreateMillingCutter1 internal static MillingCutter CreateMillingCutter1() { - MillingCutter millingCutter = new MillingCutter() - { - UpperBeamGeom = new TransformationGeom(), - MillingCutterOptLimit = new MillingCutterOptLimit() - }; - // since the following properties of MillingCutter has self-invoke, - // they have to be seperated from the initializer syntex. - - //build ShaperProfile property double diameter_mm = 12; double roundRadius_mm = 0.5; - millingCutter.ShaperProfile = new AptProfile(millingCutter, - new ColumnApt() - { - Diameter_mm = diameter_mm, - Rc_mm = roundRadius_mm, - FluteHeight_mm = 40 - }); - + MillingCutter millingCutter = new MillingCutter() + { + ShaperProfile = new AptProfile( + new ColumnApt() + { + Diameter_mm = diameter_mm, + Rc_mm = roundRadius_mm, + FluteHeight_mm = 40 + }), + UpperBeamGeom = new ExtendedCylinder(90), + InnerBeamProfile = new FluteDependentRatioProfile(), + MillingCutterOptLimit = new MillingCutterOptLimit(), + }; //build FluteContourTray property double helixAngle_deg = 50; double radialRakeAngle_deg = 15; @@ -100,9 +90,6 @@ namespace Sample.Machining } }; - millingCutter.InnerBeamProfile - = new FluteDependentRatioProfile(millingCutter); - return millingCutter; } #endregion @@ -112,19 +99,17 @@ namespace Sample.Machining { MillingCutter millingCutter = new MillingCutter() { - UpperBeamGeom = new TransformationGeom(), + ShaperProfile = new AptProfile(new ColumnApt() + { + Diameter_mm = 12, + FluteHeight_mm = 40 + }), + UpperBeamGeom = new Cylindroid( + [new PairZr(40, 6), new PairZr(90, 6)]), + InnerBeamProfile = new FluteDependentRatioProfile(), MillingCutterOptLimit = new MillingCutterOptLimit() }; - //build ShaperProfile property - double diameter_mm = 12; - millingCutter.ShaperProfile = new AptProfile(millingCutter, - new ColumnApt() - { - Diameter_mm = diameter_mm, - FluteHeight_mm = 40 - }); - //build FluteContourTray property double helixAngle_deg = 50; double radialRakeAngle_deg = 15; @@ -143,13 +128,16 @@ namespace Sample.Machining } }; - millingCutter.InnerBeamProfile - = new FluteDependentRatioProfile(millingCutter); - return millingCutter; } #endregion + internal static CustomSpinningProfile CreateCustomSpinningProfile() + { + return new CustomSpinningProfile( + new Cylindroid(new PairZr(0, 4), new PairZr(50, 4))); + } + #region TestMethod [STAThread] static void Main()