2 Commits 497b697d71 ... d28dcf9b17

Author SHA1 Message Date
  lzy d28dcf9b17 12.1 16:16 4 months ago
  lzy 98324cacc0 11.30 4 months ago
88 changed files with 27963 additions and 1649030 deletions
  1. 103 26
      data/brep/face10.brep
  2. 130 0
      data/brep/face100.brep
  3. 271 62
      data/brep/face100003.brep
  4. 270 61
      data/brep/face100005.brep
  5. 60 164
      data/brep/face100008.brep
  6. 267 58
      data/brep/face100009.brep
  7. 268 59
      data/brep/face100011.brep
  8. 274 65
      data/brep/face100012.brep
  9. 60 269
      data/brep/face100013.brep
  10. 33 33
      data/brep/face100015.brep
  11. 89 63
      data/brep/face100017.brep
  12. 60 60
      data/brep/face100025.brep
  13. 268 59
      data/brep/face100027.brep
  14. 50 50
      data/brep/face100030.brep
  15. 55 55
      data/brep/face100031.brep
  16. 36 36
      data/brep/face100032.brep
  17. 50 50
      data/brep/face100036.brep
  18. 52 52
      data/brep/face100037.brep
  19. 36 36
      data/brep/face100039.brep
  20. 1973 66
      data/brep/face100041.brep
  21. 33 33
      data/brep/face100042.brep
  22. 36 36
      data/brep/face100043.brep
  23. 53 53
      data/brep/face100044.brep
  24. 59 268
      data/brep/face100045.brep
  25. 36 36
      data/brep/face100049.brep
  26. 55 264
      data/brep/face100052.brep
  27. 50 50
      data/brep/face100055.brep
  28. 268 59
      data/brep/face100057.brep
  29. 1896 0
      data/brep/face100150.brep
  30. 2038 0
      data/brep/face100325.brep
  31. 1079 0
      data/brep/face100551.brep
  32. 760 0
      data/brep/face100582.brep
  33. 200 0
      data/brep/face101671.brep
  34. 1882 0
      data/brep/face101935.brep
  35. 1882 0
      data/brep/face102185.brep
  36. 1213 0
      data/brep/face102196.brep
  37. 1871 0
      data/brep/face102562.brep
  38. 1882 0
      data/brep/face102942.brep
  39. 1882 0
      data/brep/face103151.brep
  40. 784 0
      data/brep/face103440.brep
  41. 801 0
      data/brep/face103461.brep
  42. 470 0
      data/brep/face103634.brep
  43. 362 0
      data/brep/face103874.brep
  44. 801 0
      data/brep/face103974.brep
  45. 543 0
      data/brep/face104135.brep
  46. 130 0
      data/brep/face43.brep
  47. 130 0
      data/brep/face83.brep
  48. 130 0
      data/brep/face99.brep
  49. 1152 1152
      data/guass/guass.txt
  50. 24 6
      data/preFiles.txt
  51. 0 1
      data/work1/mat.db.json
  52. 0 1
      data/work1/proj.db.json
  53. BIN
      data/work1/proj1/PlanePlate.ply
  54. 0 1684
      data/work1/proj1/PlanePlate.stp
  55. 0 1
      data/work2/mat.db.json
  56. 0 1
      data/work2/proj.db.json
  57. BIN
      data/work2/proj1/solid.ply
  58. 0 449830
      data/work2/proj1/solid.stp
  59. 0 1
      data/work3/mat.db.json
  60. 0 1
      data/work3/proj.db.json
  61. 0 1192050
      data/work3/proj1/FN_MK-17_CQC_Variant_STEP.step
  62. 0 1
      data/work4/mat.db.json
  63. 0 1
      data/work4/proj.db.json
  64. BIN
      data/work4/proj1/PlanePlate.ply
  65. 0 1684
      data/work4/proj1/PlanePlate.stp
  66. BIN
      hyper图标.zip
  67. BIN
      js.zip
  68. 5 3
      js/boundary_force_pane.js
  69. 5 7
      js/boundary_load_pane.js
  70. 14 14
      js/colorMap_pane.js
  71. 28 17
      js/geometry_check_pane.js
  72. 64 2
      js/geometry_facecenter_pane.js
  73. 65 3
      js/geometry_linepoint_pane.js
  74. 49 4
      js/geometry_mark_pane.js
  75. 8 3
      js/geometry_node_pane.js
  76. 97 2
      js/mainfrm_pane.js
  77. 1 1
      js/physics_material_pane.js
  78. 1 1
      js/result_attribute_pane.js
  79. 1 5
      js/result_cutter_pane.js
  80. 4 3
      js/solve_setup_pane.js
  81. 143 67
      js/tree_pane.js
  82. BIN
      kul.zip
  83. 8 8
      kul/geometry_cut.kul
  84. 273 2
      kul/geometry_facecenter.kul
  85. 41 346
      kul/geometry_linepoint.kul
  86. 249 3
      kul/result_cutter.kul
  87. 0 1
      viewProp.db.json
  88. 0 1
      workArea.cfg.json

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 

File diff suppressed because it is too large
+ 271 - 62
data/brep/face100003.brep


File diff suppressed because it is too large
+ 270 - 61
data/brep/face100005.brep


File diff suppressed because it is too large
+ 60 - 164
data/brep/face100008.brep


File diff suppressed because it is too large
+ 267 - 58
data/brep/face100009.brep


File diff suppressed because it is too large
+ 268 - 59
data/brep/face100011.brep


File diff suppressed because it is too large
+ 274 - 65
data/brep/face100012.brep


File diff suppressed because it is too large
+ 60 - 269
data/brep/face100013.brep


+ 33 - 33
data/brep/face100015.brep

@@ -4,61 +4,61 @@ CASCADE Topology V1, (c) Matra-Datavision
 Locations 0
 Curve2ds 0
 Curves 4
-7 0 0  1 2 2  656 399 0.90000000000000002  100 399 0.90000000000000002 
+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 399 0.90000000000000002  100 303.800000001 0.90000000000000002 
- -399 2 -303.800000001 2
-7 0 0  1 2 2  100 303.800000001 0.90000000000000002  656 303.800000001 0.90000000000000002 
+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 399 0.90000000000000002  656 303.800000001 0.90000000000000002 
- -399 2 -303.800000001 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 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 2 3 
-p 3.80800000796 1 -399 -303.800000001 
-2 8 7 
-p 3.80800000796 1 -399 -303.800000001 
+p 9.52000001993 1 -171 -75.8000000007 
+2 2 8 
+p 9.52000001993 1 -171 -75.8000000007 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 3 4 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 4 
-p 3.80800000796 1 -399 -303.800000001 
+p 9.52000001993 1 -171 -75.8000000007 
 2 1 2 
-p 3.80800000796 1 -399 -303.800000001 
+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 399 34.289999999999999 0 -1 0 0 -0 -1 1 0 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 303.80000000000001 0.21999999996799999 0 1 0 0 -0 1 1 0 -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 5.560000002
-656 399 0.9 100 399 0.9 100 303.800000001 0.9 656 303.800000001 0.9 611.6600000001 444.66 55.6600000001 444.66 55.6600000001 349.460000001 611.6600000001 349.460000001 1 2 3 1 3 4 
-4 2 1 5.560000002
-656 399 31.2 100 399 31.1999999996 100 399 0.9 656 399 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 1.42700000798645
-100 303.8 31.1999999996 100 399 31.1999999996 100 303.8 29.2000000009 100 286.6 29.1999999994 100 286.599999999 1.10000000073 100 303.8 1.10000000032 100 303.800000001 0.9 100 399 0.9 35.36999999956 -349.46 35.36999999956 -444.66 33.37000000086 -349.46 33.36999999936 -332.26 5.27000000069 -332.259999999 5.27000000028 -349.46 5.06999999996 -349.460000001 5.06999999996 -444.66 6 7 8 3 8 2 3 6 8 1 3 2 4 5 6 4 6 3 
-4 2 1 5.560000002
-100 303.800000001 0.9 656 303.800000001 0.9 100 303.8 1.10000000032 656 303.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 1.4270000079851
-656 399 0.9 656 303.800000001 0.9 656 303.8 1.09999999925 656 286.599999999 1.10000000073 656 286.6 29.1999999994 656 303.8 29.2000000009 656 303.8 31.2 656 399 31.2 -5.07 -444.660000000503 -5.07 -349.460000001503 -5.26999999925 -349.460000000503 -5.27000000073 -332.259999999503 -33.3699999994 -332.260000000503 -33.3700000009 -349.460000000503 -35.37 -349.460000000503 -35.37 -444.660000000503 6 7 8 6 8 1 3 5 6 3 6 1 2 3 1 4 5 3 
+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 399 0.9
+656 171 0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 399 0.9
+100 171 0.9
 0 0
 
 0101101
