qtmodel 0.5.41__tar.gz → 0.5.43__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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.41
3
+ Version: 0.5.43
4
4
  Summary: python modeling for qt 24/11/27
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
@@ -12,9 +12,9 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- # 最新版本 V0.5.41 - 2024.11.26
15
+ # 最新版本 V0.5.43 - 2024.12.6
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
- - 添加自定义温度接口
17
+ - 优化钢束导入并修复单箱多室混凝土截面导入
18
18
  ## 项目管理
19
19
  ### update_bim
20
20
  刷新Bim模型信息
@@ -119,7 +119,7 @@ Returns: 无
119
119
  > 参数:
120
120
  > file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
121
121
  > convert_sec_group:是否将变截面组转换为变截面
122
- > type_kind:输出文件类型 1-详细文件 2-计算文件
122
+ > type_kind:输出文件类型 1-全部模型文件 2-计算相关文件 (py输出时 2-输出截面特性)
123
123
  > group_name:obj与 APDL导出时指定结构组导出
124
124
  ```Python
125
125
  # 示例代码
@@ -160,6 +160,37 @@ mdb.update_construction_stage_setting(do_analysis=True, to_end_stage=False, othe
160
160
  do_creep_analysis=True, cable_tension_position=0, consider_completion_stage=True,shrink_creep_type=2)
161
161
  ```
162
162
  Returns: 无
163
+ ### update_live_load_setting
164
+ 更新移动荷载分析设置
165
+ > 参数:
166
+ > lateral_spacing: 横向加密间距
167
+ > vertical_spacing: 纵向加密间距
168
+ > damper_calc_type: 模拟阻尼器约束方程计算类选项(-1-不考虑 0-全部组 1-部分)
169
+ > displacement_calc_type: 位移计算选项(-1-不考虑 0-全部组 1-部分)
170
+ > force_calc_type: 内力计算选项(-1-不考虑 0-全部组 1-部分)
171
+ > reaction_calc_type: 反力计算选项(-1-不考虑 0-全部组 1-部分)
172
+ > link_calc_type: 连接计算选项(-1-不考虑 0-全部组 1-部分)
173
+ > constrain_calc_type: 约束方程计算选项(-1-不考虑 0-全部组 1-部分)
174
+ > eccentricity: 离心力系数
175
+ > displacement_track: 是否追踪位移
176
+ > force_track: 是否追踪内力
177
+ > reaction_track: 是否追踪反力
178
+ > link_track: 是否追踪连接
179
+ > constrain_track: 是否追踪约束方程
180
+ > damper_groups: 模拟阻尼器约束方程计算类选项为组时边界组名称
181
+ > displacement_groups: 位移计算类选项为组时结构组名称
182
+ > force_groups: 内力计算类选项为组时结构组名称
183
+ > reaction_groups: 反力计算类选项为组时边界组名称
184
+ > link_groups: 弹性连接计算类选项为组时边界组名称
185
+ > constrain_groups: 约束方程计算类选项为组时边界组名称
186
+ ```Python
187
+ # 示例代码
188
+ from qtmodel import *
189
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=1)
190
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=2,displacement_track=True,
191
+ displacement_groups=["结构组1","结构组2"])
192
+ ```
193
+ Returns: 无
163
194
  ### update_non_linear_setting
164
195
  更新非线性设置
165
196
  > 参数:
@@ -595,6 +626,8 @@ Returns: 无
595
626
  > name:截面名称
596
627
  > begin_id:截面始端编号
597
628
  > end_id:截面末端编号
629
+ > shear_consider:考虑剪切变形
630
+ > sec_normalize: 开启变截面线圈和线宽自适应排序 (避免两端截面绘制顺序导致的渲染和计算失效)
598
631
  ```Python
599
632
  # 示例代码
600
633
  from qtmodel import *
@@ -973,7 +1006,7 @@ Returns: 无
973
1006
  添加移动荷载工况汽车折减
974
1007
  > 参数:
975
1008
  > name:活载工况名
976
- > code_index: 汽车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
1009
+ > code_index: 火车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
977
1010
  > cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
978
1011
  > calc_fatigue:是否计算疲劳
979
1012
  > line_count: 疲劳加载线路数
@@ -1212,7 +1245,7 @@ Returns: 无
1212
1245
  > num:根数
1213
1246
  > line_type:1-导线点 2-折线点
1214
1247
  > position_type: 定位方式 1-直线 2-轨迹线
1215
- > symmetry: 对称点 0-左 1-右 2-无
1248
+ > symmetry: 对称点 0-左端点 1-右端点 2-不对称
1216
1249
  > control_points: 控制点信息[(x1,z1,r1),(x2,z2,r2)....]
1217
1250
  > control_points_lateral: 控制点横弯信息[(x1,y1,r1),(x2,y2,r2)....],无横弯时不必输入
1218
1251
  > point_insert: 定位方式
@@ -1663,7 +1696,7 @@ mdb.remove_top_plate_temperature(case_name="荷载工况1",element_id=1,group_na
1663
1696
  ```
