qtmodel 1.1.11__tar.gz → 1.1.12__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-1.1.11 → qtmodel-1.1.12}/PKG-INFO +36 -10
- {qtmodel-1.1.11 → qtmodel-1.1.12}/README.md +34 -8
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/core/data_helper.py +1 -1
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/__init__.py +1 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_construction_stage.py +7 -7
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_live_load.py +0 -1
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_project.py +4 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_section.py +1 -1
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_temperature_load.py +14 -42
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_tendon.py +7 -7
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_model_section.py +33 -2
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel.egg-info/PKG-INFO +36 -10
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel.egg-info/SOURCES.txt +2 -1
- {qtmodel-1.1.11 → qtmodel-1.1.12}/setup.py +1 -1
- qtmodel-1.1.12/test/test_model.py +1698 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/__init__.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/core/__init__.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/core/model_db.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/core/qt_server.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/core/result_db.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_analysis_setting.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_assistant.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_boundary.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_dynamic_load.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_load.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_property.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_sink_load.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_static_load.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/mdb/mdb_structure.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/__init__.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_model_boundary.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_model_load.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_model_material.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_model_stage.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_model_structure.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_result_data.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_result_plot.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel/odb/odb_view.py +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel.egg-info/dependency_links.txt +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/qtmodel.egg-info/top_level.txt +0 -0
- {qtmodel-1.1.11 → qtmodel-1.1.12}/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-10-
|
|
3
|
+
Version: 1.1.12
|
|
4
|
+
Summary: python modeling for qt 2025-10-30
|
|
5
5
|
Home-page: https://github.com/Inface0443/pyqt
|
|
6
6
|
Author: dqy-zhj
|
|
7
7
|
Author-email: 1105417715@qq.com
|
|
@@ -17,7 +17,7 @@ Dynamic: description-content-type
|
|
|
17
17
|
Dynamic: home-page
|
|
18
18
|
Dynamic: summary
|
|
19
19
|
|
|
20
|
-
> 最新版本 V1.1.
|
|
20
|
+
> 最新版本 V1.1.12 - 2025-10-30
|
|
21
21
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
22
22
|
- 新增更新结构组接口
|
|
23
23
|
# 建模操作
|
|
@@ -596,7 +596,7 @@ mdb.remove_thickness(name="板厚1")
|
|
|
596
596
|
> _布置具体部位(箱型钢梁) 1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
|
|
597
597
|
> loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
|
|
598
598
|
> sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
|
|
599
|
-
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
|
|
599
|
+
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments),建议以左下角为组合截面原点建立截面
|
|
600
600
|
> sec_property:截面特性(参考UI界面共计29个参数),可选参数,指定截面特性时不进行截面计算
|
|
601
601
|
> bias_type:偏心类型 默认中心
|
|
602
602
|
> center_type:中心类型 默认质心
|
|
@@ -1271,7 +1271,7 @@ control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线
|
|
|
1271
1271
|
#Returns: 无
|
|
1272
1272
|
```
|
|
1273
1273
|
### update_element_component_type
|
|
1274
|
-
|
|
1274
|
+
赋予单元构件类型
|
|
1275
1275
|
> 参数:
|
|
1276
1276
|
> ids: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
|
|
1277
1277
|
> component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
|
|
@@ -1282,7 +1282,7 @@ mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
|
|
|
1282
1282
|
#Returns: 无
|
|
1283
1283
|
```
|
|
1284
1284
|
### update_tendon_group
|
|
1285
|
-
|
|
1285
|
+
更新钢束组名
|
|
1286
1286
|
> 参数:
|
|
1287
1287
|
> name:原钢束组名
|
|
1288
1288
|
> new_name:新钢束组名
|
|
@@ -1293,7 +1293,7 @@ mdb.update_tendon_group("钢束组1","钢束组2")
|
|
|
1293
1293
|
#Returns: 无
|
|
1294
1294
|
```
|
|
1295
1295
|
### remove_tendon
|
|
1296
|
-
|
|
1296
|
+
按照名称或编号删除钢束,默认时删除所有钢束
|
|
1297
1297
|
> 参数:
|
|
1298
1298
|
> name:钢束名称
|
|
1299
1299
|
> index:钢束编号
|
|
@@ -1306,7 +1306,7 @@ mdb.remove_tendon()
|
|
|
1306
1306
|
#Returns: 无
|
|
1307
1307
|
```
|
|
1308
1308
|
### remove_tendon_property
|
|
1309
|
-
|
|
1309
|
+
按照名称或编号删除钢束组,默认时删除所有钢束组
|
|
1310
1310
|
> 参数:
|
|
1311
1311
|
> name:钢束组名称
|
|
1312
1312
|
> index:钢束组编号
|
|
@@ -1319,7 +1319,7 @@ mdb.remove_tendon_property()
|
|
|
1319
1319
|
#Returns: 无
|
|
1320
1320
|
```
|
|
1321
1321
|
### remove_pre_stress
|
|
1322
|
-
|
|
1322
|
+
删除预应力
|
|
1323
1323
|
> 参数:
|
|
1324
1324
|
> tendon_name:钢束组,默认则删除所有预应力荷载
|
|
1325
1325
|
```Python
|
|
@@ -1330,7 +1330,7 @@ mdb.remove_pre_stress()
|
|
|
1330
1330
|
#Returns: 无
|
|
1331
1331
|
```
|
|
1332
1332
|
### remove_tendon_group
|
|
1333
|
-
|
|
1333
|
+
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
|
|
1334
1334
|
> 参数:
|
|
1335
1335
|
> name:钢束组名称,默认自动识别 (可选参数)
|
|
1336
1336
|
```Python
|
|
@@ -3101,6 +3101,7 @@ odb.get_all_section_data()
|
|
|
3101
3101
|
获取截面详细信息,截面特性详见UI自定义特性截面
|
|
3102
3102
|
> 参数:
|
|
3103
3103
|
> sec_id: 目标截面编号
|
|
3104
|
+
> position: 目标截面为变截面时0-首端 1-末端
|
|
3104
3105
|
```Python
|
|
3105
3106
|
# 示例代码
|
|
3106
3107
|
from qtmodel import *
|
|
@@ -3126,6 +3127,31 @@ from qtmodel import *
|
|
|
3126
3127
|
odb.get_section_ids()
|
|
3127
3128
|
#Returns: list[int]
|
|
3128
3129
|
```
|
|
3130
|
+
### get_section_property_by_loops
|
|
3131
|
+
通过多组线圈获取截面特性
|
|
3132
|
+
> 参数:
|
|
3133
|
+
```Python
|
|
3134
|
+
# 示例代码
|
|
3135
|
+
from qtmodel import *
|
|
3136
|
+
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]],
|
|
3137
|
+
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
|
|
3138
|
+
"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]],
|
|
3139
|
+
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
|
|
3140
|
+
odb.get_section_property_by_loops([dict_item1])
|
|
3141
|
+
#Returns: dict
|
|
3142
|
+
```
|
|
3143
|
+
### get_section_property_by_lines
|
|
3144
|
+
通过线宽数据获取截面特性
|
|
3145
|
+
> 参数:
|
|
3146
|
+
```Python
|
|
3147
|
+
# 示例代码
|
|
3148
|
+
from qtmodel import *
|
|
3149
|
+
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
|
|
3150
|
+
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
|
|
3151
|
+
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
|
|
3152
|
+
odb.get_section_property_by_lines(sec_lines)
|
|
3153
|
+
#Returns: dict
|
|
3154
|
+
```
|
|
3129
3155
|
## 获取模型边界信息
|
|
3130
3156
|
### get_boundary_group_names
|
|
3131
3157
|
获取自边界组名称
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
> 最新版本 V1.1.
|
|
1
|
+
> 最新版本 V1.1.12 - 2025-10-30
|
|
2
2
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
3
3
|
- 新增更新结构组接口
|
|
4
4
|
# 建模操作
|
|
@@ -577,7 +577,7 @@ mdb.remove_thickness(name="板厚1")
|
|
|
577
577
|
> _布置具体部位(箱型钢梁) 1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
|
|
578
578
|
> loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
|
|
579
579
|
> sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
|
|
580
|
-
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
|
|
580
|
+
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments),建议以左下角为组合截面原点建立截面
|
|
581
581
|
> sec_property:截面特性(参考UI界面共计29个参数),可选参数,指定截面特性时不进行截面计算
|
|
582
582
|
> bias_type:偏心类型 默认中心
|
|
583
583
|
> center_type:中心类型 默认质心
|
|
@@ -1252,7 +1252,7 @@ control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线
|
|
|
1252
1252
|
#Returns: 无
|
|
1253
1253
|
```
|
|
1254
1254
|
### update_element_component_type
|
|
1255
|
-
|
|
1255
|
+
赋予单元构件类型
|
|
1256
1256
|
> 参数:
|
|
1257
1257
|
> ids: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
|
|
1258
1258
|
> component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
|
|
@@ -1263,7 +1263,7 @@ mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
|
|
|
1263
1263
|
#Returns: 无
|
|
1264
1264
|
```
|
|
1265
1265
|
### update_tendon_group
|
|
1266
|
-
|
|
1266
|
+
更新钢束组名
|
|
1267
1267
|
> 参数:
|
|
1268
1268
|
> name:原钢束组名
|
|
1269
1269
|
> new_name:新钢束组名
|
|
@@ -1274,7 +1274,7 @@ mdb.update_tendon_group("钢束组1","钢束组2")
|
|
|
1274
1274
|
#Returns: 无
|
|
1275
1275
|
```
|
|
1276
1276
|
### remove_tendon
|
|
1277
|
-
|
|
1277
|
+
按照名称或编号删除钢束,默认时删除所有钢束
|
|
1278
1278
|
> 参数:
|
|
1279
1279
|
> name:钢束名称
|
|
1280
1280
|
> index:钢束编号
|
|
@@ -1287,7 +1287,7 @@ mdb.remove_tendon()
|
|
|
1287
1287
|
#Returns: 无
|
|
1288
1288
|
```
|
|
1289
1289
|
### remove_tendon_property
|
|
1290
|
-
|
|
1290
|
+
按照名称或编号删除钢束组,默认时删除所有钢束组
|
|
1291
1291
|
> 参数:
|
|
1292
1292
|
> name:钢束组名称
|
|
1293
1293
|
> index:钢束组编号
|
|
@@ -1300,7 +1300,7 @@ mdb.remove_tendon_property()
|
|
|
1300
1300
|
#Returns: 无
|
|
1301
1301
|
```
|
|
1302
1302
|
### remove_pre_stress
|
|
1303
|
-
|
|
1303
|
+
删除预应力
|
|
1304
1304
|
> 参数:
|
|
1305
1305
|
> tendon_name:钢束组,默认则删除所有预应力荷载
|
|
1306
1306
|
```Python
|
|
@@ -1311,7 +1311,7 @@ mdb.remove_pre_stress()
|
|
|
1311
1311
|
#Returns: 无
|
|
1312
1312
|
```
|
|
1313
1313
|
### remove_tendon_group
|
|
1314
|
-
|
|
1314
|
+
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
|
|
1315
1315
|
> 参数:
|
|
1316
1316
|
> name:钢束组名称,默认自动识别 (可选参数)
|
|
1317
1317
|
```Python
|
|
@@ -3082,6 +3082,7 @@ odb.get_all_section_data()
|
|
|
3082
3082
|
获取截面详细信息,截面特性详见UI自定义特性截面
|
|
3083
3083
|
> 参数:
|
|
3084
3084
|
> sec_id: 目标截面编号
|
|
3085
|
+
> position: 目标截面为变截面时0-首端 1-末端
|
|
3085
3086
|
```Python
|
|
3086
3087
|
# 示例代码
|
|
3087
3088
|
from qtmodel import *
|
|
@@ -3107,6 +3108,31 @@ from qtmodel import *
|
|
|
3107
3108
|
odb.get_section_ids()
|
|
3108
3109
|
#Returns: list[int]
|
|
3109
3110
|
```
|
|
3111
|
+
### get_section_property_by_loops
|
|
3112
|
+
通过多组线圈获取截面特性
|
|
3113
|
+
> 参数:
|
|
3114
|
+
```Python
|
|
3115
|
+
# 示例代码
|
|
3116
|
+
from qtmodel import *
|
|
3117
|
+
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]],
|
|
3118
|
+
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
|
|
3119
|
+
"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]],
|
|
3120
|
+
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
|
|
3121
|
+
odb.get_section_property_by_loops([dict_item1])
|
|
3122
|
+
#Returns: dict
|
|
3123
|
+
```
|
|
3124
|
+
### get_section_property_by_lines
|
|
3125
|
+
通过线宽数据获取截面特性
|
|
3126
|
+
> 参数:
|
|
3127
|
+
```Python
|
|
3128
|
+
# 示例代码
|
|
3129
|
+
from qtmodel import *
|
|
3130
|
+
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
|
|
3131
|
+
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
|
|
3132
|
+
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
|
|
3133
|
+
odb.get_section_property_by_lines(sec_lines)
|
|
3134
|
+
#Returns: dict
|
|
3135
|
+
```
|
|
3110
3136
|
## 获取模型边界信息
|
|
3111
3137
|
### get_boundary_group_names
|
|
3112
3138
|
获取自边界组名称
|
|
@@ -133,7 +133,7 @@ class QtDataHelper:
|
|
|
133
133
|
s = QtDataHelper.str_steel_beam(sec_info, rib_info, rib_place)
|
|
134
134
|
elif sec_type == "特性截面":
|
|
135
135
|
s = ",".join(f"{x:g}" for x in sec_info) + "\r\n"
|
|
136
|
-
elif sec_type
|
|
136
|
+
elif sec_type.startswith("自定义组合"):
|
|
137
137
|
s = QtDataHelper.str_custom_compound_beam(mat_combine, loop_segments, secondary_loop_segments)
|
|
138
138
|
elif sec_type.endswith("组合梁") or sec_type in ("钢管砼", "钢箱砼", "哑铃型钢管混凝土", "哑铃型钢管混凝土竖向"):
|
|
139
139
|
s = QtDataHelper.str_compound_section(sec_info, mat_combine)
|
|
@@ -14,6 +14,7 @@ from .mdb_temperature_load import MdbTemperatureLoad
|
|
|
14
14
|
from .mdb_tendon import MdbTendon
|
|
15
15
|
from .mdb_load import MdbLoad
|
|
16
16
|
|
|
17
|
+
# version 1.1.11
|
|
17
18
|
|
|
18
19
|
class Mdb(MdbProject, MdbStructure,MdbProperty, MdbSection,
|
|
19
20
|
MdbBoundary, MdbDynamicLoad,MdbConstructionStage,
|
|
@@ -48,19 +48,19 @@ class MdbConstructionStage:
|
|
|
48
48
|
"""
|
|
49
49
|
s = "*STAGE\r\n"
|
|
50
50
|
s += f"ID={index},{name},{duration},{tendon_cancel_loss:g},{constraint_cancel_type}\r\n"
|
|
51
|
-
if active_structures is not None:
|
|
51
|
+
if active_structures is not None and len(active_structures) > 0:
|
|
52
52
|
s += f"AELEM={','.join(','.join(str(x) if not isinstance(x, (int, float)) else f'{x:g}' for x in row) for row in active_structures)}\r\n"
|
|
53
|
-
if delete_structures is not None:
|
|
53
|
+
if delete_structures is not None and len(delete_structures) > 0:
|
|
54
54
|
s += f"DELEM={','.join(map(str, delete_structures))}\r\n"
|
|
55
|
-
if active_boundaries is not None:
|
|
55
|
+
if active_boundaries is not None and len(active_boundaries) > 0:
|
|
56
56
|
s += f"ABNDR={','.join(','.join(map(str, row)) for row in active_boundaries)}\r\n"
|
|
57
|
-
if delete_boundaries is not None:
|
|
57
|
+
if delete_boundaries is not None and len(delete_boundaries) > 0:
|
|
58
58
|
s += f"DBNDR={','.join(map(str, delete_boundaries))}\r\n"
|
|
59
|
-
if active_loads is not None:
|
|
59
|
+
if active_loads is not None and len(active_loads) > 0:
|
|
60
60
|
s += f"ALOAD={','.join(','.join(map(str, row)) for row in active_loads)}\r\n"
|
|
61
|
-
if delete_loads is not None:
|
|
61
|
+
if delete_loads is not None and len(delete_loads) > 0:
|
|
62
62
|
s += f"DLOAD={','.join(','.join(map(str, row)) for row in delete_loads)}\r\n"
|
|
63
|
-
if temp_loads is not None:
|
|
63
|
+
if temp_loads is not None and len(temp_loads) > 0:
|
|
64
64
|
s += f"TEPLOAD={','.join(map(str, temp_loads))}\r\n"
|
|
65
65
|
QtServer.send_command(s, "QDAT")
|
|
66
66
|
|
|
@@ -201,7 +201,6 @@ class MdbLiveLoad:
|
|
|
201
201
|
else:
|
|
202
202
|
s += f"YES,{special_code}\r\n"
|
|
203
203
|
s += "\r\n".join((f"{veh_name},{coeff:g}," + ",".join(lanes)) for veh_name, coeff, lanes in sub_case)
|
|
204
|
-
# print(s)
|
|
205
204
|
QtServer.send_command(s, "QDAT")
|
|
206
205
|
except Exception as ex:
|
|
207
206
|
raise Exception(ex)
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
|
+
import time
|
|
3
|
+
|
|
2
4
|
from qtmodel.core.qt_server import QtServer
|
|
3
5
|
from typing import List
|
|
4
6
|
|
|
@@ -95,6 +97,8 @@ class MdbProject:
|
|
|
95
97
|
Returns: 无
|
|
96
98
|
"""
|
|
97
99
|
QtServer.send_command(header="DO-SOLVE")
|
|
100
|
+
# 设置缓冲时间
|
|
101
|
+
time.sleep(3)
|
|
98
102
|
|
|
99
103
|
@staticmethod
|
|
100
104
|
def initial():
|
|
@@ -59,7 +59,7 @@ class MdbSection:
|
|
|
59
59
|
_布置具体部位(箱型钢梁) 1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
|
|
60
60
|
loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
|
|
61
61
|
sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
|
|
62
|
-
secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
|
|
62
|
+
secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments),建议以左下角为组合截面原点建立截面
|
|
63
63
|
sec_property:截面特性(参考UI界面共计29个参数),可选参数,指定截面特性时不进行截面计算
|
|
64
64
|
bias_type:偏心类型 默认中心
|
|
65
65
|
center_type:中心类型 默认质心
|
|
@@ -24,12 +24,8 @@ class MdbTemperatureLoad:
|
|
|
24
24
|
mdb.add_custom_temperature(case_name="荷载工况1",element_id=1,orientation=1,temperature_data=[(1,1,20),(1,2,10)])
|
|
25
25
|
Returns: 无
|
|
26
26
|
"""
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
30
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
31
|
-
else:
|
|
32
|
-
id_str = str(element_id)
|
|
27
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
28
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
33
29
|
s = "*USER-TEMP\r\n" + f"{id_str},{case_name},{group_name},{orientation},"
|
|
34
30
|
s += ",".join(f"({','.join(f'{x:g}' for x in data)})" for data in temperature_data) + "\r\n"
|
|
35
31
|
# print(s)
|
|
@@ -49,12 +45,8 @@ class MdbTemperatureLoad:
|
|
|
49
45
|
mdb.add_element_temperature(element_id=1,case_name="自重",temperature=1,group_name="默认荷载组")
|
|
50
46
|
Returns: 无
|
|
51
47
|
"""
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
55
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
56
|
-
else:
|
|
57
|
-
id_str = str(element_id)
|
|
48
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
49
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
58
50
|
s = "*ELE-TEMP\r\n" + f"{id_str},{case_name},{group_name},{temperature:g}\r\n"
|
|
59
51
|
# print(s)
|
|
60
52
|
QtServer.send_command(s, "QDAT")
|
|
@@ -93,12 +85,8 @@ class MdbTemperatureLoad:
|
|
|
93
85
|
Returns: 无
|
|
94
86
|
"""
|
|
95
87
|
s = ""
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
99
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
100
|
-
else:
|
|
101
|
-
id_str = str(element_id)
|
|
88
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
89
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
102
90
|
if element_type == 1: # 1-梁单元
|
|
103
91
|
s = "*BEAMGRD-TEMP\r\n" + f"{id_str},{case_name},{group_name},{section_oriental},{temperature:g}" + "\r\n"
|
|
104
92
|
elif element_type == 2: # 2-板单元
|
|
@@ -127,12 +115,8 @@ class MdbTemperatureLoad:
|
|
|
127
115
|
mdb.add_beam_section_temperature(element_id=1,case_name="工况1",code_index=1,sec_type=1,t1=-4.2,t2=-1)
|
|
128
116
|
Returns: 无
|
|
129
117
|
"""
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
133
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
134
|
-
else:
|
|
135
|
-
id_str = str(element_id)
|
|
118
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
119
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
136
120
|
s = "*SEC-TEMP\r\n" + f"{id_str},{case_name},{group_name},{code_index},{sec_type},{t1:g},{t2:g},{t3:g},{t4:g},{thick:g}" + "\r\n"
|
|
137
121
|
# print(s)
|
|
138
122
|
QtServer.send_command(s, "QDAT")
|
|
@@ -152,12 +136,8 @@ class MdbTemperatureLoad:
|
|
|
152
136
|
mdb.add_index_temperature(element_id=1,case_name="工况1",temperature=20,index=2)
|
|
153
137
|
Returns: 无
|
|
154
138
|
"""
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
158
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
159
|
-
else:
|
|
160
|
-
id_str = str(element_id)
|
|
139
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
140
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
161
141
|
tem_dir = 1 # 目前仅支持截面高度方向温度加载
|
|
162
142
|
s = "*INDEX-TEMP\r\n" + f"{id_str},{case_name},{group_name},{tem_dir},{temperature:g},{index:g}" + "\r\n"
|
|
163
143
|
# print(s)
|
|
@@ -177,12 +157,8 @@ class MdbTemperatureLoad:
|
|
|
177
157
|
mdb.add_top_plate_temperature(element_id=1,case_name="工况1",temperature=40,group_name="默认荷载组")
|
|
178
158
|
Returns: 无
|
|
179
159
|
"""
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
183
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
184
|
-
else:
|
|
185
|
-
id_str = str(element_id)
|
|
160
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
161
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
186
162
|
s = "*TOPPLATE-TEMP\r\n" + f"{id_str},{case_name},{group_name},{temperature:g}" + "\r\n"
|
|
187
163
|
# print(s)
|
|
188
164
|
QtServer.send_command(s, "QDAT")
|
|
@@ -333,12 +309,8 @@ class MdbTemperatureLoad:
|
|
|
333
309
|
"""
|
|
334
310
|
if parameters is None:
|
|
335
311
|
raise Exception("操作错误,制造误差名称信息不能为空")
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
elif isinstance(element_id, list): # 列表转化为XtoYbyN
|
|
339
|
-
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
340
|
-
else:
|
|
341
|
-
id_str = str(element_id)
|
|
312
|
+
element_id = QtDataHelper.parse_ids_to_array(element_id)
|
|
313
|
+
id_str = QtDataHelper.parse_int_list_to_str(element_id)
|
|
342
314
|
s = "*DEVLOAD\r\n" + f"{id_str},{case_name},{group_name},"
|
|
343
315
|
if isinstance(parameters, str):
|
|
344
316
|
s += f"{parameters}\r\n"
|
|
@@ -299,7 +299,7 @@ class MdbTendon:
|
|
|
299
299
|
@staticmethod
|
|
300
300
|
def update_element_component_type(ids=None, component_type: int = 2):
|
|
301
301
|
"""
|
|
302
|
-
|
|
302
|
+
赋予单元构件类型
|
|
303
303
|
Args:
|
|
304
304
|
ids: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
|
|
305
305
|
component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
|
|
@@ -308,7 +308,7 @@ class MdbTendon:
|
|
|
308
308
|
Returns: 无
|
|
309
309
|
"""
|
|
310
310
|
payload = {
|
|
311
|
-
"ids": ids,
|
|
311
|
+
"ids": QtDataHelper.parse_ids_to_array(ids),
|
|
312
312
|
"component_type": component_type,
|
|
313
313
|
}
|
|
314
314
|
return QtServer.send_dict("UPDATE-ELEMENT-COMPONENT-TYPE", payload)
|
|
@@ -316,7 +316,7 @@ class MdbTendon:
|
|
|
316
316
|
@staticmethod
|
|
317
317
|
def update_tendon_group(name: str, new_name: str = ""):
|
|
318
318
|
"""
|
|
319
|
-
|
|
319
|
+
更新钢束组名
|
|
320
320
|
Args:
|
|
321
321
|
name:原钢束组名
|
|
322
322
|
new_name:新钢束组名
|
|
@@ -333,7 +333,7 @@ class MdbTendon:
|
|
|
333
333
|
@staticmethod
|
|
334
334
|
def remove_tendon(name: str = "", index: int = -1):
|
|
335
335
|
"""
|
|
336
|
-
|
|
336
|
+
按照名称或编号删除钢束,默认时删除所有钢束
|
|
337
337
|
Args:
|
|
338
338
|
name:钢束名称
|
|
339
339
|
index:钢束编号
|
|
@@ -352,7 +352,7 @@ class MdbTendon:
|
|
|
352
352
|
@staticmethod
|
|
353
353
|
def remove_tendon_property(name: str = "", index: int = -1):
|
|
354
354
|
"""
|
|
355
|
-
|
|
355
|
+
按照名称或编号删除钢束组,默认时删除所有钢束组
|
|
356
356
|
Args:
|
|
357
357
|
name:钢束组名称
|
|
358
358
|
index:钢束组编号
|
|
@@ -371,7 +371,7 @@ class MdbTendon:
|
|
|
371
371
|
@staticmethod
|
|
372
372
|
def remove_pre_stress(tendon_name: str = ""):
|
|
373
373
|
"""
|
|
374
|
-
|
|
374
|
+
删除预应力
|
|
375
375
|
Args:
|
|
376
376
|
tendon_name:钢束组,默认则删除所有预应力荷载
|
|
377
377
|
Example:
|
|
@@ -385,7 +385,7 @@ class MdbTendon:
|
|
|
385
385
|
@staticmethod
|
|
386
386
|
def remove_tendon_group(name: str = ""):
|
|
387
387
|
"""
|
|
388
|
-
|
|
388
|
+
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
|
|
389
389
|
Args:
|
|
390
390
|
name:钢束组名称,默认自动识别 (可选参数)
|
|
391
391
|
Example:
|
|
@@ -42,16 +42,17 @@ class OdbModelSection:
|
|
|
42
42
|
return QtServer.send_dict("GET-ALL-SECTION-DATA", None)
|
|
43
43
|
|
|
44
44
|
@staticmethod
|
|
45
|
-
def get_section_data(sec_id: int):
|
|
45
|
+
def get_section_data(sec_id: int, position: int = 0):
|
|
46
46
|
"""
|
|
47
47
|
获取截面详细信息,截面特性详见UI自定义特性截面
|
|
48
48
|
Args:
|
|
49
49
|
sec_id: 目标截面编号
|
|
50
|
+
position: 目标截面为变截面时0-首端 1-末端
|
|
50
51
|
Example:
|
|
51
52
|
odb.get_section_data(1)
|
|
52
53
|
Returns: 包含信息为dict
|
|
53
54
|
"""
|
|
54
|
-
payload = {"sec_id": sec_id}
|
|
55
|
+
payload = {"sec_id": sec_id, "position": position}
|
|
55
56
|
return QtServer.send_dict("GET-SECTION-DATA", payload)
|
|
56
57
|
|
|
57
58
|
@staticmethod
|
|
@@ -78,4 +79,34 @@ class OdbModelSection:
|
|
|
78
79
|
"""
|
|
79
80
|
return QtServer.send_dict("GET-SECTION-IDS", None)
|
|
80
81
|
|
|
82
|
+
@staticmethod
|
|
83
|
+
def get_section_property_by_loops(loop_segments: list[dict] = None):
|
|
84
|
+
"""
|
|
85
|
+
通过多组线圈获取截面特性
|
|
86
|
+
Args:无
|
|
87
|
+
Example:
|
|
88
|
+
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]],
|
|
89
|
+
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
|
|
90
|
+
"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]],
|
|
91
|
+
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
|
|
92
|
+
odb.get_section_property_by_loops([dict_item1])
|
|
93
|
+
Returns: dict
|
|
94
|
+
"""
|
|
95
|
+
payload = {"loop_segments": loop_segments}
|
|
96
|
+
return QtServer.send_dict("GET-SECTION-PROPERTY-BY-LOOPS", payload)
|
|
97
|
+
|
|
98
|
+
@staticmethod
|
|
99
|
+
def get_section_property_by_lines(sec_lines: list[tuple[float, float, float, float, float]] = None):
|
|
100
|
+
"""
|
|
101
|
+
通过线宽数据获取截面特性
|
|
102
|
+
Args:无
|
|
103
|
+
Example:
|
|
104
|
+
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
|
|
105
|
+
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
|
|
106
|
+
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
|
|
107
|
+
odb.get_section_property_by_lines(sec_lines)
|
|
108
|
+
Returns: dict
|
|
109
|
+
"""
|
|
110
|
+
payload = {"sec_lines": sec_lines}
|
|
111
|
+
return QtServer.send_dict("GET-SECTION-PROPERTY-BY-LINES", payload)
|
|
81
112
|
# endregion
|
|
@@ -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-10-
|
|
3
|
+
Version: 1.1.12
|
|
4
|
+
Summary: python modeling for qt 2025-10-30
|
|
5
5
|
Home-page: https://github.com/Inface0443/pyqt
|
|
6
6
|
Author: dqy-zhj
|
|
7
7
|
Author-email: 1105417715@qq.com
|
|
@@ -17,7 +17,7 @@ Dynamic: description-content-type
|
|
|
17
17
|
Dynamic: home-page
|
|
18
18
|
Dynamic: summary
|
|
19
19
|
|
|
20
|
-
> 最新版本 V1.1.
|
|
20
|
+
> 最新版本 V1.1.12 - 2025-10-30
|
|
21
21
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
22
22
|
- 新增更新结构组接口
|
|
23
23
|
# 建模操作
|
|
@@ -596,7 +596,7 @@ mdb.remove_thickness(name="板厚1")
|
|
|
596
596
|
> _布置具体部位(箱型钢梁) 1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
|
|
597
597
|
> loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
|
|
598
598
|
> sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
|
|
599
|
-
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
|
|
599
|
+
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments),建议以左下角为组合截面原点建立截面
|
|
600
600
|
> sec_property:截面特性(参考UI界面共计29个参数),可选参数,指定截面特性时不进行截面计算
|
|
601
601
|
> bias_type:偏心类型 默认中心
|
|
602
602
|
> center_type:中心类型 默认质心
|
|
@@ -1271,7 +1271,7 @@ control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线
|
|
|
1271
1271
|
#Returns: 无
|
|
1272
1272
|
```
|
|
1273
1273
|
### update_element_component_type
|
|
1274
|
-
|
|
1274
|
+
赋予单元构件类型
|
|
1275
1275
|
> 参数:
|
|
1276
1276
|
> ids: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
|
|
1277
1277
|
> component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
|
|
@@ -1282,7 +1282,7 @@ mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
|
|
|
1282
1282
|
#Returns: 无
|
|
1283
1283
|
```
|
|
1284
1284
|
### update_tendon_group
|
|
1285
|
-
|
|
1285
|
+
更新钢束组名
|
|
1286
1286
|
> 参数:
|
|
1287
1287
|
> name:原钢束组名
|
|
1288
1288
|
> new_name:新钢束组名
|
|
@@ -1293,7 +1293,7 @@ mdb.update_tendon_group("钢束组1","钢束组2")
|
|
|
1293
1293
|
#Returns: 无
|
|
1294
1294
|
```
|
|
1295
1295
|
### remove_tendon
|
|
1296
|
-
|
|
1296
|
+
按照名称或编号删除钢束,默认时删除所有钢束
|
|
1297
1297
|
> 参数:
|
|
1298
1298
|
> name:钢束名称
|
|
1299
1299
|
> index:钢束编号
|
|
@@ -1306,7 +1306,7 @@ mdb.remove_tendon()
|
|
|
1306
1306
|
#Returns: 无
|
|
1307
1307
|
```
|
|
1308
1308
|
### remove_tendon_property
|
|
1309
|
-
|
|
1309
|
+
按照名称或编号删除钢束组,默认时删除所有钢束组
|
|
1310
1310
|
> 参数:
|
|
1311
1311
|
> name:钢束组名称
|
|
1312
1312
|
> index:钢束组编号
|
|
@@ -1319,7 +1319,7 @@ mdb.remove_tendon_property()
|
|
|
1319
1319
|
#Returns: 无
|
|
1320
1320
|
```
|
|
1321
1321
|
### remove_pre_stress
|
|
1322
|
-
|
|
1322
|
+
删除预应力
|
|
1323
1323
|
> 参数:
|
|
1324
1324
|
> tendon_name:钢束组,默认则删除所有预应力荷载
|
|
1325
1325
|
```Python
|
|
@@ -1330,7 +1330,7 @@ mdb.remove_pre_stress()
|
|
|
1330
1330
|
#Returns: 无
|
|
1331
1331
|
```
|
|
1332
1332
|
### remove_tendon_group
|
|
1333
|
-
|
|
1333
|
+
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
|
|
1334
1334
|
> 参数:
|
|
1335
1335
|
> name:钢束组名称,默认自动识别 (可选参数)
|
|
1336
1336
|
```Python
|
|
@@ -3101,6 +3101,7 @@ odb.get_all_section_data()
|
|
|
3101
3101
|
获取截面详细信息,截面特性详见UI自定义特性截面
|
|
3102
3102
|
> 参数:
|
|
3103
3103
|
> sec_id: 目标截面编号
|
|
3104
|
+
> position: 目标截面为变截面时0-首端 1-末端
|
|
3104
3105
|
```Python
|
|
3105
3106
|
# 示例代码
|
|
3106
3107
|
from qtmodel import *
|
|
@@ -3126,6 +3127,31 @@ from qtmodel import *
|
|
|
3126
3127
|
odb.get_section_ids()
|
|
3127
3128
|
#Returns: list[int]
|
|
3128
3129
|
```
|
|
3130
|
+
### get_section_property_by_loops
|
|
3131
|
+
通过多组线圈获取截面特性
|
|
3132
|
+
> 参数:
|
|
3133
|
+
```Python
|
|
3134
|
+
# 示例代码
|
|
3135
|
+
from qtmodel import *
|
|
3136
|
+
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]],
|
|
3137
|
+
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
|
|
3138
|
+
"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]],
|
|
3139
|
+
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
|
|
3140
|
+
odb.get_section_property_by_loops([dict_item1])
|
|
3141
|
+
#Returns: dict
|
|
3142
|
+
```
|
|
3143
|
+
### get_section_property_by_lines
|
|
3144
|
+
通过线宽数据获取截面特性
|
|
3145
|
+
> 参数:
|
|
3146
|
+
```Python
|
|
3147
|
+
# 示例代码
|
|
3148
|
+
from qtmodel import *
|
|
3149
|
+
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
|
|
3150
|
+
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
|
|
3151
|
+
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
|
|
3152
|
+
odb.get_section_property_by_lines(sec_lines)
|
|
3153
|
+
#Returns: dict
|
|
3154
|
+
```
|
|
3129
3155
|
## 获取模型边界信息
|
|
3130
3156
|
### get_boundary_group_names
|
|
3131
3157
|
获取自边界组名称
|