@@ -75,14 +75,14 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 303.800000001 0.9
+100 75.8000000007 0.9
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  2 0 -399 -303.800000001
+1  2 0 -171 -75.8000000007
 4 C0 1 0 3 0
 6  3 1 0
 6  4 3 0
@@ -92,7 +92,7 @@ Ed
 +9 0 -7 0 *
 Ve
 1e-07
-656 303.800000001 0.9
+656 75.8000000007 0.9
 0 0
 
 0101101
@@ -109,7 +109,7 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -399 -303.800000001
+1  4 0 -171 -75.8000000007
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0

File diff suppressed because it is too large
+ 89 - 63
data/brep/face100017.brep


File diff suppressed because it is too large
+ 60 - 60
data/brep/face100025.brep


File diff suppressed because it is too large
+ 268 - 59
data/brep/face100027.brep


File diff suppressed because it is too large
+ 50 - 50
data/brep/face100030.brep


File diff suppressed because it is too large
+ 55 - 55
data/brep/face100031.brep


+ 36 - 36
data/brep/face100032.brep

@@ -4,61 +4,61 @@ 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 
+7 0 0  1 2 2  656 57 0.90000000000000002  100 57 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
+7 0 0  1 2 2  100 57 0.90000000000000002  100 0 0.90000000000299896 
+ -57 2 0 2
+7 0 0  1 2 2  100 0 0.90000000000299896  656 -2.5627350708883799e-11 0.90000000000299996 
+ -556 2 0 2
+7 0 0  1 2 2  656 57 0.90000000000000002  656 -2.5627350708883799e-11 0.90000000000299996 
+ -57 2 0 2
 Polygon3D 0
 PolygonOnTriangulations 8
 2 4 3 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 2 3 
-p 3.808000007972 1 -171 -75.8000000007 
-2 2 8 
-p 3.808000007972 1 -171 -75.8000000007 
-2 1 2 
-p 6.560000002001 1 0 556 
+p 5.70000002 1 -57 0 
+2 2 4 
+p 5.70000002 1 -57 0 
+2 3 1 
+p 16.4000000050025 1 -556 0 
 2 3 4 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 -556 0 
 2 1 4 
-p 3.808000007972 1 -171 -75.8000000007 
+p 5.70000002000256 1 -57 0 
 2 1 2 
-p 3.808000007972 1 -171 -75.8000000007 
+p 5.70000002000256 1 -57 0 
 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 44.340000000000003 57 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 44.339999999900002 0 -1.1400000000003001 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 5.560000002
-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 5.560000002
-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 1.42700000798445
-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 5.560000002
-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 1.4270000079821
-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 
+4 2 1 13.900000005
+656 57 0.9 100 57 0.9 100 0 0.900000000002999 656 -2.56273507088838e-11 0.900000000003 611.6600000001 102.66 55.6600000001 102.66 55.6600000001 45.66 611.6600000001 45.6599999999744 1 2 3 1 3 4 
+4 2 1 13.900000005
+656 57 31.2 100 57 31.1999999996 100 57 0.9 656 57 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+4 2 1 4.36500001997993
+100 57 31.1999999996 100 57 0.9 100 0 31.1999999996 100 0 0.900000000002999 35.36999999956 -102.66 5.06999999996 -102.66 35.36999999956 -45.66 5.069999999963 -45.66 4 2 1 3 4 1 
+4 2 1 13.900000005
+656 -2.56273507088838e-11 0.900000000003 656 0 -0.9 100 0 0.900000000002999 100 0 -0.9 -2.0400000000033 611.6600000001 -0.2400000000003 611.6600000001 -2.0400000000033 55.6600000001 -0.2400000000003 55.6600000001 2 1 3 2 3 4 
+4 2 1 4.36500002001199
+656 57 0.9 656 -2.56273507088838e-11 0.900000000003 656 -4.57021087641e-10 31.2 656 57 31.2 -5.07 -102.660000000503 -5.070000000003 -45.6600000004771 -35.37 -45.6600000000457 -35.37 -102.660000000503 2 3 4 2 4 1 
 
 TShapes 10
 Ve
 1e-07
-656 171 0.9
+656 57 0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 171 0.9
+100 57 0.9
 0 0
 
 0101101
@@ -75,14 +75,14 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 75.8000000007 0.9
+100 0 0.900000000002999
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  2 0 -171 -75.8000000007
+1  2 0 -57 0
 4 C0 1 0 3 0
 6  3 1 0
 6  4 3 0
@@ -92,14 +92,14 @@ Ed
 +9 0 -7 0 *
 Ve
 1e-07
-656 75.8000000007 0.9
+656 -2.56273507088838e-11 0.900000000003
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  3 0 0 556
+1  3 0 -556 0
 4 C0 4 0 1 0
 6  5 4 0
 6  6 1 0
@@ -109,7 +109,7 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -171 -75.8000000007
+1  4 0 -57 0
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0

File diff suppressed because it is too large
+ 50 - 50
data/brep/face100036.brep


+ 52 - 52
data/brep/face100037.brep

@@ -4,69 +4,69 @@ 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
+7 0 0  1 2 2  656 0 -0.90000000000000002  656 456 -0.90000000000000002 
+ 0 2 456 2
+7 0 0  1 2 2  656 0 -0.90000000000000002  100 0 -0.90000000000000002 
+ 0 2 556.00000000099999 2
+7 0 0  1 2 2  100 0 -0.90000000000000002  100 456 -0.90000000000000002 
+ 0 2 456 2
+7 0 0  1 2 2  656 456 -0.90000000000000002  100 456 -0.90000000000000002 
+ -556.00000000099999 2 0 2
 Polygon3D 0
 PolygonOnTriangulations 8
-2 4 3 
-p 6.560000002001 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
-2 2 3 
-p 3.808000007972 1 -171 -75.8000000007 
-2 2 8 
-p 3.808000007972 1 -171 -75.8000000007 
+p 16.4000000050025 1 0 456 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 456 
+2 2 4 
+p 16.4000000050025 1 0 556.000000001 
+2 1 3 
+p 16.4000000050025 1 0 556.000000001 
+2 4 3 
+p 16.4000000050025 1 0 456 
 2 3 4 
-p 6.560000002001 1 0 556 
-2 1 4 
-p 3.808000007972 1 -171 -75.8000000007 
-2 1 2 
-p 3.808000007972 1 -171 -75.8000000007 
+p 16.4000000050025 1 0 456 
+2 2 4 
+p 16.4000000050025 1 -556.000000001 0 
+2 1 3 
+p 16.4000000050025 1 -556.000000001 0 
 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 
+1 44.339999999900002 501.66000000004601 -0.90000000000000002 0 0 -1 -1 0 -0 0 1 0 
+1 711.05999999999995 -45.659999999999997 -0.90000000000000002 0 0 -1 -1 0 -0 0 1 0 
+1 44.339999999900002 0 -1.1400000000003001 0 -1 0 0 -0 -1 1 0 0 
+1 105.06000000001001 -45.659999999999997 -0.90000000000000002 0 0 -1 -1 0 -0 0 1 0 
+1 44.339999999900002 456 1.1400000000003001 0 1 0 0 -0 1 1 0 -0 
 Triangulations 5
