gs-cae-design 1.1.67 → 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 (193) hide show
  1. package/README.md +13 -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 +229 -86
  6. package/lib/CAEDesign.umd-report.html +2 -2
  7. package/lib/CAEDesign.umd.js +229 -86
  8. package/lib/CAEDesign.umd.min-report.html +2 -2
  9. package/lib/CAEDesign.umd.min.js +229 -86
  10. package/package.json +1 -1
  11. package/src/caeCardEditor/caeCardObjects/cardJointElastic.ts +7 -6
  12. package/src/caeCardEditor/caeCardObjects/cardLOADCONC.ts +2 -0
  13. package/src/caeCardEditor/caeCardObjects/cardMember.ts +8 -11
  14. package/src/caeCardEditor/caeCardObjects/cardPGrup.ts +7 -6
  15. package/src/caeCardEditor/caeCardObjects/cardPlate.ts +3 -2
  16. package/src/caeCardEditor/caeCardObjects/cardSection.ts +5 -4
  17. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.ts +6 -60
  18. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAA.ts +81 -0
  19. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAD.ts +83 -0
  20. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAFB.ts +90 -0
  21. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREAR.ts +64 -0
  22. package/src/caeCardEditor/caeCardObjects/sacinp/cardCODEIS.ts +62 -41
  23. package/src/caeCardEditor/caeCardObjects/sacinp/cardOPTIONS.ts +320 -162
  24. package/src/caeCardEditor/caeCardObjects/sacinp/cardPCODE.ts +92 -0
  25. package/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTDRCT.ts +81 -0
  26. package/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTITER.ts +117 -0
  27. package/src/caeCardEditor/caeCardObjects/sacinp/cardSURFID.ts +2 -2
  28. package/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO.ts +37 -1
  29. package/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO2.ts +11 -0
  30. package/src/caeCardEditor/caeCardObjects/seainp/cardLCSEL.ts +18 -0
  31. package/src/caeCardEditor/caeCardObjects/seainp/cardWIND.ts +96 -0
  32. package/src/gsDevFx/managers/cloudMemberTransformManager.ts +1 -0
  33. package/src/gsDevFx/managers/datReaderManager.ts +354 -159
  34. package/src/gsDevFx/managers/datWriterManager.ts +757 -226
  35. package/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.ts +30 -0
  36. package/src/gsDevFx/managers/persistenceManager.ts +4 -5
  37. package/src/gsDevFx/objects/caeObjects/aftertreatment/anlysisOptionsObject.ts +460 -0
  38. package/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.ts +18 -18
  39. package/src/gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject.ts +103 -0
  40. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro.ts +128 -21
  41. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro2.ts +28 -21
  42. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateUcpart.ts +7 -7
  43. package/src/gsDevFx/objects/caeObjects/pretreatment/surfaceWeightObject.ts +7 -0
  44. package/src/gsDevFx/objects/caeObjects/pretreatment/windAreaObject.ts +43 -10
  45. package/src/gsDevFx/objects/loadObjects/loadConditionObject.ts +4 -4
  46. package/src/gsDevFx/objects/loadObjects/waveLoadObject.ts +1 -1
  47. package/src/gsDevFx/objects/loadObjects/windLoadObject.ts +18 -4
  48. package/src/gsDevFx/objects/pretreatmentObjects/waveItemObject.ts +3 -0
  49. package/src/gsDevFx/objects/pretreatmentObjects/waveObject.ts +3 -0
  50. package/src/gsDevFx/objects/weightObjects/memberWeightConcentratedObject.ts +1 -0
  51. package/src/gsDevFx/process.ts +6 -2
  52. package/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.ts +8 -3
  53. package/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.ts +2 -0
  54. package/src/viewerWrapper/commands/aftertreatment/addJointLoad/commandAddJointLoad.ts +10 -1
  55. package/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.ts +5 -0
  56. package/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/addLoadConditionSelectionConfig.ts +108 -0
  57. package/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/commandAddLoadConditionSelection.ts +135 -0
  58. package/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/addSeastateHydroConfig.ts +142 -0
  59. package/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/commandAddSeastateHydro.ts +221 -0
  60. package/src/viewerWrapper/commands/aftertreatment/addSeastateUcpart/commandAddSeastateUcpart.ts +18 -21
  61. package/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.ts +7 -1
  62. package/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.ts +29 -0
  63. package/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.ts +6 -1
  64. package/src/viewerWrapper/commands/aftertreatment/anlysisOptions/anlysisOptionsConfig.ts +328 -0
  65. package/src/viewerWrapper/commands/aftertreatment/anlysisOptions/commandAnlysisOptions.ts +145 -0
  66. package/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.ts +4 -0
  67. package/src/viewerWrapper/commands/aftertreatment/editLoadCombination/commandEditLoadCombination.ts +8 -0
  68. package/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.ts +3 -1
  69. package/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.ts +11 -1
  70. package/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.ts +28 -0
  71. package/src/viewerWrapper/commands/editSection/editSectionConfig.ts +1 -1
  72. package/src/viewerWrapper/commands/pretreatment/surfaceWeightAdd/commandSurfaceWeightAdd.ts +6 -2
  73. package/src/viewerWrapper/commands/pretreatment/viewLoadProperty/commandViewLoadProperty.ts +11 -11
  74. package/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.ts +49 -20
  75. package/src/viewerWrapper/commands/pretreatment/windAreaEdit/commandWindAreaEdit.ts +45 -18
  76. package/types/caeDesign/src/caeCardEditor/caeCardObjects/cardJointElastic.d.ts.map +1 -1
  77. package/types/caeDesign/src/caeCardEditor/caeCardObjects/cardLOADCONC.d.ts.map +1 -1
  78. package/types/caeDesign/src/caeCardEditor/caeCardObjects/cardMember.d.ts.map +1 -1
  79. package/types/caeDesign/src/caeCardEditor/caeCardObjects/cardPGrup.d.ts.map +1 -1
  80. package/types/caeDesign/src/caeCardEditor/caeCardObjects/cardPlate.d.ts.map +1 -1
  81. package/types/caeDesign/src/caeCardEditor/caeCardObjects/cardSection.d.ts.map +1 -1
  82. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.d.ts +0 -56
  83. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.d.ts.map +1 -1
  84. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAA.d.ts +39 -0
  85. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAA.d.ts.map +1 -0
  86. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAD.d.ts +39 -0
  87. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAD.d.ts.map +1 -0
  88. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAFB.d.ts +39 -0
  89. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAFB.d.ts.map +1 -0
  90. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAR.d.ts +23 -0
  91. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREAR.d.ts.map +1 -0
  92. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardCODEIS.d.ts +19 -21
  93. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardCODEIS.d.ts.map +1 -1
  94. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardOPTIONS.d.ts +193 -29
  95. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardOPTIONS.d.ts.map +1 -1
  96. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardPCODE.d.ts +77 -0
  97. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardPCODE.d.ts.map +1 -0
  98. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTDRCT.d.ts +72 -0
  99. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTDRCT.d.ts.map +1 -0
  100. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTITER.d.ts +99 -0
  101. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSLVOPTITER.d.ts.map +1 -0
  102. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO.d.ts +18 -0
  103. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO.d.ts.map +1 -1
  104. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO2.d.ts +2 -0
  105. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardHYDRO2.d.ts.map +1 -1
  106. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardLCSEL.d.ts +2 -0
  107. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardLCSEL.d.ts.map +1 -1
  108. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardWIND.d.ts +96 -0
  109. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardWIND.d.ts.map +1 -1
  110. package/types/caeDesign/src/gsDevFx/managers/cloudMemberTransformManager.d.ts.map +1 -1
  111. package/types/caeDesign/src/gsDevFx/managers/datReaderManager.d.ts +3 -2
  112. package/types/caeDesign/src/gsDevFx/managers/datReaderManager.d.ts.map +1 -1
  113. package/types/caeDesign/src/gsDevFx/managers/datWriterManager.d.ts +1 -0
  114. package/types/caeDesign/src/gsDevFx/managers/datWriterManager.d.ts.map +1 -1
  115. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.d.ts +6 -0
  116. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.d.ts.map +1 -1
  117. package/types/caeDesign/src/gsDevFx/managers/persistenceManager.d.ts.map +1 -1
  118. package/types/caeDesign/src/gsDevFx/objects/caeObjects/aftertreatment/anlysisOptionsObject.d.ts +69 -0
  119. package/types/caeDesign/src/gsDevFx/objects/caeObjects/aftertreatment/anlysisOptionsObject.d.ts.map +1 -0
  120. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.d.ts.map +1 -1
  121. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject.d.ts +22 -0
  122. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/lcselRenderObject.d.ts.map +1 -0
  123. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro.d.ts +40 -6
  124. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro.d.ts.map +1 -1
  125. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro2.d.ts +7 -5
  126. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateHydro2.d.ts.map +1 -1
  127. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateUcpart.d.ts +1 -2
  128. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/seastateUcpart.d.ts.map +1 -1
  129. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/WindAreaObject.d.ts.map +1 -1
  130. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceWeightObject.d.ts +1 -0
  131. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceWeightObject.d.ts.map +1 -1
  132. package/types/caeDesign/src/gsDevFx/objects/loadObjects/windLoadObject.d.ts +1 -0
  133. package/types/caeDesign/src/gsDevFx/objects/loadObjects/windLoadObject.d.ts.map +1 -1
  134. package/types/caeDesign/src/gsDevFx/objects/pretreatmentObjects/waveItemObject.d.ts.map +1 -1
  135. package/types/caeDesign/src/gsDevFx/objects/pretreatmentObjects/waveObject.d.ts.map +1 -1
  136. package/types/caeDesign/src/gsDevFx/objects/weightObjects/memberWeightConcentratedObject.d.ts.map +1 -1
  137. package/types/caeDesign/src/gsDevFx/process.d.ts +2 -0
  138. package/types/caeDesign/src/gsDevFx/process.d.ts.map +1 -1
  139. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.d.ts.map +1 -1
  140. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.d.ts.map +1 -1
  141. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addJointLoad/commandAddJointLoad.d.ts.map +1 -1
  142. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.d.ts.map +1 -1
  143. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/addLoadConditionSelectionConfig.d.ts +6 -0
  144. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/addLoadConditionSelectionConfig.d.ts.map +1 -0
  145. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/commandAddLoadConditionSelection.d.ts +18 -0
  146. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadConditionSelection/commandAddLoadConditionSelection.d.ts.map +1 -0
  147. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/addSeastateHydroConfig.d.ts +6 -0
  148. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/addSeastateHydroConfig.d.ts.map +1 -0
  149. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/commandAddSeastateHydro.d.ts +22 -0
  150. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateHydro/commandAddSeastateHydro.d.ts.map +1 -0
  151. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addSeastateUcpart/commandAddSeastateUcpart.d.ts.map +1 -1
  152. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.d.ts +1 -0
  153. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.d.ts.map +1 -1
  154. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.d.ts +1 -0
  155. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.d.ts.map +1 -1
  156. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.d.ts.map +1 -1
  157. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/anlysisOptionsConfig.d.ts +7 -0
  158. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/anlysisOptionsConfig.d.ts.map +1 -0
  159. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/commandAnlysisOptions.d.ts +12 -0
  160. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/anlysisOptions/commandAnlysisOptions.d.ts.map +1 -0
  161. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.d.ts.map +1 -1
  162. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editLoadCombination/commandEditLoadCombination.d.ts.map +1 -1
  163. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.d.ts.map +1 -1
  164. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.d.ts.map +1 -1
  165. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.d.ts +1 -0
  166. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.d.ts.map +1 -1
  167. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceWeightAdd/commandSurfaceWeightAdd.d.ts.map +1 -1
  168. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.d.ts.map +1 -1
  169. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windAreaEdit/commandWindAreaEdit.d.ts.map +1 -1
  170. package/types/ceecDesign/src/api/projectServices.d.ts +8 -0
  171. package/types/ceecDesign/src/api/projectServices.d.ts.map +1 -0
  172. package/types/ceecDesign/src/api/renderObjectServices.d.ts.map +0 -1
  173. package/types/ceecDesign/src/gsDevFx/managers/cloneManager.d.ts +5 -0
  174. package/types/ceecDesign/src/gsDevFx/managers/persistenceManager.d.ts +0 -19
  175. package/types/ceecDesign/src/gsDevFx/objects/designBaseObject/instanceDesignBaseObject.d.ts +0 -15
  176. package/types/ceecDesign/src/gsDevFx/objects/designBaseObject/instanceDesignBaseObject.d.ts.map +0 -1
  177. package/types/ceecDesign/src/gsDevFx/objects/designBaseObject.d.ts +54 -0
  178. package/types/ceecDesign/src/gsDevFx/objects/designBaseObject.d.ts.map +1 -0
  179. package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts +0 -18
  180. package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts.map +0 -1
  181. package/types/ceecDesign/src/gsDevFx/objects/interfaces.d.ts +0 -8
  182. package/types/ceecDesign/src/gsDevFx/objects/interfaces.d.ts.map +0 -1
  183. package/types/ceecDesign/src/gsDevFx/operators/objectPreSelector.d.ts.map +1 -0
  184. package/types/ceecDesign/src/gsDevFx/viewer.d.ts +14 -0
  185. package/types/ceecDesign/src/gsDevFx/viewer.d.ts.map +1 -0
  186. package/types/ceecDesign/src/index.d.ts +37 -0
  187. package/types/ceecDesign/src/plugins/svgDraw/index.d.ts +17 -0
  188. package/types/ceecDesign/src/plugins/svgDraw/index.d.ts.map +1 -0
  189. package/types/ceecDesign/src/plugins/svgDraw/svgViewer.d.ts +21 -0
  190. package/types/ceecDesign/src/plugins/svgDraw/svgViewer.d.ts.map +1 -0
  191. package/src/gsDevFx/objects/caeObjects/optionObjects/modelOptions.ts +0 -65
  192. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateCdm.ts +0 -56
  193. package/src/gsDevFx/objects/caeObjects/optionObjects/seastateLcsel.ts +0 -56
