osis-python 0.1.7__tar.gz → 0.1.8__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.
Files changed (68) hide show
  1. {osis_python-0.1.7/src/osis_python.egg-info → osis_python-0.1.8}/PKG-INFO +9 -7
  2. {osis_python-0.1.7 → osis_python-0.1.8}/pyproject.toml +9 -7
  3. {osis_python-0.1.7 → osis_python-0.1.8/src/osis_python.egg-info}/PKG-INFO +9 -7
  4. {osis_python-0.1.7 → osis_python-0.1.8}/src/osis_python.egg-info/SOURCES.txt +1 -8
  5. {osis_python-0.1.7 → osis_python-0.1.8}/src/osis_python.egg-info/requires.txt +8 -6
  6. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/__init__.py +1 -1
  7. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/boundary/interface.py +21 -21
  8. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/core/command.py +8 -1
  9. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/element/interface.py +2 -2
  10. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/live/grade.py +2 -26
  11. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/load/loadcase.py +3 -0
  12. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/load/tendon.py +1 -1
  13. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/material/interface.py +1 -48
  14. osis_python-0.1.8/src/pyosis/section/__init__.py +7 -0
  15. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/section/common.py +147 -119
  16. osis_python-0.1.8/src/pyosis/section/io.py +24 -0
  17. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/section/rebar.py +7 -7
  18. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/section/rib.py +3 -3
  19. osis_python-0.1.8/src/pyosis/section/steel.py +309 -0
  20. osis_python-0.1.7/src/pyosis/ai/__init__.py +0 -6
  21. osis_python-0.1.7/src/pyosis/ai/agents/BaseAgent.py +0 -79
  22. osis_python-0.1.7/src/pyosis/ai/agents/DecisionAgent.py +0 -189
  23. osis_python-0.1.7/src/pyosis/ai/agents/MaterialAgent.py +0 -47
  24. osis_python-0.1.7/src/pyosis/ai/agents/ModelAgent.py +0 -45
  25. osis_python-0.1.7/src/pyosis/ai/agents/QuickBuildingAgent.py +0 -50
  26. osis_python-0.1.7/src/pyosis/ai/agents/SectionAgent.py +0 -43
  27. osis_python-0.1.7/src/pyosis/ai/agents/__init__.py +0 -0
  28. osis_python-0.1.7/src/pyosis/section/__init__.py +0 -4
  29. osis_python-0.1.7/src/pyosis/section/steel.py +0 -2
  30. {osis_python-0.1.7 → osis_python-0.1.8}/LICENSE +0 -0
  31. {osis_python-0.1.7 → osis_python-0.1.8}/README.md +0 -0
  32. {osis_python-0.1.7 → osis_python-0.1.8}/setup.cfg +0 -0
  33. {osis_python-0.1.7 → osis_python-0.1.8}/src/osis_python.egg-info/dependency_links.txt +0 -0
  34. {osis_python-0.1.7 → osis_python-0.1.8}/src/osis_python.egg-info/top_level.txt +0 -0
  35. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/boundary/__init__.py +0 -0
  36. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/control/__init__.py +0 -0
  37. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/control/interface.py +0 -0
  38. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/core/PyInterface.pyi +0 -0
  39. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/core/__init__.py +0 -0
  40. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/core/all_func.py +0 -0
  41. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/core/engine.py +0 -0
  42. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/element/__init__.py +0 -0
  43. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/general/__init__.py +0 -0
  44. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/general/interface.py +0 -0
  45. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/geometry/__init__.py +0 -0
  46. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/geometry/interface.py +0 -0
  47. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/live/__init__.py +0 -0
  48. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/live/analysis.py +0 -0
  49. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/live/lane.py +0 -0
  50. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/load/__init__.py +0 -0
  51. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/load/static.py +0 -0
  52. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/material/__init__.py +0 -0
  53. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/node/__init__.py +0 -0
  54. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/node/interface.py +0 -0
  55. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/post/__init__.py +0 -0
  56. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/post/interface.py +0 -0
  57. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/property/__init__.py +0 -0
  58. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/property/coordinate.py +0 -0
  59. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/property/creep_shrink.py +0 -0
  60. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/property/damping.py +0 -0
  61. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/property/pu_curve.py +0 -0
  62. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/quick_building/__init__.py +0 -0
  63. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/quick_building/interface.py +0 -0
  64. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/section/numeric.py +0 -0
  65. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/section/param.py +0 -0
  66. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/stage/__init__.py +0 -0
  67. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/stage/define.py +0 -0
  68. {osis_python-0.1.7 → osis_python-0.1.8}/src/pyosis/stage/overall.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: osis-python
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: A Python client library for Osis APDL
5
5
  Author-email: "CCCC Highway Consultant Co. Ltd." <support@osisbim.com>