-4 2 1 5.560000002
-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 5.560000002
-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 1.42700000798445
-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 5.560000002
-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 1.4270000079821
-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 
+4 2 1 16.4000000050025
+656 0 -0.9 656 456 -0.9 100 0 -0.9 100 456 -0.9 -611.6600000001 -501.660000000046 -611.6600000001 -45.660000000046 -55.6600000001 -501.660000000046 -55.6600000001 -45.660000000046 4 2 1 4 1 3 
+4 2 1 11.400000005
+656 0 -0.9 656 456 -0.9 706 456 -0.9 706 0 -0.9 55.0599999999999 45.66 55.0599999999999 501.66 5.05999999999995 501.66 5.05999999999995 45.66 2 3 4 2 4 1 
+4 2 1 13.900000005
+656 -2.56273507088838e-11 0.900000000003 656 0 -0.9 100 0 0.900000000002999 100 0 -0.9 -2.0400000000033 611.6600000001 -0.2400000000003 611.6600000001 -2.0400000000033 55.6600000001 -0.2400000000003 55.6600000001 2 1 3 2 3 4 
+4 2 1 11.400000005
+49.9999999999 456 -0.9 49.9999999999 0 -0.9 100 456 -0.9 100 0 -0.9 55.06000000011 501.66 55.06000000011 45.66 5.06000000001001 501.66 5.06000000001001 45.66 1 3 4 1 4 2 
+4 2 1 13.900000005
+656 456 -0.9 656 456 0.9 100 456 -0.9 100 456 0.900000000000001 -2.0400000000003 611.6600000001 -0.2400000000003 611.6600000001 -2.0400000000003 55.6600000001 -0.240000000000299 55.6600000001 2 1 3 2 3 4 
 
 TShapes 10
 Ve
 1e-07
-656 171 0.9
+656 0 -0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 171 0.9
+656 456 -0.9
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  1 0 0 556
-4 C0 2 0 1 0
+1  1 0 0 456
+4 CN 2 0 1 0
 6  1 2 0
 6  2 1 0
 0
@@ -75,32 +75,32 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 75.8000000007 0.9
+100 0 -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
+1  2 0 0 556.000000001
+4 C0 3 0 1 0
+6  3 3 0
+6  4 1 0
 0
 
 0101000
-+9 0 -7 0 *
++10 0 -7 0 *
 Ve
 1e-07
-656 75.8000000007 0.9
+100 456 -0.9
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  3 0 0 556
-4 C0 4 0 1 0
+1  3 0 0 456
+4 CN 4 0 1 0
 6  5 4 0
 6  6 1 0
 0
@@ -109,18 +109,18 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -171 -75.8000000007
+1  4 0 -556.000000001 0
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0
 0
 
 0101000
-+10 0 -5 0 *
++9 0 -5 0 *
 Wi
 
 0101100
-+8 0 +6 0 +4 0 -3 0 *
+-8 0 +6 0 +4 0 -3 0 *
 Fa
 0  1e-07 1 0
 2  1

+ 36 - 36
data/brep/face100039.brep

@@ -4,61 +4,61 @@ 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 
+7 0 0  1 2 2  656 57 0.90000000000000002  100 57 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
+7 0 0  1 2 2  100 57 0.90000000000000002  100 0 0.90000000000299896 
+ -57 2 0 2
+7 0 0  1 2 2  100 0 0.90000000000299896  656 -2.5627350708883799e-11 0.90000000000299996 
+ -556 2 0 2
+7 0 0  1 2 2  656 57 0.90000000000000002  656 -2.5627350708883799e-11 0.90000000000299996 
+ -57 2 0 2
 Polygon3D 0
 PolygonOnTriangulations 8
 2 4 3 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 2 3 
-p 3.80800000796 1 -285 -189.800000001 
-2 2 8 
-p 3.80800000796 1 -285 -189.800000001 
-2 1 2 
-p 6.560000002001 1 0 556 
+p 5.70000002 1 -57 0 
+2 2 4 
+p 5.70000002 1 -57 0 
+2 3 1 
+p 16.4000000050025 1 -556 0 
 2 3 4 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 -556 0 
 2 1 4 
-p 3.80800000796 1 -285 -189.800000001 
+p 5.70000002000256 1 -57 0 
 2 1 2 
-p 3.80800000796 1 -285 -189.800000001 
+p 5.70000002000256 1 -57 0 
 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 44.340000000000003 57 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 44.339999999900002 0 -1.1400000000003001 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 5.560000002
-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 5.560000002
-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 1.42700000798645
-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 5.560000002
-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 1.4270000079851
-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 
+4 2 1 13.900000005
+656 57 0.9 100 57 0.9 100 0 0.900000000002999 656 -2.56273507088838e-11 0.900000000003 611.6600000001 102.66 55.6600000001 102.66 55.6600000001 45.66 611.6600000001 45.6599999999744 1 2 3 1 3 4 
+4 2 1 13.900000005
+656 57 31.2 100 57 31.1999999996 100 57 0.9 656 57 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+4 2 1 4.36500001997993
+100 57 31.1999999996 100 57 0.9 100 0 31.1999999996 100 0 0.900000000002999 35.36999999956 -102.66 5.06999999996 -102.66 35.36999999956 -45.66 5.069999999963 -45.66 4 2 1 3 4 1 
+4 2 1 13.900000005
+656 -2.56273507088838e-11 0.900000000003 656 0 -0.9 100 0 0.900000000002999 100 0 -0.9 -2.0400000000033 611.6600000001 -0.2400000000003 611.6600000001 -2.0400000000033 55.6600000001 -0.2400000000003 55.6600000001 2 1 3 2 3 4 
+4 2 1 4.36500002001199
+656 57 0.9 656 -2.56273507088838e-11 0.900000000003 656 -4.57021087641e-10 31.2 656 57 31.2 -5.07 -102.660000000503 -5.070000000003 -45.6600000004771 -35.37 -45.6600000000457 -35.37 -102.660000000503 2 3 4 2 4 1 
 
 TShapes 10
 Ve
 1e-07
-656 285 0.9
+656 57 0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 285 0.9
+100 57 0.9
 0 0
 
 0101101
@@ -75,14 +75,14 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 189.800000001 0.9
+100 0 0.900000000002999
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  2 0 -285 -189.800000001
+1  2 0 -57 0
 4 C0 1 0 3 0
 6  3 1 0
 6  4 3 0
@@ -92,14 +92,14 @@ Ed
 +9 0 -7 0 *
 Ve
 1e-07
-656 189.800000001 0.9
+656 -2.56273507088838e-11 0.900000000003
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  3 0 0 556
+1  3 0 -556 0
 4 C0 4 0 1 0
 6  5 4 0
 6  6 1 0
@@ -109,7 +109,7 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -285 -189.800000001
+1  4 0 -57 0
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0

File diff suppressed because it is too large
+ 1973 - 66
data/brep/face100041.brep


+ 33 - 33
data/brep/face100042.brep

@@ -4,61 +4,61 @@ CASCADE Topology V1, (c) Matra-Datavision
 Locations 0
 Curve2ds 0
 Curves 4
-7 0 0  1 2 2  656 399 0.90000000000000002  100 399 0.90000000000000002 
+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 399 0.90000000000000002  100 303.800000001 0.90000000000000002 
- -399 2 -303.800000001 2
-7 0 0  1 2 2  100 303.800000001 0.90000000000000002  656 303.800000001 0.90000000000000002 
+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 399 0.90000000000000002  656 303.800000001 0.90000000000000002 
- -399 2 -303.800000001 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 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 2 3 
-p 3.80800000796 1 -399 -303.800000001 
-2 8 7 
-p 3.80800000796 1 -399 -303.800000001 
+p 9.5200000199 1 -285 -189.800000001 
+2 2 8 
+p 9.5200000199 1 -285 -189.800000001 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 3 4 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 4 
-p 3.80800000796 1 -399 -303.800000001 
+p 9.5200000199 1 -285 -189.800000001 
 2 1 2 
