qtmodel 0.9.3__tar.gz → 0.9.5__tar.gz

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.

Potentially problematic release.


This version of qtmodel might be problematic. Click here for more details.

@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.9.3
4
- Summary: python modeling for qt 2025-06-30
3
+ Version: 0.9.5
4
+ Summary: python modeling for qt 2025-07-04
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
7
7
  Author-email: 1105417715@qq.com
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- > 最新版本 V0.9.3 - 2025-06-30
15
+ > 最新版本 V0.9.5 - 2025-07-04
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
17
  - 新增更新结构组接口
18
18
  # 建模操作
@@ -155,7 +155,7 @@ mdb.export_file(file_path="a.mct")
155
155
  ```
156
156
  Returns: 无
157
157
  ## 分析设置
158
- ### update_general_setting
158
+ ### update_project_setting
159
159
  更新总体设置
160
160
  > 参数:
161
161
  > project: 项目名
@@ -169,7 +169,7 @@ Returns: 无
169
169
  ```Python
170
170
  # 示例代码
171
171
  from qtmodel import *
172
- mdb.update_general_setting(project="项目名",gravity=9.8,temperature=20)
172
+ mdb.update_project_setting(project="项目名",gravity=9.8,temperature=20)
173
173
  ```
174
174
  Returns: 无
175
175
  ### update_global_setting
@@ -3229,6 +3229,16 @@ mdb.remove_load_combine(name="荷载组合1")
3229
3229
  ```
3230
3230
  Returns: 无
3231
3231
  # 视图与结果提取
3232
+ ### display_info
3233
+ 显示字典并打印
3234
+ > 参数:
3235
+ > dict_info:是否打开节点号显示
3236
+ ```Python
3237
+ # 示例代码
3238
+ from qtmodel import *
3239
+ odb.display_info(Node(1,1,2,3))
3240
+ ```
3241
+ Returns: 无
3232
3242
  ## 视图控制
3233
3243
  ### display_node_id
3234
3244
  设置节点号显示
@@ -1,4 +1,4 @@
1
- > 最新版本 V0.9.3 - 2025-06-30
1
+ > 最新版本 V0.9.5 - 2025-07-04
2
2
  > pip install --upgrade qtmodel -i https://pypi.org/simple
3
3
  - 新增更新结构组接口
4
4
  # 建模操作
@@ -141,7 +141,7 @@ mdb.export_file(file_path="a.mct")
141
141
  ```
142
142
  Returns: 无
143
143
  ## 分析设置
144
- ### update_general_setting
144
+ ### update_project_setting
145
145
  更新总体设置
146
146
  > 参数:
147
147
  > project: 项目名
@@ -155,7 +155,7 @@ Returns: 无
155
155
  ```Python
156
156
  # 示例代码
157
157
  from qtmodel import *
158
- mdb.update_general_setting(project="项目名",gravity=9.8,temperature=20)
158
+ mdb.update_project_setting(project="项目名",gravity=9.8,temperature=20)
159
159
  ```
160
160
  Returns: 无
161
161
  ### update_global_setting
@@ -3215,6 +3215,16 @@ mdb.remove_load_combine(name="荷载组合1")
3215
3215
  ```
3216
3216
  Returns: 无
3217
3217
  # 视图与结果提取
3218
+ ### display_info
3219
+ 显示字典并打印
3220
+ > 参数:
3221
+ > dict_info:是否打开节点号显示
3222
+ ```Python
3223
+ # 示例代码
3224
+ from qtmodel import *
3225
+ odb.display_info(Node(1,1,2,3))
3226
+ ```
3227
+ Returns: 无
3218
3228
  ## 视图控制
3219
3229
  ### display_node_id
3220
3230
  设置节点号显示
@@ -222,6 +222,7 @@ class ElasticSupport:
222
222
  support_type:支承类型 1-线性 2-受拉 3-受压
223
223
  boundary_info:边界信息 受拉和受压时列表长度为1 线性时列表长度为6
224
224
  group_name:边界组
225
+ node_system:0-整体坐标 1-节点坐标
225
226
  """
226
227
  self.support_id = support_id
227
228
  self.node_id = node_id
@@ -223,7 +223,7 @@ class Mdb:
223
223
 
224
224
  # region 分析设置
225
225
  @staticmethod
226
- def update_general_setting(project: str = "", company: str = "", designer: str = "", reviewer: str = "",
226
+ def update_project_setting(project: str = "", company: str = "", designer: str = "", reviewer: str = "",
227
227
  date_time: str = "", gravity: float = 9.8, temperature: float = 0, description: str = "") -> None:
228
228
  """
229
229
  更新总体设置
@@ -237,12 +237,12 @@ class Mdb:
237
237
  temperature: 设计温度 (摄氏度)
238
238
  description: 说明
239
239
  Example:
240
- mdb.update_general_setting(project="项目名",gravity=9.8,temperature=20)
240
+ mdb.update_project_setting(project="项目名",gravity=9.8,temperature=20)
241
241
  Returns: 无
242
242
  """
243
243
  try:
244
- qt_model.update_general_setting(project=project, company=company, designer=designer, reviewer=reviewer,
245
- date_time=date_time, gravity=gravity, temperature=temperature, description=description)
244
+ qt_model.UpdateProjectSetting(project=project, company=company, designer=designer, reviewer=reviewer,
245
+ dateTime=date_time, gravity=gravity, temperature=temperature, description=description)
246
246
  except Exception as ex:
247
247
  raise Exception(ex)
248
248
 
@@ -1,5 +1,6 @@
1
- import json
2
1
  from __main__ import qt_model
2
+ import json
3
+ from typing import Union
3
4
  from .qt_db import *
4
5
 
5
6
 
@@ -8,6 +9,17 @@ class Odb:
8
9
  获取模型计算结果和模型信息,目前结果仅支持字典类型输出
9
10
  注意:使用外部调用post运行时可以通过print(json.dumps(result))来传递数据,post得到数据后可通过json.loads(result)解析
10
11
  """
12
+ @staticmethod
13
+ def display_info(dict_info:Union[dict, list]):
14
+ """
15
+ 显示字典并打印
16
+ Args:
17
+ dict_info:是否打开节点号显示
18
+ Example:
19
+ odb.display_info(Node(1,1,2,3))
20
+ Returns: 无
21
+ """
22
+ print(json.dumps(dict_info))
11
23
 
12
24
  # region 视图控制
13
25
  @staticmethod
@@ -201,7 +213,7 @@ class Odb:
201
213
  list_res = []
202
214
  for item in bs_list:
203
215
  force = [item.Force.Fx, item.Force.Fy, item.Force.Fz, item.Force.Mx, item.Force.My, item.Force.Mz]