1664
1697
  Returns: 无
1665
1698
  ### add_custom_temperature
1666
- 删除梁单元顶板温度
1699
+ 添加梁自定义温度
1667
1700
  > 参数:
1668
1701
  > case_name:荷载工况名
1669
1702
  > element_id:单元编号,支持数或列表
@@ -1677,7 +1710,7 @@ mdb.add_custom_temperature(case_name="荷载工况1",element_id=1,orientation=1,
1677
1710
  ```
1678
1711
  Returns: 无
1679
1712
  ### remove_custom_temperature
1680
- 删除梁单元指数温度
1713
+ 删除梁单元自定义温度
1681
1714
  > 参数:
1682
1715
  > case_name:荷载工况名
1683
1716
  > element_id:单元编号,支持数或列表
@@ -1849,15 +1882,15 @@ active_boundaries=[("默认边界组",1)],active_loads=[("默认荷载组1",0)])
1849
1882
  ```
1850
1883
  Returns: 无
1851
1884
  ### update_weight_stage
1852
- 添加施工阶段信息
1885
+ 更新施工阶段自重
1853
1886
  > 参数:
1854
- > stage_name:施工阶段信息
1887
+ > name:施工阶段信息
1855
1888
  > structure_group_name:结构组名
1856
1889
  > weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)
1857
1890
  ```Python
1858
1891
  # 示例代码
1859
1892
  from qtmodel import *
1860
- mdb.update_weight_stage(stage_name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
1893
+ mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
1861
1894
  ```
1862
1895
  Returns: 无
1863
1896
  ### remove_construction_stage
@@ -1,6 +1,6 @@
1
- # 最新版本 V0.5.41 - 2024.11.26
1
+ # 最新版本 V0.5.43 - 2024.12.6
2
2
  > pip install --upgrade qtmodel -i https://pypi.org/simple
3
- - 添加自定义温度接口
3
+ - 优化钢束导入并修复单箱多室混凝土截面导入
4
4
  ## 项目管理
5
5
  ### update_bim
6
6
  刷新Bim模型信息
@@ -105,7 +105,7 @@ Returns: 无
105
105
  > 参数:
106
106
  > file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
107
107
  > convert_sec_group:是否将变截面组转换为变截面
108
- > type_kind:输出文件类型 1-详细文件 2-计算文件
108
+ > type_kind:输出文件类型 1-全部模型文件 2-计算相关文件 (py输出时 2-输出截面特性)
109
109
  > group_name:obj与 APDL导出时指定结构组导出
110
110
  ```Python
111
111
  # 示例代码
@@ -146,6 +146,37 @@ mdb.update_construction_stage_setting(do_analysis=True, to_end_stage=False, othe
146
146
  do_creep_analysis=True, cable_tension_position=0, consider_completion_stage=True,shrink_creep_type=2)
147
147
  ```
148
148
  Returns: 无