@@ -6,6 +6,11 @@ import { MemberObject } from "../objects/caeObjects/memberObject";
6
6
  import { PGrupObject } from "../objects/caeObjects/pGrupObject";
7
7
  import { PlateObject } from "../objects/caeObjects/plateObject";
8
8
  import { WeightGroupObject } from "../objects/weightObjects/weightGroupObject";
9
+ import { WeightIdObject } from "../objects/weightObjects/weightIdObject";
10
+ import { WeightBaseObject } from "../objects/weightObjects/weightBaseObject";
11
+ import { JointWeightObject } from "../objects/weightObjects/jointWeightObject";
12
+ import { MemberWeightConcentratedObject } from "../objects/weightObjects/memberWeightConcentratedObject";
13
+ import { MemberWeightDistributedObject } from "../objects/weightObjects/memberWeightDistributedObject";
9
14
  import {CenterRenderObject} from '../objects/caeObjects/pretreatment/centerRenderObject'
10
15
  import {SurfaceDefinitionObject} from '../objects/caeObjects/pretreatment/surfaceDefinitionObject'
11
16
  import {BoundaryJointsObject} from '../objects/caeObjects/pretreatment/boundaryJointsObject'
@@ -26,11 +31,9 @@ import { ModelTitle } from "../objects/caeObjects/optionObjects/modelTitle";
26
31
  import { SeastateLdopt } from "../objects/caeObjects/optionObjects/seastateLdopt";
27
32
  import { SeastateHydro } from "../objects/caeObjects/optionObjects/seastateHydro";
28
33
  import { SeastateHydro2 } from "../objects/caeObjects/optionObjects/seastateHydro2";
29
- import { SeastateLcsel } from "../objects/caeObjects/optionObjects/seastateLcsel";
30
34
  import { SeastateUcpart } from "../objects/caeObjects/optionObjects/seastateUcpart";
31
35
  import { SeastateFile } from "../objects/caeObjects/optionObjects/seastateFile";