6
6
  License-Expression: MIT
@@ -17,14 +17,16 @@ Classifier: Programming Language :: Python :: 3.12
17
17
  Requires-Python: >=3.11
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: langchain>=1.0.3
21
- Requires-Dist: langchain-core>=1.0.3
22
- Requires-Dist: langchain-openai>=1.0.2
23
- Requires-Dist: pydantic>=2.12.4
24
- Requires-Dist: pydantic_core>=2.41.5
20
+ Requires-Dist: openai>=2.7.1
21
+ Requires-Dist: agentscope>=1.0.13
25
22
  Requires-Dist: fastapi>=0.128.0
26
23
  Requires-Dist: httpx>=0.28.1
27
- Requires-Dist: openai>=2.7.1
24
+ Requires-Dist: langchain-community>=0.4.1
25
+ Requires-Dist: matplotlib>=3.10.7
26
+ Requires-Dist: pandas>=2.3.3
27
+ Requires-Dist: pdfplumber>=0.11.9
28
+ Requires-Dist: python-docx>=1.2.0
29
+ Requires-Dist: requests>=2.32.5
28
30
  Requires-Dist: uvicorn>=0.40.0
29
31
  Provides-Extra: dev
30
32
  Requires-Dist: pytest>=7.0; extra == "dev"
@@ -30,16 +30,18 @@ classifiers = [
30
30
  "Programming Language :: Python :: 3.12",
31
31
  ]
32
32
 
33
- # 依赖
33
+ # 依赖 pyosis并不直接依赖 OSIS助手依赖这些
34
34
  dependencies = [
35
- "langchain>=1.0.3",
36
- "langchain-core>=1.0.3",
37
- "langchain-openai>=1.0.2",
38
- "pydantic>=2.12.4",
39
- "pydantic_core>=2.41.5",
35
+ "openai>=2.7.1",
36
+ "agentscope>=1.0.13",
40
37
  "fastapi>=0.128.0",
41
38
  "httpx>=0.28.1",
42
- "openai>=2.7.1",
39
+ "langchain-community>=0.4.1",
40
+ "matplotlib>=3.10.7",
41
+ "pandas>=2.3.3",
42
+ "pdfplumber>=0.11.9",
43
+ "python-docx>=1.2.0",
44
+ "requests>=2.32.5",
43
45
  "uvicorn>=0.40.0",
44
46
  ]
45
47
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: osis-python
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: A Python client library for Osis APDL
5
5
  Author-email: "CCCC Highway Consultant Co. Ltd." <support@osisbim.com>
6
6
  License-Expression: MIT
@@ -17,14 +17,16 @@ Classifier: Programming Language :: Python :: 3.12
17
17
  Requires-Python: >=3.11
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: langchain>=1.0.3
21
- Requires-Dist: langchain-core>=1.0.3
22
- Requires-Dist: langchain-openai>=1.0.2
23
- Requires-Dist: pydantic>=2.12.4
24
- Requires-Dist: pydantic_core>=2.41.5
20
+ Requires-Dist: openai>=2.7.1
21
+ Requires-Dist: agentscope>=1.0.13
25
22
  Requires-Dist: fastapi>=0.128.0
26
23
  Requires-Dist: httpx>=0.28.1
27
- Requires-Dist: openai>=2.7.1
24
+ Requires-Dist: langchain-community>=0.4.1
25
+ Requires-Dist: matplotlib>=3.10.7
26
+ Requires-Dist: pandas>=2.3.3
27
+ Requires-Dist: pdfplumber>=0.11.9
28
+ Requires-Dist: python-docx>=1.2.0
29
+ Requires-Dist: requests>=2.32.5
28
30
  Requires-Dist: uvicorn>=0.40.0
29
31
  Provides-Extra: dev
30
32
  Requires-Dist: pytest>=7.0; extra == "dev"
@@ -7,14 +7,6 @@ src/osis_python.egg-info/dependency_links.txt
7
7
  src/osis_python.egg-info/requires.txt
8
8
  src/osis_python.egg-info/top_level.txt
9
9
  src/pyosis/__init__.py
