qtmodel 0.5.22__tar.gz → 0.5.24__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.22
3
+ Version: 0.5.24
4
4
  Summary: python modeling for qt 24/10/15
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- # 最新版本 V0.5.20 - 2024.10.14
15
+ # 最新版本 V0.5.24 - 2024.10.15
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
17
  - 规范帮助文档
18
18
  ## 项目管理
@@ -748,11 +748,23 @@ mdb.add_elastic_link(link_type=2,start_id=1,end_id=2)
748
748
  mdb.add_elastic_link(link_type=3,start_id=1,end_id=2,kx=1e6)
749
749
  ```
750
750
  Returns: 无
751
+ ### add_master_slave_links
752
+ 添加主从约束
753
+ > 参数:
754
+ > node_ids:主节点号和从节点号,主节点号位于首位
755
+ > boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
756
+ > group_name:边界组名
757
+ ```Python
758
+ # 示例代码
759
+ from qtmodel import *
760
+ mdb.add_master_slave_links(node_ids=[(1,2),(1,3),(4,5),(4,6)],boundary_info=[True,True,True,False,False,False])
761
+ ```
762
+ Returns: 无
751
763
  ### add_master_slave_link
752
764
  添加主从约束
753
765
  > 参数:
754
766
  > master_id:主节点号
755
- > slave_id:从节点号列表
767
+ > slave_id:从节点号,支持整数或整数型列表
756
768
  > boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
757
769
  > group_name:边界组名
758
770
  ```Python
@@ -1376,12 +1388,12 @@ Returns: 无
1376
1388
  > coord_system:坐标系 (默认3)
1377
1389
  > _1-整体坐标X 2-整体坐标Y 3-整体坐标Z 4-局部坐标X 5-局部坐标Y 6-局部坐标Z_
1378
1390
  > group_name:荷载组名
1379
- > load_list:荷载列表
1380
- > xy_list:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
1391
+ > list_load:荷载列表
1392
+ > list_xy:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
1381
1393
  ```Python
1382
1394
  # 示例代码
1383
1395
  from qtmodel import *
1384
- mdb.add_plate_element_load(element_id=1,case_name="工况1",load_type=1,group_name="默认荷载组",load_list=[1000],xy_list=(0.2,0.5))
1396
+ mdb.add_plate_element_load(element_id=1,case_name="工况1",load_type=1,group_name="默认荷载组",list_load=[1000],list_xy=(0.2,0.5))
1385
1397
  ```
1386
1398
  Returns: 无
1387
1399
  ### remove_plate_element_load
@@ -1,18 +1,4 @@
1
- Metadata-Version: 2.1
2
- Name: qtmodel
3
- Version: 0.5.22
4
- Summary: python modeling for qt 24/10/15
5
- Home-page: https://github.com/Inface0443/pyqt
6
- Author: dqy-zhj
7
- Author-email: 1105417715@qq.com
8
- License: UNKNOWN
9
- Platform: UNKNOWN
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Operating System :: OS Independent
13
- Description-Content-Type: text/markdown
14
-
15
- # 最新版本 V0.5.20 - 2024.10.14
1
+ # 最新版本 V0.5.24 - 2024.10.15
16
2
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
3
  - 规范帮助文档
18
4
  ## 项目管理
@@ -748,11 +734,23 @@ mdb.add_elastic_link(link_type=2,start_id=1,end_id=2)
748
734
  mdb.add_elastic_link(link_type=3,start_id=1,end_id=2,kx=1e6)
749
735
  ```
750
736
  Returns: 无
737
+ ### add_master_slave_links
738
+ 添加主从约束
739
+ > 参数:
740
+ > node_ids:主节点号和从节点号,主节点号位于首位
741
+ > boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
742
+ > group_name:边界组名
743
+ ```Python
744
+ # 示例代码
745
+ from qtmodel import *
746
+ mdb.add_master_slave_links(node_ids=[(1,2),(1,3),(4,5),(4,6)],boundary_info=[True,True,True,False,False,False])
747
+ ```
748
+ Returns: 无
751
749
  ### add_master_slave_link
752
750
  添加主从约束
753
751
  > 参数:
754
752
  > master_id:主节点号
755
- > slave_id:从节点号列表
753
+ > slave_id:从节点号,支持整数或整数型列表
756
754
  > boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
757
755
  > group_name:边界组名
758
756
  ```Python