32
- import { CdmRenderObject } from "../objects/caeObjects/optionObjects/cdmRenderObject";
33
- import { ModelOptions } from "../objects/caeObjects/optionObjects/modelOptions";
36
+
34
37
  import { ModelCodeIs } from "../objects/caeObjects/optionObjects/modelCodeIs";
35
38
  import {
36
39
  BusinessState,
@@ -56,6 +59,7 @@ import { DeadLoadObject } from '../objects/caeObjects/aftertreatment/deadLoadObj
56
59
  import { WindShieldObject } from '../objects/caeObjects/pretreatment/windShieldObject'
57
60
  import { WindAreaObject } from '../objects/caeObjects/pretreatment/windAreaObject'
58
61
  import { LRFDFactorsObject } from '../objects/caeObjects/aftertreatment/LRFDFactorsObject'
62
+ import { AnlysisOptionsObject } from '../objects/caeObjects/aftertreatment/anlysisOptionsObject'
59
63
  export class DatWriterManager extends Longan.ViewerManagerBase {
60
64
  constructor(viewer: Viewer) {
61
65
  super(viewer);
@@ -66,11 +70,12 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
66
70
  */
67
71
  public exportDATFile() {
68
72
  console.log("export");
69
- let data1 = this.exportDATFile_Sacinp(false);
70
- let data2 = this.exportDATFile_Seainp(false, true);
73
+ // let data1 = this.exportDATFile_Sacinp(false);
74
+ // let data2 = this.exportDATFile_Seainp(false, true);
75
+ // let datCardData = data1 + data2;
71
76
 
72
- let datCardData = data1 + data2;
73
- return datCardData;
77
+ let data = this.exportDATFile_All(true);
78
+ return data;
74
79
  }
75
80
 
76
81
  private exportSectionData(datCardData: string) {
@@ -227,26 +232,39 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
227
232
  // card data + ro -> card
228
233
  console.log("export_seainp");
229
234
  let process = this.viewer.process as Process;
230
- let tree = process.caeRenderObjectTreeManager;
231
235
 
232
236
  let datCardData = "";
233
237
 
234
- if (exportTitle) {
235
- let tille = process.findCaeObjectByNameInChildObject(
236
- tree.sacinpNode,
237
- "TITLE"
238
- ) as ModelTitle;
239
- if (tille) {
240
- let line = tille.serializeToCard();
241
- datCardData += line += "\n";
242
- }
243
- }
238
+ // if (exportTitle) {
239
+ // let tille = process.findCaeObjectByNameInChildObject(
240
+ // tree.sacinpNode,
241
+ // "TITLE"
242
+ // ) as ModelTitle;
243
+ // if (tille) {
244
+ // let line = tille.serializeToCard();
245
+ // datCardData += line += "\n";
246
+ // }
247
+ // }
244
248
 
245
249
  let ldopts = process.findRenderObjectsByType(
246
250
  "SeastateLdopt"
247
251
  ) as SeastateLdopt[];
248
252
  datCardData = this.renderobjectsSerializeToCard(ldopts, datCardData);
249
253
 
254
+ let seastateLcselNode = process.findCaeObjectByNameInChildObject(
255
+ process.caeRenderObjectTreeManager.postResultNode,
256
+ "荷载工况选择"
257
+ );
258
+ if (seastateLcselNode) {
259
+ let lcsels = seastateLcselNode.childObjects;
260
+ datCardData = this.renderobjectsSerializeToCard(lcsels, datCardData);
261
+ }
262
+
263
+ let files = process.findRenderObjectsByType(
264
+ "SeastateFile"
265
+ ) as SeastateFile[];
266
+ datCardData = this.renderobjectsSerializeToCard(files, datCardData);
267
+
250
268
  let hydros = process.findRenderObjectsByType(
251
269
  "SeastateHydro"
252
270
  ) as SeastateHydro[];
@@ -257,64 +275,17 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
257
275
  ) as SeastateHydro2[];
258
276
  datCardData = this.renderobjectsSerializeToCard(hydro2s, datCardData);
259
277
 
260
- let lcsels = process.findRenderObjectsByType(
261
- "SeastateLcsel"
262
- ) as SeastateLcsel[];
263
- datCardData = this.renderobjectsSerializeToCard(lcsels, datCardData);
264
-
265
278
  let ucparts = process.findRenderObjectsByType(
266
279
  "SeastateUcpart"
267
280
  ) as SeastateUcpart[];
268
281
  datCardData = this.renderobjectsSerializeToCard(ucparts, datCardData);
269
282
 
270
- let files = process.findRenderObjectsByType(
271
- "SeastateFile"
272
- ) as SeastateFile[];
273
- datCardData = this.renderobjectsSerializeToCard(files, datCardData);
274
-
275
- let SeastateCdmNode = process.findCaeObjectByNameInChildObject(
283
+ let seastateCdmNode = process.findCaeObjectByNameInChildObject(
276
284
  process.caeRenderObjectTreeManager.postResultNode,
277
285
  "拖曳和惯性系数"
278
286
  );
279
- if (SeastateCdmNode) {
280
- let cdms = SeastateCdmNode.childObjects;
281
- datCardData += "CDM" + "\n";
282
- datCardData = this.renderobjectsSerializeToCard(cdms, datCardData);
283
- }
287
+ datCardData = this.renderobjectsSerializeToCard(seastateCdmNode.childObjects, datCardData);
284
288
 
285
- //mgrov
286
- let mgrovDivideRO = process.findRenderObjectByName(
287
- "海生物厚度按高程分色"
288
- ) as ColorDivMGROVObject;
289
- if (mgrovDivideRO) {
290
- datCardData += "MGROV" + "\n";
291
- let mgrovs = mgrovDivideRO.mgrovList;
292
- datCardData = this.renderobjectsSerializeToCard(mgrovs, datCardData);
293
- }
294
- //corrz
295
- let corrzDivideRO = process.findRenderObjectByName(
296
- "腐蚀余量按高程分色"
297
- ) as ColorDivCORRZObject;
298
- if (corrzDivideRO) {
299
- datCardData += "CORRZ" + "\n";
300
- let corrzs = corrzDivideRO.corrzList;
301
- datCardData = this.renderobjectsSerializeToCard(corrzs, datCardData);
302
- }
303
- // //incwgt
304
- // let incwgts = process.findRenderObjectsByType(
305
- // "SeastateIncwgt"
306
- // ) as SeastateIncwgt[];
307
- // datCardData = this.renderobjectsSerializeToCard(incwgts, datCardData);
308
- // //accel
309
- // let accels = process.findRenderObjectsByType(
310
- // "SeastateAccel"
311
- // ) as SeastateAccel[];
312
- // datCardData = this.renderobjectsSerializeToCard(accels, datCardData);
313
- // //dead
314
- // let deads = process.findRenderObjectsByType(
315
- // "SeastateDead"
316
- // ) as SeastateDead[];
317
- // datCardData = this.renderobjectsSerializeToCard(deads, datCardData);
318
289
  //load
319
290
  let loadNode = process.findCaeObjectByNameInChildObject(
320
291
  process.caeRenderObjectTreeManager.postResultNode,
@@ -335,6 +306,45 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
335
306
  datCardData += loadCondition.serializeToCardSeaInp();
336
307
  }
337
308
  }
309
+
310
+ //corrz
311
+ let corrzDivideRO = process.findRenderObjectByName(
312
+ "腐蚀余量按高程分色"
313
+ ) as ColorDivCORRZObject;
314
+ if (corrzDivideRO) {
315
+ datCardData += "CORRZ" + "\n";
316
+ let corrzs = corrzDivideRO.corrzList;
317
+ datCardData = this.renderobjectsSerializeToCard(corrzs, datCardData);
318
+ }
319
+
320
+ // 回转中心
321
+ let cneterRollNode = process.findCaeObjectByNameInChildObject(
322
+ process.caeRenderObjectTreeManager.pretreatmentNode,
323
+ "回转中心"
324
+ );
325
+ if (cneterRollNode) {
326
+ for (let i = 0; i < cneterRollNode.childObjects.length; i++) {
327
+ let child = cneterRollNode.childObjects[i] as CenterRenderObject;
328
+ if (
329
+ child.businessState === BusinessState.Deleting ||
330
+ child.businessState === BusinessState.Dead
331
+ ) {
332
+ continue;
333
+ }
334
+ datCardData += child.serializeToCard()+ "\n";
335
+ }
336
+ }
337
+
338
+ //mgrov
339
+ let mgrovDivideRO = process.findRenderObjectByName(
340
+ "海生物厚度按高程分色"
341
+ ) as ColorDivMGROVObject;
342
+ if (mgrovDivideRO) {
343
+ datCardData += "MGROV" + "\n";
344
+ let mgrovs = mgrovDivideRO.mgrovList;
345
+ datCardData = this.renderobjectsSerializeToCard(mgrovs, datCardData);
346
+ }
347
+
338
348
  let lcombNode = process.findCaeObjectByNameInChildObject(
339
349
  process.caeRenderObjectTreeManager.postResultNode,
340
350
  "荷载组合"
@@ -378,14 +388,69 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
378
388
  datCardData += line += "\n";
379
389
  }
380
390
 
381
- let options = process.findRenderObjectsByType(
382
- "ModelOptions"
383
- ) as ModelOptions[];
384
- datCardData = this.renderobjectsSerializeToCard(options, datCardData);
391
+ let ldopts = process.findRenderObjectsByType(
392
+ "SeastateLdopt"
393
+ ) as SeastateLdopt[];
394
+ datCardData = this.renderobjectsSerializeToCard(ldopts, datCardData);
395
+
396
+ let files = process.findRenderObjectsByType(
397
+ "SeastateFile"
398
+ ) as SeastateFile[];
399
+ datCardData = this.renderobjectsSerializeToCard(files, datCardData);
385
400
 
401
+ // 分析选项
402
+ let anlysisOptionsNode = process.findCaeObjectByNameInChildObject(
403
+ process.caeRenderObjectTreeManager.postResultNode,
404
+ "分析选项"
405
+ );
406
+ if (anlysisOptionsNode) {
407
+ for (let i = 0; i < anlysisOptionsNode.childObjects.length; i++) {
408
+ let child = anlysisOptionsNode.childObjects[i] as AnlysisOptionsObject;
409
+ if (
410
+ child.businessState === BusinessState.Deleting ||
411
+ child.businessState === BusinessState.Dead
412
+ ) {
413
+ continue;
414
+ }
415
+ console.log('保存分析选项', child);
416
+ if (child.name === 'OPTIONS') {
417
+ datCardData += child.serializeToCardOption() + '\n';
418
+ }
419
+ if (child.name === 'PCODE') {
420
+ datCardData += child.serializeToCardPCODE() + '\n';
421
+ }
422
+ if (child.name === 'SLVOPT') {
423
+ if (child.linearSolverType === 'DRCT') {
424
+ datCardData += child.serializeToCardSLVOPTDRCT() + '\n';
425
+ }
426
+ if (child.linearSolverType === 'ITER') {
427
+ datCardData += child.serializeToCardSLVOPTITER() + '\n';
428
+ }
429
+ }
430
+ if (child.name === 'CODEIS') {
431
+ datCardData += child.serializeToCardCODEIS() + '\n';
432
+ }
433
+ }
434
+ }
435
+
386
436
  let codes = process.findRenderObjectsByType("ModelCodeIs") as ModelCodeIs[];
387
437
  datCardData = this.renderobjectsSerializeToCard(codes, datCardData);
388
438
 
439
+ let hydros = process.findRenderObjectsByType(
440
+ "SeastateHydro"
441
+ ) as SeastateHydro[];
442
+ datCardData = this.renderobjectsSerializeToCard(hydros, datCardData);
443
+
444
+ let hydro2s = process.findRenderObjectsByType(
445
+ "SeastateHydro2"
446
+ ) as SeastateHydro2[];
447
+ datCardData = this.renderobjectsSerializeToCard(hydro2s, datCardData);
448
+
449
+ let ucparts = process.findRenderObjectsByType(
450
+ "SeastateUcpart"
451
+ ) as SeastateUcpart[];
452
+ datCardData = this.renderobjectsSerializeToCard(ucparts, datCardData);
453
+
389
454
  datCardData += "SECT\n";
390
455
  datCardData = this.exportSectionData(datCardData);
391
456
 
@@ -395,12 +460,6 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
395
460
  }
396
461
  datCardData = this.renderobjectsSerializeToCard(grups, datCardData);
397
462
 
398
- let joints = this.viewer.process.findRenderObjectsByType("JointObject");
399
- if (joints.length > 0) {
400
- datCardData += "JOINT\n";
401
- }
402
- datCardData = this.renderobjectsSerializeToCard(joints, datCardData);
403
-
404
463
  let members = this.viewer.process.findRenderObjectsByType("MemberObject");
405
464
  if (members.length > 0) {
406
465
  datCardData += "MEMBER\n";
@@ -419,122 +478,30 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
419
478
  }
420
479
  datCardData = this.renderobjectsSerializeToCard(plates, datCardData);
421
480
 
422
-
423
-
424
-
425
-
426
- let loadNode = process.findCaeObjectByNameInChildObject(
427
- process.caeRenderObjectTreeManager.postResultNode,
428
- "荷载工况"
429
- );
430
- if (loadNode) {
431
- if (loadNode.childObjects.length > 0) {
432
- datCardData += "LOAD\n";
433
- }
434
- for (let i = 0; i < loadNode.childObjects.length; i++) {
435
- let loadCondition = loadNode.childObjects[i] as LoadConditionObject;
436
- if(!loadCondition.checkBusinessStateIsActive()) {
437
- continue;
438
- }
439
- for (let j = 0; j < loadCondition.childObjects.length; j++) {
440
- let loadGroup = loadCondition.childObjects[j] as LoadGroupObject;
441
- if(!loadGroup.checkBusinessStateIsActive()) {
442
- continue;
443
- }
444
- if (loadGroup instanceof LoadGroupObject) {
445
- datCardData += loadGroup.serializeToCardSacInp();
446
- }
447
- }
448
- }
449
- }
450
-
451
- let lcombNode = process.findCaeObjectByNameInChildObject(
452
- process.caeRenderObjectTreeManager.postResultNode,
453
- "荷载组合"
454
- );
455
- if (lcombNode) {
456
- for (let i = 0; i < lcombNode.childObjects.length; i++) {
457
- let loadCombinationGroup = lcombNode.childObjects[i] as LoadCombinationGroupObject;
458
- if(!loadCombinationGroup.checkBusinessStateIsActive()) {
459
- continue
460
- }
461
- datCardData += loadCombinationGroup.serializeToCardSacInp();
462
- }
463
- }
464
- // 自重荷载
465
- let deadLoadNode = process.findRenderObjectByName(
466
- "自重荷载"
467
- ) as DeadLoadObject;
468
- if (deadLoadNode) {
469
- datCardData += "\n";
470
- console.log('deadLoadNode.childObjects',deadLoadNode.childObjects);
471
-
472
- for (let i = 0; i < deadLoadNode.childObjects.length; i++) {
473
- let child = deadLoadNode.childObjects[i] as DeadLoadObject;
474
- console.log('自重荷载child',child);
475
- datCardData += child.serializeLOADCNToCard()
476
- datCardData += "DEAD\n";
477
- datCardData += child.serializeToCard()+ "\n"
478
- }
481
+ let joints = this.viewer.process.findRenderObjectsByType("JointObject");
482
+ if (joints.length > 0) {
483
+ datCardData += "JOINT\n";
479
484
  }
480
-
481
-
485
+ datCardData = this.renderobjectsSerializeToCard(joints, datCardData);
482
486
 
483
487
  // 回转中心
484
- let cneterRollNode = process.findCaeObjectByNameInChildObject(
485
- process.caeRenderObjectTreeManager.pretreatmentNode,
486
- "回转中心"
487
- );
488
- if (cneterRollNode) {
489
- datCardData += '\n'
490
- for (let i = 0; i < cneterRollNode.childObjects.length; i++) {
491
- let child = cneterRollNode.childObjects[i] as CenterRenderObject;
492
- if (
488
+ let cneterRollNode = process.findCaeObjectByNameInChildObject(
489
+ process.caeRenderObjectTreeManager.pretreatmentNode,
490
+ "回转中心"
491
+ );
492
+ if (cneterRollNode) {
493
+ for (let i = 0; i < cneterRollNode.childObjects.length; i++) {
494
+ let child = cneterRollNode.childObjects[i] as CenterRenderObject;
495
+ if (
493
496
  child.businessState === BusinessState.Deleting ||
494
497
  child.businessState === BusinessState.Dead
495
498
  ) {
496
-
497
- continue;
498
- }
499
- datCardData += child.serializeToCard() + '\n';
500
- }
501
- }
502
- // lrfd
503
- let lrfdFactorsNode = process.findCaeObjectByNameInChildObject(
504
- process.caeRenderObjectTreeManager.postResultNode,
505
- "LRFD抗力系数"
506
- );
507
- if (lrfdFactorsNode) {
508
- datCardData += '\n'
509
- for (let i = 0; i < lrfdFactorsNode.childObjects.length; i++) {
510
- let child = lrfdFactorsNode.childObjects[i] as LRFDFactorsObject;
511
- if (
512
- child.businessState === BusinessState.Deleting ||
513
- child.businessState === BusinessState.Dead
514
- ) {
515
499
  continue;
516
500
  }
517
- datCardData += child.serializeToCard() + '\n';
501
+ datCardData += child.serializeToCard()+ "\n";
518
502
  }
519
503
  }
520
504
 
521
- // 风载屏蔽区域
522
- let windShieldNode = process.findCaeObjectByNameInChildObject(
523
- process.caeRenderObjectTreeManager.pretreatmentNode,
524
- "风载屏蔽区域"
525
- );
526
- if (windShieldNode) {
527
- for (let i = 0; i < windShieldNode.childObjects.length; i++) {
528
- let child = windShieldNode.childObjects[i] as WindShieldObject;
529
- if (
530
- child.businessState === BusinessState.Deleting ||
531
- child.businessState === BusinessState.Dead
532
- ) {
533
- continue;
534
- }
535
- datCardData += child.serializeToCard() + '\n';
536
- }
537
- }
538
505
  // 表面定义
539
506
  let SurfaceDefinitionNode = process.findCaeObjectByNameInChildObject(
540
507
  process.caeRenderObjectTreeManager.pretreatmentNode,
@@ -584,36 +551,6 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
584
551
  }
585
552
  datCardData = this.renderobjectsSerializeToCard(wgtmems, datCardData);
586
553
 
587
- // 受风面定义 WindAreaObject
588
- let WindAreaObjectNode = process.findCaeObjectByNameInChildObject(
589
- process.caeRenderObjectTreeManager.pretreatmentNode,
590
- "受风面定义"
591
- );
592
-
593
- if (WindAreaObjectNode) {
594
- datCardData += "AREA\n";
595
-
596
- for (let i = 0; i < WindAreaObjectNode.childObjects.length; i++) {
597
- const windAreaGroup = WindAreaObjectNode.childObjects[i] as WindAreaObject;
598
-
599
- if (
600
- windAreaGroup.businessState === BusinessState.Deleting ||
601
- windAreaGroup.businessState === BusinessState.Dead ||
602
- windAreaGroup.typeName !== "WindAreaObject"
603
- ) {
604
- continue;
605
- }
606
- // 解析成多行
607
- const lines = windAreaGroup.serializeToCard().split("\n");
608
-
609
- // 一行行拼接到 datCardData
610
- lines.forEach(line => {
611
- datCardData += line + "\n";
612
- });
613
- }
614
- }
615
-
616
-
617
554
  // weight
618
555
  let weightNode = process.findCaeObjectByNameInChildObject(
619
556
  process.caeRenderObjectTreeManager.pretreatmentNode,
@@ -621,20 +558,617 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
621
558
  );
622
559
  if (weightNode) {
623
560
  for (let i = 0; i < weightNode.childObjects.length; i++) {
561
+ // let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
562
+ // if(!weightGroup.checkBusinessStateIsActive()) {
563
+ // continue
564
+ // }
565
+ // datCardData += weightGroup.serializeToCardSacInp();
624
566
  let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
625
- if(!weightGroup.checkBusinessStateIsActive()) {
626
- continue
567
+ for(let j = 0; j < weightGroup.childObjects.length; j++) {
568
+ let child = weightGroup.childObjects[j] as WeightIdObject
569
+ for(let k = 0; k < child.childObjects.length; k++) {
570
+ let grandChild = child.childObjects[k] as WeightBaseObject;
571
+ if(grandChild instanceof MemberWeightConcentratedObject && grandChild.checkBusinessStateIsActive()) {
572
+ datCardData += grandChild.serializeToCard() + "\n";
573
+ }
574
+ }
627
575
  }
628
- datCardData += weightGroup.serializeToCardSacInp();
629
576
  }
630
- }
631
-
632
- if(isExportComponentGroup) {
633
- let card = this.exportDATFile_ComponentGroup();
634
- datCardData += card;
635
- }
636
577
 
637
- return datCardData;
578
+ for (let i = 0; i < weightNode.childObjects.length; i++) {
579
+ // let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
580
+ // if(!weightGroup.checkBusinessStateIsActive()) {
581
+ // continue
582
+ // }
583
+ // datCardData += weightGroup.serializeToCardSacInp();
584
+ let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
585
+ for(let j = 0; j < weightGroup.childObjects.length; j++) {
586
+ let child = weightGroup.childObjects[j] as WeightIdObject
587
+ for(let k = 0; k < child.childObjects.length; k++) {
588
+ let grandChild = child.childObjects[k] as WeightBaseObject;
589
+ if(grandChild instanceof MemberWeightDistributedObject && grandChild.checkBusinessStateIsActive()) {
590
+ datCardData += grandChild.serializeToCard() + "\n";
591
+ }
592
+ }
593
+ }
594
+ }
595
+
596
+ for (let i = 0; i < weightNode.childObjects.length; i++) {
597
+ // let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
598
+ // if(!weightGroup.checkBusinessStateIsActive()) {
599
+ // continue
600
+ // }
601
+ // datCardData += weightGroup.serializeToCardSacInp();
602
+ let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
603
+ for(let j = 0; j < weightGroup.childObjects.length; j++) {
604
+ let child = weightGroup.childObjects[j] as WeightIdObject
605
+ for(let k = 0; k < child.childObjects.length; k++) {
606
+ let grandChild = child.childObjects[k] as WeightBaseObject;
607
+ if(grandChild instanceof JointWeightObject && grandChild.checkBusinessStateIsActive()) {
608
+ datCardData += grandChild.serializeToCard() + "\n";
609
+ }
610
+ }
611
+ }
612
+ }
613
+ }
614
+
615
+ let seastateCdmNode = process.findCaeObjectByNameInChildObject(
616
+ process.caeRenderObjectTreeManager.postResultNode,
617
+ "拖曳和惯性系数"
618
+ );
619
+ datCardData = this.renderobjectsSerializeToCard(seastateCdmNode.childObjects, datCardData);
620
+
621
+ //corrz
622
+ let corrzDivideRO = process.findRenderObjectByName(
623
+ "腐蚀余量按高程分色"
624
+ ) as ColorDivCORRZObject;
625
+ if (corrzDivideRO) {
626
+ datCardData += "CORRZ" + "\n";
627
+ let corrzs = corrzDivideRO.corrzList;
628
+ datCardData = this.renderobjectsSerializeToCard(corrzs, datCardData);
629
+ }
630
+
631
+ //mgrov
632
+ let mgrovDivideRO = process.findRenderObjectByName(
633
+ "海生物厚度按高程分色"
634
+ ) as ColorDivMGROVObject;
635
+ if (mgrovDivideRO) {
636
+ datCardData += "MGROV" + "\n";
637
+ let mgrovs = mgrovDivideRO.mgrovList;
638
+ datCardData = this.renderobjectsSerializeToCard(mgrovs, datCardData);
639
+ }
640
+
641
+ let loadNode = process.findCaeObjectByNameInChildObject(
642
+ process.caeRenderObjectTreeManager.postResultNode,
643
+ "荷载工况"
644
+ );
645
+ if (loadNode) {
646
+ if (loadNode.childObjects.length > 0) {
647
+ // TODO
648
+ // datCardData += "LOAD\n";
649
+ }
650
+ for (let i = 0; i < loadNode.childObjects.length; i++) {
651
+ let loadCondition = loadNode.childObjects[i] as LoadConditionObject;
652
+ if(!loadCondition.checkBusinessStateIsActive()) {
653
+ continue;
654
+ }
655
+ for (let j = 0; j < loadCondition.childObjects.length; j++) {
656
+ let loadGroup = loadCondition.childObjects[j] as LoadGroupObject;
657
+ if(!loadGroup.checkBusinessStateIsActive()) {
658
+ continue;
659
+ }
660
+ if (loadGroup instanceof LoadGroupObject) {
661
+ datCardData += loadGroup.serializeToCardSacInp();
662
+ }
663
+ }
664
+ }
665
+ }
666
+
667
+ // let lcombNode = process.findCaeObjectByNameInChildObject(
668
+ // process.caeRenderObjectTreeManager.postResultNode,
669
+ // "荷载组合"
670
+ // );
671
+ // if (lcombNode) {
672
+ // for (let i = 0; i < lcombNode.childObjects.length; i++) {
673
+ // let loadCombinationGroup = lcombNode.childObjects[i] as LoadCombinationGroupObject;
674
+ // if(!loadCombinationGroup.checkBusinessStateIsActive()) {
675
+ // continue
676
+ // }
677
+ // datCardData += loadCombinationGroup.serializeToCardSeaInp();
678
+ // }
679
+ // }
680
+
681
+ // 风载屏蔽区域
682
+ let windShieldNode = process.findCaeObjectByNameInChildObject(
683
+ process.caeRenderObjectTreeManager.pretreatmentNode,
684
+ "风载屏蔽区域"
685
+ );
686
+ if (windShieldNode) {
687
+ for (let i = 0; i < windShieldNode.childObjects.length; i++) {
688
+ let child = windShieldNode.childObjects[i] as WindShieldObject;
689
+ if (
690
+ child.businessState === BusinessState.Deleting ||
691
+ child.businessState === BusinessState.Dead
692
+ ) {
693
+ continue;
694
+ }
695
+ datCardData += child.serializeToCard() + '\n';
696
+ }
697
+ }
698
+
699
+ // 受风面定义 WindAreaObject
700
+ let WindAreaObjectNode = process.findCaeObjectByNameInChildObject(
701
+ process.caeRenderObjectTreeManager.pretreatmentNode,
702
+ "受风面定义"
703
+ );
704
+
705
+ if (WindAreaObjectNode && WindAreaObjectNode?.childObjects?.length) {
706
+ datCardData += "AREA\n";
707
+
708
+ for (let i = 0; i < WindAreaObjectNode.childObjects.length; i++) {
709
+ const windAreaGroup = WindAreaObjectNode.childObjects[i] as WindAreaObject;
710
+
711
+ if (
712
+ windAreaGroup.businessState === BusinessState.Deleting ||
713
+ windAreaGroup.businessState === BusinessState.Dead ||
714
+ windAreaGroup.typeName !== "WindAreaObject"
715
+ ) {
716
+ continue;
717
+ }
718
+ // 解析成多行
719
+ const lines = windAreaGroup.serializeToCard().split("\n");
720
+
721
+ // 一行行拼接到 datCardData
722
+ lines.forEach(line => {
723
+ datCardData += line + "\n";
724
+ });
725
+ }
726
+ }
727
+
728
+ // 自重荷载
729
+ let deadLoadNode = process.findRenderObjectByName(
730
+ "自重荷载"
731
+ ) as DeadLoadObject;
732
+ if (deadLoadNode) {
733
+ for (let i = 0; i < deadLoadNode.childObjects.length; i++) {
734
+ let child = deadLoadNode.childObjects[i] as DeadLoadObject;
735
+ console.log('自重荷载child',child);
736
+ datCardData += child.serializeLOADCNToCard()
737
+ datCardData += "DEAD\n";
738
+ datCardData += child.serializeToCard()+ "\n"
739
+ }
740
+ }
741
+
742
+ // lrfd
743
+ let lrfdFactorsNode = process.findCaeObjectByNameInChildObject(
744
+ process.caeRenderObjectTreeManager.postResultNode,
745
+ "LRFD抗力系数"
746
+ );
747
+ if (lrfdFactorsNode) {
748
+ for (let i = 0; i < lrfdFactorsNode.childObjects.length; i++) {
749
+ let child = lrfdFactorsNode.childObjects[i] as LRFDFactorsObject;
750
+ if (
751
+ child.businessState === BusinessState.Deleting ||
752
+ child.businessState === BusinessState.Dead
753
+ ) {
754
+ continue;
755
+ }
756
+ datCardData += child.serializeToCard() + '\n';
757
+ }
758
+ }
759
+
760
+ if(isExportComponentGroup) {
761
+ let card = this.exportDATFile_ComponentGroup();
762
+ datCardData += card;
763
+ }
764
+
765
+ return datCardData;
766
+ }
767
+
768
+ /**
769
+ * 导出模型卡片数据.
770
+ */
771
+ exportDATFile_All(isExportComponentGroup = true) {
772
+ //
773
+ console.log("export_sacinp + seainp");
774
+ let process = this.viewer.process as Process;
775
+ let tree = process.caeRenderObjectTreeManager;
776
+
777
+ let datCardData = "";
778
+
779
+ let tille = process.findCaeObjectByNameInChildObject(
780
+ tree.sacinpNode,
781
+ "TITLE"
782
+ ) as ModelTitle;
783
+ if (tille) {
784
+ let line = tille.serializeToCard();
785
+ datCardData += line += "\n";
786
+ }
787
+
788
+ let ldopts = process.findRenderObjectsByType(
789
+ "SeastateLdopt"
790
+ ) as SeastateLdopt[];
791
+ datCardData = this.renderobjectsSerializeToCard(ldopts, datCardData);
792
+
793
+ let files = process.findRenderObjectsByType(
794
+ "SeastateFile"
795
+ ) as SeastateFile[];
796
+ datCardData = this.renderobjectsSerializeToCard(files, datCardData);
797
+
798
+ // 分析选项
799
+ let anlysisOptionsNode = process.findCaeObjectByNameInChildObject(
800
+ process.caeRenderObjectTreeManager.postResultNode,
801
+ "分析选项"
802
+ );
803
+ if (anlysisOptionsNode) {
804
+ for (let i = 0; i < anlysisOptionsNode.childObjects.length; i++) {
805
+ let child = anlysisOptionsNode.childObjects[i] as AnlysisOptionsObject;
806
+ if (
807
+ child.businessState === BusinessState.Deleting ||
808
+ child.businessState === BusinessState.Dead
809
+ ) {
810
+ continue;
811
+ }
812
+ console.log('保存分析选项', child);
813
+ if (child.name === 'OPTIONS') {
814
+ datCardData += child.serializeToCardOption() + '\n';
815
+ }
816
+ if (child.name === 'PCODE') {
817
+ datCardData += child.serializeToCardPCODE() + '\n';
818
+ }
819
+ if (child.name === 'SLVOPT') {
820
+ if (child.linearSolverType === 'DRCT') {
821
+ datCardData += child.serializeToCardSLVOPTDRCT() + '\n';
822
+ }
823
+ if (child.linearSolverType === 'ITER') {
824
+ datCardData += child.serializeToCardSLVOPTITER() + '\n';
825
+ }
826
+ }
827
+ if (child.name === 'CODEIS') {
828
+ datCardData += child.serializeToCardCODEIS() + '\n';
829
+ }
830
+ }
831
+ }
832
+
833
+ let codes = process.findRenderObjectsByType("ModelCodeIs") as ModelCodeIs[];
834
+ datCardData = this.renderobjectsSerializeToCard(codes, datCardData);
835
+
836
+ let seastateLcselNode = process.findCaeObjectByNameInChildObject(
837
+ process.caeRenderObjectTreeManager.postResultNode,
838
+ "荷载工况选择"
839
+ );
840
+ if (seastateLcselNode) {
841
+ let lcsels = seastateLcselNode.childObjects;
842
+ datCardData = this.renderobjectsSerializeToCard(lcsels, datCardData);
843
+ }
844
+
845
+ let hydros = process.findRenderObjectsByType(
846
+ "SeastateHydro"
847
+ ) as SeastateHydro[];
848
+ datCardData = this.renderobjectsSerializeToCard(hydros, datCardData);
849
+
850
+ let hydro2s = process.findRenderObjectsByType(
851
+ "SeastateHydro2"
852
+ ) as SeastateHydro2[];
853
+ datCardData = this.renderobjectsSerializeToCard(hydro2s, datCardData);
854
+
855
+ let ucparts = process.findRenderObjectsByType(
856
+ "SeastateUcpart"
857
+ ) as SeastateUcpart[];
858
+ datCardData = this.renderobjectsSerializeToCard(ucparts, datCardData);
859
+
860
+ datCardData += "SECT\n";
861
+ datCardData = this.exportSectionData(datCardData);
862
+
863
+ let grups = this.viewer.process.findRenderObjectsByType("GrupObject");
864
+ if (grups.length > 0) {
865
+ datCardData += "GRUP\n";
866
+ }
867
+ datCardData = this.renderobjectsSerializeToCard(grups, datCardData);
868
+
869
+ let members = this.viewer.process.findRenderObjectsByType("MemberObject");
870
+ if (members.length > 0) {
871
+ datCardData += "MEMBER\n";
872
+ }
873
+ datCardData = this.renderobjectsSerializeToCard(members, datCardData);
874
+
875
+ let pGrups = this.viewer.process.findRenderObjectsByType("PGrupObject");
876
+ if (pGrups.length > 0) {
877
+ datCardData += "PGRUP\n";
878
+ }
879
+ datCardData = this.renderobjectsSerializeToCard(pGrups, datCardData);
880
+
881
+ let plates = this.viewer.process.findRenderObjectsByType("PlateObject");
882
+ if (plates.length > 0) {
883
+ datCardData += "PLATE\n";
884
+ }
885
+ datCardData = this.renderobjectsSerializeToCard(plates, datCardData);
886
+
887
+ let joints = this.viewer.process.findRenderObjectsByType("JointObject");
888
+ if (joints.length > 0) {
889
+ datCardData += "JOINT\n";
890
+ }
891
+ datCardData = this.renderobjectsSerializeToCard(joints, datCardData);
892
+
893
+ // 回转中心
894
+ let cneterRollNode = process.findCaeObjectByNameInChildObject(
895
+ process.caeRenderObjectTreeManager.pretreatmentNode,
896
+ "回转中心"
897
+ );
898
+ if (cneterRollNode) {
899
+ for (let i = 0; i < cneterRollNode.childObjects.length; i++) {
900
+ let child = cneterRollNode.childObjects[i] as CenterRenderObject;
901
+ if (
902
+ child.businessState === BusinessState.Deleting ||
903
+ child.businessState === BusinessState.Dead
904
+ ) {
905
+ continue;
906
+ }
907
+ datCardData += child.serializeToCard()+ "\n";
908
+ }
909
+ }
910
+
911
+ // 表面定义
912
+ let SurfaceDefinitionNode = process.findCaeObjectByNameInChildObject(
913
+ process.caeRenderObjectTreeManager.pretreatmentNode,
914
+ "表面定义"
915
+ );
916
+ if (SurfaceDefinitionNode) {
917
+ for (let i = 0; i < SurfaceDefinitionNode.childObjects.length; i++) {
918
+ let surfaceDefinitionGroup = SurfaceDefinitionNode.childObjects[i] as SurfaceDefinitionObject;
919
+ if (
920
+ surfaceDefinitionGroup.businessState === BusinessState.Deleting ||
921
+ surfaceDefinitionGroup.businessState === BusinessState.Dead ||
922
+ surfaceDefinitionGroup.typeName !== 'SurfaceDefinitionObject'
923
+ ) {
924
+
925
+ continue;
926
+ }
927
+ let BoundaryJointsGroup = surfaceDefinitionGroup.boundaryJoints as BoundaryJointsObject;
928
+ datCardData += surfaceDefinitionGroup.serializeToCard() + '\n';
929
+ datCardData += BoundaryJointsGroup.serializeToCard() + '\n';
930
+ }
931
+ }
932
+
933
+ // 表面质量
934
+ let SurfaceWeightNode = process.findCaeObjectByNameInChildObject(
935
+ process.caeRenderObjectTreeManager.pretreatmentNode,
936
+ "表面质量"
937
+ );
938
+ if (SurfaceWeightNode) {
939
+ for (let i = 0; i < SurfaceWeightNode.childObjects.length; i++) {
940
+ let surfaceWeightGroup = SurfaceWeightNode.childObjects[i] as SurfaceWeightObject;
941
+ if (
942
+ surfaceWeightGroup.businessState === BusinessState.Deleting ||
943
+ surfaceWeightGroup.businessState === BusinessState.Dead ||
944
+ surfaceWeightGroup.typeName !== 'SurfaceWeightObject'
945
+ ) {
946
+
947
+ continue;
948
+ }
949
+ datCardData += surfaceWeightGroup.serializeToCard() + '\n';
950
+
951
+ }
952
+ }
953
+
954
+ let wgtmems = this.viewer.process.findRenderObjectsByType("WGTMEMObject");
955
+ if (wgtmems.length > 0) {
956
+ datCardData += "WGTMEM\n";
957
+ }
958
+ datCardData = this.renderobjectsSerializeToCard(wgtmems, datCardData);
959
+
960
+ // weight
961
+ let weightNode = process.findCaeObjectByNameInChildObject(
962
+ process.caeRenderObjectTreeManager.pretreatmentNode,
963
+ "附加质量"
964
+ );
965
+ if (weightNode) {
966
+ for (let i = 0; i < weightNode.childObjects.length; i++) {
967
+ // let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
968
+ // if(!weightGroup.checkBusinessStateIsActive()) {
969
+ // continue
970
+ // }
971
+ // datCardData += weightGroup.serializeToCardSacInp();
972
+ let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
973
+ for(let j = 0; j < weightGroup.childObjects.length; j++) {
974
+ let child = weightGroup.childObjects[j] as WeightIdObject
975
+ for(let k = 0; k < child.childObjects.length; k++) {
976
+ let grandChild = child.childObjects[k] as WeightBaseObject;
977
+ if(grandChild instanceof MemberWeightConcentratedObject && grandChild.checkBusinessStateIsActive()) {
978
+ datCardData += grandChild.serializeToCard() + "\n";
979
+ }
980
+ }
981
+ }
982
+ }
983
+
984
+ for (let i = 0; i < weightNode.childObjects.length; i++) {
985
+ // let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
986
+ // if(!weightGroup.checkBusinessStateIsActive()) {
987
+ // continue
988
+ // }
989
+ // datCardData += weightGroup.serializeToCardSacInp();
990
+ let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
991
+ for(let j = 0; j < weightGroup.childObjects.length; j++) {
992
+ let child = weightGroup.childObjects[j] as WeightIdObject
993
+ for(let k = 0; k < child.childObjects.length; k++) {
994
+ let grandChild = child.childObjects[k] as WeightBaseObject;
995
+ if(grandChild instanceof MemberWeightDistributedObject && grandChild.checkBusinessStateIsActive()) {
996
+ datCardData += grandChild.serializeToCard() + "\n";
997
+ }
998
+ }
999
+ }
1000
+ }
1001
+
1002
+ for (let i = 0; i < weightNode.childObjects.length; i++) {
1003
+ // let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
1004
+ // if(!weightGroup.checkBusinessStateIsActive()) {
1005
+ // continue
1006
+ // }
1007
+ // datCardData += weightGroup.serializeToCardSacInp();
1008
+ let weightGroup = weightNode.childObjects[i] as WeightGroupObject;
1009
+ for(let j = 0; j < weightGroup.childObjects.length; j++) {
1010
+ let child = weightGroup.childObjects[j] as WeightIdObject
1011
+ for(let k = 0; k < child.childObjects.length; k++) {
1012
+ let grandChild = child.childObjects[k] as WeightBaseObject;
1013
+ if(grandChild instanceof JointWeightObject && grandChild.checkBusinessStateIsActive()) {
1014
+ datCardData += grandChild.serializeToCard() + "\n";
1015
+ }
1016
+ }
1017
+ }
1018
+ }
1019
+ }
1020
+
1021
+ let seastateCdmNode = process.findCaeObjectByNameInChildObject(
1022
+ process.caeRenderObjectTreeManager.postResultNode,
1023
+ "拖曳和惯性系数"
1024
+ );
1025
+ datCardData = this.renderobjectsSerializeToCard(seastateCdmNode.childObjects, datCardData);
1026
+
1027
+ //corrz
1028
+ let corrzDivideRO = process.findRenderObjectByName(
1029
+ "腐蚀余量按高程分色"
1030
+ ) as ColorDivCORRZObject;
1031
+ if (corrzDivideRO) {
1032
+ datCardData += "CORRZ" + "\n";
1033
+ let corrzs = corrzDivideRO.corrzList;
1034
+ datCardData = this.renderobjectsSerializeToCard(corrzs, datCardData);
1035
+ }
1036
+
1037
+ //mgrov
1038
+ let mgrovDivideRO = process.findRenderObjectByName(
1039
+ "海生物厚度按高程分色"
1040
+ ) as ColorDivMGROVObject;
1041
+ if (mgrovDivideRO) {
1042
+ datCardData += "MGROV" + "\n";
1043
+ let mgrovs = mgrovDivideRO.mgrovList;
1044
+ datCardData = this.renderobjectsSerializeToCard(mgrovs, datCardData);
1045
+ }
1046
+
1047
+ let loadNode = process.findCaeObjectByNameInChildObject(
1048
+ process.caeRenderObjectTreeManager.postResultNode,
1049
+ "荷载工况"
1050
+ );
1051
+ if (loadNode) {
1052
+ if (loadNode.childObjects.length > 0) {
1053
+ // TODO
1054
+ // datCardData += "LOAD\n";
1055
+ }
1056
+ for (let i = 0; i < loadNode.childObjects.length; i++) {
1057
+ let loadCondition = loadNode.childObjects[i] as LoadConditionObject;
1058
+ if(!loadCondition.checkBusinessStateIsActive()) {
1059
+ continue;
1060
+ }
1061
+ for (let j = 0; j < loadCondition.childObjects.length; j++) {
1062
+ let loadGroup = loadCondition.childObjects[j] as LoadGroupObject;
1063
+ if(!loadGroup.checkBusinessStateIsActive()) {
1064
+ continue;
1065
+ }
1066
+ if (loadGroup instanceof LoadGroupObject) {
1067
+ datCardData += loadGroup.serializeToCardSacInp();
1068
+ }
1069
+ }
1070
+ }
1071
+ }
1072
+
1073
+ let lcombNode = process.findCaeObjectByNameInChildObject(
1074
+ process.caeRenderObjectTreeManager.postResultNode,
1075
+ "荷载组合"
1076
+ );
1077
+ if (lcombNode) {
1078
+ for (let i = 0; i < lcombNode.childObjects.length; i++) {
1079
+ let loadCombinationGroup = lcombNode.childObjects[i] as LoadCombinationGroupObject;
1080
+ if(!loadCombinationGroup.checkBusinessStateIsActive()) {
1081
+ continue
1082
+ }
1083
+ datCardData += loadCombinationGroup.serializeToCardSeaInp();
1084
+ }
1085
+ }
1086
+
1087
+ // 风载屏蔽区域
1088
+ let windShieldNode = process.findCaeObjectByNameInChildObject(
1089
+ process.caeRenderObjectTreeManager.pretreatmentNode,
1090
+ "风载屏蔽区域"
1091
+ );
1092
+ if (windShieldNode) {
1093
+ for (let i = 0; i < windShieldNode.childObjects.length; i++) {
1094
+ let child = windShieldNode.childObjects[i] as WindShieldObject;
1095
+ if (
1096
+ child.businessState === BusinessState.Deleting ||
1097
+ child.businessState === BusinessState.Dead
1098
+ ) {
1099
+ continue;
1100
+ }
1101
+ datCardData += child.serializeToCard() + '\n';
1102
+ }
1103
+ }
1104
+
1105
+ // 受风面定义 WindAreaObject
1106
+ let WindAreaObjectNode = process.findCaeObjectByNameInChildObject(
1107
+ process.caeRenderObjectTreeManager.pretreatmentNode,
1108
+ "受风面定义"
1109
+ );
1110
+
1111
+ if (WindAreaObjectNode && WindAreaObjectNode?.childObjects?.length) {
1112
+ datCardData += "AREA\n";
1113
+
1114
+ for (let i = 0; i < WindAreaObjectNode.childObjects.length; i++) {
1115
+ const windAreaGroup = WindAreaObjectNode.childObjects[i] as WindAreaObject;
1116
+
1117
+ if (
1118
+ windAreaGroup.businessState === BusinessState.Deleting ||
1119
+ windAreaGroup.businessState === BusinessState.Dead ||
1120
+ windAreaGroup.typeName !== "WindAreaObject"
1121
+ ) {
1122
+ continue;
1123
+ }
1124
+ // 解析成多行
1125
+ const lines = windAreaGroup.serializeToCard().split("\n");
1126
+
1127
+ // 一行行拼接到 datCardData
1128
+ lines.forEach(line => {
1129
+ datCardData += line + "\n";
1130
+ });
1131
+ }
1132
+ }
1133
+
1134
+ // 自重荷载
1135
+ let deadLoadNode = process.findRenderObjectByName(
1136
+ "自重荷载"
1137
+ ) as DeadLoadObject;
1138
+ if (deadLoadNode) {
1139
+ for (let i = 0; i < deadLoadNode.childObjects.length; i++) {
1140
+ let child = deadLoadNode.childObjects[i] as DeadLoadObject;
1141
+ console.log('自重荷载child',child);
1142
+ datCardData += child.serializeLOADCNToCard()
1143
+ datCardData += "DEAD\n";
1144
+ datCardData += child.serializeToCard()+ "\n"
1145
+ }
1146
+ }
1147
+
1148
+ // lrfd
1149
+ let lrfdFactorsNode = process.findCaeObjectByNameInChildObject(
1150
+ process.caeRenderObjectTreeManager.postResultNode,
1151
+ "LRFD抗力系数"
1152
+ );
1153
+ if (lrfdFactorsNode) {
1154
+ for (let i = 0; i < lrfdFactorsNode.childObjects.length; i++) {
1155
+ let child = lrfdFactorsNode.childObjects[i] as LRFDFactorsObject;
1156
+ if (
1157
+ child.businessState === BusinessState.Deleting ||
1158
+ child.businessState === BusinessState.Dead
1159
+ ) {
1160
+ continue;
1161
+ }
1162
+ datCardData += child.serializeToCard() + '\n';
1163
+ }
1164
+ }
1165
+
1166
+ if(isExportComponentGroup) {
1167
+ let card = this.exportDATFile_ComponentGroup();
1168
+ datCardData += card;
1169
+ }
1170
+
1171
+ return datCardData;
638
1172
  }
639
1173
 
640
1174
  /**
@@ -706,10 +1240,7 @@ export class DatWriterManager extends Longan.ViewerManagerBase {
706
1240
  datCardData += line += "\n";
707
1241
  }
708
1242
 
709
- let options = process.findRenderObjectsByType(
710
- "ModelOptions"
711
- ) as ModelOptions[];
712
- datCardData = this.renderobjectsSerializeToCard(options, datCardData);
1243
+
713
1244
 
714
1245
  let codes = process.findRenderObjectsByType("ModelCodeIs") as ModelCodeIs[];
715
1246
  datCardData = this.renderobjectsSerializeToCard(codes, datCardData);