tune clstrip lock.

This commit is contained in:
iambossTC 2025-06-09 12:43:43 +08:00
parent 69bc44bab2
commit cf1d995d28
3 changed files with 39 additions and 60 deletions

View File

@ -23,12 +23,8 @@ namespace Sample.Geom
public static List<IGetStl> GenGeoms() public static List<IGetStl> GenGeoms()
{ {
Box3d box = new Box3d(0, 0, -50, 70, 50, 0); Box3d box = new Box3d(0, 0, -50, 70, 50, 0);
Cylindroid cylindroid = new Cylindroid() Cylindroid cylindroid = new Cylindroid([ new PairZr(0,12),new PairZr(20,12),
{ new PairZr(20,16),new PairZr(30,16)]);
PairZrs = new List<PairZr>([ new PairZr(0,12),new PairZr(20,12),
new PairZr(20,16),new PairZr(30,16)]),
LongitudeNum = 30
};
Stl stl = new Stl("geom.stl"); Stl stl = new Stl("geom.stl");
StlFile stlFile = new StlFile("geom.stl"); StlFile stlFile = new StlFile("geom.stl");
TransformationGeom transformationGeom = new TransformationGeom() TransformationGeom transformationGeom = new TransformationGeom()

View File

@ -27,16 +27,15 @@ namespace Sample.Machining
{ {
MillingCutter millingCutter = new MillingCutter() MillingCutter millingCutter = new MillingCutter()
{ {
UpperBeamGeom = new TransformationGeom() UpperBeamGeom = new Cylindroid(
}; [new PairZr(40,6), new PairZr(90,6)]),
ShaperProfile = new AptProfile(
double diameter_mm = 12;
millingCutter.ShaperProfile = new AptProfile(millingCutter,
new ColumnApt() new ColumnApt()
{ {
Diameter_mm = diameter_mm, Diameter_mm = 12,
FluteHeight_mm = 40 FluteHeight_mm = 40
}); })
};
return millingCutter; return millingCutter;
} }
@ -53,12 +52,8 @@ namespace Sample.Machining
CylindroidHolder cylindroidHolder = new CylindroidHolder() CylindroidHolder cylindroidHolder = new CylindroidHolder()
{ {
Note = "BT40", Note = "BT40",
Cylindroid = new Cylindroid() Cylindroid = new Cylindroid([ new PairZr(0,12),new PairZr(20,12),
{ new PairZr(20,16),new PairZr(30,16)])
PairZrs = new List<PairZr>([ new PairZr(0,12),new PairZr(20,12),
new PairZr(20,16),new PairZr(30,16)]),
LongitudeNum = 30
}
}; };
machiningProject.MachiningToolHouse = new MachiningToolHouse() machiningProject.MachiningToolHouse = new MachiningToolHouse()
{ {

View File

@ -1,5 +1,4 @@
using System; using System;
using System.Collections.Generic;
using Hi.Milling.Apts; using Hi.Milling.Apts;
using Hi.Common.XmlUtils; using Hi.Common.XmlUtils;
using Hi.Geom; using Hi.Geom;
@ -39,40 +38,31 @@ namespace Sample.Machining
CylindroidHolder cylindroidHolder = new CylindroidHolder() CylindroidHolder cylindroidHolder = new CylindroidHolder()
{ {
Note = "BT40", Note = "BT40",
Cylindroid = new Cylindroid() Cylindroid = new Cylindroid([ new PairZr(0,12),new PairZr(20,12),
{ new PairZr(20,16),new PairZr(30,16)])
PairZrs = new List<PairZr>([ new PairZr(0,12),new PairZr(20,12),
new PairZr(20,16),new PairZr(30,16)]),
LongitudeNum = 30
}
}; };
#endregion #endregion
return cylindroidHolder; return cylindroidHolder;
} }
#region CreateMillingCutter1 #region CreateMillingCutter1
internal static MillingCutter 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 diameter_mm = 12;
double roundRadius_mm = 0.5; double roundRadius_mm = 0.5;
millingCutter.ShaperProfile = new AptProfile(millingCutter, MillingCutter millingCutter = new MillingCutter()
{
ShaperProfile = new AptProfile(
new ColumnApt() new ColumnApt()
{ {
Diameter_mm = diameter_mm, Diameter_mm = diameter_mm,
Rc_mm = roundRadius_mm, Rc_mm = roundRadius_mm,
FluteHeight_mm = 40 FluteHeight_mm = 40
}); }),
UpperBeamGeom = new ExtendedCylinder(90),
InnerBeamProfile = new FluteDependentRatioProfile(),
MillingCutterOptLimit = new MillingCutterOptLimit(),
};
//build FluteContourTray property //build FluteContourTray property
double helixAngle_deg = 50; double helixAngle_deg = 50;
double radialRakeAngle_deg = 15; double radialRakeAngle_deg = 15;
@ -100,9 +90,6 @@ namespace Sample.Machining
} }
}; };
millingCutter.InnerBeamProfile
= new FluteDependentRatioProfile(millingCutter);
return millingCutter; return millingCutter;
} }
#endregion #endregion
@ -112,19 +99,17 @@ namespace Sample.Machining
{ {
MillingCutter millingCutter = new MillingCutter() 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() 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 //build FluteContourTray property
double helixAngle_deg = 50; double helixAngle_deg = 50;
double radialRakeAngle_deg = 15; double radialRakeAngle_deg = 15;
@ -143,13 +128,16 @@ namespace Sample.Machining
} }
}; };
millingCutter.InnerBeamProfile
= new FluteDependentRatioProfile(millingCutter);
return millingCutter; return millingCutter;
} }
#endregion #endregion
internal static CustomSpinningProfile CreateCustomSpinningProfile()
{
return new CustomSpinningProfile(
new Cylindroid(new PairZr(0, 4), new PairZr(50, 4)));
}
#region TestMethod #region TestMethod
[STAThread] [STAThread]
static void Main() static void Main()