From 4428b9a2d5735f0f9fa16e3130fa5c36ecc75a96 Mon Sep 17 00:00:00 2001 From: iamboss Date: Wed, 26 Aug 2026 19:12:40 +0800 Subject: [PATCH] feat(DemoStandardPath): migrate the demo to the MachiningProject schema and add the circle-test path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Main.hincproj moves off the legacy root onto , so its six 範例 script entries are now EnablingWrapper-based and it carries an explicit MillingTool (helix 50 deg, 28 mm exposed). The materials follow the same rename: HeatTransferCoefficient_WdmK -> HeatConductivity_WdmK, and Al6061T6.mp becomes RakeFaceCuttingPara3d with an AnchorRakeAngle_deg field. Because of that root-element change the ApiVersion string reads lower (3.1.200.0) than the legacy copy it replaces (3.1.236.0) -- the two counters are not comparable across the rename. Adds NC/circle-test.ptp with its posted Output/circle.ptp.nc, plus test.hincproj; ignores the *.step.csv exports and filtered-msg.txt. --- .gitignore | 4 + Al6061T6.WorkpieceMaterial | 3 +- Al6061T6.mp | 5 +- Main.hincproj | 1639 ++++++++++++++++++++++++++--- NC/circle-test.ptp | 21 + Output/circle.ptp.nc | 45 + WC-Co6-800nm.CutterMaterial | 4 +- test.hincproj | 1931 +++++++++++++++++++++++++++++++++++ 8 files changed, 3512 insertions(+), 140 deletions(-) create mode 100644 NC/circle-test.ptp create mode 100644 Output/circle.ptp.nc create mode 100644 test.hincproj diff --git a/.gitignore b/.gitignore index 5e32cf5..5713c6f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ *.sqlite-shm *.sqlite-wal Cache/* + +# per-step export of a run; regenerable +*.step.csv +filtered-msg.txt diff --git a/Al6061T6.WorkpieceMaterial b/Al6061T6.WorkpieceMaterial index c6b26ed..4496157 100644 --- a/Al6061T6.WorkpieceMaterial +++ b/Al6061T6.WorkpieceMaterial @@ -3,11 +3,12 @@ Al6061T6 Al6061T6 68.9 + NaN 386 276 0.14 0.896 - 167 + 167 2.7 399.903059643855 620 diff --git a/Al6061T6.mp b/Al6061T6.mp index 50fb03f..281d474 100644 --- a/Al6061T6.mp +++ b/Al6061T6.mp @@ -1,5 +1,5 @@  - + Al6061T6 141.27 @@ -8,4 +8,5 @@ -1.96 5.54 -21.51 - \ No newline at end of file + NaN + \ No newline at end of file diff --git a/Main.hincproj b/Main.hincproj index f4af4b8..d9ebec5 100644 --- a/Main.hincproj +++ b/Main.hincproj @@ -1,37 +1,179 @@  - - + + - + PmcB1s/PMC_B1.mt - + NoName 0.4 - - 0 - 5.5 - 5.5 - 3 - - - 50 - 50 - 30 - 20 - 15 - 8 - 5 - + + 4.82 + 90 + + + + 0 + 0 + + + 1500 + 7.5 + + + 4500 + 7.5 + + + 8000.000000000001 + 4 + + + + + 0 + 0 + + + 1500 + 5.5 + + + 4500 + 5.5 + + + 8000.000000000001 + 3 + + + + + 0 + 0 + + + 1500 + 5.5 + + + 4500 + 5.5 + + + 8000.000000000001 + 3 + + + + + + + 0 + 50 + + + 1500 + 50 + + + 2000.0000000000002 + 37 + + + 2600 + 30 + + + 4000.0000000000005 + 19 + + + 6000 + 12 + + + 8000.000000000001 + 8 + + + + + 0 + 35 + + + 1500 + 35 + + + 2000.0000000000002 + 29 + + + 2200 + 27 + + + 2900 + 20 + + + 4000.0000000000005 + 15 + + + 6000 + 8 + + + 8000.000000000001 + 5 + + + + + 0 + 50 + + + 1500 + 50 + + + 2000.0000000000002 + 30 + + + 3000 + 20 + + + 4000.0000000000005 + 15 + + + 6000 + 8 + + + 8000.000000000001 + 5 + + + - + + + (-40, -40, 0) @@ -40,15 +182,18 @@ - + + + + - + 0.125 - + @@ -60,10 +205,13 @@ - - - - + + + + + + + @@ -74,9 +222,9 @@ - + Al6061T6.mp - + Al6061T6.WorkpieceMaterial @@ -85,28 +233,43 @@ - - 25 - 1000 - + 25 + + + + 25 + 1000 + 0.5 + 50 + - - + + - + T1 - - + + + + (0,10) (30,10) - - + + + 0.5 + 5 + + + + + + SolidEnd @@ -129,14 +292,14 @@ - + (20,6) (75,6) - 0.0625 + 0.125 15 @@ -164,37 +327,42 @@ - + WC-Co6-800nm.CutterMaterial - - - 7 + + + WC-Co6-800nm.CutterMaterial + + + 103.5896112737758 20 5 - + true 3 true + true 0 999 - + - 8 + 28 HolderAnc 0 0 - + - + - + Fanuc - (0, 0, 0) - true + (0, 0, 0) + (0, 0, 0) + (0, 0, 0) @@ -205,21 +373,21 @@ - false true false - + false + - (INF, INF, INF) - (-INF, -INF, -INF) + (-INF, -INF, -INF) + (INF, INF, INF) - - + + - (INF, INF, INF) - (-INF, -INF, -INF) + (-INF, -INF, -INF) + (INF, INF, INF) - + (60, 60, 60) 60000 20000 @@ -228,41 +396,1240 @@ 0 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + + + + + + + Fanuc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + NC + + + 1000 + + + 10000 + + + + + + + + + + + + + + + {"CoordinateOffset":{"CoordinateId":"G54"},"CannedCycle":{"Term":"G80"}} + + + + + Parsing + + + + + N + + + @@ + @@^ + + + + + + + Assignments + + + # + + None + + + + + G43.4 + + + + + H + + # + + M + + + + + + G05.1 + + + + + Q + R + + # + + G + M + + + + + + G4 + G04 + + + + P + X + U + S + + + # + + G + M + + + + + + G28 + + + + X + Y + Z + A + B + C + + + # + + G + M + F + S + + + + + + G41 + G42 + + + + + D + + # + + M + + + + + + G43 + G44 + + + + + H + + # + + M + + + + + + G52 + + + + X + Y + Z + + + # + + G + M + F + S + + + + + + G68 + + + + X + Y + Z + I + J + K + R + + + # + + G + M + F + S + + + + + + G68.2 + + + + X + Y + Z + I + J + K + + + # + + G + M + F + S + + + + + + G73 + G74 + G76 + G81 + G82 + G83 + G84 + G85 + G86 + G87 + G89 + + + + X + Y + Z + R + Q + F + + + P + K + + # + + G + M + + + + + + M98 + + + + + P + L + + # + + G + M + F + S + T + + + + + + M99 + + + + + P + + # + + G + M + F + S + T + + + + + + M198 + + + + + P + L + + # + + G + M + F + S + T + + + + + + G65 + + + + A + B + C + D + E + F + H + I + J + K + M + Q + R + S + T + U + V + W + X + Y + Z + + + P + L + + # + + G + + + + + + G66 + + + + A + B + C + D + E + F + H + I + J + K + M + Q + R + S + T + U + V + W + X + Y + Z + + + P + L + + # + + G + + + + + + G54.1 + + + + + P + + # + + G + M + + + + + # + + + X + Y + Z + U + V + W + A + B + C + I + J + K + + false + None + + + # + + + F + S + R + Q + E + + false + None + + + # + + + T + D + H + P + L + + false + None + + + + Flags + + + G + M + + true + + + Debug-Parsing + false + + + + Evaluation + + + + + + + N + + + + + Setup + + + + + + + + + Fanuc + + + + + + + + + + + + N + + + + + + Logic + + + + + G20 + + + G21 + + + + + + + + G4 + G04 + + + X + U + + + P + + + S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + G84 + G74 + + + + Parsing + Parsing/G28 + + + + G53 + + + + Parsing + + + + + + + + + + TiltTransform + PathSmoothing + IsoLocalCoordinateOffset + CannedCycle + MotionState + CallStack + WhileFrames + SiemensLoopFrames + + + + Debug-Logic + false + + + + PostLogic + + + + MachineCoordinateState + + + + Expansion + + + Debug-PostLogic + false + + + + Inspection + + + + Debug-Inspection + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LineBeginCsScript + LineEndCsScript + MC. + CL. + ToolId + SpindleSpeed_rpm + Spd.Dir. + Feedrate_mmdmin + StepDuration + ActualTime + Coolant + + + + + + + + + + + + + + + + CsvRowToSections + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20000 + 36000 + true + + PAINT + TOOLNO + LOADTL + TOOL PATH + TOOLPATH + END-OF-PATH + + + + + + + + + + + + + + + + + + + + + + + ClsfRecordToSections + + + + Msys + CutterLocationState + ClsfToolData + ActiveTool + Feedrate + SpindleSpeed + Coolant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + true 範例 1-1 執行NC檔案 - RunNcFile("NC/circle.ptp"); -RunNcFile("NC/drill_slot.ptp"); -RunNcFile("NC/side.ptp"); -RunNcFile("NC/slide.ptp"); - true + PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); - - + + + false 範例 1-2 基礎設定 及 執行NC檔案 @@ -274,15 +1641,15 @@ EnableCollisionDetection = true; //是否啟用碰撞檢測開啟 EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 ////執行NC檔案//// -RunNcFile("NC/circle.ptp"); -RunNcFile("NC/drill_slot.ptp"); -RunNcFile("NC/side.ptp"); -RunNcFile("NC/slide.ptp"); - true +PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); - - + + + false 範例 1-3 穿插設定於NC檔案間 @@ -293,17 +1660,17 @@ MachiningMotionResolution = FeedPerCycle; EnableCollisionDetection = true; //是否啟用碰撞檢測開啟 EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 -RunNcFile("NC/circle.ptp"); +PlayNcFile("NC/circle.ptp"); EnableCollisionDetection = false; -RunNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/drill_slot.ptp"); MachiningResolution_mm = 1.0/8; -RunNcFile("NC/side.ptp"); -RunNcFile("NC/slide.ptp"); - true +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); - - + + + false 範例 2-1 優化NC @@ -327,18 +1694,18 @@ OptSpindleTorqueSafetyFactor = 1.5; //主軸扭力安全係數 OptPreferedForce_N = double.PositiveInfinity; //優化目標力 ////執行NC檔案//// -RunNcFile("NC/circle.ptp"); -RunNcFile("NC/drill_slot.ptp"); -RunNcFile("NC/side.ptp"); -RunNcFile("NC/slide.ptp"); +PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); OptimizeToFiles("Cache/Opt-[NcName]"); //優化NC檔並以路徑樣板輸出 - true - - + + + false 範例 3 其他各式指令 @@ -351,10 +1718,10 @@ EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 WriteRuntimeGeom("Cache/init.wct"); //寫入暫存檔 ////執行NC檔案//// -RunNcFile("NC/circle.ptp"); -RunNcFile("NC/drill_slot.ptp"); -RunNcFile("NC/side.ptp"); -RunNcFile("NC/slide.ptp"); +PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); WriteRuntimeGeom("Cache/finish.wct"); //寫入暫存檔 WriteRuntimeGeomToStl("Cache/finish.stl",0) @@ -362,11 +1729,11 @@ WriteRuntimeGeomToStl("Cache/finish.stl",0) WriteStepFiles("Cache/[NcName].step.csv"); WriteShotFiles("Cache/[NcName].shot.csv", 1); - true - - + + + false 範例 4 補充腳本 @@ -374,32 +1741,36 @@ WriteShotFiles("Cache/[NcName].shot.csv", 1); DispCache_Mb = 2260; //GRAM暫存空間 (Mb) WriteRuntimeGeom("Cache/finish-2.wct"); //寫入暫存檔 -Diff(1); //執行和成品誤差比對 - true +//Diff(1); //執行和成品誤差比對 - + - + - true - false - - - true - true - true + + + true + true + false + true + false false - + + 1 + 0 + - - + 35 + true + + MaxTipDeflectionOnToolRunningCoordinate_um.Y @@ -477,7 +1848,7 @@ Diff(1); //執行和成品誤差比對 -400 400 - ForceToWorkpieceOnWorkpieceCoordinate + ForceToWorkpieceOnProgramCoordinate @@ -576,6 +1947,4 @@ Diff(1); //執行和成品誤差比對 - - 260 - \ No newline at end of file + \ No newline at end of file diff --git a/NC/circle-test.ptp b/NC/circle-test.ptp new file mode 100644 index 0000000..7ae3768 --- /dev/null +++ b/NC/circle-test.ptp @@ -0,0 +1,21 @@ +% +N0010 G40 G17 G49 G90 +N0020 G91 G28 Z0.0 +N0030 T01 M06 +N0040 G00 G90 G54 +N0050 X35. Y-11.7 +N0060 G43 Z10. H01 +N0070 S5000 M03 +N0080 M08 +N0090 Z-2. +N0100 G94 G01 Z-0.01 F500. +N0110 Y-4. +N0120 G02 I0.0 J11. +N0130 G01 Y-10. +N0140 Z-2. +N0150 G00 Z10. +N0160 M09 +N0170 M05 +N0180 G91 G28 Z0.0 +N0190 M30 +% diff --git a/Output/circle.ptp.nc b/Output/circle.ptp.nc new file mode 100644 index 0000000..0946e09 --- /dev/null +++ b/Output/circle.ptp.nc @@ -0,0 +1,45 @@ +% +O1000 (HINC WRITEBACK FROM CIRCLE.PTP) +G90 G94 G21 G17 +T1 M06 +G68.2 X37.4 Y-97.4 Z-116.44 I0. J0. K0. +G43.4 H0 +G00 X35. Y-11.7 Z116.44 +Z10. +S5000 M03 +S5000 M03 +M08 +S5000 M03 +M08 +Z-2. +S5000 M03 +M08 +G01 Z-5. F500. +S5000 M03 +M08 +Y-4. +S5000 M03 +M08 +S5000 M03 +M08 +Y-10. +S5000 M03 +M08 +Z-2. +S5000 M03 +M08 +G00 Z10. +S5000 M03 +M09 +M05 +M09 +M05 +M09 +M05 +M09 +M05 +M09 +G49 +G69 +M30 +% diff --git a/WC-Co6-800nm.CutterMaterial b/WC-Co6-800nm.CutterMaterial index 445f90f..73d567f 100644 --- a/WC-Co6-800nm.CutterMaterial +++ b/WC-Co6-800nm.CutterMaterial @@ -3,12 +3,12 @@ WC-Co6-800nm 600 + 0 1440 6.7 - 70 + 70 0.34 14.95 - 0.01 3143.16 400 0.44 diff --git a/test.hincproj b/test.hincproj new file mode 100644 index 0000000..83f8d7f --- /dev/null +++ b/test.hincproj @@ -0,0 +1,1931 @@ + + + + + + PmcB1s/PMC_B1.mt + + + + NoName + + 0.4 + + 4.82 + 90 + + + + 0 + 0 + + + 1500 + 7.5 + + + 4500 + 7.5 + + + 8000.000000000001 + 4 + + + + + 0 + 0 + + + 1500 + 5.5 + + + 4500 + 5.5 + + + 8000.000000000001 + 3 + + + + + 0 + 0 + + + 1500 + 5.5 + + + 4500 + 5.5 + + + 8000.000000000001 + 3 + + + + + + + 0 + 50 + + + 1500 + 50 + + + 2000.0000000000002 + 37 + + + 2600 + 30 + + + 4000.0000000000005 + 19 + + + 6000 + 12 + + + 8000.000000000001 + 8 + + + + + 0 + 35 + + + 1500 + 35 + + + 2000.0000000000002 + 29 + + + 2200 + 27 + + + 2900 + 20 + + + 4000.0000000000005 + 15 + + + 6000 + 8 + + + 8000.000000000001 + 5 + + + + + 0 + 50 + + + 1500 + 50 + + + 2000.0000000000002 + 30 + + + 3000 + 20 + + + 4000.0000000000005 + 15 + + + 6000 + 8 + + + 8000.000000000001 + 5 + + + + + + + + + + + + + + + (-40, -40, 0) + (40, 40, 10) + + + + + + + + + + + + + + + 0.125 + + + + + + + + (2, 0, -50) + (72, 50, 0) + + + + + + + + + + + + + + + + + Design/standard_force_4exp_201902_design.stl + + + + + Al6061T6.mp + + + Al6061T6.WorkpieceMaterial + + + + + + + 25 + + + + 25 + 1000 + 0.5 + 50 + + + + + + + + T1 + + + + + + (0,10) + (30,10) + + + + 0.5 + 5 + + + + + + + + + SolidEnd + + + + + 12 + 0.5 + 20 + + + + + + + + + + + + + + + (20,6) + (75,6) + + + + + 0.125 + 15 + + + 3 + + + 0 + + + 50 + 15 + 5 + + + + + 50 + 1.5 + 15 + 5 + 5.5 + + + + + + + + WC-Co6-800nm.CutterMaterial + + + WC-Co6-800nm.CutterMaterial + + + 103.5896112737758 + 20 + 5 + + + true + 3 + true + true + 0 + 999 + + + + + 28 + HolderAnc + 0 + 0 + + + + + + + Fanuc + (0, 0, 0) + (0, 0, 0) + (0, 0, 0) + + + + 6 + 0 + 58 + 0 + + + + true + false + false + + + (-INF, -INF, -INF) + (INF, INF, INF) + + + + + (-INF, -INF, -INF) + (INF, INF, INF) + + + (60, 60, 60) + 60000 + 20000 + PT0S + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + Fanuc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + NC + + + 1000 + + + 10000 + + + + + + + + + + + + + + + {"CoordinateOffset":{"CoordinateId":"G54"},"CannedCycle":{"Term":"G80"}} + + + + + Parsing + + + + + N + + + @@ + @@^ + + + + + + + Assignments + + + # + + None + + + + + G43.4 + + + + + H + + # + + M + + + + + + G05.1 + + + + + Q + R + + # + + G + M + + + + + + G4 + + + + P + X + S + + + # + + G + M + + + + + + G28 + + + + X + Y + Z + A + B + C + + + # + + G + M + F + S + + + + + + G41 + G42 + + + + + D + + # + + M + + + + + + G43 + G44 + + + + + H + + # + + M + + + + + + G52 + + + + X + Y + Z + + + # + + G + M + F + S + + + + + + G68 + + + + X + Y + Z + I + J + K + R + + + # + + G + M + F + S + + + + + + G68.2 + + + + X + Y + Z + I + J + K + + + # + + G + M + F + S + + + + + + G73 + G74 + G76 + G81 + G82 + G83 + G84 + G85 + G86 + G87 + G89 + + + + X + Y + Z + R + Q + F + + + P + K + + # + + G + M + + + + + + M98 + + + + + P + L + + # + + G + M + F + S + T + + + + + + M99 + + + + + P + + # + + G + M + F + S + T + + + + + + M198 + + + + + P + L + + # + + G + M + F + S + T + + + + + + G65 + + + + A + B + C + D + E + F + H + I + J + K + M + Q + R + S + T + U + V + W + X + Y + Z + + + P + L + + # + + G + + + + + + G66 + + + + A + B + C + D + E + F + H + I + J + K + M + Q + R + S + T + U + V + W + X + Y + Z + + + P + L + + # + + G + + + + + + G54.1 + + + + + P + + # + + G + M + + + + + # + + + X + Y + Z + U + V + W + A + B + C + I + J + K + + false + None + + + # + + + F + S + R + Q + E + + false + None + + + # + + + T + D + H + P + L + + false + None + + + + Flags + + + G + M + + true + + + Debug-Parsing + false + + + + Evaluation + + + + + + + N + + + + + Setup + + + + + + + + + Fanuc + + + + + + + + + + + + N + + + + + + Logic + + + + G20 + + + G21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + G84 + G74 + + + + Parsing + Parsing/G28 + + + + G53 + + + + Parsing + + + + + + + + + + TiltTransform + PathSmoothing + IsoLocalCoordinateOffset + CannedCycle + MotionState + CallStack + WhileFrames + SiemensLoopFrames + + + + Debug-Logic + false + + + + PostLogic + + + + MachineCoordinateState + + + + Expansion + + + Debug-PostLogic + false + + + + Inspection + + + + Debug-Inspection + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LineBeginCsScript + LineEndCsScript + MC. + CL. + ToolId + SpindleSpeed_rpm + Spd.Dir. + Feedrate_mmdmin + StepDuration + ActualTime + Coolant + + + + + + + + + + + + + + + + CsvRowToSections + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20000 + 36000 + true + + PAINT + TOOLNO + LOADTL + TOOL PATH + TOOLPATH + END-OF-PATH + + + + + + + + + + + + + + + + + + + + + + + ClsfRecordToSections + + + + Msys + CutterLocationState + ClsfToolData + ActiveTool + Feedrate + SpindleSpeed + Coolant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + 範例 1-1 執行NC檔案 + PlayNcFile("NC/circle.ptp"); +// PlayNcFile("NC/drill_slot.ptp"); +// PlayNcFile("NC/side.ptp"); +// PlayNcFile("NC/slide.ptp"); + + + + + false + + + 範例 1-2 基礎設定 及 執行NC檔案 + ////一般設定//// +DispCache_Mb = 1260; //GRAM暫存空間 (Mb) +MachiningResolution_mm = 0.125; //仿真解析度 (mm) +MachiningMotionResolution = FeedPerCycle; +EnableCollisionDetection = true; //是否啟用碰撞檢測開啟 +EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 + +////執行NC檔案//// +PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); + + + + + false + + + 範例 1-3 穿插設定於NC檔案間 + ////一般設定//// +DispCache_Mb = 260; //GRAM暫存空間 (Mb) +MachiningResolution_mm = 1.0; //仿真解析度 (mm) +MachiningMotionResolution = FeedPerCycle; +EnableCollisionDetection = true; //是否啟用碰撞檢測開啟 +EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 + +PlayNcFile("NC/circle.ptp"); +EnableCollisionDetection = false; +PlayNcFile("NC/drill_slot.ptp"); +MachiningResolution_mm = 1.0/8; +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); + + + + + false + + + 範例 2-1 優化NC + ////一般設定//// +DispCache_Mb = 260; //GRAM暫存空間 (Mb) +MachiningResolution_mm = 1.0; //仿真解析度 (mm) +MachiningMotionResolution = FeedPerCycle; +EnableCollisionDetection = false; //是否啟用碰撞檢測開啟 +EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 + +////NC優化設定//// +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; //優化目標力 + +////執行NC檔案//// +PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); + +OptimizeToFiles("Cache/Opt-[NcName]"); //優化NC檔並以路徑樣板輸出 + + + + + + false + + + 範例 3 其他各式指令 + ////一般設定//// +DispCache_Mb = 260; //GRAM暫存空間 (Mb) +MachiningResolution_mm = 1.0; //仿真解析度 (mm) +MachiningMotionResolution = FeedPerCycle; +EnableCollisionDetection = false; //是否啟用碰撞檢測開啟 +EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 + +WriteRuntimeGeom("Cache/init.wct"); //寫入暫存檔 +////執行NC檔案//// +PlayNcFile("NC/circle.ptp"); +PlayNcFile("NC/drill_slot.ptp"); +PlayNcFile("NC/side.ptp"); +PlayNcFile("NC/slide.ptp"); + +WriteRuntimeGeom("Cache/finish.wct"); //寫入暫存檔 +WriteRuntimeGeomToStl("Cache/finish.stl",0) + +WriteStepFiles("Cache/[NcName].step.csv"); +WriteShotFiles("Cache/[NcName].shot.csv", 1); + + + + + + false + + + 範例 4 補充腳本 + ////一般設定//// +DispCache_Mb = 2260; //GRAM暫存空間 (Mb) + +WriteRuntimeGeom("Cache/finish-2.wct"); //寫入暫存檔 +//Diff(1); //執行和成品誤差比對 + + + + + + + + + + + + + + true + true + false + true + false + false + + + 1 + 0 + + + 35 + true + + + MaxTipDeflectionOnToolRunningCoordinate_um.Y + + + + + MaxTipDeflectionOnToolRunningCoordinate_um.Y + + + + + + Linear + 0 + 2000 + + + + + + + + Linear + 0 + 1 + + + + + + + + NormalizedPositiveErf + -0.1 + 0.5 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + -0.3 + 0.3 + + + + + + + + Linear + 0 + 1 + + + + + + + + + Fit + + -400 + 400 + + ForceToWorkpieceOnProgramCoordinate + + + + + + Fit + + -10 + 10 + + + + + + + + Fit + + -10 + 10 + + + + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + + + \ No newline at end of file