10
- src/pyosis/ai/__init__.py
11
- src/pyosis/ai/agents/BaseAgent.py
12
- src/pyosis/ai/agents/DecisionAgent.py
13
- src/pyosis/ai/agents/MaterialAgent.py
14
- src/pyosis/ai/agents/ModelAgent.py
15
- src/pyosis/ai/agents/QuickBuildingAgent.py
16
- src/pyosis/ai/agents/SectionAgent.py
17
- src/pyosis/ai/agents/__init__.py
18
10
  src/pyosis/boundary/__init__.py
19
11
  src/pyosis/boundary/interface.py
20
12
  src/pyosis/control/__init__.py
@@ -53,6 +45,7 @@ src/pyosis/quick_building/__init__.py
53
45
  src/pyosis/quick_building/interface.py
54
46
  src/pyosis/section/__init__.py
55
47
  src/pyosis/section/common.py
48
+ src/pyosis/section/io.py
56
49
  src/pyosis/section/numeric.py
57
50
  src/pyosis/section/param.py
58
51
  src/pyosis/section/rebar.py
@@ -1,11 +1,13 @@
1
- langchain>=1.0.3
2
- langchain-core>=1.0.3
3
- langchain-openai>=1.0.2
4
- pydantic>=2.12.4
5
- pydantic_core>=2.41.5
1
+ openai>=2.7.1
2
+ agentscope>=1.0.13
6
3
  fastapi>=0.128.0
7
4
  httpx>=0.28.1
8
- openai>=2.7.1
5
+ langchain-community>=0.4.1
6
+ matplotlib>=3.10.7
7
+ pandas>=2.3.3
8
+ pdfplumber>=0.11.9
9
+ python-docx>=1.2.0
10
+ requests>=2.32.5
9
11
  uvicorn>=0.40.0
10
12
 
11
13
  [dev]
@@ -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.7"
10
+ __version__ = "0.1.8"
11
11
  __author__ = "CCCC Highway Consultant Co. Ltd." # 中交公路规划设计院 - 工程技术研究中心
12
12
 
13
13
  # from .core import engine