-p 3.80800000796 1 -399 -303.800000001 
+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 399 34.289999999999999 0 -1 0 0 -0 -1 1 0 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 303.80000000000001 0.21999999996799999 0 1 0 0 -0 1 1 0 -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 5.560000002
-656 399 0.9 100 399 0.9 100 303.800000001 0.9 656 303.800000001 0.9 611.6600000001 444.66 55.6600000001 444.66 55.6600000001 349.460000001 611.6600000001 349.460000001 1 2 3 1 3 4 
-4 2 1 5.560000002
-656 399 31.2 100 399 31.1999999996 100 399 0.9 656 399 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 1.42700000798645
-100 303.8 31.1999999996 100 399 31.1999999996 100 303.8 29.2000000009 100 286.6 29.1999999994 100 286.599999999 1.10000000073 100 303.8 1.10000000032 100 303.800000001 0.9 100 399 0.9 35.36999999956 -349.46 35.36999999956 -444.66 33.37000000086 -349.46 33.36999999936 -332.26 5.27000000069 -332.259999999 5.27000000028 -349.46 5.06999999996 -349.460000001 5.06999999996 -444.66 6 7 8 3 8 2 3 6 8 1 3 2 4 5 6 4 6 3 
-4 2 1 5.560000002
-100 303.800000001 0.9 656 303.800000001 0.9 100 303.8 1.10000000032 656 303.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 1.4270000079851
-656 399 0.9 656 303.800000001 0.9 656 303.8 1.09999999925 656 286.599999999 1.10000000073 656 286.6 29.1999999994 656 303.8 29.2000000009 656 303.8 31.2 656 399 31.2 -5.07 -444.660000000503 -5.07 -349.460000001503 -5.26999999925 -349.460000000503 -5.27000000073 -332.259999999503 -33.3699999994 -332.260000000503 -33.3700000009 -349.460000000503 -35.37 -349.460000000503 -35.37 -444.660000000503 6 7 8 6 8 1 3 5 6 3 6 1 2 3 1 4 5 3 
+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 399 0.9
+656 285 0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 399 0.9
+100 285 0.9
 0 0
 
 0101101
@@ -75,14 +75,14 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 303.800000001 0.9
+100 189.800000001 0.9
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  2 0 -399 -303.800000001
+1  2 0 -285 -189.800000001
 4 C0 1 0 3 0
 6  3 1 0
 6  4 3 0
@@ -92,7 +92,7 @@ Ed
 +9 0 -7 0 *
 Ve
 1e-07
-656 303.800000001 0.9
+656 189.800000001 0.9
 0 0
 
 0101101
@@ -109,7 +109,7 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -399 -303.800000001
+1  4 0 -285 -189.800000001
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0

+ 36 - 36
data/brep/face100043.brep

@@ -4,61 +4,61 @@ CASCADE Topology V1, (c) Matra-Datavision
 Locations 0
 Curve2ds 0
 Curves 4
-7 0 0  1 2 2  656 399 0.90000000000000002  100 399 0.90000000000000002 
+7 0 0  1 2 2  656 57 0.90000000000000002  100 57 0.90000000000000002 
  0 2 556 2
-7 0 0  1 2 2  100 399 0.90000000000000002  100 303.800000001 0.90000000000000002 
- -399 2 -303.800000001 2
-7 0 0  1 2 2  100 303.800000001 0.90000000000000002  656 303.800000001 0.90000000000000002 
- 0 2 556 2
-7 0 0  1 2 2  656 399 0.90000000000000002  656 303.800000001 0.90000000000000002 
- -399 2 -303.800000001 2
+7 0 0  1 2 2  100 57 0.90000000000000002  100 0 0.90000000000299896 
+ -57 2 0 2
+7 0 0  1 2 2  100 0 0.90000000000299896  656 -2.5627350708883799e-11 0.90000000000299996 
+ -556 2 0 2
+7 0 0  1 2 2  656 57 0.90000000000000002  656 -2.5627350708883799e-11 0.90000000000299996 
+ -57 2 0 2
 Polygon3D 0
 PolygonOnTriangulations 8
 2 4 3 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 2 3 
-p 3.80800000796 1 -399 -303.800000001 
-2 8 7 
-p 3.80800000796 1 -399 -303.800000001 
-2 1 2 
-p 6.560000002001 1 0 556 
+p 5.70000002 1 -57 0 
+2 2 4 
+p 5.70000002 1 -57 0 
+2 3 1 
+p 16.4000000050025 1 -556 0 
 2 3 4 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 -556 0 
 2 1 4 
-p 3.80800000796 1 -399 -303.800000001 
+p 5.70000002000256 1 -57 0 
 2 1 2 
-p 3.80800000796 1 -399 -303.800000001 
+p 5.70000002000256 1 -57 0 
 Surfaces 5
 1 44.339999999900002 -45.659999999999997 0.90000000000000002 0 0 1 1 0 -0 -0 1 0 
-1 44.340000000000003 399 34.289999999999999 0 -1 0 0 -0 -1 1 0 0 
+1 44.340000000000003 57 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 303.80000000000001 0.21999999996799999 0 1 0 0 -0 1 1 0 -0 
+1 44.339999999900002 0 -1.1400000000003001 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 5.560000002
-656 399 0.9 100 399 0.9 100 303.800000001 0.9 656 303.800000001 0.9 611.6600000001 444.66 55.6600000001 444.66 55.6600000001 349.460000001 611.6600000001 349.460000001 1 2 3 1 3 4 
-4 2 1 5.560000002
-656 399 31.2 100 399 31.1999999996 100 399 0.9 656 399 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 1.42700000798645
-100 303.8 31.1999999996 100 399 31.1999999996 100 303.8 29.2000000009 100 286.6 29.1999999994 100 286.599999999 1.10000000073 100 303.8 1.10000000032 100 303.800000001 0.9 100 399 0.9 35.36999999956 -349.46 35.36999999956 -444.66 33.37000000086 -349.46 33.36999999936 -332.26 5.27000000069 -332.259999999 5.27000000028 -349.46 5.06999999996 -349.460000001 5.06999999996 -444.66 6 7 8 3 8 2 3 6 8 1 3 2 4 5 6 4 6 3 
-4 2 1 5.560000002
-100 303.800000001 0.9 656 303.800000001 0.9 100 303.8 1.10000000032 656 303.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 1.4270000079851
-656 399 0.9 656 303.800000001 0.9 656 303.8 1.09999999925 656 286.599999999 1.10000000073 656 286.6 29.1999999994 656 303.8 29.2000000009 656 303.8 31.2 656 399 31.2 -5.07 -444.660000000503 -5.07 -349.460000001503 -5.26999999925 -349.460000000503 -5.27000000073 -332.259999999503 -33.3699999994 -332.260000000503 -33.3700000009 -349.460000000503 -35.37 -349.460000000503 -35.37 -444.660000000503 6 7 8 6 8 1 3 5 6 3 6 1 2 3 1 4 5 3 
+4 2 1 13.900000005
+656 57 0.9 100 57 0.9 100 0 0.900000000002999 656 -2.56273507088838e-11 0.900000000003 611.6600000001 102.66 55.6600000001 102.66 55.6600000001 45.66 611.6600000001 45.6599999999744 1 2 3 1 3 4 
+4 2 1 13.900000005
+656 57 31.2 100 57 31.1999999996 100 57 0.9 656 57 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+4 2 1 4.36500001997993
+100 57 31.1999999996 100 57 0.9 100 0 31.1999999996 100 0 0.900000000002999 35.36999999956 -102.66 5.06999999996 -102.66 35.36999999956 -45.66 5.069999999963 -45.66 4 2 1 3 4 1 
+4 2 1 13.900000005
+656 -2.56273507088838e-11 0.900000000003 656 0 -0.9 100 0 0.900000000002999 100 0 -0.9 -2.0400000000033 611.6600000001 -0.2400000000003 611.6600000001 -2.0400000000033 55.6600000001 -0.2400000000003 55.6600000001 2 1 3 2 3 4 
+4 2 1 4.36500002001199
+656 57 0.9 656 -2.56273507088838e-11 0.900000000003 656 -4.57021087641e-10 31.2 656 57 31.2 -5.07 -102.660000000503 -5.070000000003 -45.6600000004771 -35.37 -45.6600000000457 -35.37 -102.660000000503 2 3 4 2 4 1 
 
 TShapes 10
 Ve
 1e-07
