gs-cae-design 1.1.61 → 1.1.63

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 (192) hide show
  1. package/README.md +19 -0
  2. package/docs/classes/CommandInterfaceManager.md +48 -0
  3. package/docs/classes/CommonInterfaceManager.md +13 -0
  4. package/lib/.gz +0 -0
  5. package/lib/CAEDesign.common-report.html +2 -2
  6. package/lib/CAEDesign.common.js +201 -124
  7. package/lib/CAEDesign.umd-report.html +2 -2
  8. package/lib/CAEDesign.umd.js +201 -124
  9. package/lib/CAEDesign.umd.min-report.html +2 -2
  10. package/lib/CAEDesign.umd.min.js +201 -124
  11. package/package.json +1 -1
  12. package/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.ts +12 -4
  13. package/src/caeCardEditor/caeCardObjects/sacinp/cardCENTER.ts +1 -2
  14. package/src/caeCardEditor/caeCardObjects/sacinp/cardSURFDR.ts +21 -1
  15. package/src/caeCardEditor/caeCardObjects/sacinp/cardSURFID.ts +21 -1
  16. package/src/caeCardEditor/caeCardObjects/sacinp/cardSURFWT.ts +21 -1
  17. package/src/caeCardEditor/caeCardObjects/sacinp/cardWINSHL.ts +109 -0
  18. package/src/caeCardEditor/caeCardObjects/seainp/cardCDM.ts +17 -0
  19. package/src/caeCardEditor/caeCardObjects/seainp/cardCURR.ts +6 -1
  20. package/src/caeCardEditor/caeCardObjects/seainp/cardDEAD.ts +15 -2
  21. package/src/caeCardEditor/caeCardObjects/seainp/cardWAVE.ts +2 -0
  22. package/src/caeCardEditor/caeCardObjects/seainp/cardWIND.ts +1 -1
  23. package/src/gsDevFx/managers/caeRenderObjectTreeManager.ts +1 -2
  24. package/src/gsDevFx/managers/cloudMemberTransformManager.ts +6 -0
  25. package/src/gsDevFx/managers/datReaderManager.ts +351 -138
  26. package/src/gsDevFx/managers/datWriterManager.ts +41 -7
  27. package/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.ts +45 -0
  28. package/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.ts +11 -1
  29. package/src/gsDevFx/managers/interfaceManagers/postInterfaceManager.ts +175 -67
  30. package/src/gsDevFx/managers/persistenceManager.ts +4 -2
  31. package/src/gsDevFx/objects/caeObjects/aftertreatment/deadLoadObject.ts +2 -2
  32. package/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.ts +95 -0
  33. package/src/gsDevFx/objects/caeObjects/pretreatment/WindAreaObject.ts +101 -0
  34. package/src/gsDevFx/objects/caeObjects/pretreatment/centerRenderObject.ts +19 -24
  35. package/src/gsDevFx/objects/caeObjects/pretreatment/windShieldObject.ts +78 -0
  36. package/src/gsDevFx/objects/loadObjects/currLoadObject.ts +16 -0
  37. package/src/gsDevFx/objects/loadObjects/loadConditionObject.ts +12 -2
  38. package/src/gsDevFx/objects/loadObjects/waveLoadObject.ts +3 -1
  39. package/src/gsDevFx/objects/loadObjects/windLoadObject.ts +18 -18
  40. package/src/gsDevFx/objects/weightObjects/memberWeightConcentratedObject.ts +5 -0
  41. package/src/gsDevFx/objects/weightObjects/memberWeightDistributedObject.ts +6 -0
  42. package/src/gsDevFx/process.ts +18 -2
  43. package/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.ts +60 -0
  44. package/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/commandAddCoefficientDragMass.ts +163 -0
  45. package/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.ts +50 -24
  46. package/src/viewerWrapper/commands/aftertreatment/addDeadLoad/commandAddDeadLoad.ts +46 -19
  47. package/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.ts +30 -4
  48. package/src/viewerWrapper/commands/aftertreatment/addWaveLoad/addWaveLoadConfig.ts +23 -23
  49. package/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.ts +90 -26
  50. package/src/viewerWrapper/commands/aftertreatment/addWindLoad/addWindLoadConfig.ts +3 -3
  51. package/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.ts +37 -22
  52. package/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.ts +93 -8
  53. package/src/viewerWrapper/commands/aftertreatment/editDeadLoad/commandEditDeadLoad.ts +299 -0
  54. package/src/viewerWrapper/commands/aftertreatment/editDeadLoad/editDeadLoadConfig.ts +175 -0
  55. package/src/viewerWrapper/commands/aftertreatment/editJointLoad/commandEditJointLoad.ts +1 -1
  56. package/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.ts +136 -8
  57. package/src/viewerWrapper/commands/aftertreatment/editWaveLoad/editWaveLoadConfig.ts +23 -23
  58. package/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.ts +84 -11
  59. package/src/viewerWrapper/commands/aftertreatment/editWindLoad/editWindLoadConfig.ts +3 -3
  60. package/src/viewerWrapper/commands/aftertreatment/showJointCanUC/commandShowJointCanUC.ts +37 -35
  61. package/src/viewerWrapper/commands/aftertreatment/showShipImpact/commandShowShipImpact.ts +37 -33
  62. package/src/viewerWrapper/commands/commandSplitMemberBase.ts +14 -0
  63. package/src/viewerWrapper/commands/createGrup/commandCreateGrup.ts +1 -0
  64. package/src/viewerWrapper/commands/createSection/commandCreateSection.ts +2 -0
  65. package/src/viewerWrapper/commands/editGrup/commandEditGrup.ts +8 -0
  66. package/src/viewerWrapper/commands/editSection/commandEditSection.ts +2 -0
  67. package/src/viewerWrapper/commands/pretreatment/addJointWeight/commandAddJointWeight.ts +5 -1
  68. package/src/viewerWrapper/commands/pretreatment/centerOfRoll/commandCenterOfRoll.ts +1 -1
  69. package/src/viewerWrapper/commands/pretreatment/editJointWeight/commandEditJointWeight.ts +80 -2
  70. package/src/viewerWrapper/commands/pretreatment/editMemberWeight/commandEditMemberWeight.ts +88 -1
  71. package/src/viewerWrapper/commands/pretreatment/importBoreholes/commandImportBoreholes.ts +9 -9
  72. package/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.ts +0 -1
  73. package/src/viewerWrapper/commands/pretreatment/surfaceWeightAdd/surfaceWeightAddConfig.ts +0 -1
  74. package/src/viewerWrapper/commands/pretreatment/surfaceWeightEdit/commandSurfaceWeightEdit.ts +34 -2
  75. package/src/viewerWrapper/commands/pretreatment/surfaceWeightEdit/surfaceWeightEditConfig.ts +0 -1
  76. package/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.ts +187 -0
  77. package/src/viewerWrapper/commands/pretreatment/windArea/windAreaConfig.ts +76 -0
  78. package/src/viewerWrapper/commands/pretreatment/windShield/commandWindShield.ts +147 -0
  79. package/src/viewerWrapper/commands/pretreatment/windShield/windShieldConfig.ts +81 -0
  80. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.d.ts +7 -4
  81. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardAREA.d.ts.map +1 -1
  82. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardCENTER.d.ts.map +1 -1
  83. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFDR.d.ts +2 -0
  84. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFDR.d.ts.map +1 -1
  85. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFID.d.ts +2 -0
  86. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFID.d.ts.map +1 -1
  87. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFWT.d.ts +2 -0
  88. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFWT.d.ts.map +1 -1
  89. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardWINSHL.d.ts +84 -0
  90. package/types/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardWINSHL.d.ts.map +1 -0
  91. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardCDM.d.ts +2 -0
  92. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardCDM.d.ts.map +1 -1
  93. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardCURR.d.ts.map +1 -1
  94. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardDEAD.d.ts +2 -0
  95. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardDEAD.d.ts.map +1 -1
  96. package/types/caeDesign/src/caeCardEditor/caeCardObjects/seainp/cardWAVE.d.ts.map +1 -1
  97. package/types/caeDesign/src/gsDevFx/managers/caeRenderObjectTreeManager.d.ts.map +1 -1
  98. package/types/caeDesign/src/gsDevFx/managers/cloudMemberTransformManager.d.ts.map +1 -1
  99. package/types/caeDesign/src/gsDevFx/managers/commandManager.d.ts.map +1 -1
  100. package/types/caeDesign/src/gsDevFx/managers/datReaderManager.d.ts +8 -6
  101. package/types/caeDesign/src/gsDevFx/managers/datReaderManager.d.ts.map +1 -1
  102. package/types/caeDesign/src/gsDevFx/managers/datWriterManager.d.ts.map +1 -1
  103. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.d.ts +8 -0
  104. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commandInterfaceManager.d.ts.map +1 -1
  105. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.d.ts +3 -1
  106. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.d.ts.map +1 -1
  107. package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/postInterfaceManager.d.ts.map +1 -1
  108. package/types/caeDesign/src/gsDevFx/managers/persistenceManager.d.ts.map +1 -1
  109. package/types/caeDesign/src/gsDevFx/objects/caeObjects/aftertreatment/deadLoadObject.d.ts +1 -1
  110. package/types/caeDesign/src/gsDevFx/objects/caeObjects/aftertreatment/deadLoadObject.d.ts.map +1 -1
  111. package/types/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.d.ts.map +1 -1
  112. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.d.ts +20 -0
  113. package/types/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.d.ts.map +1 -0
  114. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/WindAreaObject.d.ts +28 -0
  115. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/WindAreaObject.d.ts.map +1 -0
  116. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/centerRenderObject.d.ts +2 -1
  117. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/centerRenderObject.d.ts.map +1 -1
  118. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/windShieldObject.d.ts +23 -0
  119. package/types/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/windShieldObject.d.ts.map +1 -0
  120. package/types/caeDesign/src/gsDevFx/objects/loadObjects/currLoadObject.d.ts.map +1 -1
  121. package/types/caeDesign/src/gsDevFx/objects/loadObjects/loadConditionObject.d.ts.map +1 -1
  122. package/types/caeDesign/src/gsDevFx/objects/loadObjects/waveLoadObject.d.ts.map +1 -1
  123. package/types/caeDesign/src/gsDevFx/objects/loadObjects/windLoadObject.d.ts +1 -1
  124. package/types/caeDesign/src/gsDevFx/objects/loadObjects/windLoadObject.d.ts.map +1 -1
  125. package/types/caeDesign/src/gsDevFx/objects/weightObjects/memberWeightConcentratedObject.d.ts.map +1 -1
  126. package/types/caeDesign/src/gsDevFx/objects/weightObjects/memberWeightDistributedObject.d.ts.map +1 -1
  127. package/types/caeDesign/src/gsDevFx/process.d.ts +7 -0
  128. package/types/caeDesign/src/gsDevFx/process.d.ts.map +1 -1
  129. package/types/caeDesign/src/gsDevFx/propertyComponents/propertyComponent.vue.d.ts +13 -0
  130. package/types/caeDesign/src/gsDevFx/viewer.d.ts.map +1 -1
  131. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.d.ts +8 -0
  132. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/addCoefficientDragMassConfig.d.ts.map +1 -0
  133. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/commandAddCoefficientDragMass.d.ts +18 -0
  134. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCoefficientDragMass/commandAddCoefficientDragMass.d.ts.map +1 -0
  135. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.d.ts +1 -1
  136. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addCurrentLoad/commandAddCurrentLoad.d.ts.map +1 -1
  137. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addDeadLoad/commandAddDeadLoad.d.ts +5 -0
  138. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addDeadLoad/commandAddDeadLoad.d.ts.map +1 -1
  139. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.d.ts +1 -0
  140. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addLoadCombination/commandAddLoadCombination.d.ts.map +1 -1
  141. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.d.ts +1 -1
  142. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWaveLoad/commandAddWaveLoad.d.ts.map +1 -1
  143. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.d.ts +1 -1
  144. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/addWindLoad/commandAddWindLoad.d.ts.map +1 -1
  145. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.d.ts +4 -0
  146. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editCurrentLoad/commandEditCurrentLoad.d.ts.map +1 -1
  147. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editDeadLoad/commandEditDeadLoad.d.ts +29 -0
  148. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editDeadLoad/commandEditDeadLoad.d.ts.map +1 -0
  149. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editDeadLoad/editDeadLoadConfig.d.ts +12 -0
  150. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editDeadLoad/editDeadLoadConfig.d.ts.map +1 -0
  151. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.d.ts +4 -0
  152. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWaveLoad/commandEditWaveLoad.d.ts.map +1 -1
  153. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.d.ts +4 -0
  154. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/editWindLoad/commandEditWindLoad.d.ts.map +1 -1
  155. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/showJointCanUC/commandShowJointCanUC.d.ts.map +1 -1
  156. package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/showShipImpact/commandShowShipImpact.d.ts.map +1 -1
  157. package/types/caeDesign/src/viewerWrapper/commands/commandSplitMemberBase.d.ts.map +1 -1
  158. package/types/caeDesign/src/viewerWrapper/commands/createGrup/commandCreateGrup.d.ts.map +1 -1
  159. package/types/caeDesign/src/viewerWrapper/commands/createSection/commandCreateSection.d.ts.map +1 -1
  160. package/types/caeDesign/src/viewerWrapper/commands/editGrup/commandEditGrup.d.ts.map +1 -1
  161. package/types/caeDesign/src/viewerWrapper/commands/editSection/commandEditSection.d.ts.map +1 -1
  162. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/addJointWeight/commandAddJointWeight.d.ts.map +1 -1
  163. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/editJointWeight/commandEditJointWeight.d.ts +2 -0
  164. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/editJointWeight/commandEditJointWeight.d.ts.map +1 -1
  165. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/editMemberWeight/commandEditMemberWeight.d.ts +2 -0
  166. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/editMemberWeight/commandEditMemberWeight.d.ts.map +1 -1
  167. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/importBoreholes/commandImportBoreholes.d.ts.map +1 -1
  168. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/importBoreholes/importBoreholesConfig.d.ts.map +1 -1
  169. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.d.ts.map +1 -1
  170. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceWeightAdd/surfaceWeightAddConfig.d.ts.map +1 -1
  171. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceWeightEdit/commandSurfaceWeightEdit.d.ts +2 -0
  172. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceWeightEdit/commandSurfaceWeightEdit.d.ts.map +1 -1
  173. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceWeightEdit/surfaceWeightEditConfig.d.ts.map +1 -1
  174. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.d.ts +28 -0
  175. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windArea/commandWindArea.d.ts.map +1 -0
  176. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windArea/windAreaConfig.d.ts +5 -0
  177. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windArea/windAreaConfig.d.ts.map +1 -0
  178. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windShield/commandWindShield.d.ts +16 -0
  179. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windShield/commandWindShield.d.ts.map +1 -0
  180. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windShield/windShieldConfig.d.ts +6 -0
  181. package/types/caeDesign/src/viewerWrapper/commands/pretreatment/windShield/windShieldConfig.d.ts.map +1 -0
  182. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByCoordinate/splitMemberByCoordinateConfig.d.ts +0 -5
  183. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByEqualPatrs/commandSplitMemberByEqualPatrs.d.ts +0 -18
  184. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByEqualPatrs/commandSplitMemberByEqualPatrs.d.ts.map +0 -1
  185. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByEqualPatrs/splitMemberByEqualPatrsConfig.d.ts +0 -5
  186. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByEqualPatrs/splitMemberByEqualPatrsConfig.d.ts.map +0 -1
  187. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByExistingJoint/commandSplitMemberByExistingJoint.d.ts +0 -26
  188. package/types/caeDesign/src/viewerWrapper/commands/splitMemberByExistingJoint/commandSplitMemberByExistingJoint.d.ts.map +0 -1
  189. package/types/ceecDesign/src/api/renderObjectServices.d.ts +15 -0
  190. package/types/ceecDesign/src/api/renderObjectServices.d.ts.map +1 -0
  191. package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts +18 -0
  192. package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts.map +1 -0
