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.
- {qtmodel-0.5.41 → qtmodel-0.5.43}/PKG-INFO +44 -11
- {qtmodel-0.5.41 → qtmodel-0.5.43}/README.md +43 -10
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel/qt_mdb.py +74 -29
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel.egg-info/PKG-INFO +44 -11
- {qtmodel-0.5.41 → qtmodel-0.5.43}/setup.py +1 -1
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel/__init__.py +0 -0
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel/qt_db.py +0 -0
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel/qt_odb.py +0 -0
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel.egg-info/SOURCES.txt +0 -0
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel.egg-info/dependency_links.txt +0 -0
- {qtmodel-0.5.41 → qtmodel-0.5.43}/qtmodel.egg-info/top_level.txt +0 -0
- {qtmodel-0.5.41 → qtmodel-0.5.43}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qtmodel
|
|
3
|
-
Version: 0.5.
|
|
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.
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
>
|
|
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(
|
|
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.
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
>
|
|
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(
|
|
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
|
|
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,
|
|
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:
|
|
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 =
|
|
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
|
|
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
|
|
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(
|
|
3029
|
+
def update_weight_stage(name: str = "", structure_group_name: str = "", weight_stage_id: int = 1):
|
|
2983
3030
|
"""
|
|
2984
|
-
|
|
3031
|
+
更新施工阶段自重
|
|
2985
3032
|
Args:
|
|
2986
|
-
|
|
3033
|
+
name:施工阶段信息
|
|
2987
3034
|
structure_group_name:结构组名
|
|
2988
3035
|
weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)
|
|
2989
3036
|
Example:
|
|
2990
|
-
mdb.update_weight_stage(
|
|
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(
|
|
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.
|
|
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.
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
>
|
|
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(
|
|
1893
|
+
mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
|
|
1861
1894
|
```
|
|
1862
1895
|
Returns: 无
|
|
1863
1896
|
### remove_construction_stage
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|