-656 399 0.9
+656 57 0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 399 0.9
+100 57 0.9
 0 0
 
 0101101
@@ -75,14 +75,14 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 303.800000001 0.9
+100 0 0.900000000002999
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  2 0 -399 -303.800000001
+1  2 0 -57 0
 4 C0 1 0 3 0
 6  3 1 0
 6  4 3 0
@@ -92,14 +92,14 @@ Ed
 +9 0 -7 0 *
 Ve
 1e-07
-656 303.800000001 0.9
+656 -2.56273507088838e-11 0.900000000003
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  3 0 0 556
+1  3 0 -556 0
 4 C0 4 0 1 0
 6  5 4 0
 6  6 1 0
@@ -109,7 +109,7 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -399 -303.800000001
+1  4 0 -57 0
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0

File diff suppressed because it is too large
+ 53 - 53
data/brep/face100044.brep


File diff suppressed because it is too large
+ 59 - 268
data/brep/face100045.brep


+ 36 - 36
data/brep/face100049.brep

@@ -4,61 +4,61 @@ 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 
+7 0 0  1 2 2  656 57 0.90000000000000002  100 57 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
+7 0 0  1 2 2  100 57 0.90000000000000002  100 0 0.90000000000299896 
+ -57 2 0 2
+7 0 0  1 2 2  100 0 0.90000000000299896  656 -2.5627350708883799e-11 0.90000000000299996 
+ -556 2 0 2
+7 0 0  1 2 2  656 57 0.90000000000000002  656 -2.5627350708883799e-11 0.90000000000299996 
+ -57 2 0 2
 Polygon3D 0
 PolygonOnTriangulations 8
 2 4 3 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 1 2 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 0 556 
 2 2 3 
-p 3.80800000796 1 -285 -189.800000001 
-2 2 8 
-p 3.80800000796 1 -285 -189.800000001 
-2 1 2 
-p 6.560000002001 1 0 556 
+p 5.70000002 1 -57 0 
+2 2 4 
+p 5.70000002 1 -57 0 
+2 3 1 
+p 16.4000000050025 1 -556 0 
 2 3 4 
-p 6.560000002001 1 0 556 
+p 16.4000000050025 1 -556 0 
 2 1 4 
-p 3.80800000796 1 -285 -189.800000001 
+p 5.70000002000256 1 -57 0 
 2 1 2 
-p 3.80800000796 1 -285 -189.800000001 
+p 5.70000002000256 1 -57 0 
 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 44.340000000000003 57 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 44.339999999900002 0 -1.1400000000003001 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 5.560000002
-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 5.560000002
-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 1.42700000798645
-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 5.560000002
-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 1.4270000079851
-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 
+4 2 1 13.900000005
+656 57 0.9 100 57 0.9 100 0 0.900000000002999 656 -2.56273507088838e-11 0.900000000003 611.6600000001 102.66 55.6600000001 102.66 55.6600000001 45.66 611.6600000001 45.6599999999744 1 2 3 1 3 4 
+4 2 1 13.900000005
+656 57 31.2 100 57 31.1999999996 100 57 0.9 656 57 0.9 3.09 611.66 3.0900000004 55.66 33.39 55.66 33.39 611.66 4 1 2 4 2 3 
+4 2 1 4.36500001997993
+100 57 31.1999999996 100 57 0.9 100 0 31.1999999996 100 0 0.900000000002999 35.36999999956 -102.66 5.06999999996 -102.66 35.36999999956 -45.66 5.069999999963 -45.66 4 2 1 3 4 1 
+4 2 1 13.900000005
+656 -2.56273507088838e-11 0.900000000003 656 0 -0.9 100 0 0.900000000002999 100 0 -0.9 -2.0400000000033 611.6600000001 -0.2400000000003 611.6600000001 -2.0400000000033 55.6600000001 -0.2400000000003 55.6600000001 2 1 3 2 3 4 
+4 2 1 4.36500002001199
+656 57 0.9 656 -2.56273507088838e-11 0.900000000003 656 -4.57021087641e-10 31.2 656 57 31.2 -5.07 -102.660000000503 -5.070000000003 -45.6600000004771 -35.37 -45.6600000000457 -35.37 -102.660000000503 2 3 4 2 4 1 
 
 TShapes 10
 Ve
 1e-07
-656 285 0.9
+656 57 0.9
 0 0
 
 0101101
 *
 Ve
 1e-07
-100 285 0.9
+100 57 0.9
 0 0
 
 0101101
@@ -75,14 +75,14 @@ Ed
 +10 0 -9 0 *
 Ve
 1e-07
-100 189.800000001 0.9
+100 0 0.900000000002999
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  2 0 -285 -189.800000001
+1  2 0 -57 0
 4 C0 1 0 3 0
 6  3 1 0
 6  4 3 0
@@ -92,14 +92,14 @@ Ed
 +9 0 -7 0 *
 Ve
 1e-07
-656 189.800000001 0.9
+656 -2.56273507088838e-11 0.900000000003
 0 0
 
 0101101
 *
 Ed
  1e-07 1 1 0
-1  3 0 0 556
+1  3 0 -556 0
 4 C0 4 0 1 0
 6  5 4 0
 6  6 1 0
@@ -109,7 +109,7 @@ Ed
 +7 0 -5 0 *
 Ed
  1e-07 1 1 0
-1  4 0 -285 -189.800000001
+1  4 0 -57 0
 4 C0 1 0 5 0
 6  7 1 0
 6  8 5 0

File diff suppressed because it is too large
+ 55 - 264
data/brep/face100052.brep


File diff suppressed because it is too large
+ 50 - 50
data/brep/face100055.brep


File diff suppressed because it is too large
+ 268 - 59
data/brep/face100057.brep


File diff suppressed because it is too large
+ 1896 - 0
data/brep/face100150.brep


File diff suppressed because it is too large
+ 2038 - 0
data/brep/face100325.brep


File diff suppressed because it is too large
+ 1079 - 0
data/brep/face100551.brep


File diff suppressed because it is too large
+ 760 - 0
data/brep/face100582.brep


File diff suppressed because it is too large
+ 200 - 0
data/brep/face101671.brep


File diff suppressed because it is too large
+ 1882 - 0
data/brep/face101935.brep


File diff suppressed because it is too large
+ 1882 - 0
data/brep/face102185.brep


File diff suppressed because it is too large
+ 1213 - 0
data/brep/face102196.brep


File diff suppressed because it is too large
+ 1871 - 0
data/brep/face102562.brep


File diff suppressed because it is too large
+ 1882 - 0
data/brep/face102942.brep


File diff suppressed because it is too large
+ 1882 - 0
data/brep/face103151.brep


File diff suppressed because it is too large
+ 784 - 0
data/brep/face103440.brep


File diff suppressed because it is too large
+ 801 - 0
data/brep/face103461.brep


File diff suppressed because it is too large
+ 470 - 0
data/brep/face103634.brep


File diff suppressed because it is too large
+ 362 - 0
data/brep/face103874.brep


File diff suppressed because it is too large
+ 801 - 0
data/brep/face103974.brep


File diff suppressed because it is too large
+ 543 - 0
data/brep/face104135.brep


+ 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 