@@ -63,6 +63,7 @@ import { CardLOADUNIF } from "../../caeCardEditor/caeCardObjects/cardLOADUNIF";
63
63
  import { CardLOADCONC } from "../../caeCardEditor/caeCardObjects/cardLOADCONC";
64
64
  import { CardLOADJOIN } from "../../caeCardEditor/caeCardObjects/cardLOADJOIN";
65
65
  import { CardCENTER } from "../../caeCardEditor/caeCardObjects/sacinp/cardCENTER";
66
+ import { CardWINSHL } from "../../caeCardEditor/caeCardObjects/sacinp/cardWINSHL";
66
67
  import { CardAREA } from "../../caeCardEditor/caeCardObjects/sacinp/cardAREA";
67
68
  import { CardSURFID } from "../../caeCardEditor/caeCardObjects/sacinp/cardSURFID";
68
69
  import { CardSURFDR } from "../../caeCardEditor/caeCardObjects/sacinp/cardSURFDR";
@@ -106,7 +107,7 @@ import { JointWeightObject } from "../objects/weightObjects/jointWeightObject";
106
107
  import { MemberWeightDistributedObject } from "../objects/weightObjects/memberWeightDistributedObject";
107
108
  import { MemberWeightConcentratedObject } from "../objects/weightObjects/memberWeightConcentratedObject";