149
+ ### update_live_load_setting
150
+ 更新移动荷载分析设置
151
+ > 参数:
152
+ > lateral_spacing: 横向加密间距
153
+ > vertical_spacing: 纵向加密间距
154
+ > damper_calc_type: 模拟阻尼器约束方程计算类选项(-1-不考虑 0-全部组 1-部分)
155
+ > displacement_calc_type: 位移计算选项(-1-不考虑 0-全部组 1-部分)
156
+ > force_calc_type: 内力计算选项(-1-不考虑 0-全部组 1-部分)
157
+ > reaction_calc_type: 反力计算选项(-1-不考虑 0-全部组 1-部分)
158
+ > link_calc_type: 连接计算选项(-1-不考虑 0-全部组 1-部分)
159
+ > constrain_calc_type: 约束方程计算选项(-1-不考虑 0-全部组 1-部分)
160
+ > eccentricity: 离心力系数
161
+ > displacement_track: 是否追踪位移
162
+ > force_track: 是否追踪内力
163
+ > reaction_track: 是否追踪反力
164
+ > link_track: 是否追踪连接
165
+ > constrain_track: 是否追踪约束方程
166
+ > damper_groups: 模拟阻尼器约束方程计算类选项为组时边界组名称
167
+ > displacement_groups: 位移计算类选项为组时结构组名称
168
+ > force_groups: 内力计算类选项为组时结构组名称
169
+ > reaction_groups: 反力计算类选项为组时边界组名称
170
+ > link_groups: 弹性连接计算类选项为组时边界组名称
171
+ > constrain_groups: 约束方程计算类选项为组时边界组名称
172
+ ```Python
173
+ # 示例代码
174
+ from qtmodel import *
175
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=1)
176
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=2,displacement_track=True,
177
+ displacement_groups=["结构组1","结构组2"])
178
+ ```
179
+ Returns: 无
149
180
  ### update_non_linear_setting
150
181
  更新非线性设置
151
182
  > 参数:
@@ -581,6 +612,8 @@ Returns: 无
581
612
  > name:截面名称
582
613
  > begin_id:截面始端编号
583
614
  > end_id:截面末端编号
615
+ > shear_consider:考虑剪切变形
616
+ > sec_normalize: 开启变截面线圈和线宽自适应排序 (避免两端截面绘制顺序导致的渲染和计算失效)
584
617
  ```Python
585
618
  # 示例代码
586
619
  from qtmodel import *
@@ -959,7 +992,7 @@ Returns: 无
959
992
  添加移动荷载工况汽车折减
960
993
  > 参数:
961
994
  > name:活载工况名
962
- > code_index: 汽车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
995
+ > code_index: 火车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
963
996
  > cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
964
997
  > calc_fatigue:是否计算疲劳
965
998
  > line_count: 疲劳加载线路数
@@ -1198,7 +1231,7 @@ Returns: 无
1198
1231
  > num:根数
1199
1232
  > line_type:1-导线点 2-折线点
1200
1233
  > position_type: 定位方式 1-直线 2-轨迹线
1201
- > symmetry: 对称点 0-左 1-右 2-无
1234
+ > symmetry: 对称点 0-左端点 1-右端点 2-不对称
1202
1235
  > control_points: 控制点信息[(x1,z1,r1),(x2,z2,r2)....]
1203
1236
  > control_points_lateral: 控制点横弯信息[(x1,y1,r1),(x2,y2,r2)....],无横弯时不必输入
1204
1237
  > point_insert: 定位方式
@@ -1649,7 +1682,7 @@ mdb.remove_top_plate_temperature(case_name="荷载工况1",element_id=1,group_na
1649
1682
  ```
1650
1683
  Returns: 无
1651
1684
  ### add_custom_temperature
1652
- 删除梁单元顶板温度
1685
+ 添加梁自定义温度
1653
1686
  > 参数:
1654
1687
  > case_name:荷载工况名
1655
1688
  > element_id:单元编号,支持数或列表
@@ -1663,7 +1696,7 @@ mdb.add_custom_temperature(case_name="荷载工况1",element_id=1,orientation=1,
1663
1696
  ```
1664
1697
  Returns: 无
1665
1698
  ### remove_custom_temperature
1666
- 删除梁单元指数温度
1699
+ 删除梁单元自定义温度
1667
1700
  > 参数:
1668
1701
  > case_name:荷载工况名
1669
1702
  > element_id:单元编号,支持数或列表
@@ -1835,15 +1868,15 @@ active_boundaries=[("默认边界组",1)],active_loads=[("默认荷载组1",0)])
1835
1868
  ```
1836
1869
  Returns: 无
1837
1870
  ### update_weight_stage
1838
- 添加施工阶段信息
1871
+ 更新施工阶段自重
1839
1872
  > 参数:
1840
- > stage_name:施工阶段信息
1873
+ > name:施工阶段信息
1841
1874
  > structure_group_name:结构组名
1842
1875
  > weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)
1843
1876
  ```Python
1844
1877
  # 示例代码
1845
1878
  from qtmodel import *
1846
- mdb.update_weight_stage(stage_name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
1879
+ mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
1847
1880
  ```
1848
1881
  Returns: 无
1849
1882
  ### remove_construction_stage
@@ -168,7 +168,7 @@ class Mdb:
168
168
  Args:
169
169
  file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