@@ -1376,12 +1374,12 @@ Returns: 无
1376
1374
  > coord_system:坐标系 (默认3)
1377
1375
  > _1-整体坐标X 2-整体坐标Y 3-整体坐标Z 4-局部坐标X 5-局部坐标Y 6-局部坐标Z_
1378
1376
  > group_name:荷载组名
1379
- > load_list:荷载列表
1380
- > xy_list:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
1377
+ > list_load:荷载列表
1378
+ > list_xy:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
1381
1379
  ```Python
1382
1380
  # 示例代码
1383
1381
  from qtmodel import *
1384
- mdb.add_plate_element_load(element_id=1,case_name="工况1",load_type=1,group_name="默认荷载组",load_list=[1000],xy_list=(0.2,0.5))
1382
+ mdb.add_plate_element_load(element_id=1,case_name="工况1",load_type=1,group_name="默认荷载组",list_load=[1000],list_xy=(0.2,0.5))
1385
1383
  ```
1386
1384
  Returns: 无
1387
1385
  ### remove_plate_element_load
@@ -2681,5 +2679,3 @@ odb.get_deviation_load(case_name="荷载工况1")
2681
2679
  ```
2682
2680
  Returns: json字符串,包含信息为list[dict]
2683
2681
 
2684
-
2685
-
@@ -1,3 +1,40 @@
1
+ class DataHelper:
2
+ @staticmethod
3
+ def parse_to_num(str_list: list[str]) -> list[int]:
4
+ """
5
+ 将字符串转为列表
6
+ Args:
7
+ str_list:字符串列表,1to10by2形式
8
+ Return:
9
+ list[int]
10
+ """
11
+ res_list = []
12
+ for s in str_list:
13
+ if 'by' in s:
14
+ # 确保有 'to'
15
+ if 'to' not in s:
16
+ raise ValueError("If 'by' is present, 'to' must also be present.")
17
+ # 解析 'to' 和 'by'
18
+ to_index = s.index('to')
19
+ by_index = s.index('by')
20
+
21
+ start = int(s[:to_index])
22
+ end = int(s[to_index + 2:by_index])
23
+ step = int(s[by_index + 2:])
24
+ res_list.extend(list(range(start, end + 1, step)))
25
+ # 检查是否有 'to'
26
+ elif 'to' in s:
27
+ to_index = s.index('to')
28
+ start = int(s[:to_index])
29
+ end = int(s[to_index + 2:])
30
+
31
+ res_list.extend(list(range(start, end + 1)))
32
+ # 如果只有数字
33
+ else:
34
+ res_list.extend([int(s)])
35
+ return res_list
36
+
37
+
1
38
  class Node:
2
39
  def __init__(self, node_id: int, x: float, y: float, z: float):
3
40
  """
@@ -1232,12 +1232,30 @@ class Mdb:
1232
1232
  raise Exception(ex)
1233
1233
 
1234
1234
  @staticmethod
1235
- def add_master_slave_link(master_id: int = 1, slave_id: list[int] = None, boundary_info: list[bool] = None, group_name: str = "默认边界组"):
1235
+ def add_master_slave_links(node_ids: list[tuple[int, int]] = None, boundary_info: list[bool] = None, group_name: str = "默认边界组"):
1236
+ """
1237
+ 添加主从约束
1238
+ Args:
1239
+ node_ids:主节点号和从节点号,主节点号位于首位
1240
+ boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
1241
+ group_name:边界组名
1242
+ Example:
1243
+ mdb.add_master_slave_links(node_ids=[(1,2),(1,3),(4,5),(4,6)],boundary_info=[True,True,True,False,False,False])
1244
+ Returns: 无
1245
+ """
1246
+ try:
1247
+ qt_model.AddMasterSlaveLinks(nodeIds=node_ids, boundaryInfo=boundary_info, groupName=group_name)
1248
+ except Exception as ex:
1249
+ raise Exception(ex)
1250
+
1251
+ @staticmethod
1252
+ def add_master_slave_link(master_id: int = 1, slave_id: (Union[int, List[int]]) = None,
1253
+ boundary_info: list[bool] = None, group_name: str = "默认边界组"):
1236
1254
  """
1237
1255
  添加主从约束
1238
1256
  Args:
1239
1257
  master_id:主节点号
1240
- slave_id:从节点号列表
1258
+ slave_id:从节点号,支持整数或整数型列表
1241
1259
  boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
1242
1260
  group_name:边界组名
1243
1261
  Example:
@@ -1985,7 +2003,8 @@ class Mdb:
1985
2003
  raise Exception(ex)
1986
2004
 
1987
2005
  @staticmethod
1988
- def add_pre_stress(case_name: str = "", tendon_name: (Union[str, List[str]])= "", tension_type: int = 2, force: float = 1395000, group_name: str = "默认荷载组"):
2006
+ def add_pre_stress(case_name: str = "", tendon_name: (Union[str, List[str]]) = "", tension_type: int = 2,
2007
+ force: float = 1395000, group_name: str = "默认荷载组"):
1989
2008
  """
1990
2009
  添加预应力
1991
2010
  Args:
@@ -2219,8 +2238,8 @@ class Mdb:
2219
2238
  @staticmethod
2220
2239
  def add_plate_element_load(element_id: (Union[int, List[int]]) = 1, case_name: str = "",
2221
2240
  load_type: int = 1, load_place: int = 1, coord_system: int = 3,
2222
- group_name: str = "默认荷载组", load_list: (Union[float, List[float]]) = None,
2223
- xy_list: tuple[float, float] = None):
2241
+ group_name: str = "默认荷载组", list_load: (Union[float, List[float]]) = None,
2242
+ list_xy: tuple[float, float] = None):
2224
2243
  """
2225
2244
  添加版单元荷载
2226
2245
  Args:
@@ -2233,10 +2252,10 @@ class Mdb:
2233
2252
  coord_system:坐标系 (默认3)
2234
2253
  _1-整体坐标X 2-整体坐标Y 3-整体坐标Z 4-局部坐标X 5-局部坐标Y 6-局部坐标Z_
2235
2254
  group_name:荷载组名
2236
- load_list:荷载列表
2237
- xy_list:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
2255
+ list_load:荷载列表
2256
+ list_xy:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
2238
2257
  Example:
2239
- mdb.add_plate_element_load(element_id=1,case_name="工况1",load_type=1,group_name="默认荷载组",load_list=[1000],xy_list=(0.2,0.5))
2258
+ mdb.add_plate_element_load(element_id=1,case_name="工况1",load_type=1,group_name="默认荷载组",list_load=[1000],list_xy=(0.2,0.5))
2240
2259
  Returns: 无
2241
2260
  """
2242
2261
  try:
@@ -2244,12 +2263,12 @@ class Mdb:
2244
2263
  raise Exception("操作错误,板单元暂不支持弯矩荷载")
2245
2264
  if load_type == 1:
2246
2265
  qt_model.AddPlateElementLoad(elementId=element_id, caseName=case_name, loadType=load_type,
2247
- coordSystem=coord_system, groupName=group_name, loads=load_list)
2266
+ coordSystem=coord_system, groupName=group_name, loads=list_load)
2248
2267
  elif load_type == 3:
2249
2268
  if load_place == 0:
2250
2269
  load_type = load_type + 2
2251
2270
  qt_model.AddPlateElementLoad(elementId=element_id, caseName=case_name, loadType=load_type, loadPosition=load_place,
2252
- distanceList=xy_list, coordSystem=coord_system, groupName=group_name, loads=load_list)
2271
+ distanceList=list_xy, coordSystem=coord_system, groupName=group_name, loads=list_load)
2253
2272
  except Exception as ex:
2254
2273
  raise Exception(ex)
2255
2274