108
109
  import { WGTMEMObject } from "../objects/caeObjects/pretreatment/wgtmemObject";
109
- import { SeastateCdm } from "../objects/caeObjects/optionObjects/seastateCdm";
110
+ import { CdmRenderObject } from "../objects/caeObjects/optionObjects/cdmRenderObject";
110
111
  import { SeastateIncwgt } from "../objects/caeObjects/optionObjects/seastateIncwgt";
111
112
  import { SeastateAccel } from "../objects/caeObjects/optionObjects/seastateAccel";
112
113
  import { SeastateWind } from "../objects/caeObjects/optionObjects/seastateWind";
@@ -122,7 +123,10 @@ import { CardSETCOL } from "../../caeCardEditor/caeCardObjects/set/CardSETCOL";
122
123
  import { CardJOISET } from "../../caeCardEditor/caeCardObjects/set/CardJOISET";
123
124
  import { CardMEMSET } from "../../caeCardEditor/caeCardObjects/set/CardMEMSET";
124
125
  import { CardPLASET } from "../../caeCardEditor/caeCardObjects/set/CardPLASET";
125
-
126
+ import { WindShieldObject } from "../objects/caeObjects/pretreatment/windShieldObject";
127
+ import { SurfaceDefinitionObject } from "../objects/caeObjects/pretreatment/surfaceDefinitionObject";
128
+ import { SurfaceWeightObject } from '../objects/caeObjects/pretreatment/surfaceWeightObject'
129
+ import { DeadLoadObject } from '../objects/caeObjects/aftertreatment/deadLoadObject'
126
130
  enum DatDataTypeDAT {
127
131
  // sacinp
128
132
  Title,
@@ -171,6 +175,7 @@ enum DatDataTypeDAT {
171
175
  Wave,
172
176
  Curr,
173
177
  Lcomb,
178
+ Winshl,
174
179
  //
175
180
  Default,
176
181
  }
@@ -283,6 +288,9 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
283
288
  private _jointNameRepeatList = new Array<string>();
284
289
  private _memberNameRepeatList = new Array<string>();
285
290
 
291
+ // 表面定义
292
+ private activeSurfIDName = ''
293
+
286
294
  /**
287
295
  * 需要添加到RO数的列表.
288
296
  */
@@ -369,6 +377,8 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
369
377
  this._currentStateDAT = DatDataTypeDAT.Wtcmb;
370
378
  } else if (line.startsWith("LOAD")) {
371
379
  this._currentStateDAT = DatDataTypeDAT.Load;
380
+ } else if (line.startsWith("WINSHL")) {
381
+ this._currentStateDAT = DatDataTypeDAT.Winshl;
372
382
  }
