refine demo

This commit is contained in:
iamboss 2024-09-05 10:31:21 +08:00
parent 8780b27ca1
commit 0a45534ba8
14 changed files with 165311 additions and 3655 deletions

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<WorkpieceMaterial>
<Name>Al6061T6</Name>
<Note>Al6061T6</Note>
<ElasticModulus_GPa>68.9</ElasticModulus_GPa>
<CompressiveYieldStrength_MPa>386</CompressiveYieldStrength_MPa>
<TensileYieldStrength_MPa>276</TensileYieldStrength_MPa>

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RakeFaceCuttingPara>
<Name>Al6061T6</Name>
<Note></Note>
<Kse>141.27</Kse>
<Ksc>241.1</Ksc>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<MillingCourse ApiVersion="1.3.430.0">
<MillingCourse ApiVersion="3.1.164.0">
<MillingEquipment>
<MachiningEquipment>
<SolidMachiningChain>
@ -7,6 +7,8 @@
</SolidMachiningChain>
<SpindleCapability>
<SpindleCapability>
<Name>NoName</Name>
<Note />
<SpindleSpeedToPower--RPM-to-kW>
<Entry SpindleSpeed-RPM="0">0</Entry>
<Entry SpindleSpeed-RPM="1500">5.5</Entry>
@ -30,7 +32,7 @@
<StickHolder>
<Cylindroid LongitudeNum="12">
<PairZr>(0,10)</PairZr>
<PairZr>(50,10)</PairZr>
<PairZr>(30,10)</PairZr>
</Cylindroid>
<Note></Note>
</StickHolder>
@ -43,7 +45,7 @@
<ColumnApt>
<D>12</D>
<Rc>0.5</Rc>
<FluteH>40</FluteH>
<FluteH>20</FluteH>
</ColumnApt>
</Apt>
</AptProfile>
@ -51,7 +53,7 @@
<InnerBeamProfile>
<FluteDependentRatioProfile>
<!--<ConstRatioProfile>
<RadiusRatio />
<RadiusRatio>0.56</RadiusRatio>
</ConstRatioProfile>-->
</FluteDependentRatioProfile>
</InnerBeamProfile>
@ -60,13 +62,13 @@
<Transformer />
<Geom>
<Cylindroid LongitudeNum="12">
<PairZr>(40,6)</PairZr>
<PairZr>(80,6)</PairZr>
<PairZr>(20,6)</PairZr>
<PairZr>(75,6)</PairZr>
</Cylindroid>
</Geom>
</TransformationGeom>
</UpperBeamGeom>
<LinearResolution_mm>0.5</LinearResolution_mm>
<LinearResolution_mm>0.03125</LinearResolution_mm>
<AngleResolution_deg>15</AngleResolution_deg>
<FluteContourTray>
<UniformContourTray>
@ -158,8 +160,6 @@
</Geom>
</TransformationGeom>
</IdealGeom>
<DetectionRadius>1</DetectionRadius>
<IsDisplayIdealGeomOnDefaultDisplay>false</IsDisplayIdealGeomOnDefaultDisplay>
<MillingPara>
<XmlSource>Al6061T6.mp</XmlSource>
</MillingPara>
@ -186,7 +186,7 @@
<StickHolder>
<Cylindroid LongitudeNum="12">
<PairZr>(0,10)</PairZr>
<PairZr>(50,10)</PairZr>
<PairZr>(30,10)</PairZr>
</Cylindroid>
<Note></Note>
</StickHolder>
@ -199,7 +199,7 @@
<ColumnApt>
<D>12</D>
<Rc>0.5</Rc>
<FluteH>40</FluteH>
<FluteH>20</FluteH>
</ColumnApt>
</Apt>
</AptProfile>
@ -207,7 +207,7 @@
<InnerBeamProfile>
<FluteDependentRatioProfile>
<!--<ConstRatioProfile>
<RadiusRatio />
<RadiusRatio>0.56</RadiusRatio>
</ConstRatioProfile>-->
</FluteDependentRatioProfile>
</InnerBeamProfile>
@ -216,13 +216,13 @@
<Transformer />
<Geom>
<Cylindroid LongitudeNum="12">
<PairZr>(40,6)</PairZr>
<PairZr>(80,6)</PairZr>
<PairZr>(20,6)</PairZr>
<PairZr>(75,6)</PairZr>
</Cylindroid>
</Geom>
</TransformationGeom>
</UpperBeamGeom>
<LinearResolution_mm>0.5</LinearResolution_mm>
<LinearResolution_mm>0.03125</LinearResolution_mm>
<AngleResolution_deg>15</AngleResolution_deg>
<FluteContourTray>
<UniformContourTray>
@ -285,12 +285,12 @@
<MillingToolOffsetTableRow>
<IdealRadius_mm>6</IdealRadius_mm>
<RadialWear_mm>0</RadialWear_mm>
<IdealHeight_mm>98</IdealHeight_mm>
<IdealHeight_mm>58</IdealHeight_mm>
<AxialWear_mm>0</AxialWear_mm>
</MillingToolOffsetTableRow>
</Entry>
</MillingToolOffsetTable>
<EnableRotaryDependentToolHeightCompensation>false</EnableRotaryDependentToolHeightCompensation>
<SetToolHeightCompensationOnFeatureNormal>false</SetToolHeightCompensationOnFeatureNormal>
<EnableShortestRotary>true</EnableShortestRotary>
<EnableArcCornerRadiusCompensation>false</EnableArcCornerRadiusCompensation>
<StrokeLimitXYZ_mm>
@ -332,13 +332,86 @@
</IsoCoordinateTable>
</NcEnv>
</NcEnv>
<RootListCommand>
<ListCommand>
<CommandEntryList>
<CommandEntry IsEnabled="false">
<Command>
<ScriptCommand>
<ScriptFile>Script/Exp.cs</ScriptFile>
</ScriptCommand>
</Command>
</CommandEntry>
<CommandEntry IsEnabled="true">
<Command>
<ScriptCommand>
<ScriptTitle>一般設定</ScriptTitle>
<ScriptText>DispCacheMb = 260; //顯示暫存大小
MachiningResolution = 0.25; //仿真解析度
EnableCollisionDetection = true; //碰撞檢測開啟
EnablePauseOnCollision = false; //檢測碰撞不暫停</ScriptText>
</ScriptCommand>
</Command>
</CommandEntry>
<CommandEntry IsEnabled="true">
<Command>
<ScriptCommand>
<ScriptTitle>進給率優化設定</ScriptTitle>
<ScriptText>OptEnableInterpolation = true; //是否要重新插補,增加路徑線段加減速
OptRapidFeed_mmdmin = 4000; //無切削區域進給
OptMinFeedrate_mmdmin = 100; //有切削區域最小進給
OptMaxFeedrate_mmdmin = 4000; //有切削區域最大進給
OptMaxAcceleration_mmds2 = 10; //加減速限制
OptExtendedPreDistance_mm = 3; //有切削區域等效計算的前長度
OptExtendedPostDistance_mm = 2; //有切削區域等效計算的後長度
OptSpindlePowerSafetyFactor = 1.5; //主軸功率安全係數
OptSpindleTorqueSafetyFactor = 1.5; //主軸扭力安全係數
OptPreferedForce_N = double.PositiveInfinity; //優化目標力</ScriptText>
</ScriptCommand>
</Command>
</CommandEntry>
<CommandEntry IsEnabled="true">
<Command>
<NcFileListCommand>
<File>NC/circle.ptp</File>
<File>NC/drill_slot.ptp</File>
<File>NC/side.ptp</File>
<File>NC/slide.ptp</File>
</NcFileListCommand>
</Command>
</CommandEntry>
<CommandEntry IsEnabled="true">
<Command>
<OptimizeToFilesCommand>
<RelFileTemplate>Cache/Opt-[NcName]</RelFileTemplate>
</OptimizeToFilesCommand>
</Command>
</CommandEntry>
<CommandEntry IsEnabled="true">
<Command>
<WriteShotFilesCommand>
<RelFileTemplate>Cache/[NcName].shot.csv</RelFileTemplate>
<TimeResolution_ms>1</TimeResolution_ms>
</WriteShotFilesCommand>
</Command>
</CommandEntry>
<CommandEntry IsEnabled="false">
<Command>
<GeomDiffCommand>
<DetectRadius_mm>1</DetectRadius_mm>
</GeomDiffCommand>
</Command>
</CommandEntry>
</CommandEntryList>
</ListCommand>
</RootListCommand>
<TimeMapping>
<TimeMapping>
<Entrys />
</TimeMapping>
</TimeMapping>
<EnableCollisionDetection>true</EnableCollisionDetection>
<EnablePauseOnCollision>true</EnablePauseOnCollision>
<EnablePauseOnCollision>false</EnablePauseOnCollision>
<MillingActRunnerConfig>
<MillingActRunnerConfig>
<IsMillingForceEvaluationEnabled>true</IsMillingForceEvaluationEnabled>
@ -350,12 +423,12 @@
</NcResolution>
</MillingActRunnerConfig>
</MillingActRunnerConfig>
<InspectingKey>Feedrate_mmdmin</InspectingKey>
<InspectingKey>MaxTipDeflectionOnToolRunningCoordinate_um.Y</InspectingKey>
<MillingGuide>
<MillingGuide>
<DictionaryColorGuide>
<DictionaryColorGuide>
<SelectedKey>Feedrate_mmdmin</SelectedKey>
<SelectedKey>MaxTipDeflectionOnToolRunningCoordinate_um.Y</SelectedKey>
<KeyToColorGuide>
<Entry Key="Feedrate_mmdmin">
<FuncRangeColorGuide>
@ -367,6 +440,56 @@
</RangeColorRule>
</FuncRangeColorGuide>
</Entry>
<Entry Key="DeltaTipDeflectionOnToolRunningCoordinate_um.Y">
<FuncRangeColorGuide>
<RangeColorRule>
<!--Available options: NormalizedPositiveErf, NormalizedErf, Linear-->
<RatioRgbFuncEnum>Linear</RatioRgbFuncEnum>
<Floor>0</Floor>
<Ceiling>1</Ceiling>
</RangeColorRule>
</FuncRangeColorGuide>
</Entry>
<Entry Key="MaxTipDeflectionOnToolRunningCoordinate_um.Y">
<FuncRangeColorGuide>
<RangeColorRule>
<!--Available options: NormalizedPositiveErf, NormalizedErf, Linear-->
<RatioRgbFuncEnum>NormalizedPositiveErf</RatioRgbFuncEnum>
<Floor>-0.1</Floor>
<Ceiling>0.5</Ceiling>
</RangeColorRule>
</FuncRangeColorGuide>
</Entry>
<Entry Key="MaxTipDeflectionOnToolRunningCoordinate_um.X">
<FuncRangeColorGuide>
<RangeColorRule>
<!--Available options: NormalizedPositiveErf, NormalizedErf, Linear-->
<RatioRgbFuncEnum>Linear</RatioRgbFuncEnum>
<Floor>0</Floor>
<Ceiling>1</Ceiling>
</RangeColorRule>
</FuncRangeColorGuide>
</Entry>
<Entry Key="MaxTipDeflectionOnToolRunningCoordinate_um.Z">
<FuncRangeColorGuide>
<RangeColorRule>
<!--Available options: NormalizedPositiveErf, NormalizedErf, Linear-->
<RatioRgbFuncEnum>Linear</RatioRgbFuncEnum>
<Floor>-0.3</Floor>
<Ceiling>0.3</Ceiling>
</RangeColorRule>
</FuncRangeColorGuide>
</Entry>
<Entry Key="AvgAbsTorque_Nm">
<FuncRangeColorGuide>
<RangeColorRule>
<!--Available options: NormalizedPositiveErf, NormalizedErf, Linear-->
<RatioRgbFuncEnum>Linear</RatioRgbFuncEnum>
<Floor>0</Floor>
<Ceiling>1</Ceiling>
</RangeColorRule>
</FuncRangeColorGuide>
</Entry>
</KeyToColorGuide>
</DictionaryColorGuide>
</DictionaryColorGuide>
@ -416,6 +539,61 @@
</TimeChartYConfig>
</ClStripChartItemConfig>
</Entry>
<Entry Key="DeltaTipDeflectionOnToolRunningCoordinate_um.Y">
<ClStripChartItemConfig>
<TimeChartYConfig>
<VRangeMode>Fit</VRangeMode>
<VRange>
<Min>0</Min>
<Max>1</Max>
</VRange>
</TimeChartYConfig>
</ClStripChartItemConfig>
</Entry>
<Entry Key="MaxTipDeflectionOnToolRunningCoordinate_um.Y">
<ClStripChartItemConfig>
<TimeChartYConfig>
<VRangeMode>Fit</VRangeMode>
<VRange>
<Min>0</Min>
<Max>1</Max>
</VRange>
</TimeChartYConfig>
</ClStripChartItemConfig>
</Entry>
<Entry Key="MaxTipDeflectionOnToolRunningCoordinate_um.X">
<ClStripChartItemConfig>
<TimeChartYConfig>
<VRangeMode>Fit</VRangeMode>
<VRange>
<Min>0</Min>
<Max>1</Max>
</VRange>
</TimeChartYConfig>
</ClStripChartItemConfig>
</Entry>
<Entry Key="MaxTipDeflectionOnToolRunningCoordinate_um.Z">
<ClStripChartItemConfig>
<TimeChartYConfig>
<VRangeMode>Fit</VRangeMode>
<VRange>
<Min>0</Min>
<Max>1</Max>
</VRange>
</TimeChartYConfig>
</ClStripChartItemConfig>
</Entry>
<Entry Key="AvgAbsTorque_Nm">
<ClStripChartItemConfig>
<TimeChartYConfig>
<VRangeMode>Fit</VRangeMode>
<VRange>
<Min>0</Min>
<Max>1</Max>
</VRange>
</TimeChartYConfig>
</ClStripChartItemConfig>
</Entry>
</ItemConfigDictionary>
</ClStripChartConfig>
</ClStripChartConfig>
@ -423,14 +601,14 @@
<EnableOpt>true</EnableOpt>
<EnableOptFeedrate>true</EnableOptFeedrate>
<EnableDepthSplition>true</EnableDepthSplition>
<ExtendedPreDistance_mm>0</ExtendedPreDistance_mm>
<ExtendedPostDistance_mm>0</ExtendedPostDistance_mm>
<ExtendedPreDistance_mm>3</ExtendedPreDistance_mm>
<ExtendedPostDistance_mm>2</ExtendedPostDistance_mm>
<EnableInterpolation>true</EnableInterpolation>
<MinFeedrate_mmdmin>1</MinFeedrate_mmdmin>
<MaxFeedrate_mmdmin>20000</MaxFeedrate_mmdmin>
<RapidFeed_mmdmin>20000</RapidFeed_mmdmin>
<MinFeedrate_mmdmin>100</MinFeedrate_mmdmin>
<MaxFeedrate_mmdmin>4000.0000000000005</MaxFeedrate_mmdmin>
<RapidFeed_mmdmin>4000</RapidFeed_mmdmin>
<MaxAcceleration_mmds2>10</MaxAcceleration_mmds2>
<PreferedForce_N>800</PreferedForce_N>
<PreferedForce_N>INF</PreferedForce_N>
<SpindleTorqueSafetyFactor>1.5</SpindleTorqueSafetyFactor>
<SpindlePowerSafetyFactor>1.5</SpindlePowerSafetyFactor>
<CompensationMask>0</CompensationMask>
@ -454,5 +632,4 @@
<RakeFaceCuttingPara />
</ResultParaTemplate>
</MillingTraining>
<CsScriptRelFile>Script/Run-CSV.cs</CsScriptRelFile>
</MillingCourse>

