qtmodel 2.4.2__tar.gz → 2.6.0__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 (56) hide show
  1. {qtmodel-2.4.2 → qtmodel-2.6.0}/PKG-INFO +31 -3
  2. {qtmodel-2.4.2 → qtmodel-2.6.0}/README.md +29 -3
  3. {qtmodel-2.4.2 → qtmodel-2.6.0}/pyproject.toml +6 -2
  4. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/__init__.py +9 -0
  5. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/__init__.py +9 -0
  6. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/qt_server.py +1 -1
  7. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/section_db.py +174 -152
  8. qtmodel-2.6.0/src/qtmodel/core/section_property_solver.py +539 -0
  9. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_live_load.py +2 -2
  10. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_section.py +91 -24
  11. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel.egg-info/PKG-INFO +31 -3
  12. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel.egg-info/SOURCES.txt +3 -0
  13. qtmodel-2.6.0/src/qtmodel.egg-info/requires.txt +2 -0
  14. {qtmodel-2.4.2 → qtmodel-2.6.0}/tests/test_section_db.py +11 -4
  15. qtmodel-2.6.0/tests/test_section_property_solver.py +145 -0
  16. {qtmodel-2.4.2 → qtmodel-2.6.0}/setup.cfg +0 -0
  17. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/bridge.py +0 -0
  18. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/cdb/__init__.py +0 -0
  19. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/cdb/cdb_anti_overturn_check.py +0 -0
  20. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/cdb/cdb_concrete_check.py +0 -0
  21. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/cdb/cdb_steel_box_check.py +0 -0
  22. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/cdb/cdb_steel_truss_check.py +0 -0
  23. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/concrete_check_db.py +0 -0
  24. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/data_helper.py +0 -0
  25. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/model_db.py +0 -0
  26. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/result_db.py +0 -0
  27. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/section_geometry.py +0 -0
  28. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/core/section_shape.py +0 -0
  29. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/__init__.py +0 -0
  30. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_analysis_setting.py +0 -0
  31. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_assistant.py +0 -0
  32. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_boundary.py +0 -0
  33. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_construction_stage.py +0 -0
  34. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_dynamic_load.py +0 -0
  35. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_load.py +0 -0
  36. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_project.py +0 -0
  37. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_property.py +0 -0
  38. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_sink_load.py +0 -0
  39. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_static_load.py +0 -0
  40. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_structure.py +0 -0
  41. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_temperature_load.py +0 -0
  42. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/mdb/mdb_tendon.py +0 -0
  43. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/__init__.py +0 -0
  44. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_model_boundary.py +0 -0
  45. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_model_load.py +0 -0
  46. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_model_material.py +0 -0
  47. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_model_section.py +0 -0
  48. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_model_stage.py +0 -0
  49. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_model_structure.py +0 -0
  50. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_result_data.py +0 -0
  51. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_result_plot.py +0 -0
  52. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel/odb/odb_view.py +0 -0
  53. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel.egg-info/dependency_links.txt +0 -0
  54. {qtmodel-2.4.2 → qtmodel-2.6.0}/src/qtmodel.egg-info/top_level.txt +0 -0
  55. {qtmodel-2.4.2 → qtmodel-2.6.0}/tests/test_section_geometry.py +0 -0
  56. {qtmodel-2.4.2 → qtmodel-2.6.0}/tests/test_section_shape.py +0 -0
@@ -1,14 +1,42 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qtmodel
3
- Version: 2.4.2
3
+ Version: 2.6.0
4
4
  Summary: qtmodel package
5
5
  Author: Your Name
6
6
  Requires-Python: >=3.9
7
7
  Description-Content-Type: text/markdown
8
+ Requires-Dist: requests>=2.28
9
+ Requires-Dist: psutil>=5.9
8
10
 
9
- > 最新qtmodel版本 2.4.2 - 2026-07-17
11
+ > 最新qtmodel版本 2.6.0 - 2026-07-31
10
12
  > pip install --upgrade qtmodel -i https://pypi.org/simple
11
- - 增加检算荷载API
13
+ - 参数化截面字典键统一采用小写,同时兼容历史大小写写法;
14
+ 完善混凝土箱梁、箱梁腹板及钢箱梁截面 Schema,便于 Agent 可靠建模。
15
+ - 增加纯 Python 本地截面特性求解:面积、形心、Iy/Iz/Iyz、内外周长、
16
+ 包围框、四个控制点、组合截面换算特性和线宽截面特性。
17
+
18
+ ## 本地截面特性计算
19
+
20
+ 本地求解不要求打开桥通,不发送 HTTP 请求。所有坐标和厚度单位为 m,
21
+ 面积单位为 m²,惯性矩单位为 m⁴。
22
+
23
+ ```Python
24
+ from qtmodel import mdb
25
+
26
+ result = mdb.get_parameter_section_property_local(
27
+ sec_type="矩形",
28
+ sec_info={"w": 2.0, "h": 1.0},
29
+ )
30
+ print(result.property.Ax, result.property.Iy, result.bounding_box.to_dict())
31
+
32
+ line_result = mdb.get_section_property_local(
33
+ sec_type="自定义线宽截面",
34
+ sec_lines=[[0, 0, 2, 0, 0.02]],
35
+ )
36
+ ```
37
+
38
+ 当前本地求解器仅填写可由二维几何严格积分的字段。``Ix``、``Ay``、``Az``、
39
+ 剪心和静矩保持为零,完整截面求解仍使用 ``odb.get_section_property``。
12
40
  # 建模操作