@@ -45,14 +45,14 @@ def osis_boundary_general(nBd: int, eBoundaryType: Literal["GENERAL"]="GENERAL",
45
45
  '''
46
46
  pass
47
47
  @REGISTRY.register("Boundary")
48
- def osis_boundary_elstcspt(nBd: int, eBoundaryType: Literal["ELSTCSPT"]="ELSTCSPT", nCoor: int = -1, bX: bool = 1, DX: int = 1e13, bY: bool = 1, DY: int = 1e13, bZ: bool = 1, DZ: int = 1e13, bRX: bool = 1, RX: int = 1e16, bRY: bool = 1, RY: int = 1e16, bRZ: bool = 1, RZ: int = 1e16):
48
+ def osis_boundary_elstcspt(nBd: int, eBoundaryType: Literal["ELSTCSPT"]="ELSTCSPT", nCoor: int = "", bX: bool = 1, DX: int = 1e13, bY: bool = 1, DY: int = 1e13, bZ: bool = 1, DZ: int = 1e13, bRX: bool = 1, RX: int = 1e16, bRY: bool = 1, RY: int = 1e16, bRZ: bool = 1, RZ: int = 1e16):
49
49
  '''
50
50
  定义或修改弹簧单元弹性支承
51
51
 
52
52
  Args:
53
53
  nBd (int): 编号
54
54
  eBoundaryType (str): 固定为 ELSTCSPT
55
- nCoor (int): 局部坐标系编号,-1代表缺省
55
+ nCoor (int): 局部坐标系编号,固定使用""缺省
56
56
  bX:UX方向,0 = 弹性,1 = 固定
57
57
  DX:坐标系X轴方向的弹性支承刚度
58
58
  bY:UY方向,0 = 弹性,1 = 固定
@@ -115,26 +115,26 @@ def osis_boundary_release(nBd: int, eBoundaryType: Literal["RELEASE"],
115
115
  '''
116
116
  pass
117
117
 
118
- @REGISTRY.register("Boundary")
119
- def osis_boundary_elastic_support(nBd: int, eBoundaryType: Literal["ELSTCSPT"], nCoor: int, bX: float, bY: float, bZ: float, bRX: float, bRY: float, bRZ: float):
120
- '''
121
- ## 定义或修改节点弹性支撑
122
- pyosis.boundary.osis_boundary_elastic_support
118
+ # @REGISTRY.register("Boundary")
119
+ # def osis_boundary_elastic_support(nBd: int, eBoundaryType: Literal["ELSTCSPT"], nCoor: int, bX: float, bY: float, bZ: float, bRX: float, bRY: float, bRZ: float):
120
+ # '''
121
+ # ## 定义或修改节点弹性支撑
122
+ # pyosis.boundary.osis_boundary_elastic_support
123
123
 
124
- Args:
125
- nBd (int): 编号
126
- eBoundaryType (str): 固定为 ELSTCSPT
127
- nCoor (int): 局部坐标系编号
128
- dDX (float): 坐标系 X 轴方向的弹性支承刚度
129
- dDY (float): 坐标系 Y 轴方向的弹性支承刚度
130
- dDZ (float): 坐标系 Z 轴方向的弹性支承刚度
131
- dRX (float): 绕坐标系 X 轴方向的转动弹性刚度
132
- dRY (float): 绕坐标系 Y 轴方向的转动弹性刚度
133
- dRZ (float): 绕坐标系 Z 轴方向的转动弹性刚度
134
- Returns:
135
- tuple (bool, str): 是否成功,失败原因
136
- '''
137
- pass
124
+ # Args:
125
+ # nBd (int): 编号
126
+ # eBoundaryType (str): 固定为 ELSTCSPT
127
+ # nCoor (int): 局部坐标系编号
128
+ # dDX (float): 坐标系 X 轴方向的弹性支承刚度
129
+ # dDY (float): 坐标系 Y 轴方向的弹性支承刚度
130
+ # dDZ (float): 坐标系 Z 轴方向的弹性支承刚度
131
+ # dRX (float): 绕坐标系 X 轴方向的转动弹性刚度
132
+ # dRY (float): 绕坐标系 Y 轴方向的转动弹性刚度
133
+ # dRZ (float): 绕坐标系 Z 轴方向的转动弹性刚度
134
+ # Returns:
135
+ # tuple (bool, str): 是否成功,失败原因
136
+ # '''
137
+ # pass
138
138
 
139
139
  @REGISTRY.register("AsgnBd")
140
140
  def osis_assign_boundary(nBd: int=1, eOP: Literal["a", "s", "r", "aa", "ra"]="a", param: list=[]):
@@ -8,7 +8,7 @@ import os
8
8
  import datetime
9
9
  import inspect
10
10
  import functools
11
- from typing import Dict, Any, Tuple, Literal
11
+ from typing import Dict, Any, Tuple, Literal, Optional
12
12
  from .engine import OSISEngine
13
13
 
14
14
  def osis_run(strCmd: str="", mode: Literal["stash", "exec"]="exec") -> Tuple[bool, str, Any]:
@@ -24,6 +24,10 @@ def osis_run(strCmd: str="", mode: Literal["stash", "exec"]="exec") -> Tuple[boo
24
24
  Returns:
25
25
  tuple (bool, str, Any): 是否成功,失败原因,其他结果数据
26
26
  '''
27
+ # # 自动判断模式:非空默认暂存,为空默认执行
28
+ # if mode is None:
29
+ # mode = "stash" if strCmd else "exec"
30
+
27
31
  e = OSISEngine.GetInstance()
28
32
  return e.OSIS_Run(strCmd, mode)
29
33
 
@@ -189,6 +193,9 @@ class OSISFunctionRegistry:
189
193
  def _execute_command(self, cmd) -> Tuple[bool, str, Any]:
190
194
  """执行命令(发送到软件)"""
191
195
  _log(cmd)
196
+ if cmd.split(",")[0].lower() == "section":
197
+ nSec = cmd.split(",").split(",")[0]
198
+ cmd += f"ExportSecPic,{nSec};" # 自动保存截面图片
192
199
  result = osis_run(cmd, self.run_mode)
193
200
  isok, error, *rest = result
194
201
  return result
@@ -199,10 +199,10 @@ def osis_element_mod(nOld: int=1, nNew: int=2):
199
199
  @REGISTRY.register("EleGrp")
200
200
  def osis_element_group(strName: str="单元组1", eOP: Literal["c", "a", "s", "r", "aa", "ra", "m", "d"]='a', param: list=[1]):
201
201
  '''
202
- 分配边界给节点(一般支撑,节点弹性支撑)
202
+ 添加或移除单元
203
203
 
204
204
  Args:
205
- strName (str): 边界编号
205
+ strName (str): 单元组名
206
206
  eOP (str): 操作
207
207
  * c = 创建
208
208
  * a = 添加
@@ -1,31 +1,9 @@
1
1
  from typing import Dict, Any, Literal
2
2
  from ..core import REGISTRY
3
3
 
4
- # @REGISTRY.register("LiveGrade")
5
- # def osis_live_grade(strName: str,
6
- # eCode: Literal["JTGD60_2015", "CUSTOM"],
7
- # eLiveLoadType: Literal["HIGHWAY_I", "HIGHWAY_II", "VEHICLE", "CROWD", "FATIGUE_I", "FATIGUE_II", "FATIGUE_III"],
8
- # params: Dict[str, Any]):
9
- # '''
10
- # 定义活载
11
4
 
12
- # Args:
13
- # strName (str): 名称
14
- # eCode (str): 规范类型,JTGD60_2015,不区分大小写
15
- # eLiveLoadType (str): 活载类型,不区分大小写
16
- # params (dict): 附加参数
17
- # - CROWD: eBridgeType=桥类型, dPara=人群横向宽度
18
- # - FATIGUE_II: dCenterDis=车辆中心间距
19
-
20
- # Returns:
21
- # tuple (bool, str): 是否成功,失败原因
22
- # '''
23
- # e = OSISEngine.GetInstance()
24
- # eCode = eCode.upper()
25
- # eLiveLoadType = eLiveLoadType.upper()
26
- # return e.OSIS_LiveGrade(strName, eCode, eLiveLoadType, params)
27
5
  @REGISTRY.register("LiveGrade")
28
- def osis_livegrade_highway(strName: str="活载-HIGHWAY", eCode: str="JTGD60_2015", eLiveLoadType: Literal["HIGHWAY_I", "HIGHWAY_II"]="HIGHWAY_I"):
6
+ def osis_livegrade_highway(strName: str="活载-HIGHWAY", eCode: Literal["JTGD60_2015"]="JTGD60_2015", eLiveLoadType: Literal["HIGHWAY_I", "HIGHWAY_II"]="HIGHWAY_I"):
29
7
  '''
30
8
  定义活载-公路活载
31
9
 
@@ -42,7 +20,7 @@ def osis_livegrade_highway(strName: str="活载-HIGHWAY", eCode: str="JTGD60_201
42
20
  pass
43
21
 
44
22
  @REGISTRY.register("LiveGrade")
45
- def osis_livegrade_highway(strName: str="活载-HIGHWAY", eCode: str="JTGD60_2015", eLiveLoadType: Literal["VEHICLE"]="VEHICLE"):
23
+ def osis_livegrade_vehicle(strName: str="活载-VEHICLE", eCode: str="JTGD60_2015", eLiveLoadType: Literal["VEHICLE"]="VEHICLE"):
46
24
  '''
47
25
  定义活载-车辆荷载
48
26
 
@@ -50,8 +28,6 @@ def osis_livegrade_highway(strName: str="活载-HIGHWAY", eCode: str="JTGD60_201
50
28
  strName (str): 名称
51
29
  eCode (str): 规范类型,不区分大小写,固定为 JTGD60_2015
52
30
  eLiveLoadType (str): 活载类型,不区分大小写,固定为 VEHICLE
53
-
54
- dPara (float): 人群横向宽度
55
31
 
56
32
  Returns:
57
33
  tuple (bool, str): 是否成功,失败原因
@@ -28,6 +28,9 @@ def osis_loadcase(strName: str="自定义工况1", eLoadCaseType: Literal["USER"
28
28
  strPrompt (str): 说明,默认空
29
29
  Returns:
30
30
  tuple (bool, str): 是否成功,失败原因
31
+
32
+ Example:
33
+ osis_loadcase("自重工况","USER",1.0,"Load")
31
34
  '''
32
35
  pass
33
36
 
@@ -183,7 +183,7 @@ def osis_tendon_prop_del(strName: str="钢束特性1"):
183
183
  @REGISTRY.register("TdPropMod")
184
184
  def osis_tendon_prop_mod(strOldName: str="钢束特性1", strNewName: str="钢束特性2"):
185
185
  '''
186
- 定义或修改荷载工况
186
+ 修改钢束特性
187
187
 
188
188
  Args:
189
189
  strOldName (str): 旧名称
@@ -7,51 +7,6 @@ Interfaces of OSIS functions
7
7
  from typing import Literal
8
8
  from ..core import REGISTRY
9
9
 
10
- # 后续会重写这部分接口
11
-
12
- # @REGISTRY.register('Material')
13
- # def osis_material(nMat: int, strName: str, eMaterialType: Literal["CONC", "STEEL", "PRESTRESSED", "REBAR", "CUSTOM"], eCode: str, eGrade: str, nCrepShrk: int, dDmp: float, params: dict[str, Any]={}):
14
- # """创建或修改材料。
15
-
16
- # Args:
17
- # nMat (int): 材料编号
18
- # strName (str): 材料名称
19
- # eMaterialType (str): 材料类型,不区分大小写。可选值:
20
- # * CONC: 混凝土
21
- # * STEEL: 钢材
22
- # * PRESTRESSED: 预应力材料
23
- # * REBAR: 普通钢筋
24
- # * CUSTOM: 自定义材料
25
- # eCode (str): 材料标准代码,可选值:
26
- # * 钢材: JTGD64_2015
27
- # * 其他材料: JTG3362_2018, JTGD62_2004
28
- # eGrade (str): 材料等级牌号,根据材料类型可选:
29
- # * 混凝土: C15, C20, C25, C30, C35, C40, C45, C50, C55, C60, C65, C70, C75, C80
30
- # * 钢材: Q235, Q345, Q390, Q420
31
- # * 预应力材料:
32
- # ** JTG3362_2018: Strand1720, Strand1860, Strand1960, Wire1470, Wire1570,
33
- # Wire1770, Wire1860, Rebar785, Rebar930, Rebar1080
34
- # ** JTGD62_2004: Strand1860, Wire1670, Wire1770, Rebar785, Rebar930
35
- # * 普通钢筋:
36
- # ** JTG3362_2018: HPB300, HRB400, HRBF400, RRB400, HRB500
37
- # ** JTGD62_2004: R235, HRB335, HRB400, KL400
38
- # nCrepShrk (int): 收缩徐变特性编号(混凝土材料需要,其他材料设置为-1)
39
- # dDmp (float): 材料阻尼比
40
- # params (dict): 自定义材料的参数 (E, G, Mu, ExpCoeff, UnitWeight, Density, Dmp),创建其他材料不填。创建自定义材料 eCode eGrade nCrepShrk dDmp 会被忽略
41
-
42
- # Returns:
43
- # tuple (bool, str):
44
- # - bool: 操作是否成功
45
- # - str: 失败原因(如果操作失败)
46
-
47
- # Examples:
48
- # >>> result = osis_material(1, "C30", "CONC", "JTG3362_2018", "C30", 1, 0.05)
49
- # >>> print(result)
50
- # (True, "")
51
- # """
52
- # e = OSISEngine.GetInstance()
53
- # eMaterialType = eMaterialType.upper()
54
- # return e.OSIS_Material(nMat, strName, eMaterialType, eCode, eGrade, nCrepShrk, dDmp, params)
55
10
 
56
11
  @REGISTRY.register('Material')
57
12
  def osis_material_conc(nMat: int, strName: str, eMaterialType: Literal["CONC"],
@@ -69,7 +24,7 @@ def osis_material_conc(nMat: int, strName: str, eMaterialType: Literal["CONC"],
69
24
  * JTGD62_2004
70
25
  eGrade (str): 材料等级牌号,不区分大小写。根据材料类型可选:
71
26
  * C15, C20, C25, C30, C35, C40, C45, C50, C55, C60, C65, C70, C75, C80
72
- nCrepShrk (int): 收缩徐变特性编号
27
+ nCrepShrk (int): 收缩徐变特性编号,可以缺省,缺省时设为 "", 不缺省时设置为1
73
28
  dDmp (float): 材料阻尼比
74
29
 
75
30
  Returns:
@@ -118,9 +73,7 @@ def osis_material_prestressed(nMat: int, strName: str, eMaterialType: Literal["P
118
73
  * JTG3362_2018: Strand1720, Strand1860, Strand1960, Wire1470, Wire1570,
119
74
  Wire1770, Wire1860, Rebar785, Rebar930, Rebar1080
120
75
  * JTGD62_2004: Strand1860, Wire1670, Wire1770, Rebar785, Rebar930
121
- nCrepShrk (int): 收缩徐变特性编号(混凝土材料需要,其他材料设置为-1)
122
76
  dDmp (float): 材料阻尼比
123
- params (dict): 自定义材料的参数 (E, G, Mu, ExpCoeff, UnitWeight, Density, Dmp)
124
77
 
125
78
  Returns:
126
79
  tuple (bool, str):
@@ -0,0 +1,7 @@
1
+ from .common import *
2
+ from .numeric import *
3
+ from .param import *
4
+ from .steel import *
5
+ from .rebar import *
6
+ from .rib import *
7
+ from .io import *