373
383
  // saeinp
374
384
  else if (line.startsWith("LDOPT")) {
@@ -708,10 +718,24 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
708
718
  if (line.trimEnd() === "LOAD") return;
709
719
  if (this.getDatData(line, 0, 6) == "LOADCN") {
710
720
  let loadConditionName = this.getDatData(line, 6, 4);
711
- let loadConditionObject = this.getObject(
712
- loadConditionName,
713
- this._loadConditionList
714
- );
721
+ let treeMng = process.caeRenderObjectTreeManager;
722
+ let parentNode = process.findCaeObjectByNameInChildObject(
723
+ treeMng.postResultNode,
724
+ "荷载工况"
725
+ ) as DesignBaseObject;
726
+ let loadConditionObject =
727
+ this.viewer.process.findRenderObjectByNameInChildObject(
728
+ parentNode,
729
+ loadConditionName
730
+ ) as DesignBaseObject;
731
+
732
+ if(!loadConditionObject) {
733
+ loadConditionObject = this.getObject(
734
+ loadConditionName,
735
+ this._loadConditionList
736
+ );
737
+ }
738
+
715
739
  if (!loadConditionObject) {
716
740
  // 创建工况RO.
717
741
  loadConditionObject = new LoadConditionObject(loadConditionName);
@@ -781,13 +805,13 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
781
805
  break;
782
806
  case "JOIN":
783
807
  {
784
- // // 空间点荷载
785
- // // 创建荷载
786
- // let card = new CardLOADJOIN(line);
787
- // let ro = card.toRenderObject(currentLoadConditionObj.name);
788
- // ro.businessState = BusinessState.Creating;
789
- // // loadGroupObject.childObjects.push(ro);
790
- // process.addRenderObject(loadGroupObject, ro);
808
+ // 空间点荷载
809
+ // 创建荷载
810
+ let card = new CardLOADJOIN(line);
811
+ let ro = card.toRenderObject(currentLoadConditionObj.name);
812
+ ro.businessState = BusinessState.Creating;
813
+ // loadGroupObject.childObjects.push(ro);
814
+ process.addRenderObject(loadGroupObject, ro);
791
815
  }
792
816
  break;
793
817
  //case "UNIF":
@@ -1191,6 +1215,10 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1191
1215
  process.addRenderObject(currentLoadConditionObj, windGroupObject);
1192
1216
  } else {
1193
1217
  windGroupObject.businessState = BusinessState.Editing;
1218
+ for (let i = 0; i < windGroupObject.childObjects.length; i++) {
1219
+ const item = windGroupObject.childObjects[i] as DesignBaseObject;
1220
+ item.businessState = BusinessState.Deleting;
1221
+ }
1194
1222
  }
1195
1223
 
1196
1224
  let card = new CardWIND(line);
@@ -1226,6 +1254,10 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1226
1254
  process.addRenderObject(currentLoadConditionObj, waveGroupObject);
1227
1255
  } else {
1228
1256
  waveGroupObject.businessState = BusinessState.Editing;
1257
+ for (let i = 0; i < waveGroupObject.childObjects.length; i++) {
1258
+ const item = waveGroupObject.childObjects[i] as DesignBaseObject;
1259
+ item.businessState = BusinessState.Deleting;
1260
+ }
1229
1261
  }
1230
1262
 
1231
1263
  let card = new CardWAVE(line);
@@ -1261,9 +1293,13 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1261
1293
  process.addRenderObject(currentLoadConditionObj, groupObject);
1262
1294
  } else {
1263
1295
  groupObject.businessState = BusinessState.Editing;
1296
+ for (let i = 0; i < groupObject.childObjects.length; i++) {
1297
+ const item = groupObject.childObjects[i] as DesignBaseObject;
1298
+ item.businessState = BusinessState.Deleting;
1299
+ }
1264
1300
  }
