Browse Source

12.1 16:16

lzy 3 months ago
parent
commit
d28dcf9b17

File diff suppressed because it is too large
+ 103 - 26
data/brep/face10.brep


+ 130 - 0
data/brep/face100.brep

@@ -0,0 +1,130 @@
+DBRep_DrawableShape
+
+CASCADE Topology V1, (c) Matra-Datavision
+Locations 0
+Curve2ds 0
+Curves 4
+7 0 0  1 2 2  656 285 0.90000000000000002  100 285 0.90000000000000002 
+ 0 2 556 2
+7 0 0  1 2 2  100 285 0.90000000000000002  100 189.800000001 0.90000000000000002 
+ -285 2 -189.800000001 2
+7 0 0  1 2 2  100 189.800000001 0.90000000000000002  656 189.800000001 0.90000000000000002 
+ 0 2 556 2
+7 0 0  1 2 2  656 285 0.90000000000000002  656 189.800000001 0.90000000000000002 
+ -285 2 -189.800000001 2
+Polygon3D 0
+PolygonOnTriangulations 8
+2 4 3 
+p 16.4000000050025 1 0 556 
+2 1 2 
+p 16.4000000050025 1 0 556 
+2 2 3 
+p 9.5200000199 1 -285 -189.800000001 
+2 2 8 
+p 9.5200000199 1 -285 -189.800000001 
+2 1 2 
+p 16.4000000050025 1 0 556 
+2 3 4 
+p 16.4000000050025 1 0 556 
+2 1 4 
+p 9.5200000199 1 -285 -189.800000001 
+2 1 2 
+p 9.5200000199 1 -285 -189.800000001 
+Surfaces 5
+1 44.339999999900002 -45.659999999999997 0.90000000000000002 0 0 1 1 0 -0 -0 1 0 
+1 44.340000000000003 285 34.289999999999999 0 -1 0 0 -0 -1 1 0 0 
+1 100 -45.659999999999997 -4.1699999999599999 1 0 0 -0 0 1 0 -1 0 
+1 44.340000000000003 189.80000000000001 0.21999999996799999 0 1 0 0 -0 1 1 0 -0 
+1 656 -45.660000000502698 -4.1699999999999999 -1 0 0 0 0 -1 -0 -1 -0 
+Triangulations 5
+4 2 1 13.900000005
+656 285 0.9 100 285 0.9 100 189.800000001 0.9 656 189.800000001 0.9 611.6600000001 330.66 55.6600000001 330.66 55.6600000001 235.460000001 611.6600000001 235.460000001 4 2 3 1 2 4 
+4 2 1 13.900000005
+656 285 31.2 100 285 31.1999999996 100 285 0.9 656 285 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+8 6 1 3.56750001996613
+100 285 31.1999999996 100 285 0.9 100 189.8 31.1999999996 100 189.8 29.2000000009 100 172.6 29.1999999994 100 172.599999999 1.10000000073 100 189.8 1.10000000032 100 189.800000001 0.9 35.36999999956 -330.66 5.06999999996 -330.66 35.36999999956 -235.46 33.37000000086 -235.46 33.36999999936 -218.26 5.27000000069 -218.259999999 5.27000000028 -235.46 5.06999999996 -235.460000001 7 8 2 4 2 1 4 7 2 3 4 1 5 6 7 5 7 4 
+4 2 1 13.900000005
+100 189.800000001 0.9 656 189.800000001 0.9 100 189.8 1.10000000032 656 189.8 1.09999999925 0.680000000032 55.66 0.680000000032 611.66 0.880000000352 55.66 0.879999999282 611.66 4 2 1 4 1 3 
+8 6 1 3.56750001996275
+656 285 0.9 656 189.800000001 0.9 656 189.8 1.09999999925 656 172.599999999 1.10000000073 656 172.6 29.1999999994 656 189.8 29.2000000009 656 189.8 31.2 656 285 31.2 -5.07 -330.660000000503 -5.07 -235.460000001503 -5.26999999925 -235.460000000503 -5.27000000073 -218.259999999503 -33.3699999994 -218.260000000503 -33.3700000009 -235.460000000503 -35.37 -235.460000000503 -35.37 -330.660000000503 6 7 8 6 8 1 3 5 6 3 6 1 2 3 1 4 5 3 
+
+TShapes 10
+Ve
+1e-07
+656 285 0.9
+0 0
+
+0101101
+*
+Ve
+1e-07
+100 285 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  1 0 0 556
+4 C0 2 0 1 0
+6  1 2 0
+6  2 1 0
+0
+
+0101000
++10 0 -9 0 *
+Ve
+1e-07
+100 189.800000001 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  2 0 -285 -189.800000001
+4 C0 1 0 3 0
+6  3 1 0
+6  4 3 0
+0
+
+0101000
++9 0 -7 0 *
+Ve
+1e-07
+656 189.800000001 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  3 0 0 556
+4 C0 4 0 1 0
+6  5 4 0
+6  6 1 0
+0
+
+0101000
++7 0 -5 0 *
+Ed
+ 1e-07 1 1 0
+1  4 0 -285 -189.800000001
+4 C0 1 0 5 0
+6  7 1 0
+6  8 5 0
+0
+
+0101000
++10 0 -5 0 *
+Wi
+
+0101100
++8 0 +6 0 +4 0 -3 0 *
+Fa
+0  1e-07 1 0
+2  1
+0101000
++2 0 *
+
++1 0 

+ 130 - 0
data/brep/face43.brep

@@ -0,0 +1,130 @@
+DBRep_DrawableShape
+
+CASCADE Topology V1, (c) Matra-Datavision
+Locations 0
+Curve2ds 0
+Curves 4
+7 0 0  1 2 2  656 171 0.90000000000000002  100 171 0.90000000000000002 
+ 0 2 556 2
+7 0 0  1 2 2  100 171 0.90000000000000002  100 75.800000000699995 0.90000000000000002 
+ -171 2 -75.800000000699995 2
+7 0 0  1 2 2  100 75.800000000699995 0.90000000000000002  656 75.800000000699995 0.90000000000000002 
+ 0 2 556 2
+7 0 0  1 2 2  656 171 0.90000000000000002  656 75.800000000699995 0.90000000000000002 
+ -171 2 -75.800000000699995 2
+Polygon3D 0
+PolygonOnTriangulations 8
+2 4 3 
+p 16.4000000050025 1 0 556 
+2 1 2 
+p 16.4000000050025 1 0 556 
+2 2 3 
+p 9.52000001993 1 -171 -75.8000000007 
+2 2 8 
+p 9.52000001993 1 -171 -75.8000000007 
+2 1 2 
+p 16.4000000050025 1 0 556 
+2 3 4 
+p 16.4000000050025 1 0 556 
+2 1 4 
+p 9.52000001993 1 -171 -75.8000000007 
+2 1 2 
+p 9.52000001993 1 -171 -75.8000000007 
+Surfaces 5
+1 44.339999999900002 -45.659999999999997 0.90000000000000002 0 0 1 1 0 -0 -0 1 0 
+1 44.340000000000003 171 34.289999999999999 0 -1 0 0 -0 -1 1 0 0 
+1 100 -45.659999999999997 -4.1699999999599999 1 0 0 -0 0 1 0 -1 0 
+1 44.340000000000003 75.799999999999997 0.21999999996799999 0 1 0 0 -0 1 1 0 -0 
+1 656 -45.660000000502698 -4.1699999999999999 -1 0 0 0 0 -1 -0 -1 -0 
+Triangulations 5
+4 2 1 13.900000005
+656 171 0.9 100 171 0.9 100 75.8000000007 0.9 656 75.8000000007 0.9 611.6600000001 216.66 55.6600000001 216.66 55.6600000001 121.4600000007 611.6600000001 121.4600000007 1 2 3 1 3 4 
+4 2 1 13.900000005
+656 171 31.2 100 171 31.1999999996 100 171 0.9 656 171 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+8 6 1 3.56750001996113
+100 171 31.1999999996 100 171 0.9 100 75.7999999999999 31.1999999996 100 75.7999999996 29.2000000009 100 58.6000000004 29.1999999994 100 58.5999999991 1.10000000073 100 75.8000000002 1.10000000032 100 75.8000000007 0.9 35.36999999956 -216.66 5.06999999996 -216.66 35.36999999956 -121.46 33.37000000086 -121.4599999996 33.36999999936 -104.2600000004 5.27000000069 -104.2599999991 5.27000000028 -121.4600000002 5.06999999996 -121.4600000007 7 8 2 4 2 1 4 7 2 3 4 1 5 6 7 5 7 4 
+4 2 1 13.900000005
+100 75.8000000007 0.9 656 75.8000000007 0.9 100 75.8000000002 1.10000000032 656 75.8 1.09999999925 0.680000000032 55.66 0.680000000032 611.66 0.880000000352 55.66 0.879999999282 611.66 4 2 1 4 1 3 
+8 6 1 3.56750001995525
+656 171 0.9 656 75.8000000007 0.9 656 75.8 1.09999999925 656 58.5999999991 1.10000000073 656 58.6000000004 29.1999999994 656 75.7999999996 29.2000000009 656 75.8 31.2 656 171 31.2 -5.07 -216.660000000503 -5.07 -121.460000001203 -5.26999999925 -121.460000000503 -5.27000000073 -104.259999999603 -33.3699999994 -104.260000000903 -33.3700000009 -121.460000000103 -35.37 -121.460000000503 -35.37 -216.660000000503 6 7 8 6 8 1 3 5 6 3 6 1 2 3 1 4 5 3 
+
+TShapes 10
+Ve
+1e-07
+656 171 0.9
+0 0
+
+0101101
+*
+Ve
+1e-07
+100 171 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  1 0 0 556
+4 C0 2 0 1 0
+6  1 2 0
+6  2 1 0
+0
+
+0101000
++10 0 -9 0 *
+Ve
+1e-07
+100 75.8000000007 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  2 0 -171 -75.8000000007
+4 C0 1 0 3 0
+6  3 1 0
+6  4 3 0
+0
+
+0101000
++9 0 -7 0 *
+Ve
+1e-07
+656 75.8000000007 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  3 0 0 556
+4 C0 4 0 1 0
+6  5 4 0
+6  6 1 0
+0
+
+0101000
++7 0 -5 0 *
+Ed
+ 1e-07 1 1 0
+1  4 0 -171 -75.8000000007
+4 C0 1 0 5 0
+6  7 1 0
+6  8 5 0
+0
+
+0101000
++10 0 -5 0 *
+Wi
+
+0101100
++8 0 +6 0 +4 0 -3 0 *
+Fa
+0  1e-07 1 0
+2  1
+0101000
++2 0 *
+
++1 0 

File diff suppressed because it is too large
+ 130 - 0
data/brep/face83.brep


+ 130 - 0
data/brep/face99.brep