File diff suppressed because it is too large
+ 1152 - 1152
data/guass/guass.txt


+ 24 - 6
data/preFiles.txt

@@ -7,26 +7,44 @@ $ materials
 7.8 1000 0.3 207
 
 $ BPP
-6 0
+4 0
 
 $ brepFiles
-D:/dcip1/comx_sdk.node/unit/hypermesh/data/brep/face100036.brep
-D:/dcip1/comx_sdk.node/unit/hypermesh/data/brep/face100021.brep
+D:/dcip1/comx_sdk.node/unit/hypermesh/data/brep/face100025.brep
+D:/dcip1/comx_sdk.node/unit/hypermesh/data/brep/face100009.brep
+D:/dcip1/comx_sdk.node/unit/hypermesh/data/brep/face100043.brep
+D:/dcip1/comx_sdk.node/unit/hypermesh/data/brep/face100031.brep
 
 $ forceFace id xn yn zn xr yr zr
-100036 100 0 0 100 0 0
+100025 100 0 0 100 0 0
 
 $ fixFace id xn yn zn xr yr zr
-100021 1 1 1 1 1 1
+100031 1 1 1 1 1 1
+
+$ mat poi radius len seg Beam
+1e6 0.3 2 10 6
+
+$ x y z Beam
+0.000000 0.000000 0.000000
+166.666667 83.333333 0.000000
+333.333333 166.666667 0.000000
+500.000000 250.000000 0.000000
+666.666667 333.333333 0.000000
+833.333333 416.666667 0.000000
+1000.000000 500.000000 0.000000
 
 $ con ids id xd yd zd xr yr zr Beam
 
 $ arrow ids id xn yn zn xr yr zr Beam
 
 $ x y z X Y Z stiffness_x stiffness_y stiffness_z type1 type2 Spring
+50.111691 100.000000 30.000000 50.111691 100.000000 200.000000 0 1 0 P P
 
 $ type id1 id x1 y1 z1 type id1 id x2 y2 z2 xn yn zn xr yr zr Connect
+P 0 0 50.111691 100.000000 200.000000 P 0 1 50.111691 100.000000 300.000000 0 1 0 0 1 0
 
 $ arrow type id ids xn yn zn xr yr zr RB3
+P 0 2 100 0 0 0 0 0
 
-$ con type id ids xn yn zn xr yr zr RB3
+$ fix type id ids xn yn zn xr yr zr RB3
+P 0 0 1 1 1 1 1 1

+ 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


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

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

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


BIN
data/work2/proj1/solid.ply


File diff suppressed because it is too large
+ 0 - 449830
data/work2/proj1/solid.stp


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

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

+ 0 - 1
data/work3/proj.db.json

@@ -1 +0,0 @@
-{"current":"proj1","projects":{"proj1":{"path":"D:\\dcip1\\comx_sdk.node\\unit\\hypermesh\\data\\work3\\proj1","model":{"step":"D:\\dcip1\\comx_sdk.node\\unit\\hypermesh\\data\\work3\\proj1\\FN_MK-17_CQC_Variant_STEP.step","buf_ply":"D:\\dcip1\\comx_sdk.node\\unit\\hypermesh\\data\\work3\\proj1\\FN_MK-17_CQC_Variant_STEP.ply"},"workCondition":{"current":"","conditions":{}}}}}

File diff suppressed because it is too large
+ 0 - 1192050
data/work3/proj1/FN_MK-17_CQC_Variant_STEP.step


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

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

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


BIN
data/work4/proj1/PlanePlate.ply


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


BIN
hyper图标.zip


BIN
js.zip


+ 5 - 3
js/boundary_force_pane.js

@@ -42,13 +42,15 @@ function OnGetFaceName(){
         // 匹配type对应内容的正则表达式,以type:开头,后面跟着非冒号的内容直到遇到空格或者字符串结束
         const typeRegex = /type:([^point]+)/;
         // 匹配center坐标对应内容的正则表达式
-        const centerRegex = /point:([\d. ]+)/;
+        //const centerRegex = /point:([\d. ]+)/;
 
         const typeMatch = str.match(typeRegex);
         const typeInfo = typeMatch? typeMatch[1] : null;
 
-        const centerMatch = str.match(centerRegex);
-        const centerCoords = centerMatch? centerMatch[1].split(' ').map(x => x.trim()) : null;
+        //const centerMatch = str.match(centerRegex);
+        //const centerCoords = centerMatch? centerMatch[1].split(' ').map(x => x.trim()) : 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];

+ 5 - 7
js/boundary_load_pane.js

@@ -54,14 +54,12 @@ function OnBPP(){
                 "BPP":str
         };
         //在model中添加BPP
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
+                unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
+                return;
+        }
         unit.form.tree.SetBPPProperty(BPP);
-        
-        //model.setBpp1(ui.pb_1.value);
-        //model.setBpp2(ui.pb_2.value);
-        // unit.form.mainfrm.OnSend(str);
-        // model.setModelCode(1);
-        // unit.form.mainfrm.OnChangePicture(3, 1);
-        ////unit.form.mainfrm.OnCueline('<h4 style="font-family:arial;color: green;font-size:20px;">恭喜您将数据成功添加,但需要注意的是均匀加密次数和网格尺寸大小越大,计算时间越长,计算精度越高!</h4>');
+       
         unit.form.mainfrm.OnCueline('您将数据成功添加,但需要注意的是均匀加密次数和网格尺寸大小越大,计算时间越长,计算精度越高!', 'green');
 }
 

+ 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.

+ 97 - 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) {
@@ -193,9 +194,66 @@ function RenameTreeNode(Idx) {
 }
 //点亮面
 function LightFace(id, rgb) {
-        let r_id =  findRIdById(model.acax_app.model.project.GetModel().pro_model, id);
+        let r_id =  findRIdById(model.acax_app.model.project.GetModel().pro_model, parseInt(id));
         ui.canvas.view([ui.canvas.generateKey(2025, parseInt(r_id))]).setColor(parseFloat(rgb.r)/255, parseFloat(rgb.g)/255, parseFloat(rgb.b)/255);
 }
+//加载涂色
+function SetColor(color) {
+        let color_arr = Object.keys(color);
+
+        for (let i = 0; i < color_arr.length; ++i) {
+                try {
+                        //console.log(i + " ");
+            
+                        // 查找 r_id
+                        let r_id = findRIdById(
+                                model.acax_app.model.project.GetModel().pro_model,
+                                parseInt(color_arr[i])
+                        );
+
+                        if (!r_id) {
+                                throw new Error(`r_id not found for id: ${color_arr[i]}`);
+                        }
+
+                        // 转换颜色为 RGB
+                        let rgb = hexToRgb(color[color_arr[i]]);
+                        if (!rgb || rgb.r === undefined || rgb.g === undefined || rgb.b === undefined) {
+                                throw new Error(`Invalid color value: ${color[color_arr[i]]}`);
+                        }
+
+                        // 设置颜色
+                        ui.canvas
+                                .view([ui.canvas.generateKey(2025, parseInt(r_id))])
+                                .setColor(
+                                        parseFloat(rgb.r) / 255,
+                                        parseFloat(rgb.g) / 255,
+                                        parseFloat(rgb.b) / 255
+                                );
+
+                } catch (error) {
+                        console.error(
+                                `Failed to set color for id ${color_arr[i]}: `,
+                                error.message
+                        );
+                }
+        }
+}
+function hexToRgb(hex) {
+        // 去掉前缀 #(如果有)
+        hex = hex.replace(/^#/, '');
+
+        // 如果是简写形式(#RGB),将其转换为完整形式(#RRGGBB)
+        if (hex.length === 3) {
+                hex = hex.split('').map(char => char + char).join('');
+        }
+
+        // 解析 RGB 颜色值
+        const r = parseInt(hex.slice(0, 2), 16);
+        const g = parseInt(hex.slice(2, 4), 16);
+        const b = parseInt(hex.slice(4, 6), 16);
+
+        return { r, g, b };
+}
 function OnInitializeData(reload, preview) {
         //model.ide_info(model.uuid().length);
         vtkContext = comx.vtk.CreateContext();
@@ -241,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/physics_material_pane.js

@@ -139,7 +139,7 @@ function OnMaterialFiles() {
                 "color":color,
                 "Id":ui.phy_id.value
         };
-        if(model.global_ctrl[0] && model.global_ctrl[1] && model.global_ctrl[2] && model.global_ctrl[3]) {
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
                 unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
                 return;
         }

+ 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');
 }
 

+ 4 - 3
js/solve_setup_pane.js

@@ -84,10 +84,11 @@ function OnModelAnsys(){
 }
 
 function OnFile(){
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3] || !model.global_ctrl[4] ||!model.global_ctrl[5]) {
+                unit.form.mainfrm.OnCueline('未完成求解设置', 'red');
+                return;
+        }
         unit.form.tree.GenerateFile();
-        //unit.form.mainfrm.OnSend('preFiles ' + model.getCurrentDirectory());
-        //unit.form.mainfrm.OnChangePicture(4, 1);
-        //unit.form.mainfrm.OnCueline('<h4 style="font-family:arial;color: green;font-size:20px;">恭喜您,文件数据已生成!</h4>');
         unit.form.mainfrm.OnCueline('文件数据已生成!', 'green');
 }
 