File diff suppressed because it is too large Load Diff

Binary file not shown.

11175
Output/circle.ptp.shot.csv Normal file

File diff suppressed because it is too large Load Diff

120108
Output/drill_slot.ptp.shot.csv Normal file

File diff suppressed because it is too large Load Diff

3453
Output/side.ptp.shot.csv Normal file

File diff suppressed because it is too large Load Diff

30295
Output/slide.ptp.shot.csv Normal file

File diff suppressed because it is too large Load Diff

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<XyzabcMachineTool XmlUseSourceDirectoryAsBaseDirectory="true">
<GeneralXyzabcMachineTool>
<XyzabcChain>
<XyzabcChain>
<CodeXyzabcChain>
<ChainCode>[O][Y][X][C][w];[O][Z][B][S][t]</ChainCode>
<IsVertical>true</IsVertical>
<TransformerX>
<DynamicTranslation Axis="(-1, 0, 0)" Len="29.596000000000004" />
<DynamicTranslation Axis="(-1, 0, 0)" Len="103.4" />
</TransformerX>
<TransformerY>
<DynamicTranslation Axis="(0, -1, 0)" Len="-37.400000000000006" />
<DynamicTranslation Axis="(0, -1, 0)" Len="-109.553" />
</TransformerY>
<TransformerZ>
<DynamicTranslation Axis="(0, 0, 1)" Len="0" />
@ -26,306 +26,44 @@
<TableBuckleTransformer>
<StaticTranslation Trans="(0, 0, 0)" />
</TableBuckleTransformer>
</XyzabcChain>
<AnchorToSolid>
<Entry Key="O">
<Solid>
<StlFile>base.stl</StlFile>
</Solid>
</Entry>
<Entry Key="Y">
<Solid>
<StlFile>Y.stl</StlFile>
</Solid>
</Entry>
<Entry Key="X">
<Solid>
<StlFile>X.stl</StlFile>
</Solid>
</Entry>
<Entry Key="C">
<Solid>
<StlFile>C.stl</StlFile>
</Solid>
</Entry>
<Entry Key="Z">
<Solid>
<StlFile>Z.stl</StlFile>
</Solid>
</Entry>
<Entry Key="B">
<Solid>
<StlFile>B.stl</StlFile>
</Solid>
</Entry>
<Entry Key="S">
<Solid>
<StlFile>S.stl</StlFile>
</Solid>
</Entry>
</AnchorToSolid>
</CodeXyzabcChain>
</XyzabcChain>
<AnchorToSolid>
<Entry Key="O">
<Solid>
<StlFile>base.stl</StlFile>
</Solid>
</Entry>
<Entry Key="Y">
<Solid>
<StlFile>Y.stl</StlFile>
</Solid>
</Entry>
<Entry Key="X">
<Solid>
<StlFile>X.stl</StlFile>
</Solid>
</Entry>
<Entry Key="C">
<Solid>
<StlFile>C.stl</StlFile>
</Solid>
</Entry>
<Entry Key="Z">
<Solid>
<StlFile>Z.stl</StlFile>
</Solid>
</Entry>
<Entry Key="B">
<Solid>
<StlFile>B.stl</StlFile>
</Solid>
</Entry>
<Entry Key="S">
<Solid>
<StlFile>S.stl</StlFile>
</Solid>
</Entry>
</AnchorToSolid>
<CollisionIndexPairs>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Y</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>Z</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Y</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>B</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Y</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>S</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Y</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>ToolHolder</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Y</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterShank</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Y</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterFlute</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>X</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>Z</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>X</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>B</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>X</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>S</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>X</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>ToolHolder</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>X</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterShank</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>X</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterFlute</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>C</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>Z</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>C</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>B</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>C</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>S</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>C</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>ToolHolder</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>C</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterShank</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>C</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterFlute</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Fixture</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>Z</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Fixture</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>B</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Fixture</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>S</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Fixture</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>ToolHolder</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Fixture</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterShank</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Fixture</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterFlute</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Workpiece</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>Z</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Workpiece</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>B</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Workpiece</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>S</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Workpiece</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>ToolHolder</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
<CollisionIndexPair>
<IndexA>
<MachiningEquipmentCollisionIndex>Workpiece</MachiningEquipmentCollisionIndex>
</IndexA>
<IndexB>
<MachiningEquipmentCollisionIndex>CutterShank</MachiningEquipmentCollisionIndex>
</IndexB>
<SafeDistance>0</SafeDistance>
</CollisionIndexPair>
</CollisionIndexPairs>
</XyzabcMachineTool>
<CollisionIndexPairs AutoGenerate="true" />
</GeneralXyzabcMachineTool>