170
170
  convert_sec_group:是否将变截面组转换为变截面
171
- type_kind:输出文件类型 1-详细文件 2-计算文件
171
+ type_kind:输出文件类型 1-全部模型文件 2-计算相关文件 (py输出时 2-输出截面特性)
172
172
  group_name:obj与 APDL导出时指定结构组导出
173
173
  Example:
174
174
  mdb.export_file(file_path="a.mct")
@@ -231,6 +231,54 @@ class Mdb:
231
231
  except Exception as ex:
232
232
  raise Exception(ex)
233
233
 
234
+ @staticmethod
235
+ def update_live_load_setting(lateral_spacing: float = 0.1, vertical_spacing: float = 1, damper_calc_type: int = -1,
236
+ displacement_calc_type: int = -1, force_calc_type: int = -1, reaction_calc_type: int = -1,
237
+ link_calc_type: int = -1, constrain_calc_type: int = -1, eccentricity: float = 0.0,
238
+ displacement_track: bool = False, force_track: bool = False, reaction_track: bool = False,
239
+ link_track: bool = False, constrain_track: bool = False, damper_groups: list[str] = None,
240
+ displacement_groups: list[str] = None, force_groups: list[str] = None, reaction_groups: list[str] = None,
241
+ link_groups: list[str] = None, constrain_groups: list[str] = None):
242
+ """
243
+ 更新移动荷载分析设置
244
+ Args:
245
+ lateral_spacing: 横向加密间距
246
+ vertical_spacing: 纵向加密间距
247
+ damper_calc_type: 模拟阻尼器约束方程计算类选项(-1-不考虑 0-全部组 1-部分)
248
+ displacement_calc_type: 位移计算选项(-1-不考虑 0-全部组 1-部分)
249
+ force_calc_type: 内力计算选项(-1-不考虑 0-全部组 1-部分)
250
+ reaction_calc_type: 反力计算选项(-1-不考虑 0-全部组 1-部分)
251
+ link_calc_type: 连接计算选项(-1-不考虑 0-全部组 1-部分)
252
+ constrain_calc_type: 约束方程计算选项(-1-不考虑 0-全部组 1-部分)
253
+ eccentricity: 离心力系数
254
+ displacement_track: 是否追踪位移
255
+ force_track: 是否追踪内力
256
+ reaction_track: 是否追踪反力
257
+ link_track: 是否追踪连接
258
+ constrain_track: 是否追踪约束方程
259
+ damper_groups: 模拟阻尼器约束方程计算类选项为组时边界组名称
260
+ displacement_groups: 位移计算类选项为组时结构组名称
261
+ force_groups: 内力计算类选项为组时结构组名称
262
+ reaction_groups: 反力计算类选项为组时边界组名称
263
+ link_groups: 弹性连接计算类选项为组时边界组名称
264
+ constrain_groups: 约束方程计算类选项为组时边界组名称
265
+ Example:
266
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=1)
267
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=2,displacement_track=True,
268
+ displacement_groups=["结构组1","结构组2"])
269
+ Returns: 无
270
+ """
271
+ try:
272
+ qt_model.UpdateLiveLoadSetting(
273
+ lateralSpacing=lateral_spacing, verticalSpacing=vertical_spacing, damperCalcType=damper_calc_type,
274
+ displacementCalcType=displacement_calc_type, forceCalcType=force_calc_type, reactionCalcType=reaction_calc_type,
275
+ linkCalcType=link_calc_type, constrainCalcType=constrain_calc_type, eccentricity=eccentricity,
276
+ displacementTack=displacement_track, forceTrack=force_track, reactionTrack=reaction_track,
277
+ linkTrack=link_track, constrainTrack=constrain_track, damperGroups=damper_groups, displacementGroups=displacement_groups,
278
+ forceGroups=force_groups, reactionGroups=reaction_groups, linkGroups=link_groups, constrainGroups=constrain_groups)
279
+ except Exception as ex:
280
+ raise Exception(ex)
281
+
234
282
  @staticmethod
235
283
  def update_non_linear_setting(non_linear_type: int = 1, non_linear_method: int = 1, max_loading_steps: int = 1, max_iteration_times: int = 30,
236
284
  accuracy_of_displacement: float = 0.0001, accuracy_of_force: float = 0.0001):
@@ -895,7 +943,7 @@ class Mdb:
895
943
  try:
896
944
  if sec_type == "混凝土箱梁":
