osis-python 0.1.5__tar.gz → 0.1.6__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.
- {osis_python-0.1.5/src/osis_python.egg-info → osis_python-0.1.6}/PKG-INFO +2 -23
- {osis_python-0.1.5 → osis_python-0.1.6}/pyproject.toml +2 -2
- {osis_python-0.1.5 → osis_python-0.1.6/src/osis_python.egg-info}/PKG-INFO +2 -23
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/__init__.py +1 -1
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/QuickBuildingAgent.py +5 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/boundary/interface.py +6 -3
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/core/command.py +1 -1
- osis_python-0.1.6/src/pyosis/live/lane.py +125 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/load/static.py +2 -2
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/quick_building/interface.py +15 -9
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/section/common.py +1 -1
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/stage/overall.py +4 -4
- osis_python-0.1.5/src/pyosis/live/lane.py +0 -56
- {osis_python-0.1.5 → osis_python-0.1.6}/LICENSE +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/README.md +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/setup.cfg +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/osis_python.egg-info/SOURCES.txt +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/osis_python.egg-info/dependency_links.txt +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/osis_python.egg-info/requires.txt +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/osis_python.egg-info/top_level.txt +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/BaseAgent.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/DecisionAgent.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/MaterialAgent.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/ModelAgent.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/SectionAgent.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/ai/agents/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/boundary/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/control/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/control/interface.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/core/PyInterface.pyi +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/core/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/core/engine.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/element/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/element/interface.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/general/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/general/interface.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/live/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/live/analysis.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/live/grade.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/load/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/load/loadcase.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/load/tendon.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/material/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/material/interface.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/node/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/node/interface.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/post/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/post/interface.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/property/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/property/coordinate.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/property/creep_shrink.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/property/damping.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/property/pu_curve.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/quick_building/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/section/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/section/numeric.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/section/param.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/section/steel.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/stage/__init__.py +0 -0
- {osis_python-0.1.5 → osis_python-0.1.6}/src/pyosis/stage/define.py +0 -0
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: osis-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: A Python client library for Osis APDL
|
|
5
5
|
Author-email: "CCCC Highway Consultant Co. Ltd." <support@osisbim.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
|
|
8
|
-
Copyright (c) 2025 CCCC Highway Consultant Co. Ltd.
|
|
9
|
-
|
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
in the Software without restriction, including without limitation the rights
|
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
furnished to do so, subject to the following conditions:
|
|
16
|
-
|
|
17
|
-
The above copyright notice and this permission notice shall be included in all
|
|
18
|
-
copies or substantial portions of the Software.
|
|
19
|
-
|
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
-
SOFTWARE.
|
|
6
|
+
License-Expression: MIT
|
|
27
7
|
Project-URL: Homepage, https://github.com/osis-ai/pyosis
|
|
28
8
|
Project-URL: Documentation, https://github.com/osis-ai/pyosis#readme
|
|
29
9
|
Project-URL: Repository, https://github.com/osis-ai/pyosis.git
|
|
@@ -31,7 +11,6 @@ Project-URL: BugTracker, https://github.com/osis-ai/pyosis/issues
|
|
|
31
11
|
Classifier: Development Status :: 4 - Beta
|
|
32
12
|
Classifier: Intended Audience :: Developers
|
|
33
13
|
Classifier: Topic :: Software Development :: Libraries
|
|
34
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
35
14
|
Classifier: Programming Language :: Python :: 3
|
|
36
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
37
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -16,7 +16,8 @@ description = "A Python client library for Osis APDL"
|
|
|
16
16
|
# 详细描述文件
|
|
17
17
|
readme = "README.md"
|
|
18
18
|
# 许可证文件
|
|
19
|
-
license =
|
|
19
|
+
license = "MIT"
|
|
20
|
+
license-files = ["LICENSE"]
|
|
20
21
|
# Python 版本要求
|
|
21
22
|
requires-python = ">=3.11"
|
|
22
23
|
# 分类器
|
|
@@ -24,7 +25,6 @@ classifiers = [
|
|
|
24
25
|
"Development Status :: 4 - Beta",
|
|
25
26
|
"Intended Audience :: Developers",
|
|
26
27
|
"Topic :: Software Development :: Libraries",
|
|
27
|
-
"License :: OSI Approved :: MIT License",
|
|
28
28
|
"Programming Language :: Python :: 3",
|
|
29
29
|
"Programming Language :: Python :: 3.11",
|
|
30
30
|
"Programming Language :: Python :: 3.12",
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: osis-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: A Python client library for Osis APDL
|
|
5
5
|
Author-email: "CCCC Highway Consultant Co. Ltd." <support@osisbim.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
|
|
8
|
-
Copyright (c) 2025 CCCC Highway Consultant Co. Ltd.
|
|
9
|
-
|
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
in the Software without restriction, including without limitation the rights
|
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
furnished to do so, subject to the following conditions:
|
|
16
|
-
|
|
17
|
-
The above copyright notice and this permission notice shall be included in all
|
|
18
|
-
copies or substantial portions of the Software.
|
|
19
|
-
|
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
-
SOFTWARE.
|
|
6
|
+
License-Expression: MIT
|
|
27
7
|
Project-URL: Homepage, https://github.com/osis-ai/pyosis
|
|
28
8
|
Project-URL: Documentation, https://github.com/osis-ai/pyosis#readme
|
|
29
9
|
Project-URL: Repository, https://github.com/osis-ai/pyosis.git
|
|
@@ -31,7 +11,6 @@ Project-URL: BugTracker, https://github.com/osis-ai/pyosis/issues
|
|
|
31
11
|
Classifier: Development Status :: 4 - Beta
|
|
32
12
|
Classifier: Intended Audience :: Developers
|
|
33
13
|
Classifier: Topic :: Software Development :: Libraries
|
|
34
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
35
14
|
Classifier: Programming Language :: Python :: 3
|
|
36
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
37
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -7,7 +7,7 @@ A library for extending OSIS functionality.
|
|
|
7
7
|
A library that allows users to use CAE with great flexibility.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
-
__version__ = "0.1.
|
|
10
|
+
__version__ = "0.1.6"
|
|
11
11
|
__author__ = "CCCC Highway Consultant Co. Ltd." # 中交公路规划设计院 - 工程技术研究中心
|
|
12
12
|
|
|
13
13
|
# from .core import engine
|
|
@@ -70,5 +70,10 @@ __快速建模函数__ `osis_create_qb_bridge` - 按照设置好的参数创建
|
|
|
70
70
|
- 处理OSISEngine引擎层错误
|
|
71
71
|
- 创建成功后,请告知用户。创建失败后,请告知失败原因。
|
|
72
72
|
|
|
73
|
+
注意事项:
|
|
74
|
+
|
|
75
|
+
- 如果用户要求直接以代码的形式回复,需要首先导入pyosis.quick_building,然后输出python代码块,不要尝试调用函数
|
|
76
|
+
- 如果用户要求直接以代码的形式回复,需要首先导入pyosis.quick_building,然后输出python代码块,不要尝试调用函数
|
|
77
|
+
|
|
73
78
|
"""
|
|
74
79
|
super().create_agent(tools, system_prompt)
|
|
@@ -26,7 +26,8 @@ from ..core import REGISTRY
|
|
|
26
26
|
@REGISTRY.register("Boundary")
|
|
27
27
|
def osis_boundary_general(nBd: int, eBoundaryType: Literal["GENERAL"]="GENERAL", nCoor: int = -1, bX: bool = 1, bY: bool = 1, bZ: bool = 1, bRX: bool = 1, bRY: bool = 1, bRZ: bool = 1, bRW: bool = 1):
|
|
28
28
|
'''
|
|
29
|
-
定义或修改一般边界
|
|
29
|
+
## 定义或修改一般边界
|
|
30
|
+
pyosis.boundary.osis_boundary_general
|
|
30
31
|
|
|
31
32
|
Args:
|
|
32
33
|
nBd (int): 编号
|
|
@@ -48,7 +49,8 @@ def osis_boundary_general(nBd: int, eBoundaryType: Literal["GENERAL"]="GENERAL",
|
|
|
48
49
|
@REGISTRY.register("AsgnBd")
|
|
49
50
|
def osis_assign_boundary(nBd: int=1, eOP: Literal["a", "s", "r", "aa", "ra"]="a", param: list=[]):
|
|
50
51
|
'''
|
|
51
|
-
分配边界给节点(一般支撑,节点弹性支撑)
|
|
52
|
+
## 分配边界给节点(一般支撑,节点弹性支撑)
|
|
53
|
+
pyosis.boundary.osis_assign_boundary
|
|
52
54
|
|
|
53
55
|
Args:
|
|
54
56
|
nBd (int): 边界编号
|
|
@@ -68,7 +70,8 @@ def osis_assign_boundary(nBd: int=1, eOP: Literal["a", "s", "r", "aa", "ra"]="a"
|
|
|
68
70
|
@REGISTRY.register("BdGrp")
|
|
69
71
|
def osis_boundary_group(strName: str, eOP: Literal["c", "a", "s", "r", "aa", "ra", "m", "d"], param: list=[]):
|
|
70
72
|
'''
|
|
71
|
-
添加或移除边界组
|
|
73
|
+
## 添加或移除边界组
|
|
74
|
+
pyosis.boundary.osis_boundary_group
|
|
72
75
|
|
|
73
76
|
Args:
|
|
74
77
|
strName (str): 边界组名
|
|
@@ -163,7 +163,7 @@ class OSISFunctionRegistry:
|
|
|
163
163
|
|
|
164
164
|
def set_run_mode(self, mode: Literal["stash", "exec"]="exec"):
|
|
165
165
|
'''设置命令运行模式,默认是暂存,可以提高性能'''
|
|
166
|
-
self.
|
|
166
|
+
self.run_mode = mode
|
|
167
167
|
|
|
168
168
|
# 全局函数注册表实例
|
|
169
169
|
REGISTRY = OSISFunctionRegistry() # 作用为提供python函数和命令流的映射关系,保证参数个数与顺序正常,python函数一定要注册一下
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
from typing import Dict, Any, Literal
|
|
2
|
+
from ..core import REGISTRY
|
|
3
|
+
|
|
4
|
+
@REGISTRY.register("InflAlgo")
|
|
5
|
+
def osis_lane_ve(strName: str, eType: Literal["VE"], dLength: float, eOriention: Literal[-1, 0, 1], eRef: Literal[0, 1], param: list):
|
|
6
|
+
# Name, type, length, vehOri, ref, par1,par2, par3
|
|
7
|
+
'''
|
|
8
|
+
定义活载影响线计算方法:车道单元法(Vehicle Element Method)
|
|
9
|
+
|
|
10
|
+
Args:
|
|
11
|
+
strName (str): 车道名称,如"行车道-左幅"
|
|
12
|
+
eType (str): 算法类型,不区分大小写。固定为 'VE'(Vehicle Element)
|
|
13
|
+
dLength (float): 车道对应的桥梁跨度(m),决定影响线计算范围
|
|
14
|
+
eOriention (int): 车辆移动方向
|
|
15
|
+
- -1: 向后(车辆沿坐标轴负向行驶)
|
|
16
|
+
- 0: 往返(影响线对称,用于最不利加载)
|
|
17
|
+
- 1: 向前(车辆沿坐标轴正向行驶)
|
|
18
|
+
eRef (int): 车道参照方式
|
|
19
|
+
- 0: 参照单元组定义车道
|
|
20
|
+
- 1: 参照样条曲线定义车道
|
|
21
|
+
param (list): 可变参数列表,长度和内容取决于 eRef:
|
|
22
|
+
- **当 eRef=0 时**: param = [ESel, OffsetY, OffsetZ]
|
|
23
|
+
- ESel (str): 参照纵梁单元组名称
|
|
24
|
+
- OffsetY (float): 局部坐标系下Y方向偏移量(m),车道路径相对于单元组的横向偏移
|
|
25
|
+
- OffsetZ (float): 局部坐标系下Z方向偏移量(m),车道路径相对于单元组的竖向偏移
|
|
26
|
+
- **当 eRef=1 时**: param = [SplineName]
|
|
27
|
+
- SplineName (str): 样条曲线名称(需在命令流中预先用数组定义)
|
|
28
|
+
|
|
29
|
+
Returns:
|
|
30
|
+
tuple (bool, str): 返回一个元组,包含:
|
|
31
|
+
- bool: 操作是否成功
|
|
32
|
+
- str: 失败原因(如果操作失败)
|
|
33
|
+
|
|
34
|
+
工程说明:
|
|
35
|
+
- 适用于主梁为梁单元(Beam/Truss)的桥梁结构
|
|
36
|
+
- 车辆荷载沿定义的纵向路径移动,自动计算各主梁内力影响线
|
|
37
|
+
- 多车道时需定义多个车道线,考虑横向折减系数
|
|
38
|
+
- 偏移量用于模拟实际车轮轨迹与主梁轴线不重合的情况(如悬臂行车道)
|
|
39
|
+
|
|
40
|
+
示例:
|
|
41
|
+
# 基于纵梁单元定义车道,横向偏移2.5m(右侧行车道)
|
|
42
|
+
osis_lane_ve("行车道-右", "VE", 30.0, 1, 0, ["主梁单元组", 2.5, 0.0])
|
|
43
|
+
|
|
44
|
+
# 基于样条曲线定义曲线桥车道
|
|
45
|
+
osis_lane_ve("弯桥车道", "VE", 120.0, 1, 1, ["spline_curve_1"])
|
|
46
|
+
'''
|
|
47
|
+
pass
|
|
48
|
+
|
|
49
|
+
@REGISTRY.register("InflAlgo")
|
|
50
|
+
def osis_lane_tcb(strName: str, eType: Literal["TCB"], ESel: str, dLength: float, eOriention: Literal[-1, 0, 1], eRef: Literal[0, 1], param: list):
|
|
51
|
+
'''
|
|
52
|
+
定义活载影响线计算方法:横向联系梁法(Transverse Connection Beam Method)
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
strName (str): 车道名称,如"重车道-TCB"
|
|
56
|
+
eType (str): 算法类型,不区分大小写。固定为 'TCB'(Transverse Connection Beam)
|
|
57
|
+
ESel (str): 横梁单元组名称(如横隔板、横梁框架)
|
|
58
|
+
dLength (float): 车道对应的桥梁跨度(m)
|
|
59
|
+
eOriention (int): 车辆移动方向
|
|
60
|
+
- -1: 向后
|
|
61
|
+
- 0: 往返
|
|
62
|
+
- 1: 向前
|
|
63
|
+
eRef (int): 车道参照方式
|
|
64
|
+
- 0: 参照单元组定义车道
|
|
65
|
+
- 1: 参照样条曲线定义车道
|
|
66
|
+
param (list): 可变参数列表,长度和内容取决于 eRef:
|
|
67
|
+
- **当 eRef=0 时**: param = [RefESel, OffsetY, OffsetZ]
|
|
68
|
+
- RefESel (str): 参照纵梁单元组名称(主梁)
|
|
69
|
+
- OffsetY (float): 局部坐标系下Y方向偏移量(m)
|
|
70
|
+
- OffsetZ (float): 局部坐标系下Z方向偏移量(m)
|
|
71
|
+
- **当 eRef=1 时**: param = [SplineName]
|
|
72
|
+
- SplineName (str): 样条曲线名称
|
|
73
|
+
|
|
74
|
+
Returns:
|
|
75
|
+
tuple (bool, str): 返回一个元组,包含:
|
|
76
|
+
- bool: 操作是否成功
|
|
77
|
+
- str: 失败原因(如果操作失败)
|
|
78
|
+
|
|
79
|
+
工程说明:
|
|
80
|
+
- 适用于由主梁+横梁组成的格子梁桥、刚架桥等空间传力结构
|
|
81
|
+
- 车辆荷载先分配给最近的横梁,再经横梁传递至主梁,更符合实际传力路径
|
|
82
|
+
- 能准确模拟"荷载横向分布系数"的物理本质
|
|
83
|
+
- 横梁刚度越大,计算精度越高(建议横梁单元刚度不小于主梁的0.1倍)
|
|
84
|
+
|
|
85
|
+
示例:
|
|
86
|
+
# 混凝土T梁桥的横隔板体系
|
|
87
|
+
osis_lane_tcb(
|
|
88
|
+
"重车道-TCB", "TCB",
|
|
89
|
+
"横隔板单元组", # 横梁
|
|
90
|
+
40.0, 1, 0,
|
|
91
|
+
["T梁单元组", 0.0, 0.0] # 纵梁,无偏移
|
|
92
|
+
)
|
|
93
|
+
'''
|
|
94
|
+
pass
|
|
95
|
+
|
|
96
|
+
@REGISTRY.register("InflAlgoDel")
|
|
97
|
+
def osis_lane_del(strName: str):
|
|
98
|
+
'''
|
|
99
|
+
删除车道线
|
|
100
|
+
|
|
101
|
+
Args:
|
|
102
|
+
strName (str): 名称
|
|
103
|
+
|
|
104
|
+
Returns:
|
|
105
|
+
tuple (bool, str): 返回一个元组,包含:
|
|
106
|
+
- bool: 操作是否成功
|
|
107
|
+
- str: 失败原因(如果操作失败)
|
|
108
|
+
'''
|
|
109
|
+
pass
|
|
110
|
+
|
|
111
|
+
@REGISTRY.register("InflAlgoMod")
|
|
112
|
+
def osis_lane_mod(strOldName: str, strNewName: str):
|
|
113
|
+
'''
|
|
114
|
+
修改车道线名称
|
|
115
|
+
|
|
116
|
+
Args:
|
|
117
|
+
strOldName (str): 旧名称
|
|
118
|
+
strOldName (str): 新名称
|
|
119
|
+
|
|
120
|
+
Returns:
|
|
121
|
+
tuple (bool, str): 返回一个元组,包含:
|
|
122
|
+
- bool: 操作是否成功
|
|
123
|
+
- str: 失败原因(如果操作失败)
|
|
124
|
+
'''
|
|
125
|
+
pass
|
|
@@ -155,12 +155,12 @@ def osis_load_utemp(eType: str="UTEMP", strLCName: str="自定义工况1", nEnti
|
|
|
155
155
|
pass
|
|
156
156
|
|
|
157
157
|
@REGISTRY.register("Load")
|
|
158
|
-
def osis_load_gtemp(eType: str="
|
|
158
|
+
def osis_load_gtemp(eType: str="GTEMP", strLCName: str="自定义工况1", nEntity: int=1, eDirect: Literal["Y", "Z"]="Y", eGTempType: Literal["R", "T", "C", "B"]="R", nNum: int=1, param: list=["", 10, 10, 0, 0]):
|
|
159
159
|
'''
|
|
160
160
|
创建或修改梯度温度荷载
|
|
161
161
|
|
|
162
162
|
Args:
|
|
163
|
-
eType (str): 荷载类型,不区分大小写。固定为
|
|
163
|
+
eType (str): 荷载类型,不区分大小写。固定为 GTEMP
|
|
164
164
|
strLCName (str): 荷载工况名称
|
|
165
165
|
nEntity (int): 单元编号
|
|
166
166
|
eDirect (str): 局部方向
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'''
|
|
2
|
-
pyosis.quick_building.
|
|
2
|
+
pyosis.quick_building.interface 的 Docstring
|
|
3
3
|
'''
|
|
4
4
|
from typing import Tuple, Literal
|
|
5
5
|
from ..core import *
|
|
@@ -14,7 +14,8 @@ from ..core import *
|
|
|
14
14
|
|
|
15
15
|
def osis_set_qb_bridge_type(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEAM", "CONTINUOUSSMALLBOXBEAM", "CONTINUOUSTBEAM"]):
|
|
16
16
|
'''
|
|
17
|
-
快速建模设置桥梁类型
|
|
17
|
+
## 快速建模设置桥梁类型
|
|
18
|
+
pyosis.quick_building.osis_set_qb_bridge_type
|
|
18
19
|
|
|
19
20
|
Args:
|
|
20
21
|
eBridgeType (str): 桥梁类型
|
|
@@ -46,7 +47,8 @@ def osis_set_qb_overall(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEA
|
|
|
46
47
|
dKxOfAbutment1: float=0, dKyOfAbutment1: float=0, dKzOfAbutment1: float=0,
|
|
47
48
|
dKxOfAbutment2: float=0, dKyOfAbutment2: float=0, dKzOfAbutment2: float=0, dElasticLength: float=0.3) -> Tuple[bool, str]:
|
|
48
49
|
'''
|
|
49
|
-
快速建模设置桥梁总体数据
|
|
50
|
+
## 快速建模设置桥梁总体数据
|
|
51
|
+
pyosis.quick_building.osis_set_qb_overall
|
|
50
52
|
|
|
51
53
|
Args:
|
|
52
54
|
eBridgeType (str): 桥梁类型
|
|
@@ -75,7 +77,8 @@ def osis_set_qb_overall(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEA
|
|
|
75
77
|
def osis_set_qb_portrait(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEAM", "CONTINUOUSSMALLBOXBEAM", "CONTINUOUSTBEAM"], dEleLengthMin: float=0.5, dEleLengthMax: float=2.0,
|
|
76
78
|
S1: float=0.04, L1: float=0.8, F1: float=2.0, Tb: float=0.3, Tw: float=0.3, D1: float=0.54):
|
|
77
79
|
'''
|
|
78
|
-
快速建模设置桥梁纵向参数等
|
|
80
|
+
## 快速建模设置桥梁纵向参数等
|
|
81
|
+
pyosis.quick_building.osis_set_qb_portrait
|
|
79
82
|
|
|
80
83
|
Args:
|
|
81
84
|
eBridgeType (str): 桥梁类型
|
|
@@ -105,7 +108,8 @@ def osis_set_qb_load(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEAM",
|
|
|
105
108
|
dTransVehDistribution: float=1, dFundFreq: float=0, dWarming: float=20, dCooling: float=-20,
|
|
106
109
|
T1: float=14.0, T2: float=5.5, dSupSettle: float=0):
|
|
107
110
|
'''
|
|
108
|
-
快速建模设置桥梁荷载
|
|
111
|
+
## 快速建模设置桥梁荷载
|
|
112
|
+
pyosis.quick_building.osis_set_qb_load
|
|
109
113
|
|
|
110
114
|
Args:
|
|
111
115
|
eBridgeType (str): 桥梁类型
|
|
@@ -159,7 +163,8 @@ def osis_set_qb_tendon(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEAM
|
|
|
159
163
|
{"name": "N4", "prop": "15-6", "Le": 0.16, "He": 0.60, "A": 5, "Hm": 0.09, "R": 45, "stress": 1.395e9, "tieNums": 2},
|
|
160
164
|
{"name": "N5", "prop": "15-5", "Le": 0.16, "He": 0.1550, "A": 2, "Hm": 0.09, "R": 45, "stress": 1.395e9, "tieNums": 2}]):
|
|
161
165
|
'''
|
|
162
|
-
快速建模设置桥梁钢束
|
|
166
|
+
## 快速建模设置桥梁钢束
|
|
167
|
+
pyosis.quick_building.osis_set_qb_tendon
|
|
163
168
|
|
|
164
169
|
Args:
|
|
165
170
|
eBridgeType (str): 桥梁类型
|
|
@@ -192,7 +197,8 @@ def osis_set_qb_stage(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEAM"
|
|
|
192
197
|
{"stageNum": 4, "name": "徐变十年", "state": "持续十年时间", "duration": "3650", "age": ""},
|
|
193
198
|
{"stageNum": 5, "name": "运营阶段", "state": "移动荷载、温度荷载、风荷载等运营阶段的荷载", "duration": "3650", "age": ""}]):
|
|
194
199
|
'''
|
|
195
|
-
快速建模设置桥梁施工阶段
|
|
200
|
+
## 快速建模设置桥梁施工阶段
|
|
201
|
+
pyosis.quick_building.osis_set_qb_stage
|
|
196
202
|
|
|
197
203
|
Args:
|
|
198
204
|
eBridgeType (str): 桥梁类型
|
|
@@ -216,13 +222,13 @@ def osis_set_qb_stage(eBridgeType: Literal["HOLLOWSLAB", "SMALLBOXBEAM", "TBEAM"
|
|
|
216
222
|
|
|
217
223
|
def osis_create_qb_bridge():
|
|
218
224
|
'''
|
|
219
|
-
开始创建桥梁
|
|
225
|
+
## 开始创建桥梁
|
|
226
|
+
pyosis.quick_building.osis_create_qb_bridge
|
|
220
227
|
|
|
221
228
|
Returns:
|
|
222
229
|
tuple (bool, str): 是否成功,失败原因
|
|
223
230
|
'''
|
|
224
231
|
return osis_run("/control,quickCreateModel")
|
|
225
|
-
# return osis_execute_qb("quickCreateModel")
|
|
226
232
|
|
|
227
233
|
|
|
228
234
|
## 老的写法,快速建模简化版
|
|
@@ -169,7 +169,7 @@ def osis_section_Ishape(nSec: int, strName: str, eSectionType: Literal["ISHAPE"]
|
|
|
169
169
|
|
|
170
170
|
@REGISTRY.register('Section')
|
|
171
171
|
def osis_section_smallbox(nSec: int, strName: str, eSectionType: Literal["SMALLBOX"], eGirderPos: Literal["LEFT", "MIDDLE", "RIGHT"],
|
|
172
|
-
H: float, Bs: float, Bc: float, Bb: float, Tt: float, Tb: float, Tw: float, i: float, Tc: float, Tc1: float, x: float, xi1: float, Tt1: float, xi2: float, yi2: float, bSlope: bool, i1: float, i2: float, R: float):
|
|
172
|
+
H: float, Bs: float, Bm: float, Bc: float, Bb: float, Tt: float, Tb: float, Tw: float, i: float, Tc: float, Tc1: float, x: float, xi1: float, Tt1: float, xi2: float, yi2: float, bSlope: bool, i1: float, i2: float, R: float):
|
|
173
173
|
"""定义或修改小箱梁截面(SMALLBOX)。
|
|
174
174
|
|
|
175
175
|
Args:
|
|
@@ -6,7 +6,7 @@ from typing import Literal
|
|
|
6
6
|
from ..core import REGISTRY
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
@REGISTRY("Stage")
|
|
9
|
+
@REGISTRY.register("Stage")
|
|
10
10
|
def stage(nIndex: int, strLCName: str, nDuration: int):
|
|
11
11
|
"""创建或修改施工阶段
|
|
12
12
|
|
|
@@ -25,7 +25,7 @@ def stage(nIndex: int, strLCName: str, nDuration: int):
|
|
|
25
25
|
"""
|
|
26
26
|
pass
|
|
27
27
|
|
|
28
|
-
@REGISTRY("StageDel")
|
|
28
|
+
@REGISTRY.register("StageDel")
|
|
29
29
|
def stage_del(nIndex: int):
|
|
30
30
|
"""删除施工阶段
|
|
31
31
|
|
|
@@ -40,7 +40,7 @@ def stage_del(nIndex: int):
|
|
|
40
40
|
"""
|
|
41
41
|
pass
|
|
42
42
|
|
|
43
|
-
@REGISTRY("StageIst")
|
|
43
|
+
@REGISTRY.register("StageIst")
|
|
44
44
|
def stage_insert(nInsertRef: int, nPos: Literal[0, 1], strLCName: str, nDuration: int):
|
|
45
45
|
"""插入施工阶段
|
|
46
46
|
|
|
@@ -68,7 +68,7 @@ def stage_insert(nInsertRef: int, nPos: Literal[0, 1], strLCName: str, nDuration
|
|
|
68
68
|
"""
|
|
69
69
|
pass
|
|
70
70
|
|
|
71
|
-
@REGISTRY("StageRmv")
|
|
71
|
+
@REGISTRY.register("StageRmv")
|
|
72
72
|
def stage_remove(nIndex: int):
|
|
73
73
|
"""移除插入的施工阶段
|
|
74
74
|
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
from typing import Dict, Any, Literal
|
|
2
|
-
from ..core import REGISTRY
|
|
3
|
-
|
|
4
|
-
@REGISTRY.register("InflAlgo")
|
|
5
|
-
def osis_lane_ve(strName: str, eType: Literal["VE"], dLength: float, eOriention: Literal[-1, 0, 1], eRef: Literal[0, 1], param: list):
|
|
6
|
-
# Name, type, length, vehOri, ref, par1,par2, par3
|
|
7
|
-
'''
|
|
8
|
-
InflAlgo 的 Docstring
|
|
9
|
-
Returns:
|
|
10
|
-
tuple (bool, str): 返回一个元组,包含:
|
|
11
|
-
- bool: 操作是否成功
|
|
12
|
-
- str: 失败原因(如果操作失败)
|
|
13
|
-
'''
|
|
14
|
-
pass
|
|
15
|
-
|
|
16
|
-
@REGISTRY.register("InflAlgo")
|
|
17
|
-
def osis_lane_tcb(strName: str, eType: Literal["TCB"], ESel: str, dLength: float, eOriention: Literal[-1, 0, 1], eRef: Literal[0, 1], param: list):
|
|
18
|
-
'''
|
|
19
|
-
InflAlgo 的 Docstring
|
|
20
|
-
Returns:
|
|
21
|
-
tuple (bool, str): 返回一个元组,包含:
|
|
22
|
-
- bool: 操作是否成功
|
|
23
|
-
- str: 失败原因(如果操作失败)
|
|
24
|
-
'''
|
|
25
|
-
pass
|
|
26
|
-
|
|
27
|
-
@REGISTRY.register("InflAlgoDel")
|
|
28
|
-
def osis_lane_del(strName: str):
|
|
29
|
-
'''
|
|
30
|
-
删除车道线
|
|
31
|
-
|
|
32
|
-
Args:
|
|
33
|
-
strName (str): 名称
|
|
34
|
-
|
|
35
|
-
Returns:
|
|
36
|
-
tuple (bool, str): 返回一个元组,包含:
|
|
37
|
-
- bool: 操作是否成功
|
|
38
|
-
- str: 失败原因(如果操作失败)
|
|
39
|
-
'''
|
|
40
|
-
pass
|
|
41
|
-
|
|
42
|
-
@REGISTRY.register("InflAlgoMod")
|
|
43
|
-
def osis_lane_mod(strOldName: str, strNewName: str):
|
|
44
|
-
'''
|
|
45
|
-
修改车道线名称
|
|
46
|
-
|
|
47
|
-
Args:
|
|
48
|
-
strOldName (str): 旧名称
|
|
49
|
-
strOldName (str): 新名称
|
|
50
|
-
|
|
51
|
-
Returns:
|
|
52
|
-
tuple (bool, str): 返回一个元组,包含:
|
|
53
|
-
- bool: 操作是否成功
|
|
54
|
-
- str: 失败原因(如果操作失败)
|
|
55
|
-
'''
|
|
56
|
-
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|