@@ -0,0 +1,130 @@
+DBRep_DrawableShape
+
+CASCADE Topology V1, (c) Matra-Datavision
+Locations 0
+Curve2ds 0
+Curves 4
+7 0 0  1 2 2  656 171 0.90000000000000002  100 171 0.90000000000000002 
+ 0 2 556 2
+7 0 0  1 2 2  100 171 0.90000000000000002  100 75.800000000699995 0.90000000000000002 
+ -171 2 -75.800000000699995 2
+7 0 0  1 2 2  100 75.800000000699995 0.90000000000000002  656 75.800000000699995 0.90000000000000002 
+ 0 2 556 2
+7 0 0  1 2 2  656 171 0.90000000000000002  656 75.800000000699995 0.90000000000000002 
+ -171 2 -75.800000000699995 2
+Polygon3D 0
+PolygonOnTriangulations 8
+2 4 3 
+p 16.4000000050025 1 0 556 
+2 1 2 
+p 16.4000000050025 1 0 556 
+2 2 3 
+p 9.52000001993 1 -171 -75.8000000007 
+2 2 8 
+p 9.52000001993 1 -171 -75.8000000007 
+2 1 2 
+p 16.4000000050025 1 0 556 
+2 3 4 
+p 16.4000000050025 1 0 556 
+2 1 4 
+p 9.52000001993 1 -171 -75.8000000007 
+2 1 2 
+p 9.52000001993 1 -171 -75.8000000007 
+Surfaces 5
+1 44.339999999900002 -45.659999999999997 0.90000000000000002 0 0 1 1 0 -0 -0 1 0 
+1 44.340000000000003 171 34.289999999999999 0 -1 0 0 -0 -1 1 0 0 
+1 100 -45.659999999999997 -4.1699999999599999 1 0 0 -0 0 1 0 -1 0 
+1 44.340000000000003 75.799999999999997 0.21999999996799999 0 1 0 0 -0 1 1 0 -0 
+1 656 -45.660000000502698 -4.1699999999999999 -1 0 0 0 0 -1 -0 -1 -0 
+Triangulations 5
+4 2 1 13.900000005
+656 171 0.9 100 171 0.9 100 75.8000000007 0.9 656 75.8000000007 0.9 611.6600000001 216.66 55.6600000001 216.66 55.6600000001 121.4600000007 611.6600000001 121.4600000007 1 2 3 1 3 4 
+4 2 1 13.900000005
+656 171 31.2 100 171 31.1999999996 100 171 0.9 656 171 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+8 6 1 3.56750001996113
+100 171 31.1999999996 100 171 0.9 100 75.7999999999999 31.1999999996 100 75.7999999996 29.2000000009 100 58.6000000004 29.1999999994 100 58.5999999991 1.10000000073 100 75.8000000002 1.10000000032 100 75.8000000007 0.9 35.36999999956 -216.66 5.06999999996 -216.66 35.36999999956 -121.46 33.37000000086 -121.4599999996 33.36999999936 -104.2600000004 5.27000000069 -104.2599999991 5.27000000028 -121.4600000002 5.06999999996 -121.4600000007 7 8 2 4 2 1 4 7 2 3 4 1 5 6 7 5 7 4 
+4 2 1 13.900000005
+100 75.8000000007 0.9 656 75.8000000007 0.9 100 75.8000000002 1.10000000032 656 75.8 1.09999999925 0.680000000032 55.66 0.680000000032 611.66 0.880000000352 55.66 0.879999999282 611.66 4 2 1 4 1 3 
+8 6 1 3.56750001995525
+656 171 0.9 656 75.8000000007 0.9 656 75.8 1.09999999925 656 58.5999999991 1.10000000073 656 58.6000000004 29.1999999994 656 75.7999999996 29.2000000009 656 75.8 31.2 656 171 31.2 -5.07 -216.660000000503 -5.07 -121.460000001203 -5.26999999925 -121.460000000503 -5.27000000073 -104.259999999603 -33.3699999994 -104.260000000903 -33.3700000009 -121.460000000103 -35.37 -121.460000000503 -35.37 -216.660000000503 6 7 8 6 8 1 3 5 6 3 6 1 2 3 1 4 5 3 
+
+TShapes 10
+Ve
+1e-07
+656 171 0.9
+0 0
+
+0101101
+*
+Ve
+1e-07
+100 171 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  1 0 0 556
+4 C0 2 0 1 0
+6  1 2 0
+6  2 1 0
+0
+
+0101000
++10 0 -9 0 *
+Ve
+1e-07
+100 75.8000000007 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  2 0 -171 -75.8000000007
+4 C0 1 0 3 0
+6  3 1 0
+6  4 3 0
+0
+
+0101000
++9 0 -7 0 *
+Ve
+1e-07
+656 75.8000000007 0.9
+0 0
+
+0101101
+*
+Ed
+ 1e-07 1 1 0
+1  3 0 0 556
+4 C0 4 0 1 0
+6  5 4 0
+6  6 1 0
+0
+
+0101000
++7 0 -5 0 *
+Ed
+ 1e-07 1 1 0
+1  4 0 -171 -75.8000000007
+4 C0 1 0 5 0
+6  7 1 0
+6  8 5 0
+0
+
+0101000
++10 0 -5 0 *
+Wi
+
+0101100
++8 0 +6 0 +4 0 -3 0 *
+Fa
+0  1e-07 1 0
+2  1
+0101000
++2 0 *
+
++1 0 

BIN
data/solid.zip


+ 0 - 1
data/work1/mat.db.json

@@ -1 +0,0 @@
-{"materials":{},"frozen_list":[]}

File diff suppressed because it is too large
+ 0 - 1
data/work1/proj.db.json


BIN
data/work1/proj1/PlanePlate.ply


File diff suppressed because it is too large
+ 0 - 1684
data/work1/proj1/PlanePlate.stp


+ 14 - 14
js/colorMap_pane.js

@@ -41,29 +41,29 @@ function OnException(err) {
 // 641a254c-ef3e-11ea-bc8a-379bb908bdd7
 
 function OnMap4(){
-        unit.form.mainfrm.OnSend('colorRGBS 5 ' + ui.list4.table[1][1] + ' ' + ui.list4.table[1][2] + ' ' + ui.list4.table[1][3] + ' ' + 
-                                                    ui.list4.table[2][1] + ' ' + ui.list4.table[2][2] + ' ' + ui.list4.table[2][3] + ' ' +
-                                                    ui.list4.table[3][1] + ' ' + ui.list4.table[3][2] + ' ' + ui.list4.table[3][3] + ' ' +
-                                                    ui.list4.table[4][1] + ' ' + ui.list4.table[4][2] + ' ' + ui.list4.table[4][3] + ' ' +
-                                                    ui.list4.table[5][1] + ' ' + ui.list4.table[5][2] + ' ' + ui.list4.table[5][3]);
+        unit.form.mainfrm.OnRGBMap4(ui.list4.table[1][1], ui.list4.table[1][2], ui.list4.table[1][3],
+                ui.list4.table[2][1], ui.list4.table[2][2], ui.list4.table[2][3],
+                ui.list4.table[3][1], ui.list4.table[3][2], ui.list4.table[3][3],
+                ui.list4.table[4][1], ui.list4.table[4][2], ui.list4.table[4][3],
+                ui.list4.table[5][1], ui.list4.table[5][2], ui.list4.table[5][3]);
 }
 
 function OnMap3(){
-        unit.form.mainfrm.OnSend('colorRGBS 4 ' + ui.list3.table[1][1] + ' ' + ui.list3.table[1][2] + ' ' + ui.list3.table[1][3] + ' ' + 
-                                                    ui.list3.table[2][1] + ' ' + ui.list3.table[2][2] + ' ' + ui.list3.table[2][3] + ' ' +
-                                                    ui.list3.table[3][1] + ' ' + ui.list3.table[3][2] + ' ' + ui.list3.table[3][3] + ' ' +
-                                                    ui.list3.table[4][1] + ' ' + ui.list3.table[4][2] + ' ' + ui.list3.table[4][3]);
+
+        unit.form.mainfrm.OnRGBMap3(ui.list3.table[1][1], ui.list3.table[1][2], ui.list3.table[1][3],
+                ui.list3.table[2][1], ui.list3.table[2][2], ui.list3.table[2][3],
+                ui.list3.table[3][1], ui.list3.table[3][2], ui.list3.table[3][3],
+                ui.list3.table[4][1], ui.list3.table[4][2], ui.list3.table[4][3]);
 }
 
 function OnMap2(){
-        unit.form.mainfrm.OnSend('colorRGBS 3 ' + ui.list2.table[1][1] + ' ' + ui.list2.table[1][2] + ' ' + ui.list2.table[1][3] + ' ' + 
-                                                    ui.list2.table[2][1] + ' ' + ui.list2.table[2][2] + ' ' + ui.list2.table[2][3] + ' ' +
-                                                    ui.list2.table[3][1] + ' ' + ui.list2.table[3][2] + ' ' + ui.list2.table[3][3]);
+        unit.form.mainfrm.OnRGBMap2(ui.list2.table[1][1], ui.list2.table[1][2], ui.list2.table[1][3],
+                ui.list2.table[2][1], ui.list2.table[2][2], ui.list2.table[2][3],
+                ui.list2.table[3][1], ui.list2.table[3][2], ui.list2.table[3][3]);
 }
 
 function OnMap1(){
-        unit.form.mainfrm.OnSend('colorRGBS 2 ' + ui.list1.table[1][1] + ' ' + ui.list1.table[1][2] + ' ' + ui.list1.table[1][3] + ' ' + 
-                                                    ui.list1.table[2][1] + ' ' + ui.list1.table[2][2] + ' ' + ui.list1.table[2][3]);
+        unit.form.mainfrm.OnRGBMap1(ui.list1.table[1][1], ui.list1.table[1][2], ui.list1.table[1][3], ui.list1.table[2][1], ui.list1.table[2][2], ui.list1.table[2][3]);
 }
 
 //The message corresponding callback executed by the docker pane.

+ 28 - 17
js/geometry_check_pane.js

@@ -44,21 +44,33 @@ function OnError(){
         });
 }
 
