qtmodel 1.1.9__tar.gz → 2.1.1__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.
- {qtmodel-1.1.9 → qtmodel-2.1.1}/PKG-INFO +98 -78
- {qtmodel-1.1.9 → qtmodel-2.1.1}/README.md +96 -76
- qtmodel-2.1.1/qtmodel/core/__init__.py +1 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/core/data_helper.py +8 -6
- qtmodel-2.1.1/qtmodel/core/qt_server.py +47 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/core/result_db.py +102 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/__init__.py +1 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_analysis_setting.py +63 -100
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_assistant.py +2 -2
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_boundary.py +97 -118
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_construction_stage.py +41 -46
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_dynamic_load.py +95 -124
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_live_load.py +21 -23
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_load.py +36 -51
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_project.py +50 -85
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_property.py +95 -109
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_section.py +81 -90
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_sink_load.py +33 -48
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_static_load.py +108 -141
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_structure.py +117 -145
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_temperature_load.py +67 -122
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/mdb/mdb_tendon.py +68 -68
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_model_boundary.py +10 -10
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_model_load.py +12 -12
- qtmodel-2.1.1/qtmodel/odb/odb_model_material.py +30 -0
- qtmodel-2.1.1/qtmodel/odb/odb_model_section.py +112 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_model_stage.py +5 -5
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_model_structure.py +42 -14
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_result_data.py +63 -17
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_result_plot.py +12 -12
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/odb_view.py +12 -12
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel.egg-info/PKG-INFO +98 -78
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel.egg-info/SOURCES.txt +2 -1
- {qtmodel-1.1.9 → qtmodel-2.1.1}/setup.py +2 -2
- qtmodel-2.1.1/test/test_model.py +4 -0
- qtmodel-1.1.9/qtmodel/core/__init__.py +0 -3
- qtmodel-1.1.9/qtmodel/core/qt_server.py +0 -85
- qtmodel-1.1.9/qtmodel/odb/odb_model_material.py +0 -109
- qtmodel-1.1.9/qtmodel/odb/odb_model_section.py +0 -81
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/__init__.py +0 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/core/model_db.py +0 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel/odb/__init__.py +0 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel.egg-info/dependency_links.txt +0 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/qtmodel.egg-info/top_level.txt +0 -0
- {qtmodel-1.1.9 → qtmodel-2.1.1}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qtmodel
|
|
3
|
-
Version: 1.1
|
|
4
|
-
Summary: python modeling for qt 2025-
|
|
3
|
+
Version: 2.1.1
|
|
4
|
+
Summary: python modeling for qt 2025-11-11
|
|
5
5
|
Home-page: https://github.com/Inface0443/pyqt
|
|
6
6
|
Author: dqy-zhj
|
|
7
7
|
Author-email: 1105417715@qq.com
|
|
@@ -17,9 +17,10 @@ Dynamic: description-content-type
|
|
|
17
17
|
Dynamic: home-page
|
|
18
18
|
Dynamic: summary
|
|
19
19
|
|
|
20
|
-
>
|
|
20
|
+
> 最新qtmodel版本 V2.1.1 - 2025-11-10
|
|
21
|
+
> 最新qdat数据版本 V1.2.4
|
|
21
22
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
22
|
-
-
|
|
23
|
+
- 升级qdat版本,此版本支持定义钢束旋转偏心
|
|
23
24
|
# 建模操作
|
|
24
25
|
## 节点操作
|
|
25
26
|
### add_nodes
|
|
@@ -582,9 +583,9 @@ mdb.remove_thickness(name="板厚1")
|
|
|
582
583
|
> sec_type:参数截面类型名称(详见UI界面)
|
|
583
584
|
> sec_info:截面信息 (必要参数)
|
|
584
585
|
> symmetry:混凝土截面是否对称 (仅混凝土箱梁截面需要)
|
|
585
|
-
>
|
|
586
|
+
> chamfer_info:混凝土截面倒角信息 (仅混凝土箱梁截面需要)
|
|
586
587
|
> sec_right:混凝土截面右半信息 (对称时可忽略,仅混凝土箱梁截面需要)
|
|
587
|
-
>
|
|
588
|
+
> chamfer_right:混凝土截面右半倒角信息 (对称时可忽略,仅混凝土箱梁截面需要)
|
|
588
589
|
> box_num: 混凝土箱室数 (仅混凝土箱梁截面需要)
|
|
589
590
|
> box_height: 混凝土箱梁梁高 (仅混凝土箱梁截面需要)
|
|
590
591
|
> box_other_info: 混凝土箱梁额外信息(键包括"i1" "B0" "B4" "T4" 值为列表)
|
|
@@ -596,7 +597,7 @@ mdb.remove_thickness(name="板厚1")
|
|
|
596
597
|
> _布置具体部位(箱型钢梁) 1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
|
|
597
598
|
> loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
|
|
598
599
|
> sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
|
|
599
|
-
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
|
|
600
|
+
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments),建议以左下角为组合截面原点建立截面
|
|
600
601
|
> sec_property:截面特性(参考UI界面共计29个参数),可选参数,指定截面特性时不进行截面计算
|
|
601
602
|
> bias_type:偏心类型 默认中心
|
|
602
603
|
> center_type:中心类型 默认质心
|
|
@@ -609,7 +610,7 @@ from qtmodel import *
|
|
|
609
610
|
mdb.add_section(name="截面1",sec_type="矩形",sec_info=[2,4],bias_type="中心")
|
|
610
611
|
mdb.add_section(name="截面2",sec_type="混凝土箱梁",box_height=2,box_num=3,
|
|
611
612
|
sec_info=[0.2,0.4,0.1,0.13,3,1,2,1,0.02,0,12,5,6,0.28,0.3,0.5,0.5,0.5,0.2],
|
|
612
|
-
|
|
613
|
+
chamfer_info=["1*0.2,0.1*0.2","0.5*0.15,0.3*0.2","0.4*0.2","0.5*0.2"])
|
|
613
614
|
mdb.add_section(name="钢梁截面1",sec_type="工字钢梁",sec_info=[0,0,0.5,0.5,0.5,0.5,0.7,0.02,0.02,0.02])
|
|
614
615
|
mdb.add_section(name="钢梁截面2",sec_type="箱型钢梁",sec_info=[0,0.15,0.25,0.5,0.25,0.15,0.4,0.15,0.7,0.02,0.02,0.02,0.02],
|
|
615
616
|
rib_info = {"板肋1": [0.1,0.02],"T形肋1":[0.1,0.02,0.02,0.02]},
|
|
@@ -1163,6 +1164,7 @@ steel_detail=[0.00014,0.10,0.25,0.0015],loos_detail=(1,1,1))
|
|
|
1163
1164
|
> point_insert: 定位方式 (直线时为插入点坐标[x,y,z] 轨迹线时[插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id])
|
|
1164
1165
|
> tendon_direction:直线钢束X方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
|
|
1165
1166
|
> rotation_angle:绕钢束旋转角度
|
|
1167
|
+
> rotate_bias:绕钢束旋转偏心X、Y
|
|
1166
1168
|
> track_group:轨迹线结构组名 (直线时不用赋值)
|
|
1167
1169
|
> projection:直线钢束投影 (默认为true)
|
|
1168
1170
|
```Python
|
|
@@ -1189,6 +1191,7 @@ control_points=[(0,0,-1,0),(10,0,-1,0)],point_insert=(1,1,1),track_group="轨迹
|
|
|
1189
1191
|
> point_insert: 定位方式 (直线时为插入点坐标[x,y,z] 轨迹线时[插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id])
|
|
1190
1192
|
> tendon_direction:直线钢束X方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
|
|
1191
1193
|
> rotation_angle:绕钢束旋转角度
|
|
1194
|
+
> rotate_bias:绕钢束旋转偏心X、Y
|
|
1192
1195
|
> track_group:轨迹线结构组名 (直线时不用赋值)
|
|
1193
1196
|
> projection:直线钢束投影 (默认为true)
|
|
1194
1197
|
```Python
|
|
@@ -1271,7 +1274,7 @@ control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线
|
|
|
1271
1274
|
#Returns: 无
|
|
1272
1275
|
```
|
|
1273
1276
|
### update_element_component_type
|
|
1274
|
-
|
|
1277
|
+
赋予单元构件类型
|
|
1275
1278
|
> 参数:
|
|
1276
1279
|
> ids: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
|
|
1277
1280
|
> component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
|
|
@@ -1282,7 +1285,7 @@ mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
|
|
|
1282
1285
|
#Returns: 无
|
|
1283
1286
|
```
|
|
1284
1287
|
### update_tendon_group
|
|
1285
|
-
|
|
1288
|
+
更新钢束组名
|
|
1286
1289
|
> 参数:
|
|
1287
1290
|
> name:原钢束组名
|
|
1288
1291
|
> new_name:新钢束组名
|
|
@@ -1293,7 +1296,7 @@ mdb.update_tendon_group("钢束组1","钢束组2")
|
|
|
1293
1296
|
#Returns: 无
|
|
1294
1297
|
```
|
|
1295
1298
|
### remove_tendon
|
|
1296
|
-
|
|
1299
|
+
按照名称或编号删除钢束,默认时删除所有钢束
|
|
1297
1300
|
> 参数:
|
|
1298
1301
|
> name:钢束名称
|
|
1299
1302
|
> index:钢束编号
|
|
@@ -1306,7 +1309,7 @@ mdb.remove_tendon()
|
|
|
1306
1309
|
#Returns: 无
|
|
1307
1310
|
```
|
|
1308
1311
|
### remove_tendon_property
|
|
1309
|
-
|
|
1312
|
+
按照名称或编号删除钢束组,默认时删除所有钢束组
|
|
1310
1313
|
> 参数:
|
|
1311
1314
|
> name:钢束组名称
|
|
1312
1315
|
> index:钢束组编号
|
|
@@ -1319,7 +1322,7 @@ mdb.remove_tendon_property()
|
|
|
1319
1322
|
#Returns: 无
|
|
1320
1323
|
```
|
|
1321
1324
|
### remove_pre_stress
|
|
1322
|
-
|
|
1325
|
+
删除预应力
|
|
1323
1326
|
> 参数:
|
|
1324
1327
|
> tendon_name:钢束组,默认则删除所有预应力荷载
|
|
1325
1328
|
```Python
|
|
@@ -1330,7 +1333,7 @@ mdb.remove_pre_stress()
|
|
|
1330
1333
|
#Returns: 无
|
|
1331
1334
|
```
|
|
1332
1335
|
### remove_tendon_group
|
|
1333
|
-
|
|
1336
|
+
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
|
|
1334
1337
|
> 参数:
|
|
1335
1338
|
> name:钢束组名称,默认自动识别 (可选参数)
|
|
1336
1339
|
```Python
|
|
@@ -2302,8 +2305,8 @@ from qtmodel import *
|
|
|
2302
2305
|
mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
|
|
2303
2306
|
#Returns: 无
|
|
2304
2307
|
```
|
|
2305
|
-
|
|
2306
|
-
|
|
2308
|
+
### update_spectrum_function
|
|
2309
|
+
todo 更新反应谱函数
|
|
2307
2310
|
> 参数:
|
|
2308
2311
|
> name: 函数名称
|
|
2309
2312
|
> new_name: 新函数名称
|
|
@@ -2625,7 +2628,7 @@ mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构
|
|
|
2625
2628
|
#Returns: 无
|
|
2626
2629
|
```
|
|
2627
2630
|
### update_construction_stage
|
|
2628
|
-
|
|
2631
|
+
更新施工阶段信息
|
|
2629
2632
|
> 参数:
|
|
2630
2633
|
> name:施工阶段信息
|
|
2631
2634
|
> new_name:新施工阶段名
|
|
@@ -2921,57 +2924,6 @@ mdb.update_bulking_setting(do_analysis=True,mode_count=3,variable_cases=["工况
|
|
|
2921
2924
|
```
|
|
2922
2925
|
# 视图与结果提取
|
|
2923
2926
|
## 获取材料
|
|
2924
|
-
### get_concrete_material
|
|
2925
|
-
获取混凝土材料信息
|
|
2926
|
-
> 参数:
|
|
2927
|
-
> ids: 材料号支持XtoYbyN形式字符串,默认时输出全部材料
|
|
2928
|
-
```Python
|
|
2929
|
-
# 示例代码
|
|
2930
|
-
from qtmodel import *
|
|
2931
|
-
odb.get_concrete_material() # 获取所有材料信息
|
|
2932
|
-
#Returns: list[dict]
|
|
2933
|
-
```
|
|
2934
|
-
### get_steel_plate_material
|
|
2935
|
-
获取钢材材料信息
|
|
2936
|
-
> 参数:
|
|
2937
|
-
> ids: 材料号支持XtoYbyN形式字符串,默认时输出全部材料
|
|
2938
|
-
```Python
|
|
2939
|
-
# 示例代码
|
|
2940
|
-
from qtmodel import *
|
|
2941
|
-
odb.get_steel_plate_material() # 获取所有钢材材料信息
|
|
2942
|
-
#Returns: list[dict]
|
|
2943
|
-
```
|
|
2944
|
-
### get_pre_stress_bar_material
|
|
2945
|
-
获取钢材材料信息
|
|
2946
|
-
> 参数:
|
|
2947
|
-
> ids: 材料号,默认时输出全部材料
|
|
2948
|
-
```Python
|
|
2949
|
-
# 示例代码
|
|
2950
|
-
from qtmodel import *
|
|
2951
|
-
odb.get_pre_stress_bar_material() # 获取所有预应力材料信息
|
|
2952
|
-
#Returns: list[dict]
|
|
2953
|
-
```
|
|
2954
|
-
### get_steel_bar_material
|
|
2955
|
-
获取钢筋材料信息
|
|
2956
|
-
> 参数:
|
|
2957
|
-
> ids: 材料号,默认None时输出全部材料
|
|
2958
|
-
```Python
|
|
2959
|
-
# 示例代码
|
|
2960
|
-
from qtmodel import *
|
|
2961
|
-
odb.get_steel_bar_material() # 获取所有钢筋材料信息
|
|
2962
|
-
#Returns: list[dict]
|
|
2963
|
-
```
|
|
2964
|
-
### get_user_define_material
|
|
2965
|
-
获取自定义材料信息
|
|
2966
|
-
> 参数:
|
|
2967
|
-
> ids: 材料号支持XtoYbyN形式字符串,默认None时输出全部材料
|
|
2968
|
-
```Python
|
|
2969
|
-
# 示例代码
|
|
2970
|
-
from qtmodel import *
|
|
2971
|
-
odb.get_user_define_material() # 获取所有自定义材料信息
|
|
2972
|
-
odb.get_user_define_material("1to10") # 获取所有自定义材料信息
|
|
2973
|
-
#Returns: list[dict]
|
|
2974
|
-
```
|
|
2975
2927
|
### get_material_data
|
|
2976
2928
|
获取材料信息
|
|
2977
2929
|
> 参数:
|
|
@@ -2987,16 +2939,7 @@ odb.get_material_data() # 获取所有材料信息
|
|
|
2987
2939
|
```Python
|
|
2988
2940
|
# 示例代码
|
|
2989
2941
|
from qtmodel import *
|
|
2990
|
-
odb.get_thickness_data(
|
|
2991
|
-
#Returns:
|
|
2992
|
-
```
|
|
2993
|
-
### get_all_thickness_data
|
|
2994
|
-
获取所有板厚信息
|
|
2995
|
-
> 参数:
|
|
2996
|
-
```Python
|
|
2997
|
-
# 示例代码
|
|
2998
|
-
from qtmodel import *
|
|
2999
|
-
odb.get_all_thickness_data()
|
|
2942
|
+
odb.get_thickness_data()
|
|
3000
2943
|
#Returns: 包含信息为list[dict]
|
|
3001
2944
|
```
|
|
3002
2945
|
## 获取节点信息
|
|
@@ -3128,6 +3071,27 @@ from qtmodel import *
|
|
|
3128
3071
|
odb.get_group_elements(group_name="默认结构组")
|
|
3129
3072
|
#Returns: list[int]
|
|
3130
3073
|
```
|
|
3074
|
+
## 跨度信息
|
|
3075
|
+
### get_span_supports
|
|
3076
|
+
获取跨度信息的支承节点号
|
|
3077
|
+
> 参数:
|
|
3078
|
+
> span_info_name: 跨度信息名
|
|
3079
|
+
```Python
|
|
3080
|
+
# 示例代码
|
|
3081
|
+
from qtmodel import *
|
|
3082
|
+
odb.get_span_supports(span_info_name="跨度")
|
|
3083
|
+
#Returns: list[int]
|
|
3084
|
+
```
|
|
3085
|
+
### get_span_elements
|
|
3086
|
+
获取跨度信息的支承节点号
|
|
3087
|
+
> 参数:
|
|
3088
|
+
> span_info_name: 跨度信息名
|
|
3089
|
+
```Python
|
|
3090
|
+
# 示例代码
|
|
3091
|
+
from qtmodel import *
|
|
3092
|
+
odb.get_span_elements(span_info_name="跨度")
|
|
3093
|
+
#Returns: list[int]
|
|
3094
|
+
```
|
|
3131
3095
|
## 获取截面信息
|
|
3132
3096
|
### get_all_section_shape
|
|
3133
3097
|
获取所有截面形状信息
|
|
@@ -3161,6 +3125,7 @@ odb.get_all_section_data()
|
|
|
3161
3125
|
获取截面详细信息,截面特性详见UI自定义特性截面
|
|
3162
3126
|
> 参数:
|
|
3163
3127
|
> sec_id: 目标截面编号
|
|
3128
|
+
> position: 目标截面为变截面时0-首端 1-末端
|
|
3164
3129
|
```Python
|
|
3165
3130
|
# 示例代码
|
|
3166
3131
|
from qtmodel import *
|
|
@@ -3186,6 +3151,31 @@ from qtmodel import *
|
|
|
3186
3151
|
odb.get_section_ids()
|
|
3187
3152
|
#Returns: list[int]
|
|
3188
3153
|
```
|
|
3154
|
+
### get_section_property_by_loops
|
|
3155
|
+
通过多组线圈获取截面特性
|
|
3156
|
+
> 参数:
|
|
3157
|
+
```Python
|
|
3158
|
+
# 示例代码
|
|
3159
|
+
from qtmodel import *
|
|
3160
|
+
dict_item1 = {"main": [[9.25, 0.0], [18.4, 0.0], [18.5, 0.0], [18.5, 2.5], [9.25, 2.5], [0.0, 2.5], [0.0, 0.0], [0.1, 0.0]],
|
|
3161
|
+
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
|
|
3162
|
+
"sub2": [[9.25, 0.5], [11.55, 0.5], [11.55, 2.0], [9.25, 2.0], [6.95, 2.0], [6.95, 0.5]],
|
|
3163
|
+
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
|
|
3164
|
+
odb.get_section_property_by_loops([dict_item1])
|
|
3165
|
+
#Returns: dict
|
|
3166
|
+
```
|
|
3167
|
+
### get_section_property_by_lines
|
|
3168
|
+
通过线宽数据获取截面特性
|
|
3169
|
+
> 参数:
|
|
3170
|
+
```Python
|
|
3171
|
+
# 示例代码
|
|
3172
|
+
from qtmodel import *
|
|
3173
|
+
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
|
|
3174
|
+
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
|
|
3175
|
+
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
|
|
3176
|
+
odb.get_section_property_by_lines(sec_lines)
|
|
3177
|
+
#Returns: dict
|
|
3178
|
+
```
|
|
3189
3179
|
## 获取模型边界信息
|
|
3190
3180
|
### get_boundary_group_names
|
|
3191
3181
|
获取自边界组名称
|
|
@@ -3613,6 +3603,36 @@ from qtmodel import *
|
|
|
3613
3603
|
odb.get_buckling_modal_results(mode=1)
|
|
3614
3604
|
#Returns: 返回json字符串,list[dict]包含该模态下屈曲模态向量列表
|
|
3615
3605
|
```
|
|
3606
|
+
### get_tendon_loss_results
|
|
3607
|
+
获取预应力钢束损失
|
|
3608
|
+
> 参数:
|
|
3609
|
+
> name: 钢束名称
|
|
3610
|
+
> stage_id: 阶段编号,默认 1
|
|
3611
|
+
```Python
|
|
3612
|
+
# 示例代码
|
|
3613
|
+
from qtmodel import *
|
|
3614
|
+
odb.get_tendon_loss_results(name="T1", stage_id=2)
|
|
3615
|
+
#Returns:
|
|
3616
|
+
```
|
|
3617
|
+
### get_tendon_position_result
|
|
3618
|
+
获取预应力钢束坐标
|
|
3619
|
+
> 参数:
|
|
3620
|
+
> name: 钢束名称
|
|
3621
|
+
```Python
|
|
3622
|
+
# 示例代码
|
|
3623
|
+
from qtmodel import *
|
|
3624
|
+
odb.get_tendon_position_result(name="T1")
|
|
3625
|
+
#Returns:
|
|
3626
|
+
```
|
|
3627
|
+
### get_tendon_length_result
|
|
3628
|
+
获取预应力伸长量
|
|
3629
|
+
> 参数:
|
|
3630
|
+
```Python
|
|
3631
|
+
# 示例代码
|
|
3632
|
+
from qtmodel import *
|
|
3633
|
+
odb.get_tendon_length_result()
|
|
3634
|
+
#Returns:
|
|
3635
|
+
```
|
|
3616
3636
|
## 绘制模型结果
|
|
3617
3637
|
### plot_reaction_result
|
|
3618
3638
|
保存结果图片到指定文件甲
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
>
|
|
1
|
+
> 最新qtmodel版本 V2.1.1 - 2025-11-10
|
|
2
|
+
> 最新qdat数据版本 V1.2.4
|
|
2
3
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
3
|
-
-
|
|
4
|
+
- 升级qdat版本,此版本支持定义钢束旋转偏心
|
|
4
5
|
# 建模操作
|
|
5
6
|
## 节点操作
|
|
6
7
|
### add_nodes
|
|
@@ -563,9 +564,9 @@ mdb.remove_thickness(name="板厚1")
|
|
|
563
564
|
> sec_type:参数截面类型名称(详见UI界面)
|
|
564
565
|
> sec_info:截面信息 (必要参数)
|
|
565
566
|
> symmetry:混凝土截面是否对称 (仅混凝土箱梁截面需要)
|
|
566
|
-
>
|
|
567
|
+
> chamfer_info:混凝土截面倒角信息 (仅混凝土箱梁截面需要)
|
|
567
568
|
> sec_right:混凝土截面右半信息 (对称时可忽略,仅混凝土箱梁截面需要)
|
|
568
|
-
>
|
|
569
|
+
> chamfer_right:混凝土截面右半倒角信息 (对称时可忽略,仅混凝土箱梁截面需要)
|
|
569
570
|
> box_num: 混凝土箱室数 (仅混凝土箱梁截面需要)
|
|
570
571
|
> box_height: 混凝土箱梁梁高 (仅混凝土箱梁截面需要)
|
|
571
572
|
> box_other_info: 混凝土箱梁额外信息(键包括"i1" "B0" "B4" "T4" 值为列表)
|
|
@@ -577,7 +578,7 @@ mdb.remove_thickness(name="板厚1")
|
|
|
577
578
|
> _布置具体部位(箱型钢梁) 1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
|
|
578
579
|
> loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
|
|
579
580
|
> sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
|
|
580
|
-
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
|
|
581
|
+
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments),建议以左下角为组合截面原点建立截面
|
|
581
582
|
> sec_property:截面特性(参考UI界面共计29个参数),可选参数,指定截面特性时不进行截面计算
|
|
582
583
|
> bias_type:偏心类型 默认中心
|
|
583
584
|
> center_type:中心类型 默认质心
|
|
@@ -590,7 +591,7 @@ from qtmodel import *
|
|
|
590
591
|
mdb.add_section(name="截面1",sec_type="矩形",sec_info=[2,4],bias_type="中心")
|
|
591
592
|
mdb.add_section(name="截面2",sec_type="混凝土箱梁",box_height=2,box_num=3,
|
|
592
593
|
sec_info=[0.2,0.4,0.1,0.13,3,1,2,1,0.02,0,12,5,6,0.28,0.3,0.5,0.5,0.5,0.2],
|
|
593
|
-
|
|
594
|
+
chamfer_info=["1*0.2,0.1*0.2","0.5*0.15,0.3*0.2","0.4*0.2","0.5*0.2"])
|
|
594
595
|
mdb.add_section(name="钢梁截面1",sec_type="工字钢梁",sec_info=[0,0,0.5,0.5,0.5,0.5,0.7,0.02,0.02,0.02])
|
|
595
596
|
mdb.add_section(name="钢梁截面2",sec_type="箱型钢梁",sec_info=[0,0.15,0.25,0.5,0.25,0.15,0.4,0.15,0.7,0.02,0.02,0.02,0.02],
|
|
596
597
|
rib_info = {"板肋1": [0.1,0.02],"T形肋1":[0.1,0.02,0.02,0.02]},
|
|
@@ -1144,6 +1145,7 @@ steel_detail=[0.00014,0.10,0.25,0.0015],loos_detail=(1,1,1))
|
|
|
1144
1145
|
> point_insert: 定位方式 (直线时为插入点坐标[x,y,z] 轨迹线时[插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id])
|
|
1145
1146
|
> tendon_direction:直线钢束X方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
|
|
1146
1147
|
> rotation_angle:绕钢束旋转角度
|
|
1148
|
+
> rotate_bias:绕钢束旋转偏心X、Y
|
|
1147
1149
|
> track_group:轨迹线结构组名 (直线时不用赋值)
|
|
1148
1150
|
> projection:直线钢束投影 (默认为true)
|
|
1149
1151
|
```Python
|
|
@@ -1170,6 +1172,7 @@ control_points=[(0,0,-1,0),(10,0,-1,0)],point_insert=(1,1,1),track_group="轨迹
|
|
|
1170
1172
|
> point_insert: 定位方式 (直线时为插入点坐标[x,y,z] 轨迹线时[插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id])
|
|
1171
1173
|
> tendon_direction:直线钢束X方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
|
|
1172
1174
|
> rotation_angle:绕钢束旋转角度
|
|
1175
|
+
> rotate_bias:绕钢束旋转偏心X、Y
|
|
1173
1176
|
> track_group:轨迹线结构组名 (直线时不用赋值)
|
|
1174
1177
|
> projection:直线钢束投影 (默认为true)
|
|
1175
1178
|
```Python
|
|
@@ -1252,7 +1255,7 @@ control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线
|
|
|
1252
1255
|
#Returns: 无
|
|
1253
1256
|
```
|
|
1254
1257
|
### update_element_component_type
|
|
1255
|
-
|
|
1258
|
+
赋予单元构件类型
|
|
1256
1259
|
> 参数:
|
|
1257
1260
|
> ids: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
|
|
1258
1261
|
> component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
|
|
@@ -1263,7 +1266,7 @@ mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
|
|
|
1263
1266
|
#Returns: 无
|
|
1264
1267
|
```
|
|
1265
1268
|
### update_tendon_group
|
|
1266
|
-
|
|
1269
|
+
更新钢束组名
|
|
1267
1270
|
> 参数:
|
|
1268
1271
|
> name:原钢束组名
|
|
1269
1272
|
> new_name:新钢束组名
|
|
@@ -1274,7 +1277,7 @@ mdb.update_tendon_group("钢束组1","钢束组2")
|
|
|
1274
1277
|
#Returns: 无
|
|
1275
1278
|
```
|
|
1276
1279
|
### remove_tendon
|
|
1277
|
-
|
|
1280
|
+
按照名称或编号删除钢束,默认时删除所有钢束
|
|
1278
1281
|
> 参数:
|
|
1279
1282
|
> name:钢束名称
|
|
1280
1283
|
> index:钢束编号
|
|
@@ -1287,7 +1290,7 @@ mdb.remove_tendon()
|
|
|
1287
1290
|
#Returns: 无
|
|
1288
1291
|
```
|
|
1289
1292
|
### remove_tendon_property
|
|
1290
|
-
|
|
1293
|
+
按照名称或编号删除钢束组,默认时删除所有钢束组
|
|
1291
1294
|
> 参数:
|
|
1292
1295
|
> name:钢束组名称
|
|
1293
1296
|
> index:钢束组编号
|
|
@@ -1300,7 +1303,7 @@ mdb.remove_tendon_property()
|
|
|
1300
1303
|
#Returns: 无
|
|
1301
1304
|
```
|
|
1302
1305
|
### remove_pre_stress
|
|
1303
|
-
|
|
1306
|
+
删除预应力
|
|
1304
1307
|
> 参数:
|
|
1305
1308
|
> tendon_name:钢束组,默认则删除所有预应力荷载
|
|
1306
1309
|
```Python
|
|
@@ -1311,7 +1314,7 @@ mdb.remove_pre_stress()
|
|
|
1311
1314
|
#Returns: 无
|
|
1312
1315
|
```
|
|
1313
1316
|
### remove_tendon_group
|
|
1314
|
-
|
|
1317
|
+
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
|
|
1315
1318
|
> 参数:
|
|
1316
1319
|
> name:钢束组名称,默认自动识别 (可选参数)
|
|
1317
1320
|
```Python
|
|
@@ -2283,8 +2286,8 @@ from qtmodel import *
|
|
|
2283
2286
|
mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
|
|
2284
2287
|
#Returns: 无
|
|
2285
2288
|
```
|
|
2286
|
-
|
|
2287
|
-
|
|
2289
|
+
### update_spectrum_function
|
|
2290
|
+
todo 更新反应谱函数
|
|
2288
2291
|
> 参数:
|
|
2289
2292
|
> name: 函数名称
|
|
2290
2293
|
> new_name: 新函数名称
|
|
@@ -2606,7 +2609,7 @@ mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构
|
|
|
2606
2609
|
#Returns: 无
|
|
2607
2610
|
```
|
|
2608
2611
|
### update_construction_stage
|
|
2609
|
-
|
|
2612
|
+
更新施工阶段信息
|
|
2610
2613
|
> 参数:
|
|
2611
2614
|
> name:施工阶段信息
|
|
2612
2615
|
> new_name:新施工阶段名
|
|
@@ -2902,57 +2905,6 @@ mdb.update_bulking_setting(do_analysis=True,mode_count=3,variable_cases=["工况
|
|
|
2902
2905
|
```
|
|
2903
2906
|
# 视图与结果提取
|
|
2904
2907
|
## 获取材料
|
|
2905
|
-
### get_concrete_material
|
|
2906
|
-
获取混凝土材料信息
|
|
2907
|
-
> 参数:
|
|
2908
|
-
> ids: 材料号支持XtoYbyN形式字符串,默认时输出全部材料
|
|
2909
|
-
```Python
|
|
2910
|
-
# 示例代码
|
|
2911
|
-
from qtmodel import *
|
|
2912
|
-
odb.get_concrete_material() # 获取所有材料信息
|
|
2913
|
-
#Returns: list[dict]
|
|
2914
|
-
```
|
|
2915
|
-
### get_steel_plate_material
|
|
2916
|
-
获取钢材材料信息
|
|
2917
|
-
> 参数:
|
|
2918
|
-
> ids: 材料号支持XtoYbyN形式字符串,默认时输出全部材料
|
|
2919
|
-
```Python
|
|
2920
|
-
# 示例代码
|
|
2921
|
-
from qtmodel import *
|
|
2922
|
-
odb.get_steel_plate_material() # 获取所有钢材材料信息
|
|
2923
|
-
#Returns: list[dict]
|
|
2924
|
-
```
|
|
2925
|
-
### get_pre_stress_bar_material
|
|
2926
|
-
获取钢材材料信息
|
|
2927
|
-
> 参数:
|
|
2928
|
-
> ids: 材料号,默认时输出全部材料
|
|
2929
|
-
```Python
|
|
2930
|
-
# 示例代码
|
|
2931
|
-
from qtmodel import *
|
|
2932
|
-
odb.get_pre_stress_bar_material() # 获取所有预应力材料信息
|
|
2933
|
-
#Returns: list[dict]
|
|
2934
|
-
```
|
|
2935
|
-
### get_steel_bar_material
|
|
2936
|
-
获取钢筋材料信息
|
|
2937
|
-
> 参数:
|
|
2938
|
-
> ids: 材料号,默认None时输出全部材料
|
|
2939
|
-
```Python
|
|
2940
|
-
# 示例代码
|
|
2941
|
-
from qtmodel import *
|
|
2942
|
-
odb.get_steel_bar_material() # 获取所有钢筋材料信息
|
|
2943
|
-
#Returns: list[dict]
|
|
2944
|
-
```
|
|
2945
|
-
### get_user_define_material
|
|
2946
|
-
获取自定义材料信息
|
|
2947
|
-
> 参数:
|
|
2948
|
-
> ids: 材料号支持XtoYbyN形式字符串,默认None时输出全部材料
|
|
2949
|
-
```Python
|
|
2950
|
-
# 示例代码
|
|
2951
|
-
from qtmodel import *
|
|
2952
|
-
odb.get_user_define_material() # 获取所有自定义材料信息
|
|
2953
|
-
odb.get_user_define_material("1to10") # 获取所有自定义材料信息
|
|
2954
|
-
#Returns: list[dict]
|
|
2955
|
-
```
|
|
2956
2908
|
### get_material_data
|
|
2957
2909
|
获取材料信息
|
|
2958
2910
|
> 参数:
|
|
@@ -2968,16 +2920,7 @@ odb.get_material_data() # 获取所有材料信息
|
|
|
2968
2920
|
```Python
|
|
2969
2921
|
# 示例代码
|
|
2970
2922
|
from qtmodel import *
|
|
2971
|
-
odb.get_thickness_data(
|
|
2972
|
-
#Returns:
|
|
2973
|
-
```
|
|
2974
|
-
### get_all_thickness_data
|
|
2975
|
-
获取所有板厚信息
|
|
2976
|
-
> 参数:
|
|
2977
|
-
```Python
|
|
2978
|
-
# 示例代码
|
|
2979
|
-
from qtmodel import *
|
|
2980
|
-
odb.get_all_thickness_data()
|
|
2923
|
+
odb.get_thickness_data()
|
|
2981
2924
|
#Returns: 包含信息为list[dict]
|
|
2982
2925
|
```
|
|
2983
2926
|
## 获取节点信息
|
|
@@ -3109,6 +3052,27 @@ from qtmodel import *
|
|
|
3109
3052
|
odb.get_group_elements(group_name="默认结构组")
|
|
3110
3053
|
#Returns: list[int]
|
|
3111
3054
|
```
|
|
3055
|
+
## 跨度信息
|
|
3056
|
+
### get_span_supports
|
|
3057
|
+
获取跨度信息的支承节点号
|
|
3058
|
+
> 参数:
|
|
3059
|
+
> span_info_name: 跨度信息名
|
|
3060
|
+
```Python
|
|
3061
|
+
# 示例代码
|
|
3062
|
+
from qtmodel import *
|
|
3063
|
+
odb.get_span_supports(span_info_name="跨度")
|
|
3064
|
+
#Returns: list[int]
|
|
3065
|
+
```
|
|
3066
|
+
### get_span_elements
|
|
3067
|
+
获取跨度信息的支承节点号
|
|
3068
|
+
> 参数:
|
|
3069
|
+
> span_info_name: 跨度信息名
|
|
3070
|
+
```Python
|
|
3071
|
+
# 示例代码
|
|
3072
|
+
from qtmodel import *
|
|
3073
|
+
odb.get_span_elements(span_info_name="跨度")
|
|
3074
|
+
#Returns: list[int]
|
|
3075
|
+
```
|
|
3112
3076
|
## 获取截面信息
|
|
3113
3077
|
### get_all_section_shape
|
|
3114
3078
|
获取所有截面形状信息
|
|
@@ -3142,6 +3106,7 @@ odb.get_all_section_data()
|
|
|
3142
3106
|
获取截面详细信息,截面特性详见UI自定义特性截面
|
|
3143
3107
|
> 参数:
|
|
3144
3108
|
> sec_id: 目标截面编号
|
|
3109
|
+
> position: 目标截面为变截面时0-首端 1-末端
|
|
3145
3110
|
```Python
|
|
3146
3111
|
# 示例代码
|
|
3147
3112
|
from qtmodel import *
|
|
@@ -3167,6 +3132,31 @@ from qtmodel import *
|
|
|
3167
3132
|
odb.get_section_ids()
|
|
3168
3133
|
#Returns: list[int]
|
|
3169
3134
|
```
|
|
3135
|
+
### get_section_property_by_loops
|
|
3136
|
+
通过多组线圈获取截面特性
|
|
3137
|
+
> 参数:
|
|
3138
|
+
```Python
|
|
3139
|
+
# 示例代码
|
|
3140
|
+
from qtmodel import *
|
|
3141
|
+
dict_item1 = {"main": [[9.25, 0.0], [18.4, 0.0], [18.5, 0.0], [18.5, 2.5], [9.25, 2.5], [0.0, 2.5], [0.0, 0.0], [0.1, 0.0]],
|
|
3142
|
+
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
|
|
3143
|
+
"sub2": [[9.25, 0.5], [11.55, 0.5], [11.55, 2.0], [9.25, 2.0], [6.95, 2.0], [6.95, 0.5]],
|
|
3144
|
+
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
|
|
3145
|
+
odb.get_section_property_by_loops([dict_item1])
|
|
3146
|
+
#Returns: dict
|
|
3147
|
+
```
|
|
3148
|
+
### get_section_property_by_lines
|
|
3149
|
+
通过线宽数据获取截面特性
|
|
3150
|
+
> 参数:
|
|
3151
|
+
```Python
|
|
3152
|
+
# 示例代码
|
|
3153
|
+
from qtmodel import *
|
|
3154
|
+
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
|
|
3155
|
+
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
|
|
3156
|
+
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
|
|
3157
|
+
odb.get_section_property_by_lines(sec_lines)
|
|
3158
|
+
#Returns: dict
|
|
3159
|
+
```
|
|
3170
3160
|
## 获取模型边界信息
|
|
3171
3161
|
### get_boundary_group_names
|
|
3172
3162
|
获取自边界组名称
|
|
@@ -3594,6 +3584,36 @@ from qtmodel import *
|
|
|
3594
3584
|
odb.get_buckling_modal_results(mode=1)
|
|
3595
3585
|
#Returns: 返回json字符串,list[dict]包含该模态下屈曲模态向量列表
|
|
3596
3586
|
```
|
|
3587
|
+
### get_tendon_loss_results
|
|
3588
|
+
获取预应力钢束损失
|
|
3589
|
+
> 参数:
|
|
3590
|
+
> name: 钢束名称
|
|
3591
|
+
> stage_id: 阶段编号,默认 1
|
|
3592
|
+
```Python
|
|
3593
|
+
# 示例代码
|
|
3594
|
+
from qtmodel import *
|
|
3595
|
+
odb.get_tendon_loss_results(name="T1", stage_id=2)
|
|
3596
|
+
#Returns:
|
|
3597
|
+
```
|
|
3598
|
+
### get_tendon_position_result
|
|
3599
|
+
获取预应力钢束坐标
|
|
3600
|
+
> 参数:
|
|
3601
|
+
> name: 钢束名称
|
|
3602
|
+
```Python
|
|
3603
|
+
# 示例代码
|
|
3604
|
+
from qtmodel import *
|
|
3605
|
+
odb.get_tendon_position_result(name="T1")
|
|
3606
|
+
#Returns:
|
|
3607
|
+
```
|
|
3608
|
+
### get_tendon_length_result
|
|
3609
|
+
获取预应力伸长量
|
|
3610
|
+
> 参数:
|
|
3611
|
+
```Python
|
|
3612
|
+
# 示例代码
|
|
3613
|
+
from qtmodel import *
|
|
3614
|
+
odb.get_tendon_length_result()
|
|
3615
|
+
#Returns:
|
|
3616
|
+
```
|
|
3597
3617
|
## 绘制模型结果
|
|
3598
3618
|
### plot_reaction_result
|
|
3599
3619
|
保存结果图片到指定文件甲
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__all__ = []
|
|
@@ -91,9 +91,9 @@ class QtDataHelper:
|
|
|
91
91
|
sec_type=sec_type,
|
|
92
92
|
sec_info=sec_data.get("sec_info", []),
|
|
93
93
|
symmetry=sec_data.get("symmetry", True),
|
|
94
|
-
|
|
94
|
+
chamfer_info=sec_data.get("charm_info", None),
|
|
95
95
|
sec_right=sec_data.get("sec_right", None),
|
|
96
|
-
|
|
96
|
+
chamfer_right=sec_data.get("charm_right", None),
|
|
97
97
|
box_num=sec_data.get("box_num", 3),
|
|
98
98
|
box_height=sec_data.get("box_height", 2),
|
|
99
99
|
box_other_info=sec_data.get("box_other_info", None),
|
|
@@ -112,9 +112,9 @@ class QtDataHelper:
|
|
|
112
112
|
sec_type: str = "矩形",
|
|
113
113
|
sec_info: list[float] = None,
|
|
114
114
|
symmetry: bool = True,
|
|
115
|
-
|
|
115
|
+
chamfer_info: list[str] = None,
|
|
116
116
|
sec_right: list[float] = None,
|
|
117
|
-
|
|
117
|
+
chamfer_right: list[str] = None,
|
|
118
118
|
box_num: int = 3,
|
|
119
119
|
box_height: float = 2,
|
|
120
120
|
box_other_info: dict[str, list[float]] = None,
|
|
@@ -127,13 +127,15 @@ class QtDataHelper:
|
|
|
127
127
|
secondary_loop_segments: list[dict] = None):
|
|
128
128
|
"""仅返回字符串片段,需要拼接"""
|
|
129
129
|
if sec_type == "混凝土箱梁":
|
|
130
|
-
s = QtDataHelper.str_concrete_box_beam(symmetry, sec_info, box_num, box_height,
|
|
130
|
+
s = QtDataHelper.str_concrete_box_beam(symmetry, sec_info, box_num, box_height, chamfer_info, sec_right, chamfer_right, box_other_info,
|
|
131
131
|
box_other_right)
|
|
132
|
+
elif sec_type == "箱梁边腹板" or sec_type == "箱梁中腹板" :
|
|
133
|
+
s =",".join(f"{x:g}" for x in sec_info) + "\r\n" + ",".join(f"({s})" for s in chamfer_info)
|
|
132
134
|
elif sec_type == "工字钢梁" or sec_type == "箱型钢梁":
|
|
133
135
|
s = QtDataHelper.str_steel_beam(sec_info, rib_info, rib_place)
|
|
134
136
|
elif sec_type == "特性截面":
|
|
135
137
|
s = ",".join(f"{x:g}" for x in sec_info) + "\r\n"
|
|
136
|
-
elif sec_type
|
|
138
|
+
elif sec_type.startswith("自定义组合"):
|
|
137
139
|
s = QtDataHelper.str_custom_compound_beam(mat_combine, loop_segments, secondary_loop_segments)
|
|
138
140
|
elif sec_type.endswith("组合梁") or sec_type in ("钢管砼", "钢箱砼", "哑铃型钢管混凝土", "哑铃型钢管混凝土竖向"):
|
|
139
141
|
s = QtDataHelper.str_compound_section(sec_info, mat_combine)
|