1265
1301
 
1266
- let card = new CardWAVE(line);
1302
+ let card = new CardCURR(line);
1267
1303
  let ro = card.toRenderObject(currentLoadConditionObj.name);
1268
1304
  ro.businessState = BusinessState.Creating;
1269
1305
  process.addRenderObject(groupObject, ro);
@@ -1348,32 +1384,6 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1348
1384
  }
1349
1385
  }
1350
1386
 
1351
- private readCenterData(line: string) {
1352
- if (line.trimEnd() === "CENTER") {
1353
- return;
1354
- }
1355
-
1356
- let process = Process.activeProcess as Process;
1357
- let ro = this.viewer.process.findRenderObjectByType(
1358
- "CenterRenderObject"
1359
- ) as CenterRenderObject;
1360
- if (!ro) {
1361
- ro = new CenterRenderObject();
1362
- ro.businessState = BusinessState.Creating;
1363
- ro.cardData = line;
1364
- ro.cardObject = new CardCENTER(line);
1365
- ro.name = ro.cardObject.centerID.value;
1366
-
1367
- process.addRenderObject(
1368
- process.caeRenderObjectTreeManager.sacinpNode,
1369
- ro
1370
- );
1371
- } else {
1372
- ro.cardData = line;
1373
- ro.businessState = BusinessState.Editing;
1374
- }
1375
- }
1376
-
1377
1387
  private readDynmasData(line: string) {
1378
1388
  if (line.trimEnd() === "DYNMAS") {
1379
1389
  return;
@@ -1428,64 +1438,141 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1428
1438
  ro.businessState = BusinessState.Editing;
1429
1439
  }
1430
1440
  }