897
945
  qt_model.AddSection(id=index, name=name, secType=sec_type, secInfo=sec_info, charmInfo=charm_info,
898
- symmetry=symmetry, boxNum=box_num, H=box_height, charmInfoR=charm_right, secInfoR=sec_right,
946
+ symmetry=symmetry, boxNum=box_num, boxHeight=box_height, charmInfoR=charm_right, secInfoR=sec_right,
899
947
  biasType=bias_type, centerType=center_type, shearConsider=shear_consider,
900
948
  biasX=bias_x, biasY=bias_y, secProperty=sec_property)
901
949
  elif sec_type == "工字钢梁" or sec_type == "箱型钢梁":
@@ -916,7 +964,7 @@ class Mdb:
916
964
  biasType=bias_type, centerType=center_type, shearConsider=shear_consider,
917
965
  biasX=bias_x, biasY=bias_y, secProperty=sec_property)
918
966
  except Exception as ex:
919
- raise Exception(ex)
967
+ raise Exception(f"添加截面:{name}失败,{ex}")
920
968
 
921
969
  @staticmethod
922
970
  def add_single_section(index: int = -1, name: str = "", sec_type: str = "矩形", sec_dict: dict = None):
@@ -963,7 +1011,8 @@ class Mdb:
963
1011
  raise Exception(ex)
964
1012
 
965
1013
  @staticmethod
966
- def add_tapper_section_by_id(index: int = -1, name: str = "", begin_id: int = 1, end_id: int = 1):
1014
+ def add_tapper_section_by_id(index: int = -1, name: str = "", begin_id: int = 1, end_id: int = 1,
1015
+ shear_consider: bool = True, sec_normalize: bool = False):
967
1016
  """
968
1017
  添加变截面,需先建立单一截面
969
1018
  Args:
@@ -971,12 +1020,15 @@ class Mdb:
971
1020
  name:截面名称
972
1021
  begin_id:截面始端编号
973
1022
  end_id:截面末端编号
1023
+ shear_consider:考虑剪切变形
1024
+ sec_normalize: 开启变截面线圈和线宽自适应排序 (避免两端截面绘制顺序导致的渲染和计算失效)
974
1025
  Example:
975
1026
  mdb.add_tapper_section_by_id(name="变截面1",begin_id=1,end_id=2)
976
1027
  Returns: 无
977
1028
  """
978
1029
  try:
979
- qt_model.AddTapperSectionById(id=index, name=name, beginId=begin_id, endId=end_id)
1030
+ qt_model.AddTapperSectionById(id=index, name=name, beginId=begin_id, endId=end_id,
1031
+ considerShear=shear_consider, secNormalize=sec_normalize)
980
1032
  except Exception as ex:
981
1033
  raise Exception(ex)
982
1034
 
