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