204
- list_res.append(str(SupportReaction(item.NodeId, force, item.Time)))
216
+ list_res.append(SupportReaction(item.NodeId, force, item.Time).__str__())
205
217
  return list_res if len(list_res) > 1 else list_res[0]
206
218
  except Exception as ex:
207
219
  raise Exception(ex)
@@ -234,7 +246,7 @@ class Odb:
234
246
  for item in bf_list:
235
247
  displacements = [item.Displacement.Dx, item.Displacement.Dy, item.Displacement.Dz,
236
248
  item.Displacement.Rx, item.Displacement.Ry, item.Displacement.Rz]
237
- list_res.append(str(NodeDisplacement(item.NodeId, displacements, item.Time)))
249
+ list_res.append(NodeDisplacement(item.NodeId, displacements, item.Time).__str__())
238
250
  return list_res if len(list_res) > 1 else list_res[0]
239
251
  except Exception as ex:
240
252
  raise Exception(ex)
@@ -267,7 +279,7 @@ class Odb:
267
279
  item.StressI[6], item.StressI[7], item.StressI[8]]
268
280
  stress_j = [item.StressJ[0], item.StressJ[1], item.StressJ[2], item.StressJ[3], item.StressJ[4], item.StressJ[5],
269
281
  item.StressJ[6], item.StressJ[7], item.StressJ[8]]
270
- list_res.append(str(BeamElementStress(item.ElementId, stress_i, stress_j)))
282
+ list_res.append(BeamElementStress(item.ElementId, stress_i, stress_j).__str__())
271
283
  elif item.ElementType == "SHELL" or item.ElementType == "PLATE":
272
284
  stress_i = [item.StressI[0], item.StressI[1], item.StressI[2], item.StressI[3], item.StressI[4]]
273
285
  stress_j = [item.StressJ[0], item.StressJ[1], item.StressJ[2], item.StressJ[3], item.StressJ[4]]
@@ -277,10 +289,10 @@ class Odb:
277
289
  stress_j2 = [item.StressJ2[0], item.StressJ2[1], item.StressJ2[2], item.StressJ2[3], item.StressJ2[4]]
278
290
  stress_k2 = [item.StressK2[0], item.StressK2[1], item.StressK2[2], item.StressK2[3], item.StressK2[4]]
279
291
  stress_l2 = [item.StressL2[0], item.StressL2[1], item.StressL2[2], item.StressL2[3], item.StressL2[4]]
280
- list_res.append(str(ShellElementStress(item.ElementId, stress_i, stress_j, stress_k, stress_l,
281
- stress_i2, stress_j2, stress_k2, stress_l2)))
292
+ list_res.append(ShellElementStress(item.ElementId, stress_i, stress_j, stress_k, stress_l,
293
+ stress_i2, stress_j2, stress_k2, stress_l2).__str__())
282
294
  elif item.ElementType == "CABLE" or item.ElementType == "LINK" or item.ElementType == "TRUSS":
283
- list_res.append(str(TrussElementStress(item.ElementId, item.StressI[0], item.StressJ[0])))
295
+ list_res.append(TrussElementStress(item.ElementId, item.StressI[0], item.StressJ[0]).__str__())
284
296
  elif item.ElementType == "COM-BEAM":
285
297
  stress_i = [item.StressI[0], item.StressI[1], item.StressI[2], item.StressI[3], item.StressI[4], item.StressI[5],
286
298
  item.StressI[6], item.StressI[7], item.StressI[8]]
@@ -290,7 +302,7 @@ class Odb:
290
302
  item.StressI2[6], item.StressI2[7], item.StressI2[8]]
291
303
  stress_j2 = [item.StressJ2[0], item.StressJ2[1], item.StressJ2[2], item.StressJ2[3], item.StressJ2[4], item.StressJ2[5],
292
304
  item.StressJ2[6], item.StressJ2[7], item.StressJ2[8]]
293
- list_res.append(str(CompositeBeamStress(item.ElementId, stress_i, stress_j, stress_i2, stress_j2)))
305
+ list_res.append(CompositeBeamStress(item.ElementId, stress_i, stress_j, stress_i2, stress_j2).__str__())
294
306
  else:
295
307
  raise TypeError(f"操作错误,不存在{item.ElementType}类型")
296
308
  return list_res if len(list_res) > 1 else list_res[0]
@@ -327,17 +339,17 @@ class Odb:
327
339
  if item.ElementType == "BEAM":
328
340
  force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
329
341
  force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
330
- list_res.append(str(BeamElementForce(item.ElementId, force_i, force_j, item.Time)))
342
+ list_res.append(BeamElementForce(item.ElementId, force_i, force_j, item.Time).__str__())
331
343
  elif item.ElementType == "SHELL" or item.ElementType == "PLATE":
332
344
  force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
333
345
  force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
334
346
  force_k = [item.ForceK.Fx, item.ForceK.Fy, item.ForceK.Fz, item.ForceK.Mx, item.ForceK.My, item.ForceK.Mz]
335
347
  force_l = [item.ForceL.Fx, item.ForceL.Fy, item.ForceL.Fz, item.ForceL.Mx, item.ForceL.My, item.ForceL.Mz]
336
- list_res.append(str(ShellElementForce(item.ElementId, force_i, force_j, force_k, force_l, item.Time)))
348
+ list_res.append(ShellElementForce(item.ElementId, force_i, force_j, force_k, force_l, item.Time).__str__())
337
349
  elif item.ElementType == "CABLE" or item.ElementType == "LINK" or item.ElementType == "TRUSS":
338
350
  force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
339
351
  force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
340
- list_res.append(str(TrussElementForce(item.ElementId, force_i, force_j, item.Time)))
352
+ list_res.append(TrussElementForce(item.ElementId, force_i, force_j, item.Time).__str__())
341
353
  elif item.ElementType == "COM-BEAM":
342
354
  all_force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
343
355
  all_force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
@@ -349,8 +361,8 @@ class Odb:
349
361
  sub_force_j = [item.SubForceJ.Fx, item.SubForceJ.Fy, item.SubForceJ.Fz, item.SubForceJ.Mx, item.SubForceJ.My, item.SubForceJ.Mz]
350
362
  is_composite = item.IsComposite
351
363
  shear_force = item.ShearForce
352
- list_res.append(str(CompositeElementForce(item.ElementId, all_force_i, all_force_j, shear_force,
353
- main_force_i, main_force_j, sub_force_i, sub_force_j, is_composite)))
364
+ list_res.append(CompositeElementForce(item.ElementId, all_force_i, all_force_j, shear_force,
365
+ main_force_i, main_force_j, sub_force_i, sub_force_j, is_composite).__str__())
354
366
 