@@ -1082,9 +1134,8 @@ class Mdb:
1082
1134
  """
1083
1135
  try:
1084
1136
  qt_model.AddTapperSectionGroup(ids=ids, name=name, factorW=factor_w, factorH=factor_h, w=ref_w, h=ref_h, disW=dis_w, disH=dis_h)
1085
- qt_model.UpdateModel()
1086
1137
  except Exception as ex:
1087
- raise Exception(ex)
1138
+ raise Exception(f"添加变截面组:{name}失败,{ex}")
1088
1139
 
1089
1140
  @staticmethod
1090
1141
  def update_section_bias(index: int = 1, bias_type: str = "中心", center_type: str = "质心", shear_consider: bool = True,
@@ -1576,7 +1627,7 @@ class Mdb:
1576
1627
  添加移动荷载工况汽车折减
1577
1628
  Args:
1578
1629
  name:活载工况名
1579
- code_index: 汽车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
1630
+ code_index: 火车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
1580
1631
  cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
1581
1632
  calc_fatigue:是否计算疲劳
1582
1633
  line_count: 疲劳加载线路数
@@ -1950,13 +2001,12 @@ class Mdb:
1950
2001
  positionType=position_type, controlPoints=control_points,
1951
2002
  pointInsert=point_insert, tendonDirection=tendon_direction,
1952
2003
  rotationAngle=rotation_angle, trackGroup=track_group, isProject=projection)
1953
- qt_model.UpdateModel()
1954
2004
  except Exception as ex:
1955
- raise Exception(ex)
2005
+ raise Exception(f"添加三维钢束:{name}失败,{ex}")
1956
2006
 
1957
2007
  @staticmethod
1958
2008
  def add_tendon_2d(name: str, property_name: str = "", group_name: str = "默认钢束组",
1959
- num: int = 1, line_type: int = 1, position_type: int = 1, symmetry: int = 0,
2009
+ num: int = 1, line_type: int = 1, position_type: int = 1, symmetry: int = 2,
1960
2010
  control_points: list[tuple[float, float, float]] = None,
1961
2011
  control_points_lateral: list[tuple[float, float, float]] = None,
1962
2012
  point_insert: tuple[float, float, float] = None,
@@ -1971,7 +2021,7 @@ class Mdb:
1971
2021
  num:根数
1972
2022
  line_type:1-导线点 2-折线点
1973
2023
  position_type: 定位方式 1-直线 2-轨迹线
1974
- symmetry: 对称点 0-左 1-右 2-无
2024
+ symmetry: 对称点 0-左端点 1-右端点 2-不对称
1975
2025
  control_points: 控制点信息[(x1,z1,r1),(x2,z2,r2)....]
1976
2026
  control_points_lateral: 控制点横弯信息[(x1,y1,r1),(x2,y2,r2)....],无横弯时不必输入
1977
2027
  point_insert: 定位方式
@@ -2001,9 +2051,8 @@ class Mdb:
2001
2051
  controlPointsLateral=control_points_lateral,
2002
2052
  pointInsert=point_insert, tendonDirection=tendon_direction,
2003
2053
  rotationAngle=rotation_angle, trackGroup=track_group, isProject=projection)
2004
- qt_model.UpdateModel()
2005
2054
  except Exception as ex:
2006
- raise Exception(ex)
2055
+ raise Exception(f"添加二维钢束:{name}失败,{ex}")
2007
2056
 
2008
2057
  @staticmethod
2009
2058
  def update_tendon_element(ids: list[int] = None):
@@ -2369,7 +2418,7 @@ class Mdb:
2369
2418
  if load_type == 2 or load_type == 4:
2370
2419
  raise Exception("操作错误,板单元暂不支持弯矩荷载")
2371
2420
  if load_type == 1:
2372
- qt_model.AddPlateElementLoad(elementId=element_id, caseName=case_name, loadType=load_type,
2421
+ qt_model.AddPlateElementLoad(elementId=element_id, caseName=case_name, loadType=load_type, distanceList=list_xy,
2373
2422
  coordSystem=coord_system, groupName=group_name, loads=list_load)
2374
2423
  elif load_type == 3:
2375
2424
  if load_place == 0:
@@ -2414,7 +2463,7 @@ class Mdb:
2414
2463
  try:
2415
2464
  if parameters is None:
2416
2465
  raise Exception("操作错误,制造误差信息不能为空")
2417
- if len(parameters) != 5 or len(parameters) != 7:
2466
+ if len(parameters) != 5 and len(parameters) != 7:
2418
2467
  raise Exception("操作错误,误差列表有误")
2419
2468
  qt_model.AddDeviationParameter(name=name, elementType=element_type, parameterInfo=parameters)
2420
2469
  qt_model.UpdateModel()
@@ -2935,9 +2984,8 @@ class Mdb:
2935
2984
  qt_model.AddConstructionStage(name=name, duration=duration, activeStructures=active_structures, inActiveStructures=delete_structures,
2936
2985
  activeBoundaries=active_boundaries, inActiveBoundaries=delete_boundaries, activeLoads=active_loads,
2937
2986
  inActiveLoads=delete_loads, tempLoads=temp_loads, id=index)
2938
- qt_model.UpdateModel()
2939
2987
  except Exception as ex:
2940
- raise Exception(ex)
2988
+ raise Exception(f"添加施工阶段:{name}错误,{ex}")
2941
2989
 
2942
2990
  @staticmethod
2943
2991
  def update_construction_stage(name: str = "", duration: int = 0,
@@ -2974,27 +3022,25 @@ class Mdb:
2974
3022
  qt_model.UpdateConstructionStage(name=name, duration=duration, activeStructures=active_structures, inActiveStructures=delete_structures,
2975
3023
  activeBoundaries=active_boundaries, inActiveBoundaries=delete_boundaries, activeLoads=active_loads,
2976
3024
  inActiveLoads=delete_loads, tempLoads=temp_loads)
2977
- qt_model.UpdateModel()
2978
3025
  except Exception as ex:
2979
- raise Exception(ex)
3026
+ raise Exception(f"更新施工阶段:{name}错误,{ex}")
2980
3027
 
2981
3028
  @staticmethod
2982
- def update_weight_stage(stage_name: str = "", structure_group_name: str = "", weight_stage_id: int = 1):
3029
+ def update_weight_stage(name: str = "", structure_group_name: str = "", weight_stage_id: int = 1):
2983
3030
  """
