Compare commits

Author SHA1 Message Date
iambossandClaude Opus 5 fe55e87597 data: record the dt-side S50C training state
Seven new .mp fits from the fine/test sweeps (0.0001 .. 0.3), the S50C
workpiece material and CuttingParameter side-files they reference, the
schema-migrated S50C.hincproj, and the test-err-ratio project. These were
produced by runs on HiNC-1 and existed only in dt's working tree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 15:21:34 +08:00
20 changed files with 377 additions and 249 deletions
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C</Name>
<Note>S50C-fine-outlier-0.2. Built on 2025-01-17.</Note>
<Kse>781.9193047583416</Kse>
<Ksc>534.2515063930691</Ksc>
<Ksn>-1341.4299667097694</Ksn>
<Kpe>12.488024348568263</Kpe>
<Kpc>19.81313632613896</Kpc>
<Kpn>-20.852754261520523</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+2 -2
View File
@@ -7,10 +7,10 @@
<ChainCode>[O][B][w];[O][Y][X][Z][A][S][t]</ChainCode>
<IsVertical>true</IsVertical>
<TransformerX>
<DynamicTranslation Axis="(1, 0, 0)" Len="-20" />
<DynamicTranslation Axis="(1, 0, 0)" Len="0" />
</TransformerX>
<TransformerY>
<DynamicTranslation Axis="(0, 1, 0)" Len="-60" />
<DynamicTranslation Axis="(0, 1, 0)" Len="0" />
</TransformerY>
<TransformerZ>
<DynamicTranslation Axis="(0, 0, 1)" Len="0" />
-10
View File
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara2d>
<Name>S50C-2-fine-0.1.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 59.77%; FilteredSampleNum = 815940</Note>
<Ksc>587.1227668411768</Ksc>
<Ksn>-1464.4015004965706</Ksn>
<Kpc>25.582925097663253</Kpc>
<Kpn>-3.5401116760199125</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara2d>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara2d>
<Name>S50C-2-fine-0.3.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 55.68%; FilteredSampleNum = 634500</Note>
<Ksc>835.9393964937811</Ksc>
<Ksn>-1715.130695335738</Ksn>
<Kpc>2.6644883557656196</Kpc>
<Kpn>25.33143525147404</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara2d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara>
<Name>S50C-2.mp</Name>
<Note />
<Kse>721.4480844419355</Kse>
<Ksc>488.18658146979453</Ksc>
<Ksn>-1237.9229395005204</Ksn>
<Kpe>13.037775671993957</Kpe>
<Kpc>19.715961218949563</Kpc>
<Kpn>-21.762521868517958</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara>
-10
View File
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara2d>
<Name>S50C-2d.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 57.79%; FilteredSampleNum = 725220</Note>
<Ksc>776.7735765695861</Ksc>
<Ksn>-1701.0286467145884</Ksn>
<Kpc>8.185515874589065</Kpc>
<Kpn>20.118736350399548</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara2d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C-3-fine-0.01.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 95.60%; FilteredSampleNum = 897480</Note>
<Kse>756.0011397107872</Kse>
<Ksc>578.1852014605149</Ksc>
<Ksn>-1269.635543586671</Ksn>
<Kpe>12.937742653493165</Kpe>
<Kpc>20.98247082327636</Kpc>
<Kpn>-20.584080069799537</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C-3-fine-0.1.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.18%; FilteredSampleNum = 815940</Note>
<Kse>780.3669554854422</Kse>
<Ksc>596.9316596203435</Ksc>
<Ksn>-1310.417015838393</Ksn>
<Kpe>12.391230831194346</Kpe>
<Kpc>20.907192079571796</Kpc>
<Kpn>-19.681727830259238</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C-3-fine-0.3.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.28%; FilteredSampleNum = 634500</Note>
<Kse>763.3180746167471</Kse>
<Ksc>566.0043676932464</Ksc>
<Ksn>-1287.559686419554</Ksn>
<Kpe>11.883071961513604</Kpe>
<Kpc>21.802523813110582</Kpc>
<Kpn>-19.372653671987635</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C-3-test-0.0001.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 94.76%; FilteredSampleNum = 1814757</Note>
<Kse>764.3643665468655</Kse>
<Ksc>583.164258920612</Ksc>
<Ksn>-1282.345636177419</Ksn>
<Kpe>13.756805454814529</Kpe>
<Kpc>22.056273893144933</Kpc>
<Kpn>-21.96725029340066</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C-3-test-0.01.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 95.59%; FilteredSampleNum = 1797444</Note>
<Kse>779.5872688486478</Kse>
<Ksc>596.28930993024</Ksc>
<Ksn>-1309.5868403168329</Ksn>
<Kpe>13.324542326012962</Kpe>
<Kpc>21.64485174584508</Kpc>
<Kpn>-21.192715147229002</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara2d>
<Name>S50C-fine-0.05.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 60.40%; FilteredSampleNum = 861300</Note>
<Ksc>619.7559292263653</Ksc>
<Ksn>-1542.9923942107466</Ksn>
<Kpc>16.215754378180414</Kpc>
<Kpn>10.991111697078493</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara2d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C-fine.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.19%; FilteredSampleNum = 725220</Note>
<Kse>767.4540541691283</Kse>
<Ksc>577.5625378331987</Ksc>
<Ksn>-1295.7562085248198</Ksn>
<Kpe>12.105248061444964</Kpe>
<Kpc>21.088662078505013</Kpc>
<Kpn>-19.446881671931408</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara>
<Name>S50C-outlier-0.1.mp</Name>
<Note />
<Kse>742.950584437656</Kse>
<Ksc>490.8517248037793</Ksc>
<Ksn>-1283.4354748025762</Ksn>
<Kpe>11.6974327170165</Kpe>
<Kpc>19.66896167423929</Kpc>
<Kpn>-19.835968644919518</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara>
<Name>S50C-outlier-0.2.mp</Name>
<Note />
<Kse>758.6010210824404</Kse>
<Ksc>516.1247909594373</Ksc>
<Ksn>-1302.95910060132</Ksn>
<Kpe>12.15402056324717</Kpe>
<Kpc>19.20207770135865</Kpc>
<Kpn>-20.234413210618193</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara>
<Name>S50C-outlier-0.5.mp</Name>
<Note />
<Kse>751.3642344760983</Kse>
<Ksc>512.438657994816</Ksc>
<Ksn>-1290.9761068535777</Ksn>
<Kpe>12.29573220360363</Kpe>
<Kpc>19.020893816232572</Kpc>
<Kpn>-20.450088354259567</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara>
+11 -11
View File
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara3d>
<Name>S50C.mp</Name>
<Note>SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.18%; FilteredSampleNum = 815940</Note>
<Kse>804.9791868832534</Kse>
<Ksc>615.7074172303907</Ksc>
<Ksn>-1351.984666781255</Ksn>
<Kpe>12.759415000308216</Kpe>
<Kpc>21.565605681453548</Kpc>
<Kpn>-20.259194685261928</Kpn>
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara>
<Name>S50C</Name>
<Note>S50C-fine-outlier-0.2. Built on 2025-01-17.</Note>
<Kse>781.9193047583416</Kse>
<Ksc>534.2515063930691</Ksc>
<Ksn>-1341.4299667097694</Ksn>
<Kpe>12.488024348568263</Kpe>
<Kpc>19.81313632613896</Kpc>
<Kpn>-20.852754261520523</Kpn>
<AnchorRakeAngle_deg>8</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
</RakeFaceCuttingPara>
+175 -16
View File
@@ -8,6 +8,175 @@
<SpindleCapability>
<XmlSource>SpindleCapability/test3.SpindleCapability</XmlSource>
</SpindleCapability>
<MillingTool>
<Note>P-SE0604 (Speed Tiger)</Note>
<Holder>
<XmlSource>BT40-ER16-090.Holder</XmlSource>
</Holder>
<Cutter>
<MillingCutter>
<Name></Name>
<Note></Note>
<IntegralMode>SolidEnd</IntegralMode>
<ShaperProfile>
<AptProfile>
<Apt>
<ColumnApt>
<D>6</D>
<Rc>0</Rc>
<FluteH>16</FluteH>
</ColumnApt>
</Apt>
</AptProfile>
</ShaperProfile>
<InnerBeamProfile>
<FluteDependentRatioProfile>
<!--<ConstRatioProfile>
<RadiusRatio>0.6</RadiusRatio>
</ConstRatioProfile>-->
</FluteDependentRatioProfile>
</InnerBeamProfile>
<UpperBeamGeom>
<TransformationGeom>
<Transformer />
<Geom>
<Cylindroid>
<PairZr>(16,3)</PairZr>
<PairZr>(50,3)</PairZr>
</Cylindroid>
</Geom>
</TransformationGeom>
</UpperBeamGeom>
<LinearResolution_mm>0.015625</LinearResolution_mm>
<AngleResolution_deg>15</AngleResolution_deg>
<FluteContourTray>
<UniformContourTray>
<TrackNum>4</TrackNum>
<BaselineOneContour>
<FluteContour>
<SetupAngle_deg>0</SetupAngle_deg>
<BaseSideContour>
<ConstHelixSideContour>
<Helix_deg>35</Helix_deg>
<RadialRakeAngle_deg>8</RadialRakeAngle_deg>
<RadialReliefAngle_deg>5</RadialReliefAngle_deg>
</ConstHelixSideContour>
</BaseSideContour>
<BaseBottomContour />
</FluteContour>
</BaselineOneContour>
</UniformContourTray>
</FluteContourTray>
<FluteMaterial>
<CutterMaterial>
<Name>WC-Co6-800nm</Name>
<Note></Note>
<ElasticModulus_GPa>600</ElasticModulus_GPa>
<PoissonRatio>0</PoissonRatio>
<TensileStrength_MPa>1440</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>6.7</ThermalExpansionCoefficient_dMK>
<HeatConductivity_WdmK>70</HeatConductivity_WdmK>
<HeatCapacity_JdgK>0.34</HeatCapacity_JdgK>
<Density_gdcm3>14.95</Density_gdcm3>
<MeltingTemperature_K>3143.16</MeltingTemperature_K>
<FusionLatentHeat_Jdg>400</FusionLatentHeat_Jdg>
<FrictionCoefficient>0.44</FrictionCoefficient>
<TemperatureVsHardnessCurve>
<Entry Temperature_K="298.16">17500</Entry>
<Entry Temperature_K="873.16">14800</Entry>
<Entry Temperature_K="1013.16">12500</Entry>
<Entry Temperature_K="1173.16">10000</Entry>
</TemperatureVsHardnessCurve>
<TemperatureVsWearCoefficientCurve>
<Entry Temperature_K="298.16">1.19</Entry>
<Entry Temperature_K="473.16">1.86</Entry>
<Entry Temperature_K="673.1600000000001">7.1</Entry>
<Entry Temperature_K="873.1600000000001">25.7</Entry>
</TemperatureVsWearCoefficientCurve>
</CutterMaterial>
</FluteMaterial>
<ShankMaterial>
<CutterMaterial>
<Name>WC-Co6-800nm</Name>
<Note></Note>
<ElasticModulus_GPa>600</ElasticModulus_GPa>
<PoissonRatio>0</PoissonRatio>
<TensileStrength_MPa>1440</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>6.7</ThermalExpansionCoefficient_dMK>
<HeatConductivity_WdmK>70</HeatConductivity_WdmK>
<HeatCapacity_JdgK>0.34</HeatCapacity_JdgK>
<Density_gdcm3>14.95</Density_gdcm3>
<MeltingTemperature_K>3143.16</MeltingTemperature_K>
<FusionLatentHeat_Jdg>400</FusionLatentHeat_Jdg>
<FrictionCoefficient>0.44</FrictionCoefficient>
<TemperatureVsHardnessCurve>
<Entry Temperature_K="298.16">17500</Entry>
<Entry Temperature_K="873.16">14800</Entry>
<Entry Temperature_K="1013.16">12500</Entry>
<Entry Temperature_K="1173.16">10000</Entry>
</TemperatureVsHardnessCurve>
<TemperatureVsWearCoefficientCurve>
<Entry Temperature_K="298.16">1.19</Entry>
<Entry Temperature_K="473.16">1.86</Entry>
<Entry Temperature_K="673.1600000000001">7.1</Entry>
<Entry Temperature_K="873.1600000000001">25.7</Entry>
</TemperatureVsWearCoefficientCurve>
</CutterMaterial>
</ShankMaterial>
<CoatingLayerList>
<ThermalLayer1D>
<Material>
<CoatingMaterial>
<Name>TiAlN</Name>
<Note>Titanium Aluminum Nitride Coating</Note>
<ElasticModulus_GPa>500</ElasticModulus_GPa>
<PoissonRatio>0.25</PoissonRatio>
<TensileStrength_MPa>1350</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>7.5</ThermalExpansionCoefficient_dMK>
<HeatConductivity_WdmK>25</HeatConductivity_WdmK>
<HeatCapacity_JdgK>0.55</HeatCapacity_JdgK>
<Density_gdcm3>4.2</Density_gdcm3>
<MeltingTemperature_K>3273</MeltingTemperature_K>
<FusionLatentHeat_Jdg>380</FusionLatentHeat_Jdg>
<FrictionCoefficient>0.35</FrictionCoefficient>
<TemperatureVsHardnessCurve>
<Entry Temperature_K="298.16">25000</Entry>
<Entry Temperature_K="873.16">21000</Entry>
<Entry Temperature_K="1073.16">17000</Entry>
<Entry Temperature_K="1273.16">13000</Entry>
</TemperatureVsHardnessCurve>
<TemperatureVsWearCoefficientCurve>
<Entry Temperature_K="298.16">0.9</Entry>
<Entry Temperature_K="473.16">1.3</Entry>
<Entry Temperature_K="673.16">4.8</Entry>
<Entry Temperature_K="873.16">18.5</Entry>
</TemperatureVsWearCoefficientCurve>
<PreferedThickness_um>3</PreferedThickness_um>
</CoatingMaterial>
</Material>
<Length_mm>0.003</Length_mm>
</ThermalLayer1D>
</CoatingLayerList>
<ShankMass_g MassAssignmentMode="EvaluateByVolume">16.806603351650548</ShankMass_g>
<HoneRadius_um>30</HoneRadius_um>
<ReliefAngle_deg>5</ReliefAngle_deg>
<MillingCutterOptLimit>
<MillingCutterOptOption>
<EnableOpt>true</EnableOpt>
<YieldingSafetyFactor>2</YieldingSafetyFactor>
<EnableLimitByMinimumUncutChipThickness>true</EnableLimitByMinimumUncutChipThickness>
<EnableLimitByReliefAngle>true</EnableLimitByReliefAngle>
<MinFeedPerTooth_mm>0</MinFeedPerTooth_mm>
<MaxFeedPerTooth_mm>999</MaxFeedPerTooth_mm>
</MillingCutterOptOption>
</MillingCutterOptLimit>
</MillingCutter>
</Cutter>
<ExposedCutterHeight_mm>21</ExposedCutterHeight_mm>
<ObservationAnchorReference>SpindleBuckleAnc</ObservationAnchorReference>
<RelativeHeightFromObservationAnchor_mm>-56.6</RelativeHeightFromObservationAnchor_mm>
<ObservationRingRadius_mm>44.5</ObservationRingRadius_mm>
</MillingTool>
<Fixture>
<Fixture>
<Solid>
@@ -51,20 +220,10 @@
</WorkpieceGeomToFixtureBuckleTransformer>
<IdealGeom />
<CuttingPara>
<RakeFaceCuttingPara3d>
<Name>AA7075 (update on 20241219)</Name>
<Note>AA7075 (update on 20241219) exp on 2017</Note>
<Kse>347.79177234887237</Kse>
<Ksc>1605.0902189483</Ksc>
<Ksn>-1481.6923735052892</Ksn>
<Kpe>0.6751705314777301</Kpe>
<Kpc>0.9948729460349305</Kpc>
<Kpn>-0.7964217170018251</Kpn>
<AnchorRakeAngle_deg>NaN</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
<XmlSource>CuttingParameter/S50C.mp</XmlSource>
</CuttingPara>
<WorkpieceMaterial>
<XmlSource>WorkpieceMaterial/FC30.WorkpieceMaterial</XmlSource>
<XmlSource>WorkpieceMaterial/S50C.WorkpieceMaterial</XmlSource>
</WorkpieceMaterial>
</Workpiece>
</Workpiece>
@@ -335,14 +494,13 @@
<ScriptCommand>
<ScriptTitle>train</ScriptTitle>
<ScriptText>////一般設定////
MillingForceCycleDivisionNum=180;
MillingForceCycleDivisionNum=360;
MachiningResolution=0.125/8;
MachiningMotionResolution = FeedPerTooth;
EnableCollisionDetection = false; //是否啟用碰撞檢測開啟
EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停
EnablePhysics=true;
DefaultParaTemplateDimension=2;
DefaultParaTemplateDimension=3;
ClearTimeMappingData();
string dynamometerFile=$"./Managed/dynamometer-S50C/Exp09/Exp09.csv";
@@ -354,12 +512,13 @@ AddTimeDataByFile("high1",dynamometerFile,60.0392,60.9723);
AddTimeDataByFile("high2",dynamometerFile,64.3404,64.8226);
AddTimeDataByFile("high3",dynamometerFile,66.8694,67.2146);
//WriteRuntimeGeom("Cache/raw.wct"); //寫入暫存檔
//ReadRuntimeGeom("Cache/raw.wct"); //讀取暫存檔
PlayNcFile("NC/lines.nc");
var outlierRatio=0.1;
TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-fine-{outlierRatio}.mp",outlierRatio);
</ScriptText>
</ScriptCommand>
</Command>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<WorkpieceMaterial>
<Name>S50C</Name>
<Note></Note>
<ElasticModulus_GPa>205</ElasticModulus_GPa>
<PoissonRatio>0.28</PoissonRatio>
<CompressiveYieldStrength_MPa>580</CompressiveYieldStrength_MPa>
<TensileYieldStrength_MPa>540</TensileYieldStrength_MPa>
<ElogationRaioAtBreak>0.16</ElogationRaioAtBreak>
<HeatCapacity_JdgK>0.49</HeatCapacity_JdgK>
<HeatConductivity_WdmK>50</HeatConductivity_WdmK>
<Density_gdcm3>7.85</Density_gdcm3>
<FusionLatentHeat_Jdg>270</FusionLatentHeat_Jdg>
<MeltingTemperature_C>1495</MeltingTemperature_C>
</WorkpieceMaterial>
+22 -200
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<MachiningProject ApiVersion="3.1.447.0">
<MachiningProject ApiVersion="3.1.465.0">
<MachiningEquipment>
<MachiningEquipment>
<MachiningChain>
@@ -8,175 +8,6 @@
<SpindleCapability>
<XmlSource>SpindleCapability/test3.SpindleCapability</XmlSource>
</SpindleCapability>
<MillingTool>
<Note>P-SE0604 (Speed Tiger)</Note>
<Holder>
<XmlSource>BT40-ER16-090.Holder</XmlSource>
</Holder>
<Cutter>
<MillingCutter>
<Name></Name>
<Note></Note>
<IntegralMode>SolidEnd</IntegralMode>
<ShaperProfile>
<AptProfile>
<Apt>
<ColumnApt>
<D>6</D>
<Rc>0</Rc>
<FluteH>16</FluteH>
</ColumnApt>
</Apt>
</AptProfile>
</ShaperProfile>
<InnerBeamProfile>
<FluteDependentRatioProfile>
<!--<ConstRatioProfile>
<RadiusRatio>0.6</RadiusRatio>
</ConstRatioProfile>-->
</FluteDependentRatioProfile>
</InnerBeamProfile>
<UpperBeamGeom>
<TransformationGeom>
<Transformer />
<Geom>
<Cylindroid>
<PairZr>(16,3)</PairZr>
<PairZr>(50,3)</PairZr>
</Cylindroid>
</Geom>
</TransformationGeom>
</UpperBeamGeom>
<LinearResolution_mm>0.125</LinearResolution_mm>
<AngleResolution_deg>15</AngleResolution_deg>
<FluteContourTray>
<UniformContourTray>
<TrackNum>4</TrackNum>
<BaselineOneContour>
<FluteContour>
<SetupAngle_deg>0</SetupAngle_deg>
<BaseSideContour>
<ConstHelixSideContour>
<Helix_deg>35</Helix_deg>
<RadialRakeAngle_deg>8</RadialRakeAngle_deg>
<RadialReliefAngle_deg>5</RadialReliefAngle_deg>
</ConstHelixSideContour>
</BaseSideContour>
<BaseBottomContour />
</FluteContour>
</BaselineOneContour>
</UniformContourTray>
</FluteContourTray>
<FluteMaterial>
<CutterMaterial>
<Name>WC-Co6-800nm</Name>
<Note></Note>
<ElasticModulus_GPa>600</ElasticModulus_GPa>
<PoissonRatio>0</PoissonRatio>
<TensileStrength_MPa>1440</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>6.7</ThermalExpansionCoefficient_dMK>
<HeatConductivity_WdmK>70</HeatConductivity_WdmK>
<HeatCapacity_JdgK>0.34</HeatCapacity_JdgK>
<Density_gdcm3>14.95</Density_gdcm3>
<MeltingTemperature_K>3143.16</MeltingTemperature_K>
<FusionLatentHeat_Jdg>400</FusionLatentHeat_Jdg>
<FrictionCoefficient>0.44</FrictionCoefficient>
<TemperatureVsHardnessCurve>
<Entry Temperature_K="298.16">17500</Entry>
<Entry Temperature_K="873.16">14800</Entry>
<Entry Temperature_K="1013.16">12500</Entry>
<Entry Temperature_K="1173.16">10000</Entry>
</TemperatureVsHardnessCurve>
<TemperatureVsWearCoefficientCurve>
<Entry Temperature_K="298.16">1.19</Entry>
<Entry Temperature_K="473.16">1.86</Entry>
<Entry Temperature_K="673.1600000000001">7.1</Entry>
<Entry Temperature_K="873.1600000000001">25.7</Entry>
</TemperatureVsWearCoefficientCurve>
</CutterMaterial>
</FluteMaterial>
<ShankMaterial>
<CutterMaterial>
<Name>WC-Co6-800nm</Name>
<Note></Note>
<ElasticModulus_GPa>600</ElasticModulus_GPa>
<PoissonRatio>0</PoissonRatio>
<TensileStrength_MPa>1440</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>6.7</ThermalExpansionCoefficient_dMK>
<HeatConductivity_WdmK>70</HeatConductivity_WdmK>
<HeatCapacity_JdgK>0.34</HeatCapacity_JdgK>
<Density_gdcm3>14.95</Density_gdcm3>
<MeltingTemperature_K>3143.16</MeltingTemperature_K>
<FusionLatentHeat_Jdg>400</FusionLatentHeat_Jdg>
<FrictionCoefficient>0.44</FrictionCoefficient>
<TemperatureVsHardnessCurve>
<Entry Temperature_K="298.16">17500</Entry>
<Entry Temperature_K="873.16">14800</Entry>
<Entry Temperature_K="1013.16">12500</Entry>
<Entry Temperature_K="1173.16">10000</Entry>
</TemperatureVsHardnessCurve>
<TemperatureVsWearCoefficientCurve>
<Entry Temperature_K="298.16">1.19</Entry>
<Entry Temperature_K="473.16">1.86</Entry>
<Entry Temperature_K="673.1600000000001">7.1</Entry>
<Entry Temperature_K="873.1600000000001">25.7</Entry>
</TemperatureVsWearCoefficientCurve>
</CutterMaterial>
</ShankMaterial>
<CoatingLayerList>
<ThermalLayer1D>
<Material>
<CoatingMaterial>
<Name>TiAlN</Name>
<Note>Titanium Aluminum Nitride Coating</Note>
<ElasticModulus_GPa>500</ElasticModulus_GPa>
<PoissonRatio>0.25</PoissonRatio>
<TensileStrength_MPa>1350</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>7.5</ThermalExpansionCoefficient_dMK>
<HeatConductivity_WdmK>25</HeatConductivity_WdmK>
<HeatCapacity_JdgK>0.55</HeatCapacity_JdgK>
<Density_gdcm3>4.2</Density_gdcm3>
<MeltingTemperature_K>3273</MeltingTemperature_K>
<FusionLatentHeat_Jdg>380</FusionLatentHeat_Jdg>
<FrictionCoefficient>0.35</FrictionCoefficient>
<TemperatureVsHardnessCurve>
<Entry Temperature_K="298.16">25000</Entry>
<Entry Temperature_K="873.16">21000</Entry>
<Entry Temperature_K="1073.16">17000</Entry>
<Entry Temperature_K="1273.16">13000</Entry>
</TemperatureVsHardnessCurve>
<TemperatureVsWearCoefficientCurve>
<Entry Temperature_K="298.16">0.9</Entry>
<Entry Temperature_K="473.16">1.3</Entry>
<Entry Temperature_K="673.16">4.8</Entry>
<Entry Temperature_K="873.16">18.5</Entry>
</TemperatureVsWearCoefficientCurve>
<PreferedThickness_um>3</PreferedThickness_um>
</CoatingMaterial>
</Material>
<Length_mm>0.003</Length_mm>
</ThermalLayer1D>
</CoatingLayerList>
<ShankMass_g MassAssignmentMode="EvaluateByVolume">16.806603351650548</ShankMass_g>
<HoneRadius_um>30</HoneRadius_um>
<ReliefAngle_deg>5</ReliefAngle_deg>
<MillingCutterOptLimit>
<MillingCutterOptOption>
<EnableOpt>true</EnableOpt>
<YieldingSafetyFactor>2</YieldingSafetyFactor>
<EnableLimitByMinimumUncutChipThickness>true</EnableLimitByMinimumUncutChipThickness>
<EnableLimitByReliefAngle>true</EnableLimitByReliefAngle>
<MinFeedPerTooth_mm>0</MinFeedPerTooth_mm>
<MaxFeedPerTooth_mm>999</MaxFeedPerTooth_mm>
</MillingCutterOptOption>
</MillingCutterOptLimit>
</MillingCutter>
</Cutter>
<ExposedCutterHeight_mm>21</ExposedCutterHeight_mm>
<ObservationAnchorReference>SpindleBuckleAnc</ObservationAnchorReference>
<RelativeHeightFromObservationAnchor_mm>-56.6</RelativeHeightFromObservationAnchor_mm>
<ObservationRingRadius_mm>44.5</ObservationRingRadius_mm>
</MillingTool>
<Fixture>
<Fixture>
<Solid>
@@ -220,20 +51,10 @@
</WorkpieceGeomToFixtureBuckleTransformer>
<IdealGeom />
<CuttingPara>
<RakeFaceCuttingPara3d>
<Name>AA7075 (update on 20241219)</Name>
<Note>AA7075 (update on 20241219) exp on 2017</Note>
<Kse>347.79177234887237</Kse>
<Ksc>1605.0902189483</Ksc>
<Ksn>-1481.6923735052892</Ksn>
<Kpe>0.6751705314777301</Kpe>
<Kpc>0.9948729460349305</Kpc>
<Kpn>-0.7964217170018251</Kpn>
<AnchorRakeAngle_deg>NaN</AnchorRakeAngle_deg>
</RakeFaceCuttingPara3d>
<XmlSource>CuttingParameter/S50C.mp</XmlSource>
</CuttingPara>
<WorkpieceMaterial>
<XmlSource>WorkpieceMaterial/FC30.WorkpieceMaterial</XmlSource>
<XmlSource>WorkpieceMaterial/S50C.WorkpieceMaterial</XmlSource>
</WorkpieceMaterial>
</Workpiece>
</Workpiece>
@@ -289,7 +110,7 @@
</Geom>
</TransformationGeom>
</UpperBeamGeom>
<LinearResolution_mm>0.125</LinearResolution_mm>
<LinearResolution_mm>0.015625</LinearResolution_mm>
<AngleResolution_deg>15</AngleResolution_deg>
<FluteContourTray>
<UniformContourTray>
@@ -485,8 +306,8 @@
<CsvRunnerConfig>
<LineBeginCsScriptTag>LineBeginCsScript</LineBeginCsScriptTag>
<LineEndCsScriptTag>LineEndCsScript</LineEndCsScriptTag>
<MachineCoordinatePrefixTag>MC.</MachineCoordinatePrefixTag>
<CutterLocationPrefixTag>CL.</CutterLocationPrefixTag>
<MachineCoordinatePrefix>MC.</MachineCoordinatePrefix>
<CutterLocationPrefix>CL.</CutterLocationPrefix>
<ToolIdTag>ToolId</ToolIdTag>
<SpindleSpeedTag_rpm>SpindleSpeed_rpm</SpindleSpeedTag_rpm>
<SpindleDirectionTag>Spd.Dir.</SpindleDirectionTag>
@@ -504,14 +325,13 @@
<ScriptCommand>
<ScriptTitle>train</ScriptTitle>
<ScriptText>////一般設定////
MillingForceCycleDivisionNum=180;
MachiningResolution=0.125;
MillingForceCycleDivisionNum=360;
MachiningResolution=0.125/8;
MachiningMotionResolution = FeedPerTooth;
EnableCollisionDetection = false; //是否啟用碰撞檢測開啟
EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停
EnablePhysics=true;
DefaultParaTemplateDimension=2;
DefaultParaTemplateDimension=3;
ClearTimeMappingData();
string dynamometerFile=$"./Managed/dynamometer-S50C/Exp09/Exp09.csv";
@@ -523,11 +343,12 @@ AddTimeDataByFile("high1",dynamometerFile,60.0392,60.9723);
AddTimeDataByFile("high2",dynamometerFile,64.3404,64.8226);
AddTimeDataByFile("high3",dynamometerFile,66.8694,67.2146);
//WriteRuntimeGeom("Cache/raw.wct"); //寫入暫存檔
//ReadRuntimeGeom("Cache/raw.wct"); //讀取暫存檔
PlayNcFile("NC/lines.nc");
var outlierRatio=0.1;
TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-fine-{outlierRatio}.mp",outlierRatio);
var outlierRatio=0.01;
TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-test-{outlierRatio}.mp",outlierRatio);
</ScriptText>
</ScriptCommand>
@@ -584,18 +405,20 @@ TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-fine-{ou
</Entrys>
</TimeMapping>
</TimeMapping>
<EnableCollisionDetection>false</EnableCollisionDetection>
<EnablePauseOnFailure>false</EnablePauseOnFailure>
<EnableStrokeLimitCheck>true</EnableStrokeLimitCheck>
<MillingActRunnerConfig>
<MillingActRunnerConfig>
<MachiningActRunnerConfig>
<MachiningActRunnerConfig>
<EnableStrokeLimitCheck>true</EnableStrokeLimitCheck>
<EnableCollisionDetection>false</EnableCollisionDetection>
<EnablePauseOnFailure>false</EnablePauseOnFailure>
<EnablePhysics>true</EnablePhysics>
<EnableWearEffect>false</EnableWearEffect>
<EnableDeflectionTransformation>false</EnableDeflectionTransformation>
<MachiningMotionResolution>
<FeedPerToothMachiningMotionResolution />
</MachiningMotionResolution>
<InitSpindleTemperature_C>35</InitSpindleTemperature_C>
</MillingActRunnerConfig>
</MillingActRunnerConfig>
</MachiningActRunnerConfig>
</MachiningActRunnerConfig>
<InspectingKey>TrainingErrRatio</InspectingKey>
<MillingGuide>
<MillingGuide>
@@ -835,5 +658,4 @@ TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-fine-{ou
</ClStripChartConfig>
</MillingGuide>
</MillingGuide>
<NcOptProc />
</MachiningProject>