355
367
  else:
356
368
  raise TypeError(f"操作错误,不存在{item.ElementType}类型")
@@ -372,7 +384,7 @@ class Odb:
372
384
  try:
373
385
  item = qt_model.GetSelfConcurrentReaction(nodeId=node_id, caseName=case_name)
374
386
  force = [item.Force.Fx, item.Force.Fy, item.Force.Fz, item.Force.Mx, item.Force.My, item.Force.Mz]
375
- return str(SupportReaction(item.NodeId, force))
387
+ return SupportReaction(item.NodeId, force).__str__()
376
388
  except Exception as ex:
377
389
  raise Exception(ex)
378
390
 
@@ -392,7 +404,7 @@ class Odb:
392
404
  list_res = []
393
405
  for item in res_dict:
394
406
  force = [item.Force.Fx, item.Force.Fy, item.Force.Fz, item.Force.Mx, item.Force.My, item.Force.Mz]
395
- list_res.append(str(SupportReaction(item.NodeId, force)))
407
+ list_res.append(SupportReaction(item.NodeId, force).__str__())
396
408
  return list_res
397
409
  except Exception as ex:
398
410
  raise Exception(ex)
@@ -416,13 +428,13 @@ class Odb:
416
428
  if item.ElementType == "BEAM":
417
429
  force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
418
430
  force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
419
- list_res.append(str(BeamElementForce(item.ElementId, force_i, force_j, item.Time)))
431
+ list_res.append(BeamElementForce(item.ElementId, force_i, force_j, item.Time).__str__())
420
432
  elif item.ElementType == "SHELL" or item.ElementType == "PLATE":
421
433
  force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
422
434
  force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
423
435
  force_k = [item.ForceK.Fx, item.ForceK.Fy, item.ForceK.Fz, item.ForceK.Mx, item.ForceK.My, item.ForceK.Mz]
424
436
  force_l = [item.ForceL.Fx, item.ForceL.Fy, item.ForceL.Fz, item.ForceL.Mx, item.ForceL.My, item.ForceL.Mz]
425
- list_res.append(str(ShellElementForce(item.ElementId, force_i, force_j, force_k, force_l, item.Time)))
437
+ list_res.append(ShellElementForce(item.ElementId, force_i, force_j, force_k, force_l, item.Time).__str__())
426
438
  elif item.ElementType == "COM-BEAM":
427
439
  all_force_i = [item.ForceI.Fx, item.ForceI.Fy, item.ForceI.Fz, item.ForceI.Mx, item.ForceI.My, item.ForceI.Mz]
428
440
  all_force_j = [item.ForceJ.Fx, item.ForceJ.Fy, item.ForceJ.Fz, item.ForceJ.Mx, item.ForceJ.My, item.ForceJ.Mz]
@@ -434,8 +446,8 @@ class Odb:
434
446
  sub_force_j = [item.SubForceJ.Fx, item.SubForceJ.Fy, item.SubForceJ.Fz, item.SubForceJ.Mx, item.SubForceJ.My, item.SubForceJ.Mz]
435
447
  is_composite = item.IsComposite
436
448
  shear_force = item.ShearForce
437
- list_res.append(str(CompositeElementForce(item.ElementId, all_force_i, all_force_j, shear_force,
438
- main_force_i, main_force_j, sub_force_i, sub_force_j, is_composite)))
449
+ list_res.append(CompositeElementForce(item.ElementId, all_force_i, all_force_j, shear_force,
450
+ main_force_i, main_force_j, sub_force_i, sub_force_j, is_composite).__str__())
439
451
  return list_res
440
452
  except Exception as ex:
441
453
  raise Exception(ex)
@@ -461,7 +473,7 @@ class Odb:
461
473
  list_res = []
462
474
  for item in bf_list:
463
475
  force = [item.Force.Dx, item.Force.Dy, item.Force.Dz, item.Force.Rx, item.Force.Ry, item.Force.Rz]
464
- list_res.append(str(ElasticLinkForce(item.NodeId, force)))
476
+ list_res.append(ElasticLinkForce(item.NodeId, force).__str__())
465
477
  return list_res if len(list_res) > 1 else list_res[0]
466
478
  except Exception as ex:
467
479
  raise Exception(ex)
@@ -487,7 +499,7 @@ class Odb:
487
499
  list_res = []
488
500
  for item in bf_list:
489
501
  force = [item.Force.Dx, item.Force.Dy, item.Force.Dz, item.Force.Rx, item.Force.Ry, item.Force.Rz]
490
- list_res.append(str(ConstrainEquationForce(item.NodeId, force)))
502
+ list_res.append(ConstrainEquationForce(item.NodeId, force).__str__())
491
503
  return list_res if len(list_res) > 1 else list_res[0]
492
504
  except Exception as ex:
493
505
  raise Exception(ex)
@@ -508,8 +520,8 @@ class Odb:
508
520
  bf_list = qt_model.GetCableElementLength(ids=ids, stageId=stage_id, incrementType=increment_type)
509
521
  list_res = []
510
522
  for item in bf_list:
511
- list_res.append(str(CableLengthResult(item.ElementId, item.UnstressedLength, item.CosAXi, item.CosAYi, item.CosAZi,
512
- item.CosAXj, item.CosAYj, item.CosAZj, item.Dx, item.Dy, item.Dz)))
523
+ list_res.append(CableLengthResult(item.ElementId, item.UnstressedLength, item.CosAXi, item.CosAYi, item.CosAZi,
524
+ item.CosAXj, item.CosAYj, item.CosAZj, item.Dx, item.Dy, item.Dz).__str__())
513
525
  return list_res if len(list_res) > 1 else list_res[0]
514
526
  except Exception as ex:
515
527
  raise Exception(ex)
@@ -536,7 +548,7 @@ class Odb:
536
548
  item.ModeParticipationMass.Rx, item.ModeParticipationMass.Ry, item.ModeParticipationMass.Rz]
537
549
  sum_mode_mass = [item.SumOfModeParticipationMass.Dx, item.SumOfModeParticipationMass.Dy, item.SumOfModeParticipationMass.Dz,
538
550
  item.SumOfModeParticipationMass.Rx, item.SumOfModeParticipationMass.Ry, item.SumOfModeParticipationMass.Rz]
539
- list_res.append(str(FreeVibrationResult(item.OrderId, item.AngularFrequency, mode_mass, sum_mode_mass, mode_factor)))
551
+ list_res.append(FreeVibrationResult(item.OrderId, item.AngularFrequency, mode_mass, sum_mode_mass, mode_factor).__str__())
540
552
  return list_res
