gs-cae-design 1.1.68 → 1.1.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +4 -0
  2. package/docs/classes/CommandInterfaceManager.md +33 -0
  3. package/lib/.gz +0 -0
  4. package/lib/CAEDesign.common-report.html +2 -2
  5. package/lib/CAEDesign.common.js +217 -74
  6. package/lib/CAEDesign.umd-report.html +2 -2
  7. package/lib/CAEDesign.umd.js +217 -74
  8. package/lib/CAEDesign.umd.min-report.html +2 -2
  9. package/lib/CAEDesign.umd.min.js +217 -74
  10. package/package.json +1 -1
  11. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.ts +6 -60
  12. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAA.ts +81 -0
  13. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAD.ts +83 -0
  14. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAFB.ts +90 -0
  15. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAR.ts +64 -0
  16. package/src/caeCardEditor/caeCardObjects/sacinp/cardCODEIS.ts +62 -41
  17. package/src/caeCardEditor/caeCardObjects/sacinp/cardOPTIONS.ts +320 -162
  18. package/src/caeCardEditor/caeCardObjects/sacinp/cardPCODE.ts +92 -0
  19. package/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTDRCT.ts +81 -0
  20. package/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTITER.ts +117 -0
  21. package/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO.ts +37 -1
  22. package/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO2.ts +11 -0
  23. package/src/caeCardEditor/caeCardObjects/seainp/cardLCSEL.ts +18 -0
  24. package/src/caeCardEditor/caeCardObjects/seainp/cardWIND.ts +96 -0
  25. package/src/gsDevFx/managers/datReaderManager.ts +354 -159
  26. package/src/gsDevFx/managers/datWriterManager.ts +609 -62
  27. package/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.ts +30 -0
  28. package/src/gsDevFx/managers/persistenceManager.ts +4 -5
  29. package/src/gsDevFx/objects/caeObjects/aftertreatment/anlysisOptionsObject.ts +460 -0
  30. package/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.ts +18 -18
  31. package/src/gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject.ts +103 -0
  32. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro.ts +128 -21
  33. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro2.ts +28 -21
  34. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateUcpart.ts +7 -7
  35. package/src/gsDevFx/objects/caeObjects/pretreatment/surfaceWeightObject.ts +7 -0
  36. package/src/gsDevFx/objects/caeObjects/pretreatment/windAreaObject.ts +43 -10
  37. package/src/gsDevFx/objects/loadObjects/loadConditionObject.ts +4 -4
  38. package/src/gsDevFx/objects/loadObjects/waveLoadObject.ts +1 -1
  39. package/src/gsDevFx/objects/loadObjects/windLoadObject.ts +18 -4
  40. package/src/gsDevFx/objects/weightObjects/memberWeightConcentratedObject.ts +1 -0
  41. package/src/gsDevFx/process.ts +6 -2
  42. package/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.ts +8 -3
  43. package/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.ts +2 -0
  44. package/src/viewerWrapper/commands/aftertreatment/addJointLoad/commandAddJointLoad.ts +10 -1
  45. package/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.ts +5 -0
  46. package/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/addLoadConditionSelectionConfig.ts +108 -0
  47. package/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/commandAddLoadConditionSelection.ts +135 -0
  48. package/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/addSeastateHydroConfig.ts +142 -0
  49. package/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/commandAddSeastateHydro.ts +221 -0
  50. package/src/viewerWrapper/commands/aftertreatment/addSeastateUcpart/commandAddSeastateUcpart.ts +18 -21
  51. package/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.ts +7 -1
  52. package/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.ts +29 -0
  53. package/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.ts +6 -1
  54. package/src/viewerWrapper/commands/aftertreatment/anlysisOptions/anlysisOptionsConfig.ts +328 -0
  55. package/src/viewerWrapper/commands/aftertreatment/anlysisOptions/commandAnlysisOptions.ts +145 -0
  56. package/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.ts +4 -0
  57. package/src/viewerWrapper/commands/aftertreatment/editLoadCombination/commandEditLoadCombination.ts +8 -0
  58. package/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.ts +3 -1
  59. package/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.ts +11 -1
  60. package/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.ts +28 -0
  61. package/src/viewerWrapper/commands/pretreatment/surfaceWeightAdd/commandSurfaceWeightAdd.ts +6 -2
  62. package/src/viewerWrapper/commands/pretreatment/viewLoadProperty/commandViewLoadProperty.ts +11 -11
  63. package/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.ts +49 -20
  64. package/src/viewerWrapper/commands/pretreatment/windAreaEdit/commandWindAreaEdit.ts +45 -18
  65. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.d.ts +0 -56
  66. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.d.ts.map +1 -1
  67. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAA.d.ts +39 -0
  68. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAA.d.ts.map +1 -0
  69. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAD.d.ts +39 -0
  70. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAD.d.ts.map +1 -0
  71. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAFB.d.ts +39 -0
  72. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAFB.d.ts.map +1 -0
  73. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAR.d.ts +23 -0
  74. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAR.d.ts.map +1 -0
  75. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardCODEIS.d.ts +19 -21
  76. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardCODEIS.d.ts.map +1 -1
  77. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardOPTIONS.d.ts +193 -29
  78. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardOPTIONS.d.ts.map +1 -1
  79. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardPCODE.d.ts +77 -0
  80. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardPCODE.d.ts.map +1 -0
  81. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTDRCT.d.ts +72 -0
  82. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTDRCT.d.ts.map +1 -0
  83. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTITER.d.ts +99 -0
  84. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTITER.d.ts.map +1 -0
  85. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO.d.ts +18 -0
  86. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO.d.ts.map +1 -1
  87. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO2.d.ts +2 -0
  88. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO2.d.ts.map +1 -1
  89. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardLCSEL.d.ts +2 -0
  90. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardLCSEL.d.ts.map +1 -1
  91. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardWIND.d.ts +96 -0
  92. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardWIND.d.ts.map +1 -1
  93. package/types/caeDesign/src/gsDevFx/managers/datReaderManager.d.ts +3 -2
  94. package/types/caeDesign/src/gsDevFx/managers/datReaderManager.d.ts.map +1 -1
  95. package/types/caeDesign/src/gsDevFx/managers/datWriterManager.d.ts +1 -0
  96. package/types/caeDesign/src/gsDevFx/managers/datWriterManager.d.ts.map +1 -1
  97. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.d.ts +6 -0
  98. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.d.ts.map +1 -1
  99. package/types/caeDesign/src/gsDevFx/managers/persistenceManager.d.ts.map +1 -1
  100. package/types/caeDesign/src/gsDevFx/objects/caeObjects/aftertreatment/anlysisOptionsObject.d.ts +69 -0
  101. package/types/caeDesign/src/gsDevFx/objects/caeObjects/aftertreatment/anlysisOptionsObject.d.ts.map +1 -0
  102. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.d.ts.map +1 -1
  103. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject.d.ts +22 -0
  104. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject.d.ts.map +1 -0
  105. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro.d.ts +40 -6
  106. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro.d.ts.map +1 -1
  107. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro2.d.ts +7 -5
  108. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro2.d.ts.map +1 -1
  109. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateUcpart.d.ts +1 -2
  110. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateUcpart.d.ts.map +1 -1
  111. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/WindAreaObject.d.ts.map +1 -1
  112. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceWeightObject.d.ts +1 -0
  113. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceWeightObject.d.ts.map +1 -1
  114. package/types/caeDesign/src/gsDevFx/objects/loadObjects/windLoadObject.d.ts +1 -0
  115. package/types/caeDesign/src/gsDevFx/objects/loadObjects/windLoadObject.d.ts.map +1 -1
  116. package/types/caeDesign/src/gsDevFx/objects/weightObjects/memberWeightConcentratedObject.d.ts.map +1 -1
  117. package/types/caeDesign/src/gsDevFx/process.d.ts +2 -0
  118. package/types/caeDesign/src/gsDevFx/process.d.ts.map +1 -1
  119. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.d.ts.map +1 -1
  120. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.d.ts.map +1 -1
  121. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addJointLoad/commandAddJointLoad.d.ts.map +1 -1
  122. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.d.ts.map +1 -1
  123. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/addLoadConditionSelectionConfig.d.ts +6 -0
  124. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/addLoadConditionSelectionConfig.d.ts.map +1 -0
  125. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/commandAddLoadConditionSelection.d.ts +18 -0
  126. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/commandAddLoadConditionSelection.d.ts.map +1 -0
  127. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/addSeastateHydroConfig.d.ts +6 -0
  128. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/addSeastateHydroConfig.d.ts.map +1 -0
  129. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/commandAddSeastateHydro.d.ts +22 -0
  130. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/commandAddSeastateHydro.d.ts.map +1 -0
  131. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateUcpart/commandAddSeastateUcpart.d.ts.map +1 -1
  132. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.d.ts +1 -0
  133. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.d.ts.map +1 -1
  134. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.d.ts +1 -0
  135. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.d.ts.map +1 -1
  136. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.d.ts.map +1 -1
  137. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/anlysisOptionsConfig.d.ts +7 -0
  138. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/anlysisOptionsConfig.d.ts.map +1 -0
  139. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/commandAnlysisOptions.d.ts +12 -0
  140. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/commandAnlysisOptions.d.ts.map +1 -0
  141. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.d.ts.map +1 -1
  142. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editLoadCombination/commandEditLoadCombination.d.ts.map +1 -1
  143. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.d.ts.map +1 -1
  144. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.d.ts.map +1 -1
  145. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.d.ts +1 -0
  146. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.d.ts.map +1 -1
  147. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceWeightAdd/commandSurfaceWeightAdd.d.ts.map +1 -1
  148. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.d.ts.map +1 -1
  149. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windAreaEdit/commandWindAreaEdit.d.ts.map +1 -1
  150. package/types/ceecDesign/src/api/renderObjectServices.d.ts.map +0 -1
  151. package/types/ceecDesign/src/gsDevFx/objects/designBaseObject/instanceDesignBaseObject.d.ts +0 -15
  152. package/types/ceecDesign/src/gsDevFx/objects/designBaseObject/instanceDesignBaseObject.d.ts.map +0 -1
  153. package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts +0 -18
  154. package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts.map +0 -1
  155. package/src/gsDevFx/objects/caeObjects/optionObjects/modelOptions.ts +0 -65
  156. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateCdm.ts +0 -56
  157. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateLcsel.ts +0 -56