+ 143 - 67
js/tree_pane.js

@@ -49,7 +49,12 @@ function OnTest(){
         // console.log(model.acax_app.path.Name(g_cur_id2index_cache["131"]));
         //console.log(g_cur_id2index_cache);
         // console.log(g_cur_index2id_cache);
-        console.log(model.acax_app.model.materialProp.Current());
+        //console.log(model.acax_app.model.materialProp.Current());
+        //SetUserColor();
+        let str = unit.form.mainfrm.findRIdById(model.acax_app.model.project.GetModel().pro_model, 100005);
+        console.log(str);
+        console.log(comx.occio.GetFacePoint(comx.occore.GetEntryEx(), str));
+        
 }
 //判断工作流程
 function CheckCtrlProcess() {
@@ -111,7 +116,7 @@ function GenerateFile() {
                 console.log(cb);
         });
         model.acax_app.control.Export(info=>{
-                console.log(JSON.stringify(info, null, 2));
+                //console.log(JSON.stringify(info, null, 2));
                
                 let cut_workcondition_index = model.acax_app.view.GetCurrentWorkConditionIndex();
                 var File = ['结构静力学前处理文件', '\n$ address', info.model3d.step.replace(/\\/g, "/")];
@@ -206,7 +211,7 @@ function GenerateFile() {
                                 File.push("\n$ id RB3");
                                 let str1 = info.cons_list[i]["编号"];
                                 str1 = str1.split(" ");
-                                console.log(str1);
+                                //console.log(str1);
                                 for(let j = 0;j < str1.length;++j) {
                                         if(str1[j] !== '') {
                                                 File.push(str1[j]);
@@ -221,7 +226,6 @@ function GenerateFile() {
                         }
                         
                 }
-                console.log("rb3");
                 //集中载荷rb3
                 File.push("\n$ arrow type id ids xn yn zn xr yr zr RB3");
                 for(let i = 0;i < info.cons_list.length;++i ) {
@@ -232,10 +236,10 @@ function GenerateFile() {
                         }
                 }
                 //固定支撑rb3
-                File.push("\n$ con type id ids xn yn zn xr yr zr RB3");
+                File.push("\n$ fix type id ids xn yn zn xr yr zr RB3");
                 for(let i = 0;i < info.cons_list.length;++i ) {
                         if(info.cons_list[i].constraint === "固定支撑" && info.cons_list[i].type[0] === 'P') {
-                                let str1 = info.cons_list[i]["位置标记"] + " "+ info.cons_list[i]["固定支撑属性xd"] + " " + info.cons_list[i]["固定支撑属性yd"] + " " + info.cons_list[i]["固定支撑属性zd"] + " "+info.cons_list[i]["固定支撑属性xr"] + " " + info.cons_list[i]["固定支撑属性yr"] +" " + info.cons_list[i]["固定支撑属性zr"];
+                                let str1 = info.cons_list[i].type + " "+ info.cons_list[i]["固定支撑属性xd"] + " " + info.cons_list[i]["固定支撑属性yd"] + " " + info.cons_list[i]["固定支撑属性zd"] + " "+info.cons_list[i]["固定支撑属性xr"] + " " + info.cons_list[i]["固定支撑属性yr"] +" " + info.cons_list[i]["固定支撑属性zr"];
                                 File.push(str1);
                         }
                 }
@@ -251,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() === "") {
@@ -270,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;                                                
@@ -280,8 +289,8 @@ function CreateContrainShow() {
                                 }
                         }                     
                         ShowPoints();
+                        ShowMarks();
                 }else{
-                        console.log("CreateContrainShow");
                         for(let i = 0;i < new_arr_key.length;++i) {                      
                                 if(constrain_data.constrain.db[new_arr_key[i]].constraint === "集中载荷压力") {
                                         unit.form.mainfrm.OnArrows(constrain_data.constrain.db[new_arr_key[i]]["位置坐标x"], constrain_data.constrain.db[new_arr_key[i]]["位置坐标y"], constrain_data.constrain.db[new_arr_key[i]]["位置坐标z"], constrain_data.constrain.db[new_arr_key[i]]["压力方向xn"], constrain_data.constrain.db[new_arr_key[i]]["压力方向yn"], constrain_data.constrain.db[new_arr_key[i]]["压力方向zn"], constrain_data.constrain.db[new_arr_key[i]].unique);
@@ -306,9 +315,9 @@ function CreateContrainShow() {
                                         
                                 }
                         }
-                        //加载点            
-                        console.log("OnLoadPoints");           
+                        //加载点                
                         OnLoadPoints();   
+                        OnLoadMarks();
                         workcondition.push(cur_name);
                                         
                 }
@@ -317,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);
@@ -324,9 +334,17 @@ 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();
         if(model.acax_app.view.GetProperty(work_condition) !== undefined && model.acax_app.view.GetProperty(work_condition).point !== undefined ) {
                 let point_model = model.acax_app.view.GetProperty(work_condition).point;
@@ -334,8 +352,18 @@ function OnLoadPoints() {
                 for(let i = 0;i < point_arr.length;++i) {
                         unit.form.mainfrm.OnSetPoints(point_model[point_arr[i]].x, point_model[point_arr[i]].y, point_model[point_arr[i]].z, point_model[point_arr[i]].radius, point_model[point_arr[i]].name);
                 }
-        }
-       
+        }      
+}
+//加载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,14 +461,14 @@ 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);
                 
         }else if(model_prop.point === undefined){
                 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);
         }else{
@@ -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文件
@@ -422,7 +490,7 @@ function SetBrepFile(brep_path){
                 model_prop = {};
                 let brep = {};
                 brep.brep1 = brep_path;
-                console.log(brep);
+                //console.log(brep);
                 model_prop.brep = brep;
                 model.acax_app.view.SetProperty(cut_workcondition_index, model_prop);
                 
@@ -436,8 +504,8 @@ function SetBrepFile(brep_path){
               
                 var i = 0;
                 for( i  = 0;i < brep_arr.length;++i) {
-                        console.log(model_prop.brep[brep_arr[i]].brep);
-                        console.log(brep_path.brep);
+                        //console.log(model_prop.brep[brep_arr[i]].brep);
+                        //console.log(brep_path.brep);
                         if(model_prop.brep[brep_arr[i]].brep === brep_path.brep) {
                                 break;
                         }
@@ -475,10 +543,11 @@ function ModifyConstraintName(new_name) {
         let flag = model.acax_app.control.constrain.Rename(cur_name, new_name);
         let cur_index = model.acax_app.view.GetCurrentWorkConditionIndex();
         let cur_id;
-        if(flag === true) {
-                unit.form.mainfrm.OnCueline('修改成功', 'green'); 
+        if(flag === false) {
+                unit.form.mainfrm.OnCueline('修改失败', 'red');
+               
         }else{
-                unit.form.mainfrm.OnCueline('修改失败', 'red'); 
+                unit.form.mainfrm.OnCueline('修改成功', 'green'); 
         }
         model.acax_app.view.RenderTree(() => {
                 g_cur_id2index_cache = {};
@@ -754,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;
@@ -774,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;
@@ -1069,23 +1138,24 @@ function OpenWorkArea(fname) {
                                 }
                                 );
                         }else{
-                                model.acax_app.view.Render3D(info=>{
+                                model.acax_app.view.Render3D(info=>{                                      
                                         unit.form.mainfrm.OnloadModel(info.model3d.step);
+                                        unit.form.mainfrm.SetColor(difference);                                      
                                         CreateContrainShow();
                                 });
                         }
                     
                 }
         }     
+       
         CheckCtrlProcess();
-        //console.log(model.global_ctrl);
+        console.log(model.global_ctrl);
 }
 //切换工程
 function ChangePro(pro_name) {
         let tree_color = [];
         model.acax_app.control.project.SwitchTo(pro_name);     
         //渲染3d模型
-        console.log(model.acax_app.model.project.GetModel().step);
         if(model.acax_app.model.project.GetModel().step === "unimported") {
                 unit.form.mainfrm.ClearCanvas();
                 model.acax_app.view.RenderTree(() => {
@@ -1142,7 +1212,7 @@ function ChangePro(pro_name) {
                 },
                 tree => {
                 //从工程中获取保存的model数据
-                        console.log(model.acax_app.model.project.GetModel().pro_model);
+                        //console.log(model.acax_app.model.project.GetModel().pro_model);
                         if(model.acax_app.model.project.GetModel().pro_model){
                         //获取当前工程的名字
                                 let pro_Index = model.acax_app.view.GetCurrentProjectIndex();
@@ -1161,11 +1231,12 @@ function ChangePro(pro_name) {
         }else{
                 model.acax_app.view.Render3D(info=>{
                         unit.form.mainfrm.OnloadModel(info.model3d.step);
+                        unit.form.mainfrm.SetColor(difference);
                 });
         }
     
         CheckCtrlProcess();
-        //console.log(model.global_ctrl);
+        console.log(model.global_ctrl);
 }
 //切换工况
 function ChangeWorkCondition(wor_name) {
@@ -1243,7 +1314,7 @@ function ChangeWorkCondition(wor_name) {
         
         ui.tree_Model.column = [1, tree_color];
         CheckCtrlProcess();
-        console.log(model.global_ctrl);
+        // console.log(model.global_ctrl);
         return old_data;
 }
 //创建工作区
@@ -1311,20 +1382,16 @@ 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();
 }
 //创建工程
 function CreateProject(name) { 
@@ -1408,12 +1475,9 @@ function CreateProject(name) {
         //渲染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();
 }
 //导入模型
 function OnOpenStepFile() {
@@ -1456,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) {
@@ -1522,11 +1587,11 @@ function getTreeIdColorMap(tree) {
 
         // 定义递归函数
         function dfs(node) {
-        // 如果当前节点有 id 和 color 属性,则加入对象
-                if (node.id !== undefined && node.color !== undefined) {
+        // 检查当前节点的 name 属性是否包含 "face",以及是否具有 id 和 color 属性
+                if (node.name && node.name.includes("Face") && node.id !== undefined && node.color !== undefined) {
                         idColorMap[node.id] = node.color;
                 }
-                // 按顺序遍历子节点
+                // 如果存在子节点,递归遍历
                 if (node.children && node.children.length > 0) {
                         node.children.forEach(child => dfs(child));
                 }
@@ -1538,6 +1603,7 @@ function getTreeIdColorMap(tree) {
         // 返回存储的 id 和 color 键值对对象
         return idColorMap;
 }
+
 //获取模型面的颜色保存到project
 function SetModelColor(Idx) {
         let model_color = getTreeIdColorMap(Idx);
@@ -1551,7 +1617,7 @@ function SetModelColor(Idx) {
                 model_prop.color = model_color;
                 model.acax_app.view.SetProperty(cut_project_index, model_prop);
         }
-        console.log(model.acax_app.view.GetProperty(cut_project_index));
+        //console.log(model.acax_app.view.GetProperty(cut_project_index));
 }
 //将颜色给模型赋回去
 function assignColorsToTree(tree, idColorMap) {
@@ -1585,28 +1651,38 @@ function findDifferences(oldMap, newMap) {
 
         return differences;
 }
+var  difference = {};
+//获取工程中颜色,为模型涂色
+function SetUserColor() {
+        var dif_key = Object.keys(difference);
+        console.log(dif_key.length);
+        for(let i = 0;i < dif_key.length;++i) {
+                let rgb = hexToRgb(difference[dif_key[i]]);
+                try {
+                        unit.form.mainfrm.LightFace(dif_key[i], rgb); // 调用设置颜色
+                } catch (error) {
+                        console.error(`Failed to apply color for key ${dif_key[i]}`, error);
+                }
+              
+        }
+}
 //导入模型树节点
 function OnTree(Idx){     
-       
-        //console.log(JSON.stringify(Idx, null, 2));
+        
         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).color!==undefined ) {
-                        let old_map = getTreeIdColorMap(Idx);
-                        console.log(old_map);
-                        console.log( model.acax_app.view.GetProperty(cut_project_index).color);
-                        let difference = findDifferences(old_map, model.acax_app.view.GetProperty(cut_project_index).color);
-                        console.log(difference);
-                        let dif_key = Object.keys(difference);
-                        for(let i = 0;i < dif_key.length;++i) {
-                                let rgb = hexToRgb(difference[dif_key[i]]);
-                                unit.form.mainfrm.LightFace(dif_key[i], rgb);
-                        }
+                        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);
                 }
                 
@@ -1865,13 +1941,15 @@ function ModifyMaterial(material) {
 }
 //创建载荷
 function CreateBoundary(Load, name) {   
-        
-        if(model.global_ctrl[0] && model.global_ctrl[1] && model.global_ctrl[2] && model.global_ctrl[3]) {
+        console.log(model.global_ctrl);
+        if(!model.global_ctrl[0] || !model.global_ctrl[1] || !model.global_ctrl[2] || !model.global_ctrl[3]) {
                 unit.form.mainfrm.OnCueline('未满足创建条件', 'red');
                 return;
         }  
         let tree_color = [];
+        
         let load = model.acax_app.control.constrain.Create(Load, name);
+        
         let cur_name = model.acax_app.model.constrain.Current();
       
         let cur_index = model.acax_app.view.GetCurrentWorkConditionIndex();
@@ -1943,19 +2021,17 @@ function CreateBoundary(Load, name) {
                 }
                 //赋值给dcip的树结构
                 tree_color = getTreeColorsInOrder(tree);
-
                 ui.tree_Model.tree = tree;
         }
         );
         //将载荷属性添加到模型信息中    
-        //console.log(cur_id); 
         ui.tree_Model.position = cur_id;
+        //console.log(tree_color);
+        ui.tree_Model.column = [1, tree_color];
         model.acax_app.view.Render3D(info=>{
                 info.model3d.constrains.push(Load);
                
         });
-      
-        ui.tree_Model.column = [1, tree_color];
         
 }
 //修改载荷面板属性

BIN
kul.zip


+ 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":3,"list":["D:/dcip1/comx_sdk.node/unit/hypermesh/data/work1","D:\\dcip1\\comx_sdk.node\\unit\\hypermesh\\data\\work2","D:\\dcip1\\comx_sdk.node\\unit\\hypermesh\\data\\work3","D:\\dcip1\\comx_sdk.node\\unit\\hypermesh\\data\\work4"]}