541
553
  except Exception as ex:
542
554
  raise Exception(ex)
@@ -557,7 +569,7 @@ class Odb:
557
569
  for item in bf_list:
558
570
  displacements = [item.Displacement.Dx, item.Displacement.Dy, item.Displacement.Dz,
559
571
  item.Displacement.Rx, item.Displacement.Ry, item.Displacement.Rz]
560
- list_res.append(str(NodeDisplacement(item.NodeId, displacements, item.Time)))
572
+ list_res.append(NodeDisplacement(item.NodeId, displacements, item.Time).__str__())
561
573
  except Exception as ex:
562
574
  raise Exception(ex)
563
575
 
@@ -574,7 +586,7 @@ class Odb:
574
586
  bf_list = qt_model.GetBucklingEigenvalue()
575
587
  list_res = []
576
588
  for item in bf_list:
577
- list_res.append(str(ElasticBucklingResult(item.OrderId, item.EigenValue)))
589
+ list_res.append(ElasticBucklingResult(item.OrderId, item.EigenValue).__str__())
578
590
  return list_res
579
591
  except Exception as ex:
580
592
  raise Exception(ex)
@@ -595,7 +607,7 @@ class Odb:
595
607
  for item in bf_list:
596
608
  displacements = [item.Displacement.Dx, item.Displacement.Dy, item.Displacement.Dz,
597
609
  item.Displacement.Rx, item.Displacement.Ry, item.Displacement.Rz]
598
- list_res.append(str(NodeDisplacement(item.NodeId, displacements, item.Time)))
610
+ list_res.append(NodeDisplacement(item.NodeId, displacements, item.Time).__str__())
599
611
  except Exception as ex:
600
612
  raise Exception(ex)
601
613
 
@@ -1398,7 +1410,7 @@ class Odb:
1398
1410
  node_list = qt_model.GetNodeData(ids)
1399
1411
  res_list = []
1400
1412
  for item in node_list:
1401
- res_list.append(str(Node(item.Id, item.XCoor, item.YCoor, item.ZCoor)))
1413
+ res_list.append(Node(item.Id, item.XCoor, item.YCoor, item.ZCoor).__str__())
1402
1414
  return res_list if len(res_list) > 1 else res_list[0]
1403
1415
  except Exception as ex:
1404
1416
  raise Exception(ex)
@@ -1473,7 +1485,8 @@ class Odb:
1473
1485
  else:
1474
1486
  item_list = qt_model.GetBeamElementData(ids)
1475
1487
  for item in item_list:
1476
- res_list.append(str(Element(item.Id, "BEAM", [item.StartNode.Id, item.EndNode.Id], item.MaterialId, item.SectionId, item.BetaAngle)))
1488
+ res_list.append(Element(item.Id, "BEAM", [item.StartNode.Id, item.EndNode.Id],
1489
+ item.MaterialId, item.SectionId, item.BetaAngle).__str__())
1477
1490
  return res_list
1478
1491
  except Exception as ex:
1479
1492
  raise Exception(ex)
@@ -1495,8 +1508,8 @@ class Odb:
1495
1508
  else:
1496
1509
  item_list = qt_model.GetPlateElementData(ids)
1497
1510
  for item in item_list:
1498
- res_list.append(str(Element(item.Id, "PLATE", [item.NodeI.Id, item.NodeJ.Id, item.NodeK.Id, item.NodeL.Id],
1499
- item.MaterialId, item.ThicknessId, item.BetaAngle)))
1511
+ res_list.append(Element(item.Id, "PLATE", [item.NodeI.Id, item.NodeJ.Id, item.NodeK.Id, item.NodeL.Id],
1512
+ item.MaterialId, item.ThicknessId, item.BetaAngle).__str__())
1500
1513
  return res_list
1501
1514
  except Exception as ex:
1502
1515
  raise Exception(ex)
@@ -1518,8 +1531,8 @@ class Odb:
1518
1531
  else:
1519
1532
  item_list = qt_model.GetCableElementData(ids)
1520
1533
  for item in item_list:
1521
- res_list.append(str(Element(item.Id, "CABLE", [item.StartNode.Id, item.EndNode.Id], item.MaterialId, item.SectionId, item.BetaAngle,
1522
- int(item.InitialParameterType), item.InitialParameter)))
1534
+ res_list.append(Element(item.Id, "CABLE", [item.StartNode.Id, item.EndNode.Id], item.MaterialId, item.SectionId, item.BetaAngle,
1535
+ int(item.InitialParameterType), item.InitialParameter).__str__())
1523
1536
  return res_list
1524
1537
  except Exception as ex:
1525
1538
  raise Exception(ex)
@@ -1541,7 +1554,8 @@ class Odb:
1541
1554
  else:
1542
1555
  item_list = qt_model.GetLinkElementData(ids)
1543
1556
  for item in item_list:
1544
- res_list.append(str(Element(item.Id, "LINK", [item.StartNode.Id, item.EndNode.Id], item.MaterialId, item.SectionId, item.BetaAngle)))
1557
+ res_list.append(Element(item.Id, "LINK", [item.StartNode.Id, item.EndNode.Id],
1558
+ item.MaterialId, item.SectionId, item.BetaAngle).__str__())
1545
1559
  return res_list
1546
1560
  except Exception as ex:
1547
1561
  raise Exception(ex)
@@ -1581,10 +1595,10 @@ class Odb:
1581
1595
  item_list = qt_model.GetConcreteMaterialData(ids)
1582
1596
  for item in item_list:
1583
1597
  creep_id = -1 if item.IsCalShrinkCreep is False else item.ConcreteTimeDependency.Id
1584
- res_list.append(str(Material(mat_id=item.Id, name=item.Name, mat_type="混凝土", standard=item.Standard, database=item.Database,
1598
+ res_list.append(Material(mat_id=item.Id, name=item.Name, mat_type="混凝土", standard=item.Standard, database=item.Database,
1585
1599
  data_info=[item.ElasticModulus, item.UnitWeight, item.PosiRatio, item.TemperatureCoefficient],
1586
1600
  modified=item.IsModifiedByUser, construct_factor=item.ConstructionCoefficient,
1587
- creep_id=creep_id, f_cuk=item.StrengthCheck.Fcuk)))
1601
+ creep_id=creep_id, f_cuk=item.StrengthCheck.Fcuk).__str__())
1588
1602
  return res_list
1589
1603
  except Exception as ex:
1590
1604
  raise Exception(ex)
@@ -1603,11 +1617,11 @@ class Odb:
1603
1617
  res_list = []