@ -1,8 +1,23 @@
IEnumerable<Action> Run(){
// foreach(var action in RunNcFile("NC/circle.ptp")) yield return action;
// foreach(var action in RunNcFile("NC/drill_slot.ptp")) yield return action;
// OptMaxForce_N=250;
OptMinFeedrate_mmdmin=1;
OptMaxFeedrate_mmdmin=2000;
OptEnableInterpolation=true;
OptExtendedPostDistance_mm=1;
OptExtendedPreDistance_mm=2;
foreach(var action in RunNcFile("NC/circle.ptp")) yield return action;
OptMinFeedrate_mmdmin=100;
OptMaxFeedrate_mmdmin=1000;
foreach(var action in RunNcFile("NC/drill_slot.ptp")) yield return action;
foreach(var action in RunNcFile("NC/side.ptp")) yield return action;
// foreach(var action in RunNcFile("NC/slide.ptp")) yield return action;
foreach(var action in RunNcFile("NC/slide.ptp")) yield return action;
OptimizeToFiles("Cache/Opt-[NcName]");
yield return null;
}
return Run();

@ -5,8 +5,8 @@ IEnumerable<Action> Run(){
// foreach(var action in RunNcFile("NC/slide.ptp")) yield return action;
// WriteStepFile("Cache/[NcName].step.csv");
RegisterStepVariable("TestData","TestData",null,"G");
ReadCsv("Cache/side.demo.csv");
//RegisterStepVariable("TestData","TestData",null,"G");
//ReadCsv("Cache/side.demo.csv");
yield return null;
}

8
Script/test.cs Normal file

@ -0,0 +1,8 @@
IEnumerable<Action> Run(){
foreach(var action in RunNcFile("Cache/Opt-circle.ptp")) yield return action;
foreach(var action in RunNcFile("Cache/Opt-drill_slot.ptp")) yield return action;
foreach(var action in RunNcFile("Cache/Opt-side.ptp")) yield return action;
foreach(var action in RunNcFile("Cache/Opt-slide.ptp")) yield return action;
yield return null;
}
return Run();

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<CutterMaterial>
<Name></Name>
<Name>WC-Co6-800nm</Name>
<Note></Note>
<ElasticModulus_GPa>600</ElasticModulus_GPa>
<TensileStrength_MPa>1440</TensileStrength_MPa>
<ThermalExpansionCoefficient_dMK>6.7</ThermalExpansionCoefficient_dMK>