@@ -353,7 +353,16 @@ export default class CommandAddJointLoad extends CommandComponent {
353
353
  if(conditions[i].name === loadConditionName) {
354
354
  for(let j = 0; j < conditions[i].childObjects.length; j++) {
355
355
  let loadGroup = conditions[i].childObjects[j] as LoadGroupObject;
356
- loadGroups.push(loadGroup);
356
+ for (let k = 0; k < loadGroup.childObjects.length; k++) {
357
+ let load = loadGroup.childObjects[k];
358
+ if (
359
+ load instanceof JointLoadObject &&
360
+ load.checkBusinessStateIsActive()
361
+ ) {
362
+ loadGroups.push(loadGroup);
363
+ break;
364
+ }
365
+ }
357
366
  // for(let k = 0; k < loadGroup.childObjects.length; k++) {
358
367
  // let load = loadGroup.childObjects[k];
359
368
  // if(load instanceof JointLoadObject) {
@@ -123,6 +123,11 @@ export default class CommandAddLoadCombination extends CommandComponent {
123
123
  data.tip.value = 4;
124
124
  return;
125
125
  }
126
+ if (groupLoadConditions.some(obj => Number(obj.value) <= 0)) {
127
+ // 工况名不能为空
128
+ data.tip.value = 8;
129
+ return;
130
+ }
126
131
 
127
132
  let loadCombinationGroupRO = new LoadCombinationGroupObject(combinationName);
128
133
  loadCombinationGroupRO.businessState = BusinessState.Creating;
@@ -0,0 +1,108 @@
1
+ import { Config } from '../../../../gsDevFx/propertyComponents/config'
2
+ import { PropertyComponent } from '../../../../gsDevFx/propertyComponents/propertyComponent'
3
+ import { Process } from '../../../../gsDevFx/process'
4
+ import { LcselRenderObject } from '../../../../gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject'
5
+ import { DesignBaseObject } from 'gs-ceec-design'
6
+
7
+ export default class AddLoadConditionSelectionConfig extends Config {
8
+ constructor() {
9
+ super()
10
+
11
+ let property = new PropertyComponent()
12
+ property.name = '荷载工况选择'
13
+ property.data = {
14
+ loadConditionList: {
15
+ name: '',
16
+ value: null,
17
+ type: 'list',
18
+ listOptions: {
19
+ list: []
20
+ }
21
+ },
22
+ selectedLoads: {
23
+ name: '',
24
+ value: null,
25
+ type: 'list',
26
+ listOptions: {
27
+ list: []
28
+ }
29
+ },
30
+ tip: {
31
+ name: '提示',
32
+ value: null
33
+ }
34
+ }
35
+ this.properties.add(property)
36
+ this.initLcList()
37
+ }
38
+
39
+ initLcList() {
40
+ let data = this.properties.items[0].data
41
+
42
+ data.loadConditionList.listOptions.list = []
43
+ let loadObjectGroup = Process.activeProcess.findRenderObjectByName('荷载工况')
44
+ if (loadObjectGroup) {
45
+ loadObjectGroup.childObjects.map((item) => {
46
+ if ((item as DesignBaseObject).checkBusinessStateIsActive()) {
47
+ data.loadConditionList.listOptions.list.push({
48
+ label: item.name,
49
+ value: item.name
50
+ })
51
+ }
52
+ })
53
+ }
54
+
55
+ let loadObjectGroup2 = Process.activeProcess.findRenderObjectByName('荷载组合')
56
+ if (loadObjectGroup2) {
57
+ loadObjectGroup2.childObjects.map((item) => {
58
+ if ((item as DesignBaseObject).checkBusinessStateIsActive()) {
59
+ data.loadConditionList.listOptions.list.push({
60
+ label: item.name,
61
+ value: item.name
62
+ })
63
+ }
64
+ })
65
+ }
66
+
67
+ data.selectedLoads.listOptions.list = [];
68
+
69
+ let pretreatmentRO = Process.activeProcess.findRenderObjectByName(
70
+ "后处理计算结果"
71
+ ) as DesignBaseObject;
72
+
73
+ let lcselParent = Process.activeProcess.findCaeObjectByNameInChildObject(
74
+ pretreatmentRO,
75
+ "荷载工况选择"
76
+ ) as DesignBaseObject;
77
+
78
+ if (lcselParent) {
79
+ for (let i = 0; i < lcselParent.childObjects.length; i++) {
80
+ let seastateLcselObj = lcselParent.childObjects[i] as LcselRenderObject
81
+ if (seastateLcselObj.checkBusinessStateIsActive()) {
82
+ const seqArr = [
83
+ 'first',
84
+ 'second',
85
+ 'third',
86
+ 'th4',
87
+ 'th5',
88
+ 'th6',
89
+ 'th7',
90
+ 'th8',
91
+ 'th9',
92
+ 'th10',
93
+ 'th11',
94
+ 'th12'
95
+ ]
96
+ seqArr.map((seq) => {
97
+ if (seastateLcselObj[seq]) {
98
+ data.selectedLoads.listOptions.list.push({
99
+ label: seastateLcselObj[seq],
100
+ value: seastateLcselObj[seq]
101
+ })
102
+ }
103
+ })
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,135 @@
1
+ import { CameraMouse } from '../../../../gsDevFx/operators/cameraMouse'
2
+ import { CommandComponent } from '../../commandComponent'
3
+ import { CAEObjectPreSelector } from '../../../../gsDevFx/operators/cAEObjectPreSelector'
4
+ import { CAEObjectSelector } from '../../../../gsDevFx/operators/caeObjectSelector'
5
+ import { CommandSelect } from '../../../../gsDevFx/commands/commandSelect'
6
+ import AddLoadConditionSelectionConfig from './addLoadConditionSelectionConfig'
7
+ import { BusinessState, DesignBaseObject } from 'gs-ceec-design'
8
+ import { LcselRenderObject } from '../../../../gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject'
9
+
10
+ export default class CommandAddLoadConditionSelection extends CommandComponent {
11
+ typeName: string = 'CommandAddLoadConditionSelection'
12
+
13
+ config: AddLoadConditionSelectionConfig
14
+ preSelector: CAEObjectPreSelector = null
15
+ caeObjectSelector: CAEObjectSelector = null
16
+
17
+ constructor() {
18
+ super()
19
+ }
20
+
21
+ begin(): void {
22
+ this.changeOperators()
23
+
24
+ console.log('CommandAddLoadConditionSelection')
25
+ this.config = new AddLoadConditionSelectionConfig()
26
+ this.config.show()
27
+ }
28
+
29
+ restore(): void {
30
+ this.changeOperators()
31
+ this.config.show()
32
+ }
33
+
34
+ changeOperators(): void {
35
+ // 进入命令前清空选中与高亮.
36
+ this.viewer.selectionManager.clearAllSelectionAndHighlight()
37
+ this.viewer.updateDisplay()
38
+
39
+ // 清空操作器.
40
+ this.viewer.operatorManager.clear()
41
+ // 添加操作器
42
+ this.viewer.operatorManager.add(new CameraMouse())
43
+
44
+ this.preSelector = new CAEObjectPreSelector()
45
+ this.viewer.operatorManager.add(this.preSelector)
46
+
47
+ this.caeObjectSelector = new CAEObjectSelector()
48
+ this.viewer.operatorManager.add(this.caeObjectSelector)
49
+
50
+ // this.caeObjectSelector.lButtonUp.add(() => {
51
+ // setTimeout(() => {
52
+ // this.updatePanel();
53
+ // }, 0);
54
+ // });
55
+ }
56
+
57
+ end(): void {
58
+ this.config.hide()
59
+ super.end()
60
+
61
+ this.viewer.selectionManager.clearAllSelectionAndHighlight()
62
+ this.viewer.updateDisplay()
63
+
64
+ let commandSelect = new CommandSelect()
65
+ this.process.commandManager.execute(commandSelect)
66
+ }
67
+
68
+ commandOk(): void {
69
+ let data = this.config.properties.items[0].data
70
+
71
+ if (!data.loadConditionList.listOptions.list.length) {
72
+ return
73
+ }
74
+
75
+ let pretreatmentRO = this.viewer.process.findRenderObjectByName(
76
+ "后处理计算结果"
77
+ ) as DesignBaseObject;
78
+
79
+ let lcselParent = this.process.findCaeObjectByNameInChildObject(
80
+ pretreatmentRO,
81
+ "荷载工况选择"
82
+ ) as DesignBaseObject;
83
+
84
+ if (!lcselParent) {
85
+ lcselParent = new DesignBaseObject();
86
+ lcselParent.businessState = BusinessState.Creating;
87
+ lcselParent.name = "荷载工况选择";
88
+ this.process.addRenderObject(pretreatmentRO, lcselParent);
89
+ }else {
90
+ lcselParent.businessState = BusinessState.Editing;
91
+ }
92
+
93
+ this.viewer.selectionManager.clearAllSelectionAndHighlight();
94
+
95
+ for (let i = 0; i < lcselParent.childObjects.length; i++) {
96
+ let item = lcselParent.childObjects[i] as LcselRenderObject
97
+ item.tempDelete(this.viewer)
98
+ item.businessState = BusinessState.Deleting
99
+ }
100
+
101
+ // 每十二个荷载进行组合
102
+ let selectedLoads = data.selectedLoads.listOptions.list
103
+ for (let i = 0; i < selectedLoads.length; i += 12) {
104
+ const chunk = selectedLoads.slice(i, i + 12)
105
+ if (chunk.length) {
106
+ let seastateLcselRenderObject = new LcselRenderObject()
107
+ seastateLcselRenderObject.businessState = BusinessState.Creating
108
+ this.process.addRenderObject(lcselParent, seastateLcselRenderObject)
109
+
110
+ const seqArr = [
111
+ 'first',
112
+ 'second',
113
+ 'third',
114
+ 'th4',
115
+ 'th5',
116
+ 'th6',
117
+ 'th7',
118
+ 'th8',
119
+ 'th9',
120
+ 'th10',
121
+ 'th11',
122
+ 'th12'
123
+ ]
124
+
125
+ for(let j = 0; j < chunk.length; j++) {
126
+ if (chunk[j].label) seastateLcselRenderObject[seqArr[j]] = chunk[j].label
127
+ }
128
+
129
+ data.tip.value = 1
130
+ }
131
+ }
132
+ }
133
+
134
+ updatePanel() {}
135
+ }
@@ -0,0 +1,142 @@
1
+ import { Config } from "../../../../gsDevFx/propertyComponents/config"
2
+ import { SeastateHydro } from "../../../../gsDevFx/objects/caeObjects/optionObjects/seastateHydro"
3
+ import { SeastateHydro2 } from "../../../../gsDevFx/objects/caeObjects/optionObjects/seastateHydro2"
4
+ import { PropertyComponent } from "../../../../gsDevFx/propertyComponents/propertyComponent"
5
+
6
+ export default class AddSeastateHydroConfig extends Config {
7
+ constructor() {
8
+ super()
9
+
10
+ let hydroProperties = new PropertyComponent()
11
+ hydroProperties.name = "静水压溃选项定义"
12
+
13
+ hydroProperties.data = {
14
+ verticalCoord: {
15
+ name: "垂向坐标方向",
16
+ value: "+Z",
17
+ type: "select",
18
+ selectOptions: {
19
+ selections: [
20
+ { label: "+X", value: "+X" },
21
+ { label: "+Y", value: "+Y" },
22
+ { label: "+Z", value: "+Z" },
23
+ { label: "-X", value: "-X" },
24
+ { label: "-Y", value: "-Y" },
25
+ { label: "-Z", value: "-Z" }
26
+ ]
27
+ }
28
+ },
29
+ typeOfRings: {
30
+ name: "环位置",
31
+ value: null,
32
+ selectOptions: {
33
+ selections: [
34
+ { label: "IN - internal Rings", value: "INT" },
35
+ { label: "EX - External Rings", value: "EXT" }
36
+ ]
37
+ }
38
+ },
39
+ printOption: {
40
+ name: "静水压溃输出选项",
41
+ value: null,
42
+ type: "select",
43
+ selectOptions: {
44
+ selections: [
45
+ { label: "SUM - Summary Print", value: "SM" },
46
+ { label: "MIN - Minimum Print", value: "MN" },
47
+ { label: "FUL - Full Print", value: "FL" },
48
+ { label: "NON - Suppress Print", value: "NP" }
49
+ ]
50
+ }
51
+ },
52
+ redesignOption: {
53
+ name: "重新设计选项",
54
+ value: null,
55
+ type: "select",
56
+ selectOptions: {
57
+ selections: [
58
+ { label: "NO - No Redesign", value: "NO" },
59
+ { label: "TH - Tube Thickness Change Only", value: "TH" },
60
+ { label: "RG Ring Design", value: "RG" },
61
+ { label: "RT - Ring Design and Tube Thickness Change", value: "RT" }
62
+ ]
63
+ }
64
+ },
65
+ waterDepth: {
66
+ name: "水深覆盖值(m)",
67
+ value: null
68
+ },
69
+ mudlineElevation: {
70
+ name: "泥面高程覆盖值(m)",
71
+ value: null
72
+ },
73
+ safetyFactor: {
74
+ name: "轴向压缩安全系数",
75
+ value: null
76
+ },
77
+ waterDensity: {
78
+ name: "水密度覆盖值 (tonne/m³)",
79
+ value: null
80
+ },
81
+ heightIncrement: {
82
+ name: "环间高度增量(cm)",
83
+ value: null
84
+ },
85
+ thicknessIncrement: {
86
+ name: "厚度增量(cm)",
87
+ value: null
88
+ },
89
+ isAxisLoadOption: {
90
+ name: "海况轴向载荷选项",
91
+ value: false,
92
+ type: "switch"
93
+ },
94
+ tip: {
95
+ name: "提示",
96
+ value: null
97
+ }
98
+ }
99
+
100
+ let hydro2Properties = new PropertyComponent()
101
+
102
+ hydro2Properties.name = "静水压溃选项";
103
+ hydro2Properties.data = {
104
+ ringSpaceingOption: {
105
+ name: "初始环间距",
106
+ value: null,
107
+ selectOptions: {
108
+ selections: [
109
+ { label: "INFL - Use infinite length as initial ring spacing", value: "IN" },
110
+ { label: "MEML - Use member length as initial ring spacing", value: "ML" }
111
+ ]
112
+ }
113
+ }
114
+ }
115
+
116
+ this.properties.add(hydroProperties)
117
+ this.properties.add(hydro2Properties)
118
+
119
+ this.resetConfigData()
120
+ }
121
+
122
+ resetConfigData() {
123
+ let data = this.properties.items[0].data
124
+ let data2 = this.properties.items[1].data
125
+
126
+ let obj1 = new SeastateHydro()
127
+ data.verticalCoord.value = obj1.verticalCoord
128
+ data.typeOfRings.value = obj1.typeOfRings
129
+ data.printOption.value = obj1.printOption
130
+ data.redesignOption.value = obj1.redesignOption
131
+ data.waterDepth.value = obj1.waterDepth
132
+ data.mudlineElevation.value = obj1.mudlineElevation
133
+ data.safetyFactor.value = obj1.safetyFactor
134
+ data.waterDensity.value = obj1.waterDensity
135
+ data.heightIncrement.value = obj1.heightIncrement
136
+ data.thicknessIncrement.value = obj1.thicknessIncrement
137
+ data.isAxisLoadOption.value = obj1.isAxisLoadOption
138
+
139
+ let obj2 = new SeastateHydro2()
140
+ data2.ringSpaceingOption.value = obj2.ringSpaceingOption
141
+ }
142
+ }
@@ -0,0 +1,221 @@
1
+ import { CameraMouse } from "../../../../gsDevFx/operators/cameraMouse";
2
+ import { CommandComponent } from "../../commandComponent";
3
+ import { CAEObjectPreSelector } from "../../../../gsDevFx/operators/cAEObjectPreSelector";
4
+ import { CAEObjectSelector } from "../../../../gsDevFx/operators/caeObjectSelector";
5
+ import { CommandSelect } from "../../../../gsDevFx/commands/commandSelect";
6
+ import AddSeastateHydroConfig from "./addSeastateHydroConfig";
7
+ import { BusinessState } from "gs-ceec-design";
8
+ import { SeastateHydro, PrintOption ,RedesignOption, TypeOfRings } from "../../../../gsDevFx/objects/caeObjects/optionObjects/seastateHydro"
9
+ import { SeastateHydro2, RingSpaceingOption } from "../../../../gsDevFx/objects/caeObjects/optionObjects/seastateHydro2"
10
+ import { CaeNumber } from "../../../../utility/utility";
11
+
12
+ export default class CommandAddSeastateHydro extends CommandComponent {
13
+ typeName: string = "CommandAddSeastateHydro";
14
+
15
+ config: AddSeastateHydroConfig;
16
+ preSelector: CAEObjectPreSelector = null;
17
+ caeObjectSelector: CAEObjectSelector = null;
18
+
19
+ currentSeastateHydro: SeastateHydro = null;
20
+
21
+ constructor() {
22
+ super();
23
+ }
24
+
25
+ begin(): void {
26
+ this.changeOperators();
27
+
28
+ console.log("CommandAddSeastateHydro");
29
+ this.config = new AddSeastateHydroConfig();
30
+ this.config.show();
31
+
32
+ this.setSeastateHydroDataToConfigData()
33
+
34
+ let data = this.config.properties.items[0].data;
35
+ let data1 = this.config.properties.items[1].data;
36
+ data.printOption.selectOptions.selections = []
37
+ data.redesignOption.selectOptions.selections = []
38
+ data.typeOfRings.selectOptions.selections = []
39
+ data1.ringSpaceingOption.selectOptions.selections = []
40
+ if(this.viewer.commonInterfaceManager.showEnglishText) {
41
+ data.printOption.selectOptions.selections.push({ label: "Only unity checks >1", value: PrintOption.SM })
42
+ data.printOption.selectOptions.selections.push({ label: "Minimum", value: PrintOption.MN })
43
+ data.printOption.selectOptions.selections.push({ label: "Full", value: PrintOption.FL })
44
+ data.redesignOption.selectOptions.selections.push({ label: "No redesign", value: RedesignOption.NO })
45
+ data.redesignOption.selectOptions.selections.push({ label: "Tube thickness", value: RedesignOption.TH })
46
+ data.redesignOption.selectOptions.selections.push({ label: "Ring design", value: RedesignOption.RG })
47
+ data.redesignOption.selectOptions.selections.push({ label: "Ring design & Tube thickness", value: RedesignOption.RT })
48
+ data.typeOfRings.selectOptions.selections.push({ label: "External", value: TypeOfRings.EXT })
49
+ data.typeOfRings.selectOptions.selections.push({ label: "Internal", value: TypeOfRings.INT })
50
+ data1.ringSpaceingOption.selectOptions.selections.push({ label: "Member length", value: RingSpaceingOption.ML })
51
+ data1.ringSpaceingOption.selectOptions.selections.push({ label: "Infinite length", value: RingSpaceingOption.IN })
52
+ }else {
53
+ data.printOption.selectOptions.selections.push({ label: "仅输出 UC>1", value: PrintOption.SM })
54
+ data.printOption.selectOptions.selections.push({ label: "最小值", value: PrintOption.MN })
55
+ data.printOption.selectOptions.selections.push({ label: "全部", value: PrintOption.FL })
56
+ data.redesignOption.selectOptions.selections.push({ label: "不重新设计", value: RedesignOption.NO })
57
+ data.redesignOption.selectOptions.selections.push({ label: "仅调整管壁厚度", value: RedesignOption.TH })
58
+ data.redesignOption.selectOptions.selections.push({ label: "仅调整加强环参数", value: RedesignOption.RG })
59
+ data.redesignOption.selectOptions.selections.push({ label: "同时调整管厚与环设计", value: RedesignOption.RT })
60
+ data.typeOfRings.selectOptions.selections.push({ label: "外部", value: TypeOfRings.EXT })
61
+ data.typeOfRings.selectOptions.selections.push({ label: "内部", value: TypeOfRings.INT })
62
+ data1.ringSpaceingOption.selectOptions.selections.push({ label: "杆件长度", value: RingSpaceingOption.ML })
63
+ data1.ringSpaceingOption.selectOptions.selections.push({ label: "无限长", value: RingSpaceingOption.IN })
64
+ }
65
+ }
66
+
67
+ restore(): void {
68
+ this.changeOperators();
69
+ this.config.show();
70
+ }
71
+
72
+ changeOperators(): void {
73
+ // 进入命令前清空选中与高亮.
74
+ this.viewer.selectionManager.clearAllSelectionAndHighlight();
75
+ this.viewer.updateDisplay();
76
+
77
+ // 清空操作器.
78
+ this.viewer.operatorManager.clear();
79
+ // 添加操作器
80
+ this.viewer.operatorManager.add(new CameraMouse());
81
+
82
+ this.preSelector = new CAEObjectPreSelector();
83
+ this.viewer.operatorManager.add(this.preSelector);
84
+
85
+ this.caeObjectSelector = new CAEObjectSelector();
86
+ this.viewer.operatorManager.add(this.caeObjectSelector);
87
+
88
+ this.caeObjectSelector.lButtonUp.add(() => {
89
+ setTimeout(() => {
90
+ this.updatePanel();
91
+ }, 0);
92
+ });
93
+ }
94
+
95
+ end(): void {
96
+ this.config.hide();
97
+ super.end();
98
+
99
+ this.viewer.selectionManager.clearAllSelectionAndHighlight();
100
+ this.viewer.updateDisplay();
101
+
102
+ let commandSelect = new CommandSelect();
103
+ this.process.commandManager.execute(commandSelect);
104
+ }
105
+
106
+ commandOk(): void {
107
+ let data = this.config.properties.items[0].data;
108
+ let data2 = this.config.properties.items[1].data;
109
+
110
+ if(Number(data.waterDensity.value) <= 0) {
111
+ // 水密度覆盖值需大于0
112
+ data.tip.value = 2;
113
+ return
114
+ }
115
+
116
+ let seastateNode = this.process.caeRenderObjectTreeManager.seastateNode
117
+ let seastateHydroObj = this.process.findRenderObjectByType(
118
+ "SeastateHydro"
119
+ ) as SeastateHydro
120
+ if (!seastateHydroObj) {
121
+ seastateHydroObj = new SeastateHydro();
122
+ seastateHydroObj.businessState = BusinessState.Creating
123
+ this.process.addRenderObject(seastateNode,seastateHydroObj);
124
+ }else {
125
+ seastateHydroObj.businessState = BusinessState.Editing
126
+ }
127
+ seastateHydroObj.verticalCoord = data.verticalCoord.value;
128
+ seastateHydroObj.typeOfRings = data.typeOfRings.value;
129
+ seastateHydroObj.printOption = data.printOption.value;
130
+ seastateHydroObj.redesignOption = data.redesignOption.value;
131
+ seastateHydroObj.waterDepth = CaeNumber(data.waterDepth.value);
132
+ seastateHydroObj.mudlineElevation = CaeNumber(data.mudlineElevation.value);
133
+ seastateHydroObj.safetyFactor = CaeNumber(data.safetyFactor.value);
134
+ seastateHydroObj.waterDensity = CaeNumber(data.waterDensity.value);
135
+ seastateHydroObj.heightIncrement = CaeNumber(data.heightIncrement.value);
136
+ seastateHydroObj.thicknessIncrement = CaeNumber(data.thicknessIncrement.value);
137
+ seastateHydroObj.isAxisLoadOption = data.isAxisLoadOption.value;
138
+ let seastateHydroObj2 = this.process.findRenderObjectByType(
139
+ "SeastateHydro2"
140
+ ) as SeastateHydro2
141
+ if (!seastateHydroObj2) {
142
+ seastateHydroObj2 = new SeastateHydro2();
143
+ seastateHydroObj2.businessState = BusinessState.Creating
144
+ this.process.addRenderObject(seastateNode,seastateHydroObj2);
145
+ }else {
146
+ seastateHydroObj2.businessState = BusinessState.Editing
147
+ }
148
+
149
+ seastateHydroObj2.ringSpaceingOption = data2.ringSpaceingOption.value;
150
+
151
+ this.currentSeastateHydro = seastateHydroObj;
152
+ this.viewer.updateDisplay();
153
+ data.tip.value = 1;
154
+ }
155
+
156
+ updatePanel() {
157
+ }
158
+
159
+ private setSeastateHydroDataToConfigData() {
160
+ let ro = this.viewer.process.findRenderObjectByType(
161
+ "SeastateHydro"
162
+ ) as SeastateHydro;
163
+ let ro2 = this.viewer.process.findRenderObjectByType(
164
+ "SeastateHydro2"
165
+ ) as SeastateHydro2;
166
+
167
+ if(ro && ro.checkBusinessStateIsActive()) {
168
+ let data = this.config.properties.items[0].data
169
+ data.verticalCoord.value = ro.verticalCoord;
170
+ data.typeOfRings.value = ro.typeOfRings;
171
+ data.printOption.value = ro.printOption;
172
+ data.redesignOption.value = ro.redesignOption;
173
+ data.waterDepth.value = ro.waterDepth;
174
+ data.mudlineElevation.value = ro.mudlineElevation;
175
+ data.safetyFactor.value = ro.safetyFactor;
176
+ data.waterDensity.value = ro.waterDensity;
177
+ data.heightIncrement.value = ro.heightIncrement;
178
+ data.thicknessIncrement.value = ro.thicknessIncrement;
179
+ data.isAxisLoadOption.value = ro.isAxisLoadOption;
180
+ this.currentSeastateHydro = ro;
181
+ }
182
+ if(ro2 && ro2.checkBusinessStateIsActive()) {
183
+ let data = this.config.properties.items[1].data
184
+ data.ringSpaceingOption.value = ro2.ringSpaceingOption
185
+ }
186
+ }
187
+
188
+ deleteSeastateHydro() {
189
+ let ro = this.viewer.process.findRenderObjectByType(
190
+ "SeastateHydro"
191
+ ) as SeastateHydro;
192
+ let ro2 = this.viewer.process.findRenderObjectByType(
193
+ "SeastateHydro2"
194
+ ) as SeastateHydro2;
195
+ ro.businessState = BusinessState.Editing;
196
+ ro2.businessState = BusinessState.Editing;
197
+
198
+ let obj1 = new SeastateHydro()
199
+ ro.verticalCoord = obj1.verticalCoord
200
+ ro.typeOfRings = obj1.typeOfRings
201
+ ro.printOption = obj1.printOption
202
+ ro.redesignOption = obj1.redesignOption
203
+ ro.waterDepth = obj1.waterDepth
204
+ ro.mudlineElevation = obj1.mudlineElevation
205
+ ro.safetyFactor = obj1.safetyFactor
206
+ ro.waterDensity = obj1.waterDensity
207
+ ro.heightIncrement = obj1.heightIncrement
208
+ ro.thicknessIncrement = obj1.thicknessIncrement
209
+ ro.isAxisLoadOption = obj1.isAxisLoadOption
210
+
211
+ let obj2 = new SeastateHydro2()
212
+ ro2.ringSpaceingOption = obj2.ringSpaceingOption
213
+ ro2.reductionFactor = obj2.reductionFactor
214
+ ro2.safetyFactor = obj2.safetyFactor
215
+
216
+ this.currentSeastateHydro = null
217
+
218
+ this.config.resetConfigData()
219
+ this.config.properties.items[0].data.tip.value = 1;
220
+ }
221
+ }