1604
1618
  item_list = qt_model.GetSteelPlateMaterialData(ids)
1605
1619
  for item in item_list:
1606
- res_list.append(str(Material(mat_id=item.Id, name=item.Name, mat_type="钢材", standard=item.Standard,
1620
+ res_list.append(Material(mat_id=item.Id, name=item.Name, mat_type="钢材", standard=item.Standard,
1607
1621
  database=item.StrengthCheck.Database,
1608
1622
  data_info=[item.ElasticModulus, item.UnitWeight, item.PosiRatio, item.TemperatureCoefficient],
1609
1623
  modified=item.IsModifiedByUser, construct_factor=item.ConstructionCoefficient,
1610
- creep_id=-1, f_cuk=0)))
1624
+ creep_id=-1, f_cuk=0).__str__())
1611
1625
  return res_list
1612
1626
  except Exception as ex:
1613
1627
  raise Exception(ex)
@@ -1626,10 +1640,10 @@ class Odb:
1626
1640
  res_list = []
1627
1641
  item_list = qt_model.GetPreStressedBarMaterialData(ids)
1628
1642
  for item in item_list:
1629
- res_list.append(str(Material(mat_id=item.Id, name=item.Name, mat_type="预应力", standard=item.Standard, database=item.Database,
1643
+ res_list.append(Material(mat_id=item.Id, name=item.Name, mat_type="预应力", standard=item.Standard, database=item.Database,
1630
1644
  data_info=[item.ElasticModulus, item.UnitWeight, item.PosiRatio, item.TemperatureCoefficient],
1631
1645
  modified=item.IsModifiedByUser, construct_factor=item.ConstructionCoefficient,
1632
- creep_id=-1, f_cuk=0)))
1646
+ creep_id=-1, f_cuk=0).__str__())
1633
1647
  return res_list
1634
1648
  except Exception as ex:
1635
1649
  raise Exception(ex)
@@ -1647,10 +1661,10 @@ class Odb:
1647
1661
  res_list = []
1648
1662
  item_list = qt_model.GetSteelBarMaterialData(ids)
1649
1663
  for item in item_list:
1650
- res_list.append(str(Material(mat_id=item.Id, name=item.Name, mat_type="钢筋", standard=item.Standard, database=item.Database,
1664
+ res_list.append(Material(mat_id=item.Id, name=item.Name, mat_type="钢筋", standard=item.Standard, database=item.Database,
1651
1665
  data_info=[item.ElasticModulus, item.UnitWeight, item.PosiRatio, item.TemperatureCoefficient],
1652
1666
  modified=item.IsModifiedByUser, construct_factor=item.ConstructionCoefficient,
1653
- creep_id=-1, f_cuk=0)))
1667
+ creep_id=-1, f_cuk=0).__str__())
1654
1668
  return res_list
1655
1669
 
1656
1670
  @staticmethod
@@ -1669,9 +1683,9 @@ class Odb:
1669
1683
  item_list = qt_model.GetUserDefinedMaterialData(ids)
1670
1684
  for item in item_list:
1671
1685
  creep_id = -1 if item.IsCalShrinkCreep is False else item.ConcreteTimeDependency.Id
1672
- res_list.append(str(Material(mat_id=item.Id, name=item.Name, mat_type="自定义", standard="null", database="null",
1686
+ res_list.append(Material(mat_id=item.Id, name=item.Name, mat_type="自定义", standard="null", database="null",
1673
1687
  data_info=[item.ElasticModulus, item.UnitWeight, item.PosiRatio, item.TemperatureCoefficient],
1674
- construct_factor=item.ConstructionCoefficient, creep_id=creep_id, f_cuk=item.Fcuk)))
1688
+ construct_factor=item.ConstructionCoefficient, creep_id=creep_id, f_cuk=item.Fcuk).__str__())
1675
1689
  return res_list
1676
1690
  except Exception as ex:
1677
1691
  raise Exception(ex)
@@ -1713,10 +1727,10 @@ class Odb:
1713
1727
  for group in group_names:
1714
1728
  item_list = qt_model.GetGeneralSupportData(group)
1715
1729
  for data in item_list:
1716
- res_list.append(str(GeneralSupport(data.Id, node_id=data.Node.Id,
1730
+ res_list.append(GeneralSupport(data.Id, node_id=data.Node.Id,
1717
1731
  boundary_info=(data.IsFixedX, data.IsFixedY, data.IsFixedZ,
1718
1732
  data.IsFixedRx, data.IsFixedRy, data.IsFixedRZ),
1719
- group_name=group, node_system=int(data.NodalCoordinateSystem))))
1733
+ group_name=group, node_system=int(data.NodalCoordinateSystem)).__str__())
1720
1734
  return res_list
1721
1735
  except Exception as ex:
1722
1736
  raise Exception(ex)
@@ -1740,10 +1754,10 @@ class Odb:
1740
1754
  for group in group_names:
1741
1755
  item_list = qt_model.GetElasticLinkData(group)
1742
1756
  for data in item_list:
1743
- res_list.append(str(ElasticLink(link_id=data.Id, link_type=int(data.Type) + 1,
1757
+ res_list.append(ElasticLink(link_id=data.Id, link_type=int(data.Type) + 1,
1744
1758
  start_id=data.StartNode.Id, end_id=data.EndNode.Id, beta_angle=data.Beta,
1745
1759
  boundary_info=(data.Kx, data.Ky, data.Kz, data.Krx, data.Kry, data.Krz),
1746
- group_name=group, dis_ratio=data.DistanceRatio, kx=data.Kx)))
1760
+ group_name=group, dis_ratio=data.DistanceRatio, kx=data.Kx).__str__())
1747
1761
  return res_list
1748
1762
  except Exception as ex:
1749
1763
  raise Exception(ex)
@@ -1767,9 +1781,9 @@ class Odb:
1767
1781
  for group in group_names:
1768
1782
  item_list = qt_model.GetElasticSupportData(group)
1769
1783
  for data in item_list:
1770
- res_list.append(str(ElasticSupport(support_id=data.Id, node_id=data.Node.Id, support_type=int(data.Type) + 1,
1784
+ res_list.append(ElasticSupport(support_id=data.Id, node_id=data.Node.Id, support_type=int(data.Type) + 1,
1771
1785
  boundary_info=(data.Kx, data.Ky, data.Kz, data.Krx, data.Kry, data.Krz),
1772
- group_name=group, node_system=int(data.NodalCoordinateSystem))))
1786
+ group_name=group, node_system=int(data.NodalCoordinateSystem)).__str__())
1773
1787
  return res_list
1774
1788
  except Exception as ex:
1775
1789
  raise Exception(ex)
@@ -1793,10 +1807,10 @@ class Odb:
1793
1807
  for group in group_names:
1794
1808
  item_list = qt_model.GetMasterSlaveLinkData(group)
1795
1809
  for data in item_list:
1796
- res_list.append(str(MasterSlaveLink(link_id=data.Id, master_id=data.MasterNode.Id, slave_id=data.SlaveNode.Id,
1810
+ res_list.append(MasterSlaveLink(link_id=data.Id, master_id=data.MasterNode.Id, slave_id=data.SlaveNode.Id,
1797
1811
  boundary_info=(data.IsFixedX, data.IsFixedY, data.IsFixedZ,
1798
1812
  data.IsFixedRx, data.IsFixedRy, data.IsFixedRZ),
1799
- group_name=group)))
1813
+ group_name=group).__str__())
1800
1814
  return res_list
1801
1815
  except Exception as ex:
1802
1816
  raise Exception(ex)
@@ -1815,8 +1829,8 @@ class Odb:
1815
1829
  for group in Odb.get_boundary_group_names():
1816
1830
  item_list = qt_model.GetNodalLocalAxisData(group)
1817
1831
  for data in item_list:
1818
- res_list.append(str(NodalLocalAxis(data.Node.Id, (data.VectorX.X, data.VectorX.Y, data.VectorX.Z),
1819
- (data.VectorY.X, data.VectorY.Y, data.VectorY.Z))))
1832
+ res_list.append(NodalLocalAxis(data.Node.Id, (data.VectorX.X, data.VectorX.Y, data.VectorX.Z),
1833
+ (data.VectorY.X, data.VectorY.Y, data.VectorY.Z)).__str__())
1820
1834
  return res_list
1821
1835
  except Exception as ex:
1822
1836
  raise Exception(ex)
@@ -1840,11 +1854,12 @@ class Odb:
1840
1854
  for group in group_names:
1841
1855
  item_list = qt_model.GetBeamConstraintData(group)
1842
1856
  for data in item_list:
1843
- info_i = (
1844
- not data.IsIFreedX, not data.IsIFreedY, not data.IsIFreedZ, not data.IsIFreedRx, not data.IsIFreedRy, not data.IsIFreedRZ)
1845
- info_j = (
1846
- not data.IsJFreedX, not data.IsJFreedY, not data.IsJFreedZ, not data.IsJFreedRx, not data.IsJFreedRy, not data.IsJFreedRZ)
1847
- res_list.append(str(BeamConstraint(constraint_id=data.Id, beam_id=data.Beam.Id, info_i=info_i, info_j=info_j, group_name=group)))
1857
+ info_i = ( not data.IsIFreedX, not data.IsIFreedY, not data.IsIFreedZ,
1858
+ not data.IsIFreedRx, not data.IsIFreedRy, not data.IsIFreedRZ)
1859
+ info_j = (not data.IsJFreedX, not data.IsJFreedY, not data.IsJFreedZ,
1860
+ not data.IsJFreedRx, not data.IsJFreedRy, not data.IsJFreedRZ)
1861
+ res_list.append(BeamConstraint(constraint_id=data.Id, beam_id=data.Beam.Id,
1862
+ info_i=info_i, info_j=info_j, group_name=group).__str__())
1848
1863
  return res_list
1849
1864
  except Exception as ex:
1850
1865
  raise Exception(ex)
@@ -1872,8 +1887,8 @@ class Odb:
1872
1887
  for info in data.ConstraintEquationMasterDofDatas:
1873
1888
  master_info.append((info.MasterNode.Id, int(info.MasterDof) + 1, info.Factor))
1874
1889
  res_list.append(
1875
- str(ConstraintEquation(data.Id, name=data.Name, sec_node=data.SecondaryNode.Id, sec_dof=int(data.SecondaryDof) + 1,
1876
- master_info=master_info, group_name=group)))
1890
+ ConstraintEquation(data.Id, name=data.Name, sec_node=data.SecondaryNode.Id, sec_dof=int(data.SecondaryDof) + 1,
1891
+ master_info=master_info, group_name=group).__str__())
1877
1892
  return res_list
1878
1893
  except Exception as ex:
1879
1894
  raise Exception(ex)
@@ -1897,9 +1912,9 @@ class Odb:
1897
1912
  for group in group_names:
1898
1913
  item_list = qt_model.GetEffectiveWidthFactorData(groupName=group_name)
1899
1914
  for item in item_list:
1900
- res_list.append(str(EffectiveWidth(index=item.Id, element_id=item.Element.Id, iy_i=item.Iy_I, iy_j=item.Iy_J,
1915
+ res_list.append(EffectiveWidth(index=item.Id, element_id=item.Element.Id, iy_i=item.Iy_I, iy_j=item.Iy_J,
1901
1916
  factor_i=item.IyFactor_I, factor_j=item.IyFactor_J,
1902
- dz_i=item.CentroidZ_I, dz_j=item.CentroidZ_J, group_name=group)))
1917
+ dz_i=item.CentroidZ_I, dz_j=item.CentroidZ_J, group_name=group).__str__())
1903
1918
  return res_list
1904
1919
  except Exception as ex:
1905
1920
  raise Exception(ex)
@@ -1998,8 +2013,9 @@ class Odb:
1998
2013
  res_list = []
1999
2014
  item_list = qt_model.GetPrestressLoadData(case_name)
2000
2015
  for data in item_list:
2001
- res_list.append(str(PreStressLoad(case_name=case_name, tendon_name=data.Tendon.Name,
2002
- tension_type=int(data.TendonTensionType), force=data.TensionForce, group_name=data.LoadGroup.Name)))
2016
+ res_list.append(PreStressLoad(case_name=case_name, tendon_name=data.Tendon.Name,
2017
+ tension_type=int(data.TendonTensionType), force=data.TensionForce,
2018
+ group_name=data.LoadGroup.Name).__str__())
2003
2019
  return res_list
2004
2020
  except Exception as ex:
2005
2021
  raise Exception(ex)
@@ -2017,10 +2033,10 @@ class Odb:
2017
2033
  res_list = []
2018
2034
  item_list = qt_model.GetNodalMassLoadData()
2019
2035
  for data in item_list:
2020
- res_list.append(str(NodalMass(data.Node.Id, mass_info=(data.MassAlongZ,
2036
+ res_list.append(NodalMass(data.Node.Id, mass_info=(data.MassAlongZ,
2021
2037
  data.InertialMassMomentAlongX,
2022
2038
  data.InertialMassMomentAlongY,
2023
- data.InertialMassMomentAlongZ))))
2039
+ data.InertialMassMomentAlongZ)).__str__())
2024
2040
  return res_list