2984
- 添加施工阶段信息
3031
+ 更新施工阶段自重
2985
3032
  Args:
2986
- stage_name:施工阶段信息
3033
+ name:施工阶段信息
2987
3034
  structure_group_name:结构组名
2988
3035
  weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)
2989
3036
  Example:
2990
- mdb.update_weight_stage(stage_name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
3037
+ mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
2991
3038
  Returns: 无
2992
3039
  """
2993
3040
  try:
2994
- qt_model.UpdateWeightStage(stageName=stage_name, structureGroupName=structure_group_name, weightStageId=weight_stage_id)
2995
- qt_model.UpdateModel()
3041
+ qt_model.UpdateWeightStage(name=name, structureGroupName=structure_group_name, weightStageId=weight_stage_id)
2996
3042
  except Exception as ex:
2997
- raise Exception(ex)
3043
+ raise Exception(f"更新施工阶段自重:{name}错误,{ex}")
2998
3044
 
2999
3045
  @staticmethod
3000
3046
  def remove_construction_stage(name: str = ""):
@@ -3011,9 +3057,8 @@ class Mdb:
3011
3057
  qt_model.RemoveAllConstructionStage()
3012
3058
  else:
3013
3059
  qt_model.RemoveConstructionStage(name=name)
3014
- qt_model.UpdateModel()
3015
3060
  except Exception as ex:
3016
- raise Exception(ex)
3061
+ raise Exception(f"删除施工阶段自重:{name}错误,{ex}")
3017
3062
 
3018
3063
  # endregion
3019
3064
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.41
3
+ Version: 0.5.43
4
4
  Summary: python modeling for qt 24/11/27
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
@@ -12,9 +12,9 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- # 最新版本 V0.5.41 - 2024.11.26
15
+ # 最新版本 V0.5.43 - 2024.12.6
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
- - 添加自定义温度接口
17
+ - 优化钢束导入并修复单箱多室混凝土截面导入
18
18
  ## 项目管理
19
19
  ### update_bim
20
20
  刷新Bim模型信息
@@ -119,7 +119,7 @@ Returns: 无
119
119
  > 参数:
120
120
  > file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
121
121
  > convert_sec_group:是否将变截面组转换为变截面
122
- > type_kind:输出文件类型 1-详细文件 2-计算文件
122
+ > type_kind:输出文件类型 1-全部模型文件 2-计算相关文件 (py输出时 2-输出截面特性)
123
123
  > group_name:obj与 APDL导出时指定结构组导出
124
124
  ```Python
125
125
  # 示例代码
@@ -160,6 +160,37 @@ mdb.update_construction_stage_setting(do_analysis=True, to_end_stage=False, othe
160
160
  do_creep_analysis=True, cable_tension_position=0, consider_completion_stage=True,shrink_creep_type=2)
161
161
  ```
162
162
  Returns: 无
163
+ ### update_live_load_setting
164
+ 更新移动荷载分析设置
165
+ > 参数:
166
+ > lateral_spacing: 横向加密间距
167
+ > vertical_spacing: 纵向加密间距
168
+ > damper_calc_type: 模拟阻尼器约束方程计算类选项(-1-不考虑 0-全部组 1-部分)
169
+ > displacement_calc_type: 位移计算选项(-1-不考虑 0-全部组 1-部分)
170
+ > force_calc_type: 内力计算选项(-1-不考虑 0-全部组 1-部分)
171
+ > reaction_calc_type: 反力计算选项(-1-不考虑 0-全部组 1-部分)
172
+ > link_calc_type: 连接计算选项(-1-不考虑 0-全部组 1-部分)
173
+ > constrain_calc_type: 约束方程计算选项(-1-不考虑 0-全部组 1-部分)
174
+ > eccentricity: 离心力系数
175
+ > displacement_track: 是否追踪位移
176
+ > force_track: 是否追踪内力
177
+ > reaction_track: 是否追踪反力
178
+ > link_track: 是否追踪连接
179
+ > constrain_track: 是否追踪约束方程
180
+ > damper_groups: 模拟阻尼器约束方程计算类选项为组时边界组名称
181
+ > displacement_groups: 位移计算类选项为组时结构组名称
182
+ > force_groups: 内力计算类选项为组时结构组名称
183
+ > reaction_groups: 反力计算类选项为组时边界组名称
184
+ > link_groups: 弹性连接计算类选项为组时边界组名称
185
+ > constrain_groups: 约束方程计算类选项为组时边界组名称
186
+ ```Python
187
+ # 示例代码
188
+ from qtmodel import *
189
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=1)
190
+ mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=2,displacement_track=True,
191
+ displacement_groups=["结构组1","结构组2"])
192
+ ```
193
+ Returns: 无
163
194
  ### update_non_linear_setting
164
195
  更新非线性设置
165
196
  > 参数:
@@ -595,6 +626,8 @@ Returns: 无
595
626
  > name:截面名称
596
627
  > begin_id:截面始端编号
597
628
  > end_id:截面末端编号
629
+ > shear_consider:考虑剪切变形
630
+ > sec_normalize: 开启变截面线圈和线宽自适应排序 (避免两端截面绘制顺序导致的渲染和计算失效)
598
631
  ```Python
599
632
  # 示例代码
600
633
  from qtmodel import *
@@ -973,7 +1006,7 @@ Returns: 无
973
1006
  添加移动荷载工况汽车折减
974
1007
  > 参数:
975
1008
  > name:活载工况名
976
- > code_index: 汽车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
1009
+ > code_index: 火车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
977
1010
  > cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
978
1011
  > calc_fatigue:是否计算疲劳
979
1012
  > line_count: 疲劳加载线路数
@@ -1212,7 +1245,7 @@ Returns: 无
1212
1245
  > num:根数
1213
1246
  > line_type:1-导线点 2-折线点
1214
1247
  > position_type: 定位方式 1-直线 2-轨迹线
1215
- > symmetry: 对称点 0-左 1-右 2-无
1248
+ > symmetry: 对称点 0-左端点 1-右端点 2-不对称
1216
1249
  > control_points: 控制点信息[(x1,z1,r1),(x2,z2,r2)....]
1217
1250
  > control_points_lateral: 控制点横弯信息[(x1,y1,r1),(x2,y2,r2)....],无横弯时不必输入
1218
1251
  > point_insert: 定位方式
@@ -1663,7 +1696,7 @@ mdb.remove_top_plate_temperature(case_name="荷载工况1",element_id=1,group_na
1663
1696
  ```
1664
1697
  Returns: 无
1665
1698
  ### add_custom_temperature
1666
- 删除梁单元顶板温度
1699
+ 添加梁自定义温度
1667
1700
  > 参数:
1668
1701
  > case_name:荷载工况名
1669
1702
  > element_id:单元编号,支持数或列表
@@ -1677,7 +1710,7 @@ mdb.add_custom_temperature(case_name="荷载工况1",element_id=1,orientation=1,
1677
1710
  ```
1678
1711
  Returns: 无
1679
1712
  ### remove_custom_temperature
1680
- 删除梁单元指数温度
1713
+ 删除梁单元自定义温度
1681
1714
  > 参数:
1682
1715
  > case_name:荷载工况名
1683
1716
  > element_id:单元编号,支持数或列表
@@ -1849,15 +1882,15 @@ active_boundaries=[("默认边界组",1)],active_loads=[("默认荷载组1",0)])
1849
1882
  ```
1850
1883
  Returns: 无
1851
1884
  ### update_weight_stage
1852
- 添加施工阶段信息
1885
+ 更新施工阶段自重
1853
1886
  > 参数:
1854
- > stage_name:施工阶段信息
1887
+ > name:施工阶段信息
1855
1888
  > structure_group_name:结构组名
1856
1889
  > weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)
1857
1890
  ```Python
1858
1891
  # 示例代码
1859
1892
  from qtmodel import *
1860
- mdb.update_weight_stage(stage_name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
1893
+ mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
1861
1894
  ```
1862
1895
  Returns: 无
1863
1896
  ### remove_construction_stage
@@ -7,7 +7,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
7
7
  # twine upload dist/*
8
8
  setup(
9
9
  name="qtmodel",
10
- version="0.5.41",
10
+ version="0.5.43",
11
11
  author="dqy-zhj",
12
12
  author_email="1105417715@qq.com",
13
13
  description="python modeling for qt 24/11/27 ",
File without changes
File without changes
File without changes
File without changes