13
41
  ## 节点操作
14
42
  ### generate_curve_node_data
@@ -1,6 +1,32 @@
1
- > 最新qtmodel版本 2.4.2 - 2026-07-17
2
- > pip install --upgrade qtmodel -i https://pypi.org/simple
3
- - 增加检算荷载API
1
+ > 最新qtmodel版本 2.6.0 - 2026-07-31
2
+ > pip install --upgrade qtmodel -i https://pypi.org/simple
3
+ - 参数化截面字典键统一采用小写,同时兼容历史大小写写法;
4
+ 完善混凝土箱梁、箱梁腹板及钢箱梁截面 Schema,便于 Agent 可靠建模。
5
+ - 增加纯 Python 本地截面特性求解:面积、形心、Iy/Iz/Iyz、内外周长、
6
+ 包围框、四个控制点、组合截面换算特性和线宽截面特性。
7
+
8
+ ## 本地截面特性计算
9
+
10
+ 本地求解不要求打开桥通,不发送 HTTP 请求。所有坐标和厚度单位为 m,
11
+ 面积单位为 m²,惯性矩单位为 m⁴。
12
+
13
+ ```Python
14
+ from qtmodel import mdb
15
+
16
+ result = mdb.get_parameter_section_property_local(
17
+ sec_type="矩形",
18
+ sec_info={"w": 2.0, "h": 1.0},
19
+ )
20
+ print(result.property.Ax, result.property.Iy, result.bounding_box.to_dict())
21
+
22
+ line_result = mdb.get_section_property_local(
23
+ sec_type="自定义线宽截面",
24
+ sec_lines=[[0, 0, 2, 0, 0.02]],
25
+ )
26
+ ```
27
+
28
+ 当前本地求解器仅填写可由二维几何严格积分的字段。``Ix``、``Ay``、``Az``、
29
+ 剪心和静矩保持为零,完整截面求解仍使用 ``odb.get_section_property``。
4
30
  # 建模操作
5
31
  ## 节点操作
6
32
  ### generate_curve_node_data
@@ -4,11 +4,15 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qtmodel"
7
- version = "2.4.2"
7
+ version = "2.6.0"
8
8
  description = "qtmodel package"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
11
- authors = [{name = "Your Name"}]
11
+ authors = [{name = "Your Name"}]
12
+ dependencies = [
13
+ "requests>=2.28",
14
+ "psutil>=5.9",
15
+ ]
12
16
 
13
17
  [tool.setuptools]
14
18
  package-dir = {"" = "src"}
@@ -3,6 +3,13 @@ from .cdb import cdb, Cdb
3
3
  from .core.qt_server import QtServer
4
4
  from .core.section_db import SectionDB, SectionParameter, SectionProperty, SectionSchema
5
5
  from .core.section_geometry import SectionGeometryDB
6
+ from .core.section_property_solver import (
7
+ SectionBoundingBox,
8
+ SectionControlPoint,
9
+ SectionPartProperty,
10
+ SectionPropertyResult,
11
+ SectionPropertySolver,
12
+ )
6
13
  from .core.section_shape import (
7
14
  SectionLine,
8
15
  SectionLoopSegment,
@@ -19,6 +26,8 @@ __all__ = [
19
26
  "Bridge", "bridge", "Cdb", "cdb", "Mdb", "mdb", "Odb", "odb",
20
27
  "SectionDB", "SectionParameter", "SectionProperty", "SectionSchema",
21
28
  "SectionGeometryDB",
29
+ "SectionBoundingBox", "SectionControlPoint", "SectionPartProperty",
30
+ "SectionPropertyResult", "SectionPropertySolver",
22
31
  "SectionPoint", "SectionLoopSegment", "SectionLine", "SectionShapePart",
23
32
  "SectionShape",
24
33
  ]
@@ -1,5 +1,12 @@
1
1
  from .section_db import SectionDB, SectionParameter, SectionProperty, SectionSchema
2
2
  from .section_geometry import SectionGeometryDB
3
+ from .section_property_solver import (
4
+ SectionBoundingBox,
5
+ SectionControlPoint,
6
+ SectionPartProperty,
7
+ SectionPropertyResult,
8
+ SectionPropertySolver,
9
+ )
3
10
  from .section_shape import (
4
11
  SectionLine,
5
12
  SectionLoopSegment,
@@ -11,6 +18,8 @@ from .section_shape import (
11
18
  __all__ = [
12
19
  "SectionDB", "SectionParameter", "SectionProperty", "SectionSchema",
13
20
  "SectionGeometryDB",
21
+ "SectionBoundingBox", "SectionControlPoint", "SectionPartProperty",
22
+ "SectionPropertyResult", "SectionPropertySolver",
14
23
  "SectionPoint", "SectionLoopSegment", "SectionLine", "SectionShapePart",
15
24
  "SectionShape",
16
25
  ]
@@ -7,7 +7,7 @@ import requests
7
7
 
8
8
  class QtServer:
9
9
  URL: str = "http://localhost:55125/pythonForQt/"
10
- QT_VERSION: str = "2.4.2"
10
+ QT_VERSION: str = "2.6.0"
11
11
  _session = requests.Session()
12
12
  _lock = threading.Lock()
13
13