1441
+ // 回转中心
1442
+ private readCenterData(line: string) {
1443
+ if (line.trimEnd() === "CENTER") return;
1444
+ let process = Process.activeProcess as Process;
1445
+ let pretreatmentRO = this.viewer.process.findRenderObjectByName(
1446
+ "前处理可视化辅助"
1447
+ ) as DesignBaseObject;
1431
1448
 
1432
- private readSurfIDData(line: string) {
1433
- if (line.trimEnd() === "SURFID") {
1449
+ let centerRollParent = process.findCaeObjectByNameInChildObject(
1450
+ pretreatmentRO,
1451
+ "回转中心"
1452
+ ) as DesignBaseObject;
1453
+ let name = this.getDatData(line, 8, 4).trim();
1454
+ let newName = this.checkNameRepeatAndGetNewName(
1455
+ process.nameCenterRoll,
1456
+ name
1457
+ );
1458
+ if (name !== newName) {
1459
+ name = newName;
1460
+ }
1461
+ // 用 CardCENTER 解析 line
1462
+ let card = new CardCENTER(line);
1463
+ let ro = card.toRenderObject();
1464
+ card.centerID.value = name;
1465
+ ro.centerID = name;
1466
+ ro.businessState = BusinessState.Creating;
1467
+ ro.cardObject = card;
1468
+ ro.name = name;
1469
+ // 限制数量
1470
+ if (centerRollParent && centerRollParent?.childObjects?.length > 9) return;
1471
+ process.addRenderObject(centerRollParent, ro);
1472
+ }
1473
+
1474
+ // 风载屏蔽区域
1475
+ private readWINSHLData(line: string) {
1476
+ if (line.trimEnd() === "WINSHL") {
1434
1477
  return;
1435
1478
  }
1436
- if (!line.startsWith("SURFID")) {
1479
+ if (!line.startsWith("WINSHL")) {
1437
1480
  return;
1438
1481
  }
1439
-
1440
1482
  let process = Process.activeProcess as Process;
1441
- let ro = this.viewer.process.findRenderObjectByType(
1442
- "ModelSurfID"
1443
- ) as ModelSurfID;
1444
- if (!ro) {
1445
- ro = new ModelSurfID();
1446
- ro.businessState = BusinessState.Creating;
1447
- ro.cardData = line;
1448
- ro.cardObject = new CardSURFID(line);
1449
- ro.name = ro.cardObject.surfaceID.value;
1483
+ let pretreatmentRO = process.findRenderObjectByName(
1484
+ "前处理可视化辅助"
1485
+ ) as DesignBaseObject;
1486
+ let windShieldParent = process.findCaeObjectByNameInChildObject(
1487
+ pretreatmentRO,
1488
+ "风载屏蔽区域"
1489
+ ) as DesignBaseObject;
1450
1490
 
1451
- process.addRenderObject(
1452
- process.caeRenderObjectTreeManager.sacinpNode,
1453
- ro
1454
- );
1455
- } else {
1456
- ro.cardData = line;
1457
- ro.businessState = BusinessState.Editing;
1491
+ // 如果有数据 则不导入
1492
+ if (windShieldParent && windShieldParent?.childObjects?.length) return
1493
+ if(!windShieldParent){
1494
+ windShieldParent = new DesignBaseObject();
1495
+ windShieldParent.businessState = BusinessState.Creating;
1496
+ windShieldParent.name = "风载屏蔽区域";
1497
+ process.addRenderObject(pretreatmentRO, windShieldParent);
1458
1498
  }
1499
+
1500
+
1501
+
1502
+ let ro = process.findRenderObjectByType(
1503
+ "WindShieldObject"
1504
+ ) as WindShieldObject;
1505
+ let card = new CardWINSHL(line);
1506
+ ro = card.toRenderObject();
1507
+ ro.businessState = BusinessState.Creating;
1508
+ ro.cardData = line;
1509
+ process.addRenderObject(windShieldParent, ro);
1459
1510
  }
1511
+ // 表面定义
1512
+ private readSurfIDData(line: string) {
1513
+ if (!line.startsWith("SURFID")) return;
1460
1514
 
1461
- private readSurfDRData(line: string) {
1462
- if (line.trimEnd() === "SURFDR") {
1463
- return;
1464
- }
1465
- if (!line.startsWith("SURFDR")) {
1466
- return;
1515
+ let process = Process.activeProcess as Process;
1516
+ let pretreatmentRO = this.viewer.process.findRenderObjectByName(
1517
+ "前处理可视化辅助"
1518
+ ) as DesignBaseObject;
1519
+ let SurfIDRollParent = process.findCaeObjectByNameInChildObject(
1520
+ pretreatmentRO,
1521
+ "表面定义"
1522
+ ) as DesignBaseObject;
1523
+ const start = 7;
1524
+ const len = 8; // 占位长度
1525
+ let name = this.getDatData(line, start, len).trim();
1526
+ let newName = this.checkNameRepeatAndGetNewName(
1527
+ process.nameSurfaceDefinition,
1528
+ name
1529
+ );
1530
+ console.log('name',name,name.length,newName,newName.length);
1531
+
1532
+ if (name !== newName) {
1533
+ name = newName;
1467
1534
  }
1535
+ let card = new CardSURFID(line)
1536
+ card.surfaceID.value = name
1537
+ let ro = new SurfaceDefinitionObject(name);
1538
+ ro = card.toRenderObject();
1539
+ ro.businessState = BusinessState.Creating;
1540
+ ro.cardObject = card;
1541
+ ro.surfaceID = name
1542
+ ro.name = name;
1543
+ process.addRenderObject(
1544
+ SurfIDRollParent,
1545
+ ro
1546
+ );
1468
1547
 
1548
+ this.activeSurfIDName = name
1549
+ }
1550
+
1551
+ // 表面定义的边界节点
1552
+ private readSurfDRData(line: string) {
1553
+ if (!line.startsWith("SURFDR")) return
1469
1554
  let process = Process.activeProcess as Process;
1470
- let ro = this.viewer.process.findRenderObjectByType(
1471
- "ModelSurfDR"
1472
- ) as ModelSurfDR;
1473
- if (!ro) {
1474
- ro = new ModelSurfDR();
1475
- ro.businessState = BusinessState.Creating;
1476
- ro.cardData = line;
1477
- ro.cardObject = new CardSURFDR(line);
1555
+ let card = new CardSURFDR(line)
1556
+ let ro = card.toRenderObject(this.activeSurfIDName)
1557
+ ro.name = this.activeSurfIDName
1478
1558
 
1479
- process.addRenderObject(
1480
- process.caeRenderObjectTreeManager.sacinpNode,
1481
- ro
1482
- );
1483
- } else {
1484
- ro.cardData = line;
1485
- ro.businessState = BusinessState.Editing;
1559
+ let pretreatmentRO = this.viewer.process.findRenderObjectByName(
1560
+ "前处理可视化辅助"
1561
+ ) as DesignBaseObject;
1562
+ let SurfIDRollParent = process.findCaeObjectByNameInChildObject(
1563
+ pretreatmentRO,
1564
+ "表面定义"
1565
+ ) as DesignBaseObject;
1566
+ let surfaceIDRO = process.findCaeObjectByNameInChildObject(
1567
+ SurfIDRollParent,
1568
+ this.activeSurfIDName
1569
+ ) as SurfaceDefinitionObject;
1570
+ // 对应表面定义对象增加边界节点
1571
+ if(surfaceIDRO) {
1572
+ surfaceIDRO.boundaryJoints = ro
1486
1573
  }
1487
1574
  }
1488
-
1575
+ // 表面质量
1489
1576
  private readSurfWTData(line: string) {
1490
1577
  if (line.trimEnd() === "SURFWT") {
1491
1578
  return;
@@ -1493,27 +1580,156 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1493
1580
  if (!line.startsWith("SURFWT")) {
1494
1581
  return;
1495
1582
  }
1496
-
1497
1583
  let process = Process.activeProcess as Process;
1498
- let ro = this.viewer.process.findRenderObjectByType(
1499
- "ModelSurfWT"
1500
- ) as ModelSurfWT;
1501
- if (!ro) {
1502
- ro = new ModelSurfWT();
1503
- ro.businessState = BusinessState.Creating;
1504
- ro.cardData = line;
1505
- ro.cardObject = new CardSURFWT(line);
1506
- ro.name = ro.cardObject.weightGroupID.value;
1584
+ const weightIDStart = 17;
1585
+ const weightIDLen = 8;
1586
+
1587
+ let weightID = this.getDatData(line, weightIDStart, weightIDLen).trim();
1588
+ let weightGroupID = this.getDatData(line, 6, 4).trim();
1589
+
1590
+ // 检查质量ID是否存在
1591
+ let newWeightID = this.checkNameRepeatAndGetNewName(
1592
+ process.nameSurfaceWeight, weightID
1593
+ );
1594
+ if (weightID !== newWeightID) {
1595
+ weightID = newWeightID;
1596
+ }
1597
+
1598
+
1599
+ let pretreatmentRO = this.viewer.process.findRenderObjectByName(
1600
+ "前处理可视化辅助"
1601
+ ) as DesignBaseObject;
1602
+ let surfaceWeightParent = process.findCaeObjectByNameInChildObject(
1603
+ pretreatmentRO,
1604
+ "表面质量"
1605
+ ) as DesignBaseObject;
1606
+ let ro = new SurfaceWeightObject(weightID);
1607
+
1608
+ let card = new CardSURFWT(line)
1609
+ card.weightID.value = weightID
1610
+ ro = card.toRenderObject();
1611
+ ro.weightID = weightID
1612
+ ro.name = weightID;
1613
+ ro.businessState = BusinessState.Creating;
1614
+ ro.cardObject = card;
1615
+ process.addRenderObject(
1616
+ surfaceWeightParent,
1617
+ ro
1618
+ );
1619
+ // 将质量组ID和质量ID添加到当前的质量组中
1620
+ let weightGroupParent = process.findCaeObjectByNameInChildObject(
1621
+ pretreatmentRO,
1622
+ "附加质量"
1623
+ ) as DesignBaseObject;
1507
1624
 
1625
+ let weightGroupRo = process.findCaeObjectByNameInChildObject(
1626
+ weightGroupParent,
1627
+ weightGroupID
1628
+ ) as WeightGroupObject;
1629
+
1630
+ if (!weightGroupRo) {
1631
+ weightGroupRo = new WeightGroupObject(weightGroupID);
1632
+ weightGroupRo.businessState = BusinessState.Creating;
1633
+ weightGroupRo.name = weightGroupID;
1508
1634
  process.addRenderObject(
1509
- process.caeRenderObjectTreeManager.sacinpNode,
1510
- ro
1635
+ weightGroupParent,
1636
+ weightGroupRo
1511
1637
  );
1638
+ }
1639
+ }
1640
+ // 导入自重荷载
1641
+ private readDead(block: string[]) {
1642
+ let process = Process.activeProcess as Process;
1643
+ let aftertreatmentRO = this.viewer.process.findRenderObjectByName(
1644
+ "后处理计算结果"
1645
+ ) as DesignBaseObject;
1646
+ let roParent = process.findCaeObjectByNameInChildObject(
1647
+ aftertreatmentRO,
1648
+ "荷载工况"
1649
+ ) as DesignBaseObject;
1650
+ let loadConditionName: string | null = null;
1651
+ for (let line of block) {
1652
+ line = line.trim();
1653
+ if (!line) continue;
1654
+ if (line.startsWith("LOADCN")) {
1655
+ loadConditionName = this.getDatData(line, 6, 4).trim();
1656
+ continue;
1657
+ }
1658
+ if (line.startsWith("DEAD") && line.length > 4 && loadConditionName) {
1659
+ const activeLoadConditionObject = process.findCaeObjectByNameInChildObject(
1660
+ roParent,
1661
+ loadConditionName
1662
+ ) as DesignBaseObject;
1663
+ if (!activeLoadConditionObject) {
1664
+ console.log(`⚠️ 没找到 LoadCondition 节点: ${loadConditionName}`);
1665
+ continue;
1666
+ }
1667
+ let loadConditionRO = process.findCaeObjectByNameInChildObject(
1668
+ roParent,
1669
+ loadConditionName
1670
+ ) as LoadConditionObject;
1671
+ let loadGroupRO = this.getAndCreateLoadGroupByLoadCondition(
1672
+ loadConditionRO
1673
+ );
1674
+ if (loadGroupRO?.name === 'DEADLoads') {
1675
+ return
1676
+ }
1677
+ let ro = new DeadLoadObject();
1678
+ ro.businessState = BusinessState.Creating;
1679
+ let card = new CardDEAD(line);
1680
+ ro = card.toRenderObject();
1681
+ ro.cardObject = card;
1682
+ ro.name = "DEADLoads";
1683
+ process.addRenderObject(loadGroupRO, ro);
1684
+ }
1685
+ }
1686
+ }
1687
+ private getAndCreateLoadGroupByLoadCondition(
1688
+ loadCondition: LoadConditionObject
1689
+ ) {
1690
+ let process = Process.activeProcess as Process;
1691
+ let loadGroupRO = process.findCaeObjectByNameInChildObject(
1692
+ loadCondition,
1693
+ "DEADLoads"
1694
+ ) as DesignBaseObject;
1695
+ if (!loadGroupRO) {
1696
+ loadGroupRO = new DesignBaseObject();
1697
+ loadGroupRO.name = "DEADLoads";
1698
+ loadGroupRO.businessState = BusinessState.Creating;
1699
+ process.addRenderObject(loadCondition, loadGroupRO);
1512
1700
  } else {
1513
- ro.cardData = line;
1514
- ro.businessState = BusinessState.Editing;
1701
+ loadGroupRO.businessState = BusinessState.Editing;
1515
1702
  }
1703
+
1704
+ return loadGroupRO;
1516
1705
  }
1706
+ private readLoadcnBlocks(lines: string[]): string[][] {
1707
+ let blocks: string[][] = []
1708
+ let currentBlock: string[] | null = null
1709
+
1710
+ for (let line of lines) {
1711
+ const trimmed = line.trim()
1712
+
1713
+ if (trimmed.startsWith("LOADCN")) {
1714
+ // 新分段开始
1715
+ currentBlock = [line]
1716
+ continue
1717
+ }
1718
+
1719
+ if (currentBlock) {
1720
+ currentBlock.push(line)
1721
+
1722
+ if (trimmed.startsWith("* CASE")) {
1723
+ // 分段结束
1724
+ blocks.push(currentBlock)
1725
+ currentBlock = null
1726
+ }
1727
+ }
1728
+ }
1729
+
1730
+ return blocks
1731
+ }
1732
+
1517
1733
 
1518
1734
  private readWGTMEMData(line: string) {
1519
1735
  if (line.trimEnd() === "WGTMEM") {
@@ -1694,8 +1910,6 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1694
1910
  importDATData(content: string, overWrite: boolean = false) {
1695
1911
  //
1696
1912
  let process = Process.activeProcess as Process;
1697
- console.log("importDATData");
1698
-
1699
1913
  let lines = content.split("\n");
1700
1914
  lines.forEach((line) => {
1701
1915
  this.changeStatus(line);
@@ -1735,6 +1949,9 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1735
1949
  case DatDataTypeDAT.Center:
1736
1950
  this.readCenterData(line);
1737
1951
  break;
1952
+ case DatDataTypeDAT.Winshl:
1953
+ this.readWINSHLData(line);
1954
+ break;
1738
1955
  case DatDataTypeDAT.Dynmas:
1739
1956
  this.readDynmasData(line);
1740
1957
  break;
@@ -1776,7 +1993,6 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
1776
1993
 
1777
1994
  private checkNameRepeatAndGetNewName(map: Map<string, any>, name: string) {
1778
1995
  let process = this.viewer.process as Process;
1779
-
1780
1996
  let isRepeat = map.get(name);
1781
1997
  if (isRepeat) {
1782
1998
  // 添加一个重名后处理列表.
@@ -2593,28 +2809,7 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
2593
2809
  currentLoadConditionObj.accel = ro;
2594
2810
  }
2595
2811
 
2596
- private readDead(line: string) {
2597
- let process = Process.activeProcess as Process;
2598
- if (this._seainpLoadConditionList.count() == 0) {
2599
- return;
2600
- }
2601
- let currentLoadConditionObj = this._seainpLoadConditionList.get(
2602
- this._seainpLoadConditionList.count() - 1
2603
- ) as LoadConditionObject;
2604
-
2605
- let ro = new SeastateDead();
2606
- ro.businessState = BusinessState.Creating;
2607
- ro.name = "INCWGT";
2608
- ro.cardData = line;
2609
- ro.cardObject = new CardDEAD(line);
2610
2812
 
2611
- // process.addRenderObject(
2612
- // process.caeRenderObjectTreeManager.seastateNode,
2613
- // ro
2614
- // );
2615
-
2616
- currentLoadConditionObj.deads.push(ro);
2617
- }
2618
2813
 
2619
2814
  private readLcsel(line: string) {
2620
2815
  let process = Process.activeProcess as Process;
@@ -2687,20 +2882,29 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
2687
2882
 
2688
2883
  private readCdm(line: string) {
2689
2884
  let process = Process.activeProcess as Process;
2690
- let ro = this.viewer.process.findRenderObjectByType(
2691
- "SeastateLcsel"
2692
- ) as SeastateCdm;
2693
2885
 
2694
- ro = new SeastateCdm();
2695
- ro.businessState = BusinessState.Creating;
2696
- ro.name = "LCSEL";
2697
- ro.cardData = line;
2698
- ro.cardObject = new CardCDM(line);
2886
+ let pretreatmentRO = process.findRenderObjectByName(
2887
+ "后处理计算结果"
2888
+ ) as DesignBaseObject;
2699
2889
 
2700
- process.addRenderObject(
2701
- process.caeRenderObjectTreeManager.seastateNode,
2702
- ro
2703
- );
2890
+ let cdmParent = process.findCaeObjectByNameInChildObject(
2891
+ pretreatmentRO,
2892
+ "拖曳和惯性系数"
2893
+ ) as DesignBaseObject;
2894
+
2895
+ if (!cdmParent) {
2896
+ cdmParent = new DesignBaseObject();
2897
+ cdmParent.businessState = BusinessState.Creating;
2898
+ cdmParent.name = "拖曳和惯性系数";
2899
+ process.addRenderObject(pretreatmentRO, cdmParent);
2900
+ } else {
2901
+ cdmParent.businessState = BusinessState.Editing;
2902
+ }
2903
+
2904
+ let card = new CardCDM(line);
2905
+ let ro = card.toRenderObject();
2906
+ ro.businessState = BusinessState.Creating;
2907
+ process.addRenderObject(cdmParent, ro);
2704
2908
  }
2705
2909
 
2706
2910
  private readUcpart(line: string) {
@@ -2851,7 +3055,6 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
2851
3055
 
2852
3056
  this._needAddTreeLoadConditions = new Array<LoadConditionObject>();
2853
3057
  }
2854
-
2855
3058
  /**
2856
3059
  * import dat也会调用import seainp,所以把解析构件分组的逻辑加载这里.
2857
3060
  * @param content
@@ -2906,9 +3109,10 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
2906
3109
  case DatDataTypeSEA.Accel:
2907
3110
  this.readAccel(line);
2908
3111
  break;
2909
- case DatDataTypeSEA.Dead:
2910
- this.readDead(line);
2911
- break;
3112
+ // case DatDataTypeSEA.Dead:
3113
+ // const blocks = this.readLoadcnBlocks(lines)
3114
+ // this.readDead(blocks);
3115
+ // break;
2912
3116
  // MGROV
2913
3117
  case DatDataTypeSEA.Mgrov:
2914
3118
  this.readMgrov(line);
@@ -2957,6 +3161,14 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
2957
3161
  break;
2958
3162
  }
2959
3163
  });
3164
+ // 读取荷载工况片段
3165
+ const blocks = this.readLoadcnBlocks(lines)
3166
+ for (const block of blocks) {
3167
+ if (block && block.length > 0) {
3168
+ this.readDead(block)
3169
+ }
3170
+ }
3171
+
2960
3172
 
2961
3173
  this.addSeaInpRenderObject();
2962
3174
 
@@ -3165,6 +3377,8 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
3165
3377
  }
3166
3378
  } else if (line.startsWith("LOADCN")) {
3167
3379
  cardObj = new CardLOADCN(line);
3380
+ } else if (line.startsWith("DEAD")) {
3381
+ cardObj = new CardDEAD(line);
3168
3382
  } else if (line.startsWith("LOAD")) {
3169
3383
  //
3170
3384
  let type = line.substring(65, 69);
@@ -3232,8 +3446,6 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
3232
3446
  cardObj = new CardINCWGT(line);
3233
3447
  } else if (line.startsWith("ACCEL")) {
3234
3448
  cardObj = new CardACCEL(line);
3235
- } else if (line.startsWith("DEAD")) {
3236
- cardObj = new CardDEAD(line);
3237
3449
  } else if (line.startsWith("WIND")) {
3238
3450
  cardObj = new CardWIND(line);
3239
3451
  } else if (line.startsWith("WAVE")) {
@@ -3298,4 +3510,5 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
3298
3510
 
3299
3511
  return false;
3300
3512
  }
3513
+
3301
3514
  }