2025
2041
  except Exception as ex:
2026
2042
  raise Exception(ex)
@@ -2039,9 +2055,9 @@ class Odb:
2039
2055
  item_list = qt_model.GetNodeForceLoadData(case_name)
2040
2056
  for data in item_list:
2041
2057
  load = data.Force
2042
- res_list.append(str(NodalForce(node_id=data.Node.Id, case_name=case_name,
2058
+ res_list.append(NodalForce(node_id=data.Node.Id, case_name=case_name,
2043
2059
  load_info=(load.ForceX, load.ForceY, load.ForceZ,
2044
- load.MomentX, load.MomentY, load.MomentZ), group_name=data.LoadGroup.Name)))
2060
+ load.MomentX, load.MomentY, load.MomentZ), group_name=data.LoadGroup.Name).__str__())
2045
2061
  return res_list
2046
2062
 
2047
2063
  @staticmethod
@@ -2059,9 +2075,10 @@ class Odb:
2059
2075
  item_list = qt_model.GetNodeForceLoadData(case_name)
2060
2076
  for data in item_list:
2061
2077
  load = data.NodalForceDisplacement
2062
- res_list.append(str(NodalForceDisplacement(node_id=data.Node.Id, case_name=case_name,
2063
- load_info=(load.DispX, load.DispY, load.DispZ,
2064
- load.DispRx, load.DispRy, load.DispRz), group_name=data.LoadGroup.Name)))
2078
+ res_list.append(NodalForceDisplacement(node_id=data.Node.Id, case_name=case_name,
2079
+ load_info=(load.DispX, load.DispY, load.DispZ,
2080
+ load.DispRx, load.DispRy, load.DispRz),
2081
+ group_name=data.LoadGroup.Name).__str__())
2065
2082
  return res_list
2066
2083
  except Exception as ex:
2067
2084
  raise Exception(ex)
@@ -2082,16 +2099,16 @@ class Odb:
2082
2099
  for item in item_list_concentrated_load:
2083
2100
  load_bias = (item.FrameLoadBias.IsBias, item.FrameLoadBias.LoadBiasPosition,
2084
2101
  int(item.FrameLoadBias.CoordinateSystem) + 1, item.FrameLoadBias.Distance)
2085
- res_list.append(str(BeamElementLoad(item.ElementId, case_name, int(item.ElementLoadType) + 1, int(item.LoadCoordinateSystem),
2102
+ res_list.append(BeamElementLoad(item.ElementId, case_name, int(item.ElementLoadType) + 1, int(item.LoadCoordinateSystem),
2086
2103
  list_x=[item.Distance], list_load=[item.Force], group_name=item.LoadGroup.Name,
2087
- load_bias=load_bias, projected=False)))
2104
+ load_bias=load_bias, projected=False).__str__())
2088
2105
  item_list_distribute_load = qt_model.GetBeamDistributeLoadData(case_name)
2089
2106
  for item in item_list_distribute_load:
2090
2107
  load_bias = (item.FrameLoadBias.IsBias, item.FrameLoadBias.LoadBiasPosition,
2091
2108
  int(item.FrameLoadBias.CoordinateSystem) + 1, item.FrameLoadBias.Distance)
2092
- res_list.append(str(BeamElementLoad(item.ElementId, case_name, int(item.ElementLoadType) + 1, int(item.LoadCoordinateSystem),
2109
+ res_list.append(BeamElementLoad(item.ElementId, case_name, int(item.ElementLoadType) + 1, int(item.LoadCoordinateSystem),
2093
2110
  list_x=[item.StartDistance, item.EndDistance], list_load=[item.StartForce, item.EndForce],
2094
- group_name=item.LoadGroup.Name, load_bias=load_bias, projected=item.IsProjection)))
2111
+ group_name=item.LoadGroup.Name, load_bias=load_bias, projected=item.IsProjection).__str__())
2095
2112
  return res_list
2096
2113
  except Exception as ex:
2097
2114
  raise Exception(ex)
@@ -2110,19 +2127,20 @@ class Odb:
2110
2127
  res_list = []
2111
2128
  item_list_concentrated_load = qt_model.GetPlateConcentratedLoadData(case_name)
2112
2129
  for item in item_list_concentrated_load:
2113
- res_list.append(str(PlateElementLoad(element_id=item.ElementId, case_name=case_name, load_type=int(item.ElementLoadType) + 1,
2130
+ res_list.append(PlateElementLoad(element_id=item.ElementId, case_name=case_name, load_type=int(item.ElementLoadType) + 1,
2114
2131
  load_place=0, coord_system=int(item.LoadCoordinateSystem) + 1,
2115
- group_name=item.LoadGroup.Name, load_list=[item.P], xy_list=(item.Dx, item.Dy))))
2132
+ group_name=item.LoadGroup.Name, load_list=[item.P], xy_list=(item.Dx, item.Dy)).__str__())
2116
2133
  line_load_list = qt_model.GetPlateDistributeLineLoadData(case_name)
2117
2134
  for item in line_load_list:
2118
- res_list.append(str(PlateElementLoad(element_id=item.ElementId, case_name=case_name, load_type=int(item.ElementLoadType) + 1,
2135
+ res_list.append(PlateElementLoad(element_id=item.ElementId, case_name=case_name, load_type=int(item.ElementLoadType) + 1,
2119
2136
  load_place=int(item.PlateLoadPosition) - 1, coord_system=int(item.LoadCoordinateSystem) + 1,
2120
- group_name=item.LoadGroup.Name, load_list=[item.P1, item.P2], xy_list=None)))
2137
+ group_name=item.LoadGroup.Name, load_list=[item.P1, item.P2], xy_list=None).__str__())
2121
2138
  line_load_list = qt_model.GetPlateDistributeAreaLoadData(case_name)
2122
2139
  for item in line_load_list:
2123
- res_list.append(str(PlateElementLoad(element_id=item.ElementId, case_name=case_name, load_type=int(item.ElementLoadType) + 1,
2140
+ res_list.append(PlateElementLoad(element_id=item.ElementId, case_name=case_name, load_type=int(item.ElementLoadType) + 1,
2124
2141
  load_place=0, coord_system=int(item.LoadCoordinateSystem) + 1,
2125
- group_name=item.LoadGroup.Name, load_list=[item.P1, item.P2, item.P3, item.P4], xy_list=None)))
2142
+ group_name=item.LoadGroup.Name, load_list=[item.P1, item.P2, item.P3, item.P4],
2143
+ xy_list=None).__str__())
2126
2144
  return res_list
2127
2145
  except Exception as ex:
2128
2146
  raise Exception(ex)
@@ -2141,8 +2159,8 @@ class Odb:
2141
2159
  res_list = []
2142
2160
  item_list_load = qt_model.GetInitialTensionLoadData(case_name)
2143
2161
  for item in item_list_load:
2144
- res_list.append(str(InitialTension(element_id=item.ElementId, case_name=case_name, group_name=item.LoadGroup.Name,
2145
- tension_type=int(item.CableTensionType), tension=item.Tension)))
2162
+ res_list.append(InitialTension(element_id=item.ElementId, case_name=case_name, group_name=item.LoadGroup.Name,
2163
+ tension_type=int(item.CableTensionType), tension=item.Tension).__str__())
2146
2164
  return res_list
2147
2165
  except Exception as ex:
2148
2166
  raise Exception(ex)
@@ -2161,8 +2179,8 @@ class Odb:
2161
2179
  res_list = []
2162
2180
  item_list_load = qt_model.GetCableLengthLoadData(case_name)
2163
2181
  for item in item_list_load:
2164
- res_list.append(str(CableLengthLoad(element_id=item.ElementId, case_name=case_name, group_name=item.LoadGroup.Name,
2165
- tension_type=int(item.CableTensionType), length=item.UnstressedLength)))
2182
+ res_list.append(CableLengthLoad(element_id=item.ElementId, case_name=case_name, group_name=item.LoadGroup.Name,
2183
+ tension_type=int(item.CableTensionType), length=item.UnstressedLength).__str__())
2166
2184
  return res_list
2167
2185
  except Exception as ex:
2168
2186
  raise Exception(ex)
@@ -2180,16 +2198,16 @@ class Odb:
2180
2198
  res_list = []
2181
2199
  beam_list_parameter = qt_model.GetBeamDeviationParameterData()
2182
2200
  for item in beam_list_parameter:
2183
- res_list.append(str(DeviationParameter(item.Name, element_type=1,
2201
+ res_list.append(DeviationParameter(item.Name, element_type=1,
2184
2202
  parameters=[item.AxialDeviation, item.StartAngleDeviationDirectX,
2185
2203
  item.StartAngleDeviationDirectY, item.StartAngleDeviationDirectZ,
2186
2204
  item.EndAngleDeviationDirectX, item.EndAngleDeviationDirectY,
2187
- item.EndAngleDeviationDirectZ])))
2205
+ item.EndAngleDeviationDirectZ]).__str__())
2188
2206
  plate_list_parameter = qt_model.GetPlateDeviationParameterData()
2189
2207
  for item in plate_list_parameter:
2190
- res_list.append(str(DeviationParameter(item.Name, element_type=2,
2208
+ res_list.append(DeviationParameter(item.Name, element_type=2,
2191
2209
  parameters=[item.DisplacementDirectX, item.DisplacementDirectY, item.DisplacementDirectZ,
2192
- item.RotationDirectX, item.RotationDirectY])))
2210
+ item.RotationDirectX, item.RotationDirectY]).__str__())
2193
2211
  return res_list
2194
2212
  except Exception as ex:
2195
2213
  raise Exception(ex)
@@ -2208,14 +2226,14 @@ class Odb:
2208
2226
  res_list = []
2209
2227
  beam_list_load = qt_model.GetBeamDeviationLoadData(case_name)
2210
2228
  for item in beam_list_load:
2211
- res_list.append(str(DeviationLoad(item.Element.Id, case_name=case_name,
2229
+ res_list.append(DeviationLoad(item.Element.Id, case_name=case_name,
2212
2230
  parameters=[item.BeamDeviationParameter.Name],
2213
- group_name=item.LoadGroup.Name)))
2231
+ group_name=item.LoadGroup.Name).__str__())
2214
2232
  plate_list_load = qt_model.GetPlateDeviationLoadData(case_name)
2215
2233
  for item in plate_list_load:
2216
- res_list.append(str(DeviationLoad(item.Element.Id, case_name=case_name,
2234
+ res_list.append(DeviationLoad(item.Element.Id, case_name=case_name,
2217
2235
  parameters=[item.PlateDeviation[0].Name, item.PlateDeviation[0].Name,
2218
- item.PlateDeviation[2].Name, item.PlateDeviation[3].Name])))
2236
+ item.PlateDeviation[2].Name, item.PlateDeviation[3].Name]).__str__())
2219
2237
  return res_list
2220
2238
  except Exception as ex:
2221
2239
  raise Exception(ex)
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.9.3
4
- Summary: python modeling for qt 2025-06-30
3
+ Version: 0.9.5
4
+ Summary: python modeling for qt 2025-07-04
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
7
7
  Author-email: 1105417715@qq.com
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- > 最新版本 V0.9.3 - 2025-06-30
15
+ > 最新版本 V0.9.5 - 2025-07-04
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
17
  - 新增更新结构组接口
18
18
  # 建模操作
@@ -155,7 +155,7 @@ mdb.export_file(file_path="a.mct")
155
155
  ```
156
156
  Returns: 无
157
157
  ## 分析设置
158
- ### update_general_setting
158
+ ### update_project_setting
159
159
  更新总体设置
160
160
  > 参数:
161
161
  > project: 项目名
@@ -169,7 +169,7 @@ Returns: 无
169
169
  ```Python
170
170
  # 示例代码
171
171
  from qtmodel import *
172
- mdb.update_general_setting(project="项目名",gravity=9.8,temperature=20)
172
+ mdb.update_project_setting(project="项目名",gravity=9.8,temperature=20)
173
173
  ```
174
174
  Returns: 无
175
175
  ### update_global_setting
@@ -3229,6 +3229,16 @@ mdb.remove_load_combine(name="荷载组合1")
3229
3229
  ```
3230
3230
  Returns: 无
3231
3231
  # 视图与结果提取
3232
+ ### display_info
3233
+ 显示字典并打印
3234
+ > 参数:
3235
+ > dict_info:是否打开节点号显示
3236
+ ```Python
3237
+ # 示例代码
3238
+ from qtmodel import *
3239
+ odb.display_info(Node(1,1,2,3))
3240
+ ```
3241
+ Returns: 无
3232
3242
  ## 视图控制
3233
3243
  ### display_node_id
3234
3244
  设置节点号显示
@@ -11,7 +11,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
11
11
 
12
12
  setup(
13
13
  name="qtmodel",
14
- version=f"V0.9.3",
14
+ version=f"V0.9.5",
15
15
  author="dqy-zhj",
16
16
  author_email="1105417715@qq.com",
17
17
  description=f"python modeling for qt {datetime.now().date()} ",
File without changes
File without changes