+function OnErrorFace(ids){
+        let id = unit.form.mainfrm.findRIdById(model.acax_app.model.project.GetModel().pro_model, parseInt(ids) + 100003);
+        const str = comx.occio.GetFacePoint(comx.occore.GetEntryEx(), id);
+        const regex = /point:(\d+\.\d+) (\d+\.\d+) (\d+\.\d+)/;
+        const match = str.match(regex);
+        if (match) {
+                const x = parseFloat(match[1]);
+                const y = parseFloat(match[2]);
+                const z = parseFloat(match[3]);
+                unit.form.mainfrm.OnArrows(x, y, z, 1, 0, 0, "errorArrows");
+        }
+}
+
 function OnReturnMeun(){
         unit.form.mainfrm.menu(0);
 }
 
 function OnTestModel(){
         
+        var flag = true;
         unit.form.mainfrm.OnCueline('检测中...', 'Blue');
-        model.spawn(model.getCurrentDirectory() + "src/check4/demo1.exe", model.getStepPath(), cb =>{
-                //ui.cueline.value += cb + '\n';
-                //ui.cueline.row = -1;
-                
-                //const number = cb.match(/FaceIndex: (\d+)/)[1]; 
-                const numbers = cb.match(/FaceIndex: (\d+)/g).map(item => item.match(/\d+/)[0]);
+        model.spawn(model.getCurrentDirectory() + "src/check4/demo1.exe", model.acax_app.model.project.GetModel().step, cb =>{
+        //model.spawn(model.getCurrentDirectory() + "src/check4/demo1.exe", "E:/dcip/comx_sdk.node/unit/hypermesh/data/FN_MK-17_CQC_Variant_STEP.step", cb =>{
+                ui.cueline.value += "检测中..." + '\n';
+                ui.cueline.row = -1;
                 
-                if (cb.indexOf("ssuccess!!!") !== -1) {
+                if (cb.indexOf("success!!!") !== -1 && flag) {
                         ui.cueline.value += '成功!\n';
                         ui.cueline.row = -1;
                         unit.form.mainfrm.OnChangePicture(1, 2);
@@ -66,16 +78,15 @@ function OnTestModel(){
                         ui.pb_pass.enable = true;
                         ui.pb_pass01.enable = true;
                 } 
-                
-                if(cb.indexOf("FaceIndex: ") !== -1){
-                        ui.cueline.value += '您需要修改错误面:' + numbers[0] + '\n';
-                        ui.cueline.row = -1;
-                        myArray.push(numbers[0]);
-                        unit.form.mainfrm.OnChangePicture(1, 3);
-                        unit.form.mainfrm.OnCueline('您需要修改错误面:' + numbers[0], 'red');
-                        ui.pb_Error.enable = true;
-                        ui.pb_pass01.enable = false;
-                }
+                const numbers = cb.match(/FaceIndex: (\d+)/g).map(item => item.match(/\d+/)[0]);
+                ui.cueline.value += '您需要修改错误面:' + numbers[0] + '\n';
+                ui.cueline.row = -1;
+                OnErrorFace(numbers[0]);
+                flag = false;
+                unit.form.mainfrm.OnChangePicture(1, 3);
+                unit.form.mainfrm.OnCueline('您需要修改错误面:' + numbers[0], 'red');
+                ui.pb_Error.enable = true;
+                ui.pb_pass01.enable = false;
         });
         
 }

+ 64 - 2
js/geometry_facecenter_pane.js

@@ -35,6 +35,25 @@ function OnException(err) {
 // Callback Functions.
 // 641a254c-ef3e-11ea-bc8a-379bb908bdd7
 
+function OnGetFaceName(){
+        const str = unit.form.mainfrm.OnGetFaceName();
+        // 匹配type对应内容的正则表达式,以type:开头,后面跟着非冒号的内容直到遇到空格或者字符串结束
+        const typeRegex = /type:([^point]+)/;
+        // 匹配center坐标对应内容的正则表达式
+        //const centerRegex = /point:([\d. ]+)/;
+
+        const typeMatch = str.match(typeRegex);
+        const typeInfo = typeMatch? typeMatch[1] : null;
+
+        const match = str.match(/point:([-\d.]+)\s+([-\d.]+)\s+([-\d.]+)/);
+        const centerCoords = match.slice(1, 4); 
+        
+        ui.type1.value = typeInfo;
+        ui.x1.value = centerCoords[0];
+        ui.y1.value = centerCoords[1];
+        ui.z1.value = centerCoords[2];
+}
+
 function OnCenz(){
         if(ui.pbc_z.value <= 0){
                 unit.form.mainfrm.OnChangePicture(1, 3);
@@ -69,8 +88,51 @@ function OnCenx(){
 }
 
 function OnDetermine(){
-        unit.form.mainfrm.OnSend('getFaceCenter');
-        //unit.form.mainfrm.OnCueline('第一个参数为空', 'red');
+        
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
+                unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
+                return;
+        }  
+        
+        let workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
+        let temp = unit.form.tree.GetCurUniqueName();
+        let name = temp;
+        //判断是否为空
+        let j = 0;
+        let i = 0;
+        if(model.acax_app.view.GetProperty(workcondition_index) === undefined || model.acax_app.view.GetProperty(workcondition_index).point === undefined) {
+                name  = name + " P 0 0"; 
+        }else{
+                let point_arr = Object.keys(model.acax_app.view.GetProperty(workcondition_index).point);
+                name = name + " P 0 " + point_arr.length;
+                while(1){
+                        for( i = 0;i < point_arr.length;++i) {
+                                if(model.acax_app.view.GetProperty(workcondition_index).point[point_arr[i]].name === name) {
+                                        ++j;
+                                        name = temp + " P 0 " + point_arr.length + j;
+                                       
+                                        break;
+                                }
+                        }
+                        if(i === point_arr.length) {
+                                break;
+                        }
+                }
+                        
+        }
+        //unit.form.mainfrm.OnSetPoints(ui.pb_x.value, ui.pb_y.value, ui.pb_z.value, ui.pb_radius.value, name);
+        unit.form.mainfrm.OnSetPoints(ui.x1.value, ui.y1.value, ui.z1.value, ui.radius.value, name);
+        //++i;
+        let node ={
+                "x":ui.x1.value,
+                "y":ui.y1.value,
+                "z":ui.z1.value,
+                "radius":ui.radius.value,
+                "name":name
+        };
+       
+        unit.form.tree.SetPoint(node);
+        unit.form.mainfrm.OnCueline('创建成功', 'green');
         unit.form.mainfrm.OnChangePicture(1, 2);
 }
 

+ 65 - 3
js/geometry_linepoint_pane.js

@@ -35,14 +35,76 @@ function OnException(err) {
 // Callback Functions.
 // 641a254c-ef3e-11ea-bc8a-379bb908bdd7
 
+function cutLineEqually(startX, startY, startZ, endX, endY, endZ, numSegments) {
+        const segments = [];
+        const deltaX = (endX - startX) / numSegments;
+        const deltaY = (endY - startY) / numSegments;
+        const deltaZ = (endZ - startZ) / numSegments;
+        for (let i = 1; i < numSegments; i++) {
+                const x = startX + i * deltaX;
+                const y = startY + i * deltaY;
+                const z = startZ + i * deltaZ;
+                segments.push({ x, y, z });
+        }
+        return segments;
+}
+
 function OnRet(){
         unit.form.mainfrm.menu(0);
 }
 
 function OnDetermin(){
-        unit.form.mainfrm.OnSend('addLinePoints ' + ui.x1.value + ' ' + ui.y1.value + ' ' + ui.z1.value + ' '+ ui.x2.value + ' '+ ui.y2.value + ' '+ ui.z2.value + ' '+ ui.pb_s.value);
-        //unit.form.mainfrm.OnCueline('第一个参数为空', 'red');
-        //unit.form.mainfrm.OnChangePicture(1, 2);
+        //unit.form.mainfrm.OnSend('addLinePoints ' + ui.x1.value + ' ' + ui.y1.value + ' ' + ui.z1.value + ' '+ ui.x2.value + ' '+ ui.y2.value + ' '+ ui.z2.value + ' '+ ui.pb_s.value);
+        
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
+                unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
+                return;
+        }  
+        
+        const result = cutLineEqually(ui.x1.value, ui.y1.value, ui.z1.value, ui.x2.value, ui.y2.value, ui.z2.value,  parseInt(ui.pb_s.value) + 1);
+        for (let k = 0; k < result.length; k++) {
+                
+                let workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
+                let temp = unit.form.tree.GetCurUniqueName();
+                let name = temp;
+                //判断是否为空
+                let j = 0;
+                let i = 0;
+                if(model.acax_app.view.GetProperty(workcondition_index) === undefined || model.acax_app.view.GetProperty(workcondition_index).point === undefined) {
+                        name  = name + " P 0 0"; 
+                }else{
+                        let point_arr = Object.keys(model.acax_app.view.GetProperty(workcondition_index).point);
+                        name = name + " P 0 " + point_arr.length;
+                        while(1){
+                                for( i = 0;i < point_arr.length;++i) {
+                                        if(model.acax_app.view.GetProperty(workcondition_index).point[point_arr[i]].name === name) {
+                                                ++j;
+                                                name = temp + " P 0 " + point_arr.length + j;
+                                       
+                                                break;
+                                        }
+                                }
+                                if(i === point_arr.length) {
+                                        break;
+                                }
+                        }
+                        
+                }
+                unit.form.mainfrm.OnSetPoints(result[k].x, result[k].y, result[k].z, ui.radius.value, name);
+                // unit.form.mainfrm.OnSetPoints(ui.x1.value, ui.y1.value, ui.z1.value, ui.radius.value, name);
+                let node ={
+                        "x":result[k].x,
+                        "y":result[k].y,
+                        "z":result[k].z,
+                        "radius": ui.radius.value,
+                        "name":name
+                };
+       
+                unit.form.tree.SetPoint(node);
+              
+        }
+        unit.form.mainfrm.OnCueline('创建成功', 'green');
+        
 }
 
 function OnReturn(){

+ 49 - 4
js/geometry_mark_pane.js

@@ -40,10 +40,55 @@ function OnReturn(){
 }
 
 function OnSend(){
-        var id = parent.setTimeout(() => {
-                unit.form.mainfrm.OnSend('0');
-        }, 100);
-        unit.form.mainfrm.OnSend('mark ' + ui.pb_name.value + ' ' + ui.pb_R.value + ' ' + ui.pb_G.value + ' ' + ui.pb_B.value + ' ' + ui.pb_size.value + ' ' + ui.pb_x.value + ' ' + ui.pb_y.value + ' ' + ui.pb_z.value);
+        
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
+                unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
+                return;
+        }  
+        
+        let workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
+        let temp = unit.form.tree.GetCurUniqueName();
+        let name = temp;
+        //判断是否为空
+        let j = 0;
+        let i = 0;
+        if(model.acax_app.view.GetProperty(workcondition_index) === undefined || model.acax_app.view.GetProperty(workcondition_index).mark === undefined) {
+                name  = name + "mark0"; 
+        }else{
+                let mark_arr = Object.keys(model.acax_app.view.GetProperty(workcondition_index).mark);
+                name = name + "mark" + mark_arr.length;
+                while(1){
+                        for( i = 0;i < mark_arr.length;++i) {
+                                if(model.acax_app.view.GetProperty(workcondition_index).mark[mark_arr[i]].name === name) {
+                                        ++j;
+                                        name = temp + "mark" + mark_arr.length + j;
+                                       
+                                        break;
+                                }
+                        }
+                        if(i === mark_arr.length) {
+                                break;
+                        }
+                }
+                        
+        }
+        unit.form.mainfrm.OnSetMarks(ui.pb_x.value, ui.pb_y.value, ui.pb_z.value, ui.pb_R.value, ui.pb_G.value, ui.pb_B.value, ui.pb_size.value, ui.pb_name.value, name);
+       
+        let mark ={
+                "x":ui.pb_x.value,
+                "y":ui.pb_y.value,
+                "z":ui.pb_z.value,
+                "R":ui.pb_R.value,
+                "G":ui.pb_G.value,
+                "B":ui.pb_B.value,
+                "字体大小":ui.pb_size.value,
+                "标记命名":ui.pb_name.value,
+                "name":name
+        };
+       
+        unit.form.tree.SetMark(mark);
+        unit.form.mainfrm.OnCueline('创建成功', 'green');
+      
 }
 
 //The message corresponding callback executed by the docker pane.

+ 8 - 3
js/geometry_node_pane.js

@@ -38,8 +38,13 @@ function OnException(err) {
 function OnReturn(){
         unit.form.mainfrm.menu(0);
 }
-var i = 0;
+//var i = 0;
 function OnSendPoint(){
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
+                unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
+                return;
+        }  
+        
         let workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
         let temp = unit.form.tree.GetCurUniqueName();
         let name = temp;
@@ -67,7 +72,7 @@ function OnSendPoint(){
                         
         }
         unit.form.mainfrm.OnSetPoints(ui.pb_x.value, ui.pb_y.value, ui.pb_z.value, ui.pb_radius.value, name);
-        ++i;
+        //++i;
         let node ={
                 "x":ui.pb_x.value,
                 "y":ui.pb_y.value,
@@ -77,7 +82,7 @@ function OnSendPoint(){
         };
        
         unit.form.tree.SetPoint(node);
- 
+        unit.form.mainfrm.OnCueline('创建成功', 'green');
 }
 
 //The message corresponding callback executed by the docker pane.

+ 40 - 2
js/mainfrm_pane.js

@@ -29,7 +29,7 @@ function OnInitDocker() {
         dock_widget1 = appendDockPane(unit.form.toolbar, "", 4, 1|2|4);
         dock_widget2 = appendDockPane(unit.form.tree, "模型树", 1, 1|2);
 }
- 
+
 function updateDockerButtonStatus() {
         if (!dock_widget) {
                 return;
@@ -148,6 +148,7 @@ function OnloadModel(path) {
 //清除canvas
 function ClearCanvas() {
         ui.canvas.db = null;
+        comx.occore.Clear();
 }
 //设置材料参数界面
 function setMaterial(material) {
@@ -202,7 +203,7 @@ function SetColor(color) {
 
         for (let i = 0; i < color_arr.length; ++i) {
                 try {
-                        console.log(i + " ");
+                        //console.log(i + " ");
             
                         // 查找 r_id
                         let r_id = findRIdById(
@@ -298,6 +299,43 @@ function OnException(err) {
 
 // 641a254c-ef3e-11ea-bc8a-379bb908bdd7
 
+function OnClear(){
+        ui.canvas.db = null;
+}
+/*
+function OnHide(){
+        comx.ply.hideShow(vtkContext.Interface(), workData, "mark", "mark", true);
+}*/
+
+function OnCut(x, y, z, xn, yn, zn){
+        comx.ply.cutters(vtkContext.Interface(), postManage, x, y, z, xn, yn, zn);
+}
+
+function OnRGBMap4(r1, g1, b1, r2, g2, b2, r3, g3, b3, r4, g4, b4, r5, g5, b5){
+        comx.ply.colorRGBS4(vtkContext.Interface(), postManage, r1, b1, g1, r2, b2, g2, r3, g3, b3, r4, g4, b4, r5, g5, b5);
+}
+
+function OnRGBMap3(r1, g1, b1, r2, g2, b2, r3, g3, b3, r4, g4, b4){
+        comx.ply.colorRGBS3(vtkContext.Interface(), postManage, r1, b1, g1, r2, b2, g2, r3, g3, b3, r4, g4, b4);
+}
+
+function OnRGBMap2(r1, g1, b1, r2, g2, b2, r3, g3, b3){
+        comx.ply.colorRGBS2(vtkContext.Interface(), postManage, r1, b1, g1, r2, b2, g2, r3, g3, b3);
+}
+
+function OnRGBMap1(r1, g1, b1, r2, g2, b2){
+        comx.ply.colorRGBS1(vtkContext.Interface(), postManage, r1, b1, g1, r2, b2, g2);
+}
+
+function OnMotifyMarks(x, y, z, r, g, b, size, mark, name){
+        comx.ply.modifyMarks(vtkContext.Interface(), workData, x, y, z, r, g, b, size, mark, name);
+}
+
+function OnSetMarks(x, y, z, r, g, b, size, mark, name){
+        
+        comx.ply.setMarks(vtkContext.Interface(), workData, x, y, z, r, g, b, size, mark, name);
+}
+
 function OnSetChangePost(attribute){
         comx.ply.setChangeData(vtkContext.Interface(), postManage, attribute);
         ui.canvas.update();

+ 1 - 1
js/result_attribute_pane.js

@@ -86,7 +86,7 @@ function OnReturnMenu(){
 }
 
 function OnLoad(){
-        
+        unit.form.mainfrm.OnClear();
         unit.form.mainfrm.OnRenders(model.getCurrentDirectory(), 1);
         unit.form.mainfrm.OnChangePicture(5, 2);
         unit.form.mainfrm.OnCueline('ok!', 'green');

+ 1 - 5
js/result_cutter_pane.js

@@ -40,12 +40,8 @@ function OnReturnMenu(){
 }
 
 function OnCutter(){
-        var id = parent.setTimeout(() => {
-                unit.form.mainfrm.OnSend('0');
-        }, 100);
-        unit.form.mainfrm.OnSend('cutter');
+        unit.form.mainfrm.OnCut(ui.x.value, ui.y.value, ui.z.value, ui.xn.value, ui.yn.value, ui.zn.value);
         unit.form.mainfrm.OnChangePicture(5, 2);
-        //unit.form.mainfrm.OnCueline('<h4 style="font-family:arial;color: green;font-size:20px;">模型剖切已打开!</h4>');
         unit.form.mainfrm.OnCueline('模型剖切已打开!', 'green');
 }
 

+ 91 - 33
js/tree_pane.js

@@ -255,8 +255,12 @@ function OnTest1(){
 }
 //创建约束显示
 function CreateContrainShow() {
+        console.log(model.acax_app.model.workArea.Current() !== false);
+        console.log(model.acax_app.model.project.Current() !== "");
+        console.log(model.acax_app.model.workCondition.Current() !== "");
         if(model.acax_app.model.workArea.Current() !== false && model.acax_app.model.project.Current() !== "" &&model.acax_app.model.workCondition.Current() !== ""){
                 //获取工况数据库
+                console.log(workcondition);
                 var new_arr_key ;
                 var constrain_data;
                 if(model.acax_app.model.workCondition.Current() === "") {
@@ -274,6 +278,7 @@ function CreateContrainShow() {
                 const workarea_name1 =path1.substring(path1.lastIndexOf('/') + 1);                              
                 var cur_name = workarea_name1 + model.acax_app.model.project.Current() + model.acax_app.model.workCondition.Current(); 
                 var  flag = 1;
+                console.log(workcondition.includes(cur_name));
                 if(workcondition.includes(cur_name)) {
                         for(let i = 0;i < new_arr_key.length;++i) {
                                 let type = constrain_data.constrain.db[new_arr_key[i]].cons_type;                                                
@@ -284,6 +289,7 @@ function CreateContrainShow() {
                                 }
                         }                     
                         ShowPoints();
+                        ShowMarks();
                 }else{
                         for(let i = 0;i < new_arr_key.length;++i) {                      
                                 if(constrain_data.constrain.db[new_arr_key[i]].constraint === "集中载荷压力") {
@@ -311,6 +317,7 @@ function CreateContrainShow() {
                         }
                         //加载点                
                         OnLoadPoints();   
+                        OnLoadMarks();
                         workcondition.push(cur_name);
                                         
                 }
@@ -319,6 +326,7 @@ function CreateContrainShow() {
 }
 //已创建但被隐藏,显示点
 function ShowPoints() {
+        console.log("1111");
         let work_condition = model.acax_app.view.GetCurrentWorkConditionIndex();
         let point_model = model.acax_app.view.GetProperty(work_condition).point;
         let point_arr = Object.keys(point_model);
@@ -326,6 +334,15 @@ function ShowPoints() {
                 unit.form.mainfrm.HideAndShow("points", point_model[point_arr[i]].name, false);
         }
 }
+//已创建但被隐藏,显示Mark
+function ShowMarks() {
+        let work_condition = model.acax_app.view.GetCurrentWorkConditionIndex();
+        let mark_model = model.acax_app.view.GetProperty(work_condition).mark;
+        let mark_arr = Object.keys(mark_model);
+        for(let i = 0;i < mark_arr.length;++i) {                                              
+                unit.form.mainfrm.HideAndShow("mark", mark_model[mark_arr[i]].name, false);
+        }
+}
 //加载点
 function OnLoadPoints() {
         let work_condition = model.acax_app.view.GetCurrentWorkConditionIndex();
@@ -337,6 +354,17 @@ function OnLoadPoints() {
                 }
         }      
 }
+//加载Mark
+function OnLoadMarks() {
+        let work_condition = model.acax_app.view.GetCurrentWorkConditionIndex();
+        if(model.acax_app.view.GetProperty(work_condition) !== undefined && model.acax_app.view.GetProperty(work_condition).mark !== undefined ) {
+                let mark_model = model.acax_app.view.GetProperty(work_condition).mark;
+                let mark_arr = Object.keys(mark_model);
+                for(let i = 0;i < mark_arr.length;++i) {
+                        unit.form.mainfrm.OnSetMarks(mark_model[mark_arr[i]].x, mark_model[mark_arr[i]].y, mark_model[mark_arr[i]].z, mark_model[mark_arr[i]].R, mark_model[mark_arr[i]].G, mark_model[mark_arr[i]].B, mark_model[mark_arr[i]]["字体大小"], mark_model[mark_arr[i]]["标记命名"], mark_model[mark_arr[i]].name);                     
+                }
+        }      
+}
 //隐藏旧的工况
 function HideWorkcondition() {
         
@@ -351,8 +379,19 @@ function HideWorkcondition() {
                         point_model = model.acax_app.view.GetProperty(old_workcondition_index).point;
                                                 
                 }                               
-                point_arr = Object.keys(point_model);
-            
+                point_arr = Object.keys(point_model);     
+         
+                var mark_model;
+                var mark_arr;
+                if( model.acax_app.view.GetProperty(old_workcondition_index) === undefined || model.acax_app.view.GetProperty(old_workcondition_index).mark === undefined) {
+                        mark_model = {};
+                                        
+                }else{
+                        mark_model = model.acax_app.view.GetProperty(old_workcondition_index).mark;
+                                                
+                }                               
+                mark_arr = Object.keys(mark_model);     
+                
                 let constrain_data = model.acax_app.model.workCondition.Get(model.acax_app.model.workCondition.Current());
                 var old_arr_key ;  
                 if(Object.keys(constrain_data.constrain.db).length !== 0) {
@@ -374,6 +413,9 @@ function HideWorkcondition() {
                 for(let i = 0;i < point_arr.length;++i) {
                         unit.form.mainfrm.HideAndShow("points", point_model[point_arr[i]].name, true);
                 }
+                for(let i = 0;i < mark_arr.length;++i) {
+                        unit.form.mainfrm.HideAndShow("mark", mark_model[mark_arr[i]].name, true);
+                }
         }
         
 }
@@ -385,6 +427,32 @@ function GetCurUniqueName() {
         const workcondition_name = model.acax_app.model.workCondition.Current();
         return workarea_name + proj_name + workcondition_name;
 }
+//生成Mark
+function SetMark(markss) {
+        let cut_workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
+        let model_prop = model.acax_app.view.GetProperty(cut_workcondition_index);
+        //console.log(model_prop);
+        if(model_prop === undefined ) {
+                model_prop = {};
+                let mark = {};
+                mark.mark1 = markss;
+                model_prop.mark = mark;
+                model.acax_app.view.SetProperty(cut_workcondition_index, model_prop);
+                
+        }else if(model_prop.mark === undefined){
+                let mark = {};
+                mark.mark1 = markss;              
+                model_prop.mark = mark;
+                model.acax_app.view.SetProperty(cut_workcondition_index, model_prop);
+        }else{               
+                let len = Object.keys(model_prop.mark).length;
+                let temp = "mark" + (len + 1);
+                model_prop.mark[temp] = markss;
+                model.acax_app.view.SetProperty(cut_workcondition_index, model_prop);
+              
+        }
+        console.log(model.acax_app.view.GetProperty(cut_workcondition_index));
+}
 //生成点
 function SetPoint(node) {
         let cut_workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
@@ -393,7 +461,7 @@ function SetPoint(node) {
                 model_prop = {};
                 let point = {};
                 point.point1 = node;
-                console.log(point);
+                //console.log(point);
                 model_prop.point = point;
                 model.acax_app.view.SetProperty(cut_workcondition_index, model_prop);
                 
@@ -411,7 +479,7 @@ function SetPoint(node) {
                 model.acax_app.view.SetProperty(cut_workcondition_index, model_prop);
               
         }
-        //console.log(model.acax_app.view.GetProperty(cut_workcondition_index));
+        console.log(model.acax_app.view.GetProperty(cut_workcondition_index));
         
 }
 //生成brep文件
@@ -755,7 +823,7 @@ function OnContentClick(){
         //let cur_name = model.acax_app.path.Name(model_id);
         switch (model.acax_app.path.Type(model_id)){
         case 2:               
-                unit.form.Rename.Show();
+                //unit.form.Rename.Show();
                 break;
         case 3:
                 break;
@@ -775,11 +843,11 @@ function OnRightClick(){
         let model_id = g_cur_id2index_cache[ui.tree_Model.position];
         switch (model.acax_app.path.Type(model_id)){
         case 2:
-                ui.tree_Model.content_menu =[{
+                /*ui.tree_Model.content_menu =[{
                         "name":"重命名",
                         "icon":"",
                         "id":ui.tree_Model.position + "13579"                       
-                }];
+                }];*/
                 break;
         case 3:
                 break;
@@ -1070,13 +1138,10 @@ function OpenWorkArea(fname) {
                                 }
                                 );
                         }else{
-                                model.acax_app.view.Render3D(info=>{
+                                model.acax_app.view.Render3D(info=>{                                      
                                         unit.form.mainfrm.OnloadModel(info.model3d.step);
-                                        //console.log(difference);
-                                        //unit.form.mainfrm.SetColor(difference);
-                                        //console.log("222222222");
+                                        unit.form.mainfrm.SetColor(difference);                                      
                                         CreateContrainShow();
-                                        //console.log("3333333332");
                                 });
                         }
                     
@@ -1166,12 +1231,12 @@ function ChangePro(pro_name) {
         }else{
                 model.acax_app.view.Render3D(info=>{
                         unit.form.mainfrm.OnloadModel(info.model3d.step);
-                        SetUserColor();
+                        unit.form.mainfrm.SetColor(difference);
                 });
         }
     
         CheckCtrlProcess();
-        //console.log(model.global_ctrl);
+        console.log(model.global_ctrl);
 }
 //切换工况
 function ChangeWorkCondition(wor_name) {
@@ -1317,18 +1382,13 @@ function CreateWorkArea(name) {
                 };
         },
         tree=>{
-                tree_color = getTreeColorsInOrder(tree);
-
+                //tree_color = getTreeColorsInOrder(tree);
                 ui.tree_Model.tree = tree;
         });
         ui.tree_Model.position = cur_id;
         //渲染3d模型
         if(model.acax_app.model.project.GetModel().step === "unimported") {
                 unit.form.mainfrm.ClearCanvas();
-        }else{
-                model.acax_app.view.Render3D(info=>{
-                        unit.form.mainfrm.OnloadModel(info.model3d.step);
-                });
         }
         ui.tree_Model.column = [1, tree_color];
         CheckCtrlProcess();
@@ -1460,13 +1520,14 @@ function findAndAppendByName(json, targetName, newChild) {
 //给面节点改名字并添加check_state属性
 function updateJsonNodes(jsonData) {
         let count = 1; // 用于计数生成 Face1, Face2...
-        let count_id = 100000;
+        //let count_id = 100000;
         function traverse(node) {
                 // 为每个节点添加 check_state: 2 属性
                 node.check_state = 3;
                 node.icon = '';
                 node.r_id = node.id;
-                node.id = ++count_id;
+                node.id = node.faceId;
+                //node.id = ++count_id;
                 if(node.id === 100001) {
                         node.icon = 'model2';
                 }else if(node.id === 100002) {
@@ -1546,7 +1607,6 @@ function getTreeIdColorMap(tree) {
 //获取模型面的颜色保存到project
 function SetModelColor(Idx) {
         let model_color = getTreeIdColorMap(Idx);
-        console.log(model_color);
         let cut_project_index = model.acax_app.view.GetCurrentProjectIndex();
         let model_prop = model.acax_app.view.GetProperty(cut_project_index);
         if(model_prop === undefined) {
@@ -1612,25 +1672,23 @@ function OnTree(Idx){
         let tree_color = [];
         //console.log(JSON.stringify(Idx, null, 2));
         updateJsonNodes(Idx);
-        
+       
         //模型树颜色
         let cut_project_index = model.acax_app.view.GetCurrentProjectIndex();
-        /*if(model.acax_app.view.GetProperty(cut_project_index) !== undefined ) {
+        if(model.acax_app.view.GetProperty(cut_project_index) !== undefined ) {
                 //获取工程中的模型颜色,为树赋颜色
                 if(model.acax_app.view.GetProperty(cut_project_index).color!==undefined ) {
-                        //var old_map = getTreeIdColorMap(Idx);
-                        //console.log(old_map);
-                        //console.log(model.acax_app.view.GetProperty(cut_project_index).color);
-                        //difference = findDifferences(old_map, model.acax_app.view.GetProperty(cut_project_index).color); 
-                        difference = model.acax_app.view.GetProperty(cut_project_index).color;
-                        console.log("difference", difference);
+                        var old_map = getTreeIdColorMap(Idx);   
+                        //console.log(old_map);       
+                        //console.log(model.acax_app.view.GetProperty(cut_project_index).color);              
+                        difference = findDifferences(old_map, model.acax_app.view.GetProperty(cut_project_index).color); 
+                        //console.log(difference);
                         assignColorsToTree(Idx, model.acax_app.view.GetProperty(cut_project_index).color);
                 }
                 
         }else{
-                //console.log("SetModelColor");
                 SetModelColor(Idx);
-        }*/
+        }
         model.acax_app.view.RenderTree(() => {
                 g_cur_id2index_cache = {};
                 g_cur_index2id_cache = {};

+ 8 - 8
kul/geometry_cut.kul

@@ -61,7 +61,7 @@
             <property name="name"/>
             <property name="text">截面圆位置:</property>
             <property name="tip"/>
-            <property name="id_alias">9</property>
+            <property name="id_alias">11</property>
             <property name="width">19</property>
             <property name="height">8</property>
             <property name="adjust">fixed</property>
@@ -79,7 +79,7 @@
             <property name="name">pb_x</property>
             <property name="data">110</property>
             <property name="tip"/>
-            <property name="id_alias">10</property>
+            <property name="id_alias">12</property>
             <property name="width">40</property>
             <property name="height">12</property>
             <property name="adjust">fixed</property>
@@ -108,7 +108,7 @@
             <property name="name">pb_y</property>
             <property name="data">0</property>
             <property name="tip"/>
-            <property name="id_alias">11</property>
+            <property name="id_alias">13</property>
             <property name="width">40</property>
             <property name="height">12</property>
             <property name="adjust">fixed</property>
@@ -137,7 +137,7 @@
             <property name="name">pb_z</property>
             <property name="data">10</property>
             <property name="tip"/>
-            <property name="id_alias">12</property>
+            <property name="id_alias">14</property>
             <property name="width">40</property>
             <property name="height">12</property>
             <property name="adjust">fixed</property>
@@ -179,7 +179,7 @@
             <property name="name"/>
             <property name="text">截面圆半径:</property>
             <property name="tip"/>
-            <property name="id_alias">14</property>
+            <property name="id_alias">16</property>
             <property name="width">19</property>
             <property name="height">8</property>
             <property name="adjust">fixed</property>
@@ -197,7 +197,7 @@
             <property name="name">pb_radius</property>
             <property name="data">250</property>
             <property name="tip"/>
-            <property name="id_alias">15</property>
+            <property name="id_alias">17</property>
             <property name="width">40</property>
             <property name="height">12</property>
             <property name="adjust">fixed</property>
@@ -256,7 +256,7 @@
           <property name="flat">false</property>
           <property name="flat_radio">false</property>
           <property name="gray">false</property>
-          <property name="id_alias">20</property>
+          <property name="id_alias">9</property>
           <property name="visible">true</property>
           <property name="onClick">OnYes()</property>
           <property name="onContentMenu"/>
@@ -284,7 +284,7 @@
           <property name="flat">false</property>
           <property name="flat_radio">false</property>
           <property name="gray">false</property>
-          <property name="id_alias">21</property>
+          <property name="id_alias">10</property>
           <property name="visible">true</property>
           <property name="onClick"/>
           <property name="onContentMenu"/>

+ 273 - 2
kul/geometry_facecenter.kul

@@ -39,6 +39,249 @@
       <property name="scroll_width">auto</property>
       <property name="scroll_amargin">5</property>
       <property name="scroll_steps">3</property>
+      <widget type="vbox">
+        <property name="adjust">auto</property>
+        <property name="hightlight">false</property>
+        <property name="margin">1</property>
+        <property name="scroll">false</property>
+        <property name="shadow">true</property>
+        <property name="scroll_height">auto</property>
+        <property name="scroll_amargin">5</property>
+        <property name="scroll_steps">3</property>
+        <widget type="space">
+          <property name="size">15</property>
+        </widget>
+        <widget type="label">
+          <property name="name"/>
+          <property name="text">压力位置</property>
+          <property name="tip"/>
+          <property name="id_alias">7</property>
+          <property name="width">19</property>
+          <property name="height">8</property>
+          <property name="adjust">fixed</property>
+          <property name="auto_width">true</property>
+          <property name="align">left</property>
+          <property name="gray">false</property>
+          <property name="visible">true</property>
+          <property name="handle_bind"/>
+          <property name="simple_bind"/>
+          <property name="visible_bind"/>
+          <property name="hightlight">false</property>
+          <property name="stylesheet"/>
+        </widget>
+        <widget type="hbox">
+          <property name="adjust">auto</property>
+          <property name="hightlight">false</property>
+          <property name="margin">1</property>
+          <property name="scroll">false</property>
+          <property name="shadow">true</property>
+          <property name="scroll_width">auto</property>
+          <property name="scroll_amargin">5</property>
+          <property name="scroll_steps">3</property>
+          <widget type="space">
+            <property name="size">10</property>
+          </widget>
+          <widget type="label">
+            <property name="name"/>
+            <property name="text">位置标记:</property>
+            <property name="tip"/>
+            <property name="id_alias">17</property>
+            <property name="width">19</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="label">
+            <property name="name">type1</property>
+            <property name="text">--</property>
+            <property name="tip"/>
+            <property name="id_alias">18</property>
+            <property name="width">19</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="space">
+            <property name="size">auto</property>
+          </widget>
+        </widget>
+        <widget type="hbox">
+          <property name="adjust">auto</property>
+          <property name="hightlight">false</property>
+          <property name="margin">1</property>
+          <property name="scroll">false</property>
+          <property name="shadow">true</property>
+          <property name="scroll_width">auto</property>
+          <property name="scroll_amargin">5</property>
+          <property name="scroll_steps">3</property>
+          <widget type="space">
+            <property name="size">10</property>
+          </widget>
+          <widget type="label">
+            <property name="name"/>
+            <property name="text">位置坐标:</property>
+            <property name="tip"/>
+            <property name="id_alias">21</property>
+            <property name="width">19</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="label">
+            <property name="name">x1</property>
+            <property name="text"/>
+            <property name="tip"/>
+            <property name="id_alias">22</property>
+            <property name="width">20</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="space">
+            <property name="size">5</property>
+          </widget>
+          <widget type="label">
+            <property name="name">y1</property>
+            <property name="text"/>
+            <property name="tip"/>
+            <property name="id_alias">24</property>
+            <property name="width">20</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="space">
+            <property name="size">5</property>
+          </widget>
+          <widget type="label">
+            <property name="name">z1</property>
+            <property name="text"/>
+            <property name="tip"/>
+            <property name="id_alias">26</property>
+            <property name="width">20</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="space">
+            <property name="size">auto</property>
+          </widget>
+        </widget>
+        <widget type="hbox">
+          <property name="adjust">auto</property>
+          <property name="hightlight">false</property>
+          <property name="margin">1</property>
+          <property name="scroll">false</property>
+          <property name="shadow">true</property>
+          <property name="scroll_width">auto</property>
+          <property name="scroll_amargin">5</property>
+          <property name="scroll_steps">3</property>
+          <widget type="space">
+            <property name="size">10</property>
+          </widget>
+          <widget type="label">
+            <property name="name"/>
+            <property name="text">半径:</property>
+            <property name="tip"/>
+            <property name="id_alias">29</property>
+            <property name="width">19</property>
+            <property name="height">8</property>
+            <property name="adjust">fixed</property>
+            <property name="auto_width">true</property>
+            <property name="align">left</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="handle_bind"/>
+            <property name="simple_bind"/>
+            <property name="visible_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="edit">
+            <property name="name">radius</property>
+            <property name="data">5</property>
+            <property name="tip"/>
+            <property name="id_alias">30</property>
+            <property name="width">40</property>
+            <property name="height">10</property>
+            <property name="adjust">fixed</property>
+            <property name="flat">false</property>
+            <property name="align">left</property>
+            <property name="valid_check">false</property>
+            <property name="valid_okay">.*</property>
+            <property name="valid_warning">.*</property>
+            <property name="multiline">false</property>
+            <property name="password">false</property>
+            <property name="readonly">false</property>
+            <property name="wrap">true</property>
+            <property name="gray">false</property>
+            <property name="visible">true</property>
+            <property name="simple_bind"/>
+            <property name="valid_bind"/>
+            <property name="enable_bind"/>
+            <property name="visible_bind"/>
+            <property name="onChange"/>
+            <property name="onAccept"/>
+            <property name="handle_bind"/>
+            <property name="hightlight">false</property>
+            <property name="stylesheet"/>
+          </widget>
+          <widget type="space">
+            <property name="size">auto</property>
+          </widget>
+        </widget>
+        <widget type="space">
+          <property name="size">auto</property>
+        </widget>
+      </widget>
       <widget type="space">
         <property name="size">auto</property>
       </widget>
@@ -54,6 +297,34 @@
         <widget type="space">
           <property name="size">auto</property>
         </widget>
+        <widget type="pushbutton">
+          <property name="name"/>
+          <property name="label">添加</property>
+          <property name="tip"/>
+          <property name="bitmap">nil</property>
+          <property name="bitmap_align">left</property>
+          <property name="width">40</property>
+          <property name="height">12</property>
+          <property name="adjust">fixed</property>
+          <property name="can_check">false</property>
+          <property name="default">false</property>
+          <property name="flat">false</property>
+          <property name="flat_radio">false</property>
+          <property name="gray">false</property>
+          <property name="id_alias">13</property>
+          <property name="visible">true</property>
+          <property name="onClick">OnGetFaceName()</property>
+          <property name="onContentMenu"/>
+          <property name="shadow">false</property>
+          <property name="shadow_type">soft</property>
+          <property name="enable_bind"/>
+          <property name="simple_bind"/>
+          <property name="valid_bind"/>
+          <property name="visible_bind"/>
+          <property name="handle_bind"/>
+          <property name="hightlight">false</property>
+          <property name="stylesheet"/>
+        </widget>
         <widget type="pushbutton">
           <property name="name"/>
           <property name="label">确定</property>
@@ -68,7 +339,7 @@
           <property name="flat">false</property>
           <property name="flat_radio">false</property>
           <property name="gray">false</property>
-          <property name="id_alias">12</property>
+          <property name="id_alias">14</property>
           <property name="visible">true</property>
           <property name="onClick">OnDetermine()</property>
           <property name="onContentMenu"/>
@@ -96,7 +367,7 @@
           <property name="flat">false</property>
           <property name="flat_radio">false</property>
           <property name="gray">false</property>
-          <property name="id_alias">13</property>
+          <property name="id_alias">15</property>
           <property name="visible">true</property>
           <property name="onClick">OnReturn()</property>
           <property name="onContentMenu"/>

+ 41 - 346
kul/geometry_linepoint.kul

@@ -100,7 +100,7 @@
             <property name="flat_radio">false</property>
             <property name="gray">false</property>
             <property name="id_alias">7</property>
-            <property name="visible">true</property>
+            <property name="visible">false</property>
             <property name="onClick">OnNode()</property>
             <property name="onContentMenu"/>
             <property name="shadow">false</property>
@@ -165,7 +165,7 @@
                     <property name="name"/>
                     <property name="text">起始点:</property>
                     <property name="tip"/>
-                    <property name="id_alias">33</property>
+                    <property name="id_alias">22</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -181,14 +181,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">x1</property>
-                    <property name="data">1</property>
+                    <property name="data">0</property>
                     <property name="tip"/>
-                    <property name="id_alias">34</property>
+                    <property name="id_alias">23</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -210,14 +210,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">y1</property>
-                    <property name="data">1</property>
+                    <property name="data">0</property>
                     <property name="tip"/>
-                    <property name="id_alias">35</property>
+                    <property name="id_alias">24</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -239,14 +239,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">z1</property>
-                    <property name="data">1</property>
+                    <property name="data">0</property>
                     <property name="tip"/>
-                    <property name="id_alias">36</property>
+                    <property name="id_alias">25</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -283,7 +283,7 @@
                     <property name="name"/>
                     <property name="text">终止点:</property>
                     <property name="tip"/>
-                    <property name="id_alias">38</property>
+                    <property name="id_alias">27</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -299,14 +299,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">x2</property>
-                    <property name="data">1</property>
+                    <property name="data">100</property>
                     <property name="tip"/>
-                    <property name="id_alias">39</property>
+                    <property name="id_alias">28</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -328,14 +328,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">y2</property>
-                    <property name="data">1</property>
+                    <property name="data">0</property>
                     <property name="tip"/>
-                    <property name="id_alias">40</property>
+                    <property name="id_alias">29</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -357,14 +357,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">z2</property>
-                    <property name="data">1</property>
+                    <property name="data">0</property>
                     <property name="tip"/>
-                    <property name="id_alias">41</property>
+                    <property name="id_alias">30</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -401,7 +401,7 @@
                     <property name="name"/>
                     <property name="text">段数:</property>
                     <property name="tip"/>
-                    <property name="id_alias">43</property>
+                    <property name="id_alias">32</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -419,7 +419,7 @@
                     <property name="name"/>
                     <property name="text"/>
                     <property name="tip"/>
-                    <property name="id_alias">44</property>
+                    <property name="id_alias">33</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -437,7 +437,7 @@
                     <property name="name"/>
                     <property name="text"/>
                     <property name="tip"/>
-                    <property name="id_alias">45</property>
+                    <property name="id_alias">34</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -453,14 +453,14 @@
                   </widget>
                   <widget type="edit">
                     <property name="name">pb_s</property>
-                    <property name="data">1</property>
+                    <property name="data">5</property>
                     <property name="tip"/>
-                    <property name="id_alias">46</property>
+                    <property name="id_alias">35</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -484,111 +484,6 @@
                     <property name="size">auto</property>
                   </widget>
                 </widget>
-                <widget type="space">
-                  <property name="size">auto</property>
-                </widget>
-              </widget>
-              <widget type="space">
-                <property name="size">auto</property>
-              </widget>
-              <widget type="vbox">
-                <property name="adjust">auto</property>
-                <property name="hightlight">false</property>
-                <property name="margin">1</property>
-                <property name="scroll">false</property>
-                <property name="shadow">true</property>
-                <property name="scroll_height">auto</property>
-                <property name="scroll_amargin">5</property>
-                <property name="scroll_steps">3</property>
-                <widget type="space">
-                  <property name="size">auto</property>
-                </widget>
-                <widget type="pushbutton">
-                  <property name="name"/>
-                  <property name="label">确定</property>
-                  <property name="tip"/>
-                  <property name="bitmap">nil</property>
-                  <property name="bitmap_align">left</property>
-                  <property name="width">40</property>
-                  <property name="height">12</property>
-                  <property name="adjust">fixed</property>
-                  <property name="can_check">false</property>
-                  <property name="default">false</property>
-                  <property name="flat">false</property>
-                  <property name="flat_radio">false</property>
-                  <property name="gray">false</property>
-                  <property name="id_alias">25</property>
-                  <property name="visible">true</property>
-                  <property name="onClick">OnDetermin()</property>
-                  <property name="onContentMenu"/>
-                  <property name="shadow">false</property>
-                  <property name="shadow_type">soft</property>
-                  <property name="enable_bind"/>
-                  <property name="simple_bind"/>
-                  <property name="valid_bind"/>
-                  <property name="visible_bind"/>
-                  <property name="handle_bind"/>
-                  <property name="hightlight">false</property>
-                  <property name="stylesheet"/>
-                </widget>
-                <widget type="pushbutton">
-                  <property name="name"/>
-                  <property name="label">返回</property>
-                  <property name="tip"/>
-                  <property name="bitmap">nil</property>
-                  <property name="bitmap_align">left</property>
-                  <property name="width">40</property>
-                  <property name="height">12</property>
-                  <property name="adjust">fixed</property>
-                  <property name="can_check">false</property>
-                  <property name="default">false</property>
-                  <property name="flat">false</property>
-                  <property name="flat_radio">false</property>
-                  <property name="gray">false</property>
-                  <property name="id_alias">26</property>
-                  <property name="visible">true</property>
-                  <property name="onClick">OnRet()</property>
-                  <property name="onContentMenu"/>
-                  <property name="shadow">false</property>
-                  <property name="shadow_type">soft</property>
-                  <property name="enable_bind"/>
-                  <property name="simple_bind"/>
-                  <property name="valid_bind"/>
-                  <property name="visible_bind"/>
-                  <property name="handle_bind"/>
-                  <property name="hightlight">false</property>
-                  <property name="stylesheet"/>
-                </widget>
-              </widget>
-            </widget>
-          </widget>
-          <widget type="vbox">
-            <property name="adjust">auto</property>
-            <property name="hightlight">false</property>
-            <property name="margin">1</property>
-            <property name="scroll">false</property>
-            <property name="shadow">true</property>
-            <property name="scroll_height">auto</property>
-            <property name="scroll_amargin">5</property>
-            <property name="scroll_steps">3</property>
-            <widget type="hbox">
-              <property name="adjust">auto</property>
-              <property name="hightlight">false</property>
-              <property name="margin">1</property>
-              <property name="scroll">false</property>
-              <property name="shadow">true</property>
-              <property name="scroll_width">auto</property>
-              <property name="scroll_amargin">5</property>
-              <property name="scroll_steps">3</property>
-              <widget type="vbox">
-                <property name="adjust">auto</property>
-                <property name="hightlight">false</property>
-                <property name="margin">1</property>
-                <property name="scroll">false</property>
-                <property name="shadow">true</property>
-                <property name="scroll_height">auto</property>
-                <property name="scroll_amargin">5</property>
-                <property name="scroll_steps">3</property>
                 <widget type="hbox">
                   <property name="adjust">auto</property>
                   <property name="hightlight">false</property>
@@ -600,9 +495,9 @@
                   <property name="scroll_steps">3</property>
                   <widget type="label">
                     <property name="name"/>
-                    <property name="text">起始点:</property>
+                    <property name="text">半径:</property>
                     <property name="tip"/>
-                    <property name="id_alias">48</property>
+                    <property name="id_alias">37</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -616,111 +511,11 @@
                     <property name="hightlight">false</property>
                     <property name="stylesheet"/>
                   </widget>
-                  <widget type="edit">
-                    <property name="name">x1_1</property>
-                    <property name="data">1</property>
-                    <property name="tip"/>
-                    <property name="id_alias">49</property>
-                    <property name="width">40</property>
-                    <property name="height">12</property>
-                    <property name="adjust">fixed</property>
-                    <property name="flat">false</property>
-                    <property name="align">left</property>
-                    <property name="valid_check">false</property>
-                    <property name="valid_okay">.*</property>
-                    <property name="valid_warning">.*</property>
-                    <property name="multiline">false</property>
-                    <property name="password">false</property>
-                    <property name="readonly">false</property>
-                    <property name="wrap">true</property>
-                    <property name="gray">false</property>
-                    <property name="visible">true</property>
-                    <property name="simple_bind"/>
-                    <property name="valid_bind"/>
-                    <property name="enable_bind"/>
-                    <property name="visible_bind"/>
-                    <property name="onChange"/>
-                    <property name="onAccept"/>
-                    <property name="handle_bind"/>
-                    <property name="hightlight">false</property>
-                    <property name="stylesheet"/>
-                  </widget>
-                  <widget type="edit">
-                    <property name="name">y1_1</property>
-                    <property name="data">1</property>
-                    <property name="tip"/>
-                    <property name="id_alias">50</property>
-                    <property name="width">40</property>
-                    <property name="height">12</property>
-                    <property name="adjust">fixed</property>
-                    <property name="flat">false</property>
-                    <property name="align">left</property>
-                    <property name="valid_check">false</property>
-                    <property name="valid_okay">.*</property>
-                    <property name="valid_warning">.*</property>
-                    <property name="multiline">false</property>
-                    <property name="password">false</property>
-                    <property name="readonly">false</property>
-                    <property name="wrap">true</property>
-                    <property name="gray">false</property>
-                    <property name="visible">true</property>
-                    <property name="simple_bind"/>
-                    <property name="valid_bind"/>
-                    <property name="enable_bind"/>
-                    <property name="visible_bind"/>
-                    <property name="onChange"/>
-                    <property name="onAccept"/>
-                    <property name="handle_bind"/>
-                    <property name="hightlight">false</property>
-                    <property name="stylesheet"/>
-                  </widget>
-                  <widget type="edit">
-                    <property name="name">z1_1</property>
-                    <property name="data">1</property>
-                    <property name="tip"/>
-                    <property name="id_alias">51</property>
-                    <property name="width">40</property>
-                    <property name="height">12</property>
-                    <property name="adjust">fixed</property>
-                    <property name="flat">false</property>
-                    <property name="align">left</property>
-                    <property name="valid_check">false</property>
-                    <property name="valid_okay">.*</property>
-                    <property name="valid_warning">.*</property>
-                    <property name="multiline">false</property>
-                    <property name="password">false</property>
-                    <property name="readonly">false</property>
-                    <property name="wrap">true</property>
-                    <property name="gray">false</property>
-                    <property name="visible">true</property>
-                    <property name="simple_bind"/>
-                    <property name="valid_bind"/>
-                    <property name="enable_bind"/>
-                    <property name="visible_bind"/>
-                    <property name="onChange"/>
-                    <property name="onAccept"/>
-                    <property name="handle_bind"/>
-                    <property name="hightlight">false</property>
-                    <property name="stylesheet"/>
-                  </widget>
-                  <widget type="space">
-                    <property name="size">auto</property>
-                  </widget>
-                </widget>
-                <widget type="hbox">
-                  <property name="adjust">auto</property>
-                  <property name="hightlight">false</property>
-                  <property name="margin">1</property>
-                  <property name="scroll">false</property>
-                  <property name="shadow">true</property>
-                  <property name="scroll_width">auto</property>
-                  <property name="scroll_amargin">5</property>
-                  <property name="scroll_steps">3</property>
                   <widget type="label">
                     <property name="name"/>
-                    <property name="text">终止点:</property>
+                    <property name="text"/>
                     <property name="tip"/>
-                    <property name="id_alias">53</property>
+                    <property name="id_alias">38</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -734,111 +529,11 @@
                     <property name="hightlight">false</property>
                     <property name="stylesheet"/>
                   </widget>
-                  <widget type="edit">
-                    <property name="name">x2_2</property>
-                    <property name="data">1</property>
-                    <property name="tip"/>
-                    <property name="id_alias">54</property>
-                    <property name="width">40</property>
-                    <property name="height">12</property>
-                    <property name="adjust">fixed</property>
-                    <property name="flat">false</property>
-                    <property name="align">left</property>
-                    <property name="valid_check">false</property>
-                    <property name="valid_okay">.*</property>
-                    <property name="valid_warning">.*</property>
-                    <property name="multiline">false</property>
-                    <property name="password">false</property>
-                    <property name="readonly">false</property>
-                    <property name="wrap">true</property>
-                    <property name="gray">false</property>
-                    <property name="visible">true</property>
-                    <property name="simple_bind"/>
-                    <property name="valid_bind"/>
-                    <property name="enable_bind"/>
-                    <property name="visible_bind"/>
-                    <property name="onChange"/>
-                    <property name="onAccept"/>
-                    <property name="handle_bind"/>
-                    <property name="hightlight">false</property>
-                    <property name="stylesheet"/>
-                  </widget>
-                  <widget type="edit">
-                    <property name="name">y2_2</property>
-                    <property name="data">1</property>
-                    <property name="tip"/>
-                    <property name="id_alias">55</property>
-                    <property name="width">40</property>
-                    <property name="height">12</property>
-                    <property name="adjust">fixed</property>
-                    <property name="flat">false</property>
-                    <property name="align">left</property>
-                    <property name="valid_check">false</property>
-                    <property name="valid_okay">.*</property>
-                    <property name="valid_warning">.*</property>
-                    <property name="multiline">false</property>
-                    <property name="password">false</property>
-                    <property name="readonly">false</property>
-                    <property name="wrap">true</property>
-                    <property name="gray">false</property>
-                    <property name="visible">true</property>
-                    <property name="simple_bind"/>
-                    <property name="valid_bind"/>
-                    <property name="enable_bind"/>
-                    <property name="visible_bind"/>
-                    <property name="onChange"/>
-                    <property name="onAccept"/>
-                    <property name="handle_bind"/>
-                    <property name="hightlight">false</property>
-                    <property name="stylesheet"/>
-                  </widget>
-                  <widget type="edit">
-                    <property name="name">z2_2</property>
-                    <property name="data">1</property>
-                    <property name="tip"/>
-                    <property name="id_alias">56</property>
-                    <property name="width">40</property>
-                    <property name="height">12</property>
-                    <property name="adjust">fixed</property>
-                    <property name="flat">false</property>
-                    <property name="align">left</property>
-                    <property name="valid_check">false</property>
-                    <property name="valid_okay">.*</property>
-                    <property name="valid_warning">.*</property>
-                    <property name="multiline">false</property>
-                    <property name="password">false</property>
-                    <property name="readonly">false</property>
-                    <property name="wrap">true</property>
-                    <property name="gray">false</property>
-                    <property name="visible">true</property>
-                    <property name="simple_bind"/>
-                    <property name="valid_bind"/>
-                    <property name="enable_bind"/>
-                    <property name="visible_bind"/>
-                    <property name="onChange"/>
-                    <property name="onAccept"/>
-                    <property name="handle_bind"/>
-                    <property name="hightlight">false</property>
-                    <property name="stylesheet"/>
-                  </widget>
-                  <widget type="space">
-                    <property name="size">auto</property>
-                  </widget>
-                </widget>
-                <widget type="hbox">
-                  <property name="adjust">auto</property>
-                  <property name="hightlight">false</property>
-                  <property name="margin">1</property>
-                  <property name="scroll">false</property>
-                  <property name="shadow">true</property>
-                  <property name="scroll_width">auto</property>
-                  <property name="scroll_amargin">5</property>
-                  <property name="scroll_steps">3</property>
                   <widget type="label">
                     <property name="name"/>
-                    <property name="text">节点数:</property>
+                    <property name="text"/>
                     <property name="tip"/>
-                    <property name="id_alias">58</property>
+                    <property name="id_alias">39</property>
                     <property name="width">19</property>
                     <property name="height">8</property>
                     <property name="adjust">fixed</property>
@@ -853,15 +548,15 @@
                     <property name="stylesheet"/>
                   </widget>
                   <widget type="edit">
-                    <property name="name">pb_n</property>
-                    <property name="data">1</property>
+                    <property name="name">radius</property>
+                    <property name="data">5</property>
                     <property name="tip"/>
-                    <property name="id_alias">59</property>
+                    <property name="id_alias">40</property>
                     <property name="width">40</property>
                     <property name="height">12</property>
                     <property name="adjust">fixed</property>
                     <property name="flat">false</property>
-                    <property name="align">left</property>
+                    <property name="align">center</property>
                     <property name="valid_check">false</property>
                     <property name="valid_okay">.*</property>
                     <property name="valid_warning">.*</property>
@@ -918,9 +613,9 @@
                   <property name="flat">false</property>
                   <property name="flat_radio">false</property>
                   <property name="gray">false</property>
-                  <property name="id_alias">31</property>
+                  <property name="id_alias">20</property>
                   <property name="visible">true</property>
-                  <property name="onClick">OnDetermine()</property>
+                  <property name="onClick">OnDetermin()</property>
                   <property name="onContentMenu"/>
                   <property name="shadow">false</property>
                   <property name="shadow_type">soft</property>
@@ -946,9 +641,9 @@
                   <property name="flat">false</property>
                   <property name="flat_radio">false</property>
                   <property name="gray">false</property>
-                  <property name="id_alias">32</property>
+                  <property name="id_alias">21</property>
                   <property name="visible">true</property>
-                  <property name="onClick">OnReturn()</property>
+                  <property name="onClick">OnRet()</property>
                   <property name="onContentMenu"/>
                   <property name="shadow">false</property>
                   <property name="shadow_type">soft</property>

+ 249 - 3
kul/result_cutter.kul

@@ -48,6 +48,252 @@
         <property name="scroll_width">auto</property>
         <property name="scroll_amargin">5</property>
         <property name="scroll_steps">3</property>
+        <widget type="vbox">
+          <property name="adjust">auto</property>
+          <property name="hightlight">false</property>
+          <property name="margin">1</property>
+          <property name="scroll">false</property>
+          <property name="shadow">true</property>
+          <property name="scroll_height">auto</property>
+          <property name="scroll_amargin">5</property>
+          <property name="scroll_steps">3</property>
+          <widget type="hbox">
+            <property name="adjust">auto</property>
+            <property name="hightlight">false</property>
+            <property name="margin">1</property>
+            <property name="scroll">false</property>
+            <property name="shadow">true</property>
+            <property name="scroll_width">auto</property>
+            <property name="scroll_amargin">5</property>
+            <property name="scroll_steps">3</property>
+            <widget type="label">
+              <property name="name"/>
+              <property name="text">切割原点:</property>
+              <property name="tip"/>
+              <property name="id_alias">14</property>
+              <property name="width">19</property>
+              <property name="height">8</property>
+              <property name="adjust">fixed</property>
+              <property name="auto_width">true</property>
+              <property name="align">left</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="handle_bind"/>
+              <property name="simple_bind"/>
+              <property name="visible_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+            <widget type="edit">
+              <property name="name">x</property>
+              <property name="data">0</property>
+              <property name="tip"/>
+              <property name="id_alias">15</property>
+              <property name="width">40</property>
+              <property name="height">10</property>
+              <property name="adjust">fixed</property>
+              <property name="flat">false</property>
+              <property name="align">center</property>
+              <property name="valid_check">false</property>
+              <property name="valid_okay">.*</property>
+              <property name="valid_warning">.*</property>
+              <property name="multiline">false</property>
+              <property name="password">false</property>
+              <property name="readonly">false</property>
+              <property name="wrap">true</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="simple_bind"/>
+              <property name="valid_bind"/>
+              <property name="enable_bind"/>
+              <property name="visible_bind"/>
+              <property name="onChange"/>
+              <property name="onAccept"/>
+              <property name="handle_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+            <widget type="edit">
+              <property name="name">y</property>
+              <property name="data">0</property>
+              <property name="tip"/>
+              <property name="id_alias">16</property>
+              <property name="width">40</property>
+              <property name="height">10</property>
+              <property name="adjust">fixed</property>
+              <property name="flat">false</property>
+              <property name="align">center</property>
+              <property name="valid_check">false</property>
+              <property name="valid_okay">.*</property>
+              <property name="valid_warning">.*</property>
+              <property name="multiline">false</property>
+              <property name="password">false</property>
+              <property name="readonly">false</property>
+              <property name="wrap">true</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="simple_bind"/>
+              <property name="valid_bind"/>
+              <property name="enable_bind"/>
+              <property name="visible_bind"/>
+              <property name="onChange"/>
+              <property name="onAccept"/>
+              <property name="handle_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+            <widget type="edit">
+              <property name="name">z</property>
+              <property name="data">0</property>
+              <property name="tip"/>
+              <property name="id_alias">17</property>
+              <property name="width">40</property>
+              <property name="height">10</property>
+              <property name="adjust">fixed</property>
+              <property name="flat">false</property>
+              <property name="align">center</property>
+              <property name="valid_check">false</property>
+              <property name="valid_okay">.*</property>
+              <property name="valid_warning">.*</property>
+              <property name="multiline">false</property>
+              <property name="password">false</property>
+              <property name="readonly">false</property>
+              <property name="wrap">true</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="simple_bind"/>
+              <property name="valid_bind"/>
+              <property name="enable_bind"/>
+              <property name="visible_bind"/>
+              <property name="onChange"/>
+              <property name="onAccept"/>
+              <property name="handle_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+          </widget>
+          <widget type="hbox">
+            <property name="adjust">auto</property>
+            <property name="hightlight">false</property>
+            <property name="margin">1</property>
+            <property name="scroll">false</property>
+            <property name="shadow">true</property>
+            <property name="scroll_width">auto</property>
+            <property name="scroll_amargin">5</property>
+            <property name="scroll_steps">3</property>
+            <widget type="label">
+              <property name="name"/>
+              <property name="text">切割方向:</property>
+              <property name="tip"/>
+              <property name="id_alias">18</property>
+              <property name="width">19</property>
+              <property name="height">8</property>
+              <property name="adjust">fixed</property>
+              <property name="auto_width">true</property>
+              <property name="align">left</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="handle_bind"/>
+              <property name="simple_bind"/>
+              <property name="visible_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+            <widget type="edit">
+              <property name="name">xn</property>
+              <property name="data">1</property>
+              <property name="tip"/>
+              <property name="id_alias">19</property>
+              <property name="width">40</property>
+              <property name="height">10</property>
+              <property name="adjust">fixed</property>
+              <property name="flat">false</property>
+              <property name="align">center</property>
+              <property name="valid_check">false</property>
+              <property name="valid_okay">.*</property>
+              <property name="valid_warning">.*</property>
+              <property name="multiline">false</property>
+              <property name="password">false</property>
+              <property name="readonly">false</property>
+              <property name="wrap">true</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="simple_bind"/>
+              <property name="valid_bind"/>
+              <property name="enable_bind"/>
+              <property name="visible_bind"/>
+              <property name="onChange"/>
+              <property name="onAccept"/>
+              <property name="handle_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+            <widget type="edit">
+              <property name="name">yn</property>
+              <property name="data">0</property>
+              <property name="tip"/>
+              <property name="id_alias">20</property>
+              <property name="width">40</property>
+              <property name="height">10</property>
+              <property name="adjust">fixed</property>
+              <property name="flat">false</property>
+              <property name="align">center</property>
+              <property name="valid_check">false</property>
+              <property name="valid_okay">.*</property>
+              <property name="valid_warning">.*</property>
+              <property name="multiline">false</property>
+              <property name="password">false</property>
+              <property name="readonly">false</property>
+              <property name="wrap">true</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="simple_bind"/>
+              <property name="valid_bind"/>
+              <property name="enable_bind"/>
+              <property name="visible_bind"/>
+              <property name="onChange"/>
+              <property name="onAccept"/>
+              <property name="handle_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+            <widget type="edit">
+              <property name="name">zn</property>
+              <property name="data">0</property>
+              <property name="tip"/>
+              <property name="id_alias">21</property>
+              <property name="width">40</property>
+              <property name="height">10</property>
+              <property name="adjust">fixed</property>
+              <property name="flat">false</property>
+              <property name="align">center</property>
+              <property name="valid_check">false</property>
+              <property name="valid_okay">.*</property>
+              <property name="valid_warning">.*</property>
+              <property name="multiline">false</property>
+              <property name="password">false</property>
+              <property name="readonly">false</property>
+              <property name="wrap">true</property>
+              <property name="gray">false</property>
+              <property name="visible">true</property>
+              <property name="simple_bind"/>
+              <property name="valid_bind"/>
+              <property name="enable_bind"/>
+              <property name="visible_bind"/>
+              <property name="onChange"/>
+              <property name="onAccept"/>
+              <property name="handle_bind"/>
+              <property name="hightlight">false</property>
+              <property name="stylesheet"/>
+            </widget>
+          </widget>
+          <widget type="space">
+            <property name="size">auto</property>
+          </widget>
+        </widget>
+        <widget type="space">
+          <property name="size">auto</property>
+        </widget>
         <widget type="vbox">
           <property name="adjust">auto</property>
           <property name="hightlight">false</property>
@@ -83,7 +329,7 @@
               <property name="flat">false</property>
               <property name="flat_radio">false</property>
               <property name="gray">false</property>
-              <property name="id_alias">10</property>
+              <property name="id_alias">23</property>
               <property name="visible">true</property>
               <property name="onClick">OnCutter()</property>
               <property name="onContentMenu"/>
@@ -127,7 +373,7 @@
               <property name="flat">false</property>
               <property name="flat_radio">false</property>
               <property name="gray">false</property>
-              <property name="id_alias">12</property>
+              <property name="id_alias">25</property>
               <property name="visible">true</property>
               <property name="onClick"/>
               <property name="onContentMenu"/>
@@ -168,7 +414,7 @@
               <property name="flat">false</property>
               <property name="flat_radio">false</property>
               <property name="gray">false</property>
-              <property name="id_alias">14</property>
+              <property name="id_alias">27</property>
               <property name="visible">true</property>
               <property name="onClick">OnReturnMenu()</property>
               <property name="onContentMenu"/>

File diff suppressed because it is too large
+ 0 - 1
viewProp.db.json


+ 0 - 1
workArea.cfg.json

@@ -1 +0,0 @@
-{"current":0,"list":["D:/dcip1/comx_sdk.node/unit/hypermesh/data/work1"]}