qtmodel 0.5.48__tar.gz → 0.5.50__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.
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.48
4
- Summary: python modeling for qt 2024-12-18
3
+ Version: 0.5.50
4
+ Summary: python modeling for qt 2024-12-19
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
7
7
  Author-email: 1105417715@qq.com
@@ -12,9 +12,9 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- # 最新版本 V0.5.48 - 2024-12-18
15
+ # 最新版本 V0.5.50 - 2024-12-19
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
- - 除荷载组合外不自动刷新模型,用户可自行调用update_model刷新模型
17
+ - 增加两个获取单元接口
18
18
  ## 项目管理
19
19
  ### update_bim
20
20
  刷新Bim模型信息
@@ -744,16 +744,16 @@ mdb.remove_all_boundary()
744
744
  ```
745
745
  Returns: 无
746
746
  ### remove_boundary
747
- 根据节点号删除一般支撑、弹性支承/根据单元号删除梁端约束/根据主节点号删除主从约束/根据从节点号删除约束方程
747
+ 根据节点号删除一般支撑、弹性支承/根据弹性连接号删除弹性连接/根据单元号删除梁端约束/根据从节点号和约束方程名删除约束方程/根据从节点号删除主从约束
748
748
  > 参数:
749
- > remove_id:节点号 or 单元号 or主节点号 or 从节点号
750
- > bd_type:边界类型
751
- > _1-一般支承 2-弹性支承 3-主从约束 4-弹性连接 5-约束方程 6-梁端约束_
749
+ > remove_id:节点号 or 单元号 or 从节点号
750
+ > bd_type:边界类型 ["一般支承", "弹性支承","一般弹性支承", "主从约束", "弹性连接", "约束方程", "梁端约束"]
752
751
  > group:边界所处边界组名
752
+ > constrain_name:约束方程名,仅删除约束方程时需要
753
753
  ```Python
754
754
  # 示例代码
755
755
  from qtmodel import *
756
- mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
756
+ mdb.remove_boundary(remove_id=1, bd_type="弹性支承",group="边界组1")
757
757
  ```
758
758
  Returns: 无
759
759
  ### add_general_elastic_support_property
@@ -807,8 +807,9 @@ mdb.add_elastic_support(node_id=1,support_type=3,boundary_info=[1,1e6])
807
807
  ```
808
808
  Returns: 无
809
809
  ### add_elastic_link
810
- 添加弹性连接
810
+ 添加弹性连接,建议指定index(弹性连接编号)
811
811
  > 参数:
812
+ > index:弹性连接编号,默认自动识别
812
813
  > link_type:节点类型 1-一般弹性连接 2-刚性连接 3-受拉弹性连接 4-受压弹性连接
813
814
  > start_id:起始节点号
814
815
  > end_id:终节点号
@@ -2387,6 +2388,29 @@ odb.plot_plate_element_stress(file_path=r"D:\\图片\\板应力.png",component=0
2387
2388
  ```
2388
2389
  Returns: 无
2389
2390
  ## 获取模型信息
2391
+ ### get_element_by_point
2392
+ 获取某一点指定范围内单元集合,单元中心点为节点平均值
2393
+ > 参数:
2394
+ > x: 坐标x
2395
+ > y: 坐标y
2396
+ > z: 坐标z
2397
+ > tolerance:容许范围,默认为1
2398
+ ```Python
2399
+ # 示例代码
2400
+ from qtmodel import *
2401
+ odb.get_element_by_point(0.5,0.5,0.5,tolerance=1)
2402
+ ```
2403
+ Returns: json字符串,包含信息为list[int]
2404
+ ### get_element_by_material
2405
+ 获取某一材料相应的单元
2406
+ > 参数:
2407
+ > name:材料名称
2408
+ ```Python
2409
+ # 示例代码
2410
+ from qtmodel import *
2411
+ odb.get_element_by_material("材料1")
2412
+ ```
2413
+ Returns: json字符串,包含信息为list[int]
2390
2414
  ### get_overlap_nodes
2391
2415
  获取重合节点
2392
2416
  > 参数:
@@ -1,6 +1,6 @@
1
- # 最新版本 V0.5.48 - 2024-12-18
1
+ # 最新版本 V0.5.50 - 2024-12-19
2
2
  > pip install --upgrade qtmodel -i https://pypi.org/simple
3
- - 除荷载组合外不自动刷新模型,用户可自行调用update_model刷新模型
3
+ - 增加两个获取单元接口
4
4
  ## 项目管理
5
5
  ### update_bim
6
6
  刷新Bim模型信息
@@ -730,16 +730,16 @@ mdb.remove_all_boundary()
730
730
  ```
731
731
  Returns: 无
732
732
  ### remove_boundary
733
- 根据节点号删除一般支撑、弹性支承/根据单元号删除梁端约束/根据主节点号删除主从约束/根据从节点号删除约束方程
733
+ 根据节点号删除一般支撑、弹性支承/根据弹性连接号删除弹性连接/根据单元号删除梁端约束/根据从节点号和约束方程名删除约束方程/根据从节点号删除主从约束
734
734
  > 参数:
735
- > remove_id:节点号 or 单元号 or主节点号 or 从节点号
736
- > bd_type:边界类型
737
- > _1-一般支承 2-弹性支承 3-主从约束 4-弹性连接 5-约束方程 6-梁端约束_
735
+ > remove_id:节点号 or 单元号 or 从节点号
736
+ > bd_type:边界类型 ["一般支承", "弹性支承","一般弹性支承", "主从约束", "弹性连接", "约束方程", "梁端约束"]
738
737
  > group:边界所处边界组名
738
+ > constrain_name:约束方程名,仅删除约束方程时需要
739
739
  ```Python
740
740
  # 示例代码
741
741
  from qtmodel import *
742
- mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
742
+ mdb.remove_boundary(remove_id=1, bd_type="弹性支承",group="边界组1")
743
743
  ```
744
744
  Returns: 无
745
745
  ### add_general_elastic_support_property
@@ -793,8 +793,9 @@ mdb.add_elastic_support(node_id=1,support_type=3,boundary_info=[1,1e6])
793
793
  ```
794
794
  Returns: 无
795
795
  ### add_elastic_link
796
- 添加弹性连接
796
+ 添加弹性连接,建议指定index(弹性连接编号)
797
797
  > 参数:
798
+ > index:弹性连接编号,默认自动识别
798
799
  > link_type:节点类型 1-一般弹性连接 2-刚性连接 3-受拉弹性连接 4-受压弹性连接
799
800
  > start_id:起始节点号
800
801
  > end_id:终节点号
@@ -2373,6 +2374,29 @@ odb.plot_plate_element_stress(file_path=r"D:\\图片\\板应力.png",component=0
2373
2374
  ```
2374
2375
  Returns: 无
2375
2376
  ## 获取模型信息
2377
+ ### get_element_by_point
2378
+ 获取某一点指定范围内单元集合,单元中心点为节点平均值
2379
+ > 参数:
2380
+ > x: 坐标x
2381
+ > y: 坐标y
2382
+ > z: 坐标z
2383
+ > tolerance:容许范围,默认为1
2384
+ ```Python
2385
+ # 示例代码
2386
+ from qtmodel import *
2387
+ odb.get_element_by_point(0.5,0.5,0.5,tolerance=1)
2388
+ ```
2389
+ Returns: json字符串,包含信息为list[int]
2390
+ ### get_element_by_material
2391
+ 获取某一材料相应的单元
2392
+ > 参数:
2393
+ > name:材料名称
2394
+ ```Python
2395
+ # 示例代码
2396
+ from qtmodel import *
2397
+ odb.get_element_by_material("材料1")
2398
+ ```
2399
+ Returns: json字符串,包含信息为list[int]
2376
2400
  ### get_overlap_nodes
2377
2401
  获取重合节点
2378
2402
  > 参数:
@@ -1221,22 +1221,20 @@ class Mdb:
1221
1221
  raise Exception(ex)
1222
1222
 
1223
1223
  @staticmethod
1224
- def remove_boundary(remove_id: int, bd_type: int, group: str = "默认边界组"):
1224
+ def remove_boundary(remove_id: int, bd_type: str, group: str = "默认边界组", constrain_name=""):
1225
1225
  """
1226
- 根据节点号删除一般支撑、弹性支承/根据单元号删除梁端约束/根据主节点号删除主从约束/根据从节点号删除约束方程
1226
+ 根据节点号删除一般支撑、弹性支承/根据弹性连接号删除弹性连接/根据单元号删除梁端约束/根据从节点号和约束方程名删除约束方程/根据从节点号删除主从约束
1227
1227
  Args:
1228
- remove_id:节点号 or 单元号 or主节点号 or 从节点号
1229
- bd_type:边界类型
1230
- _1-一般支承 2-弹性支承 3-主从约束 4-弹性连接 5-约束方程 6-梁端约束_
1228
+ remove_id:节点号 or 单元号 or 从节点号
1229
+ bd_type:边界类型 ["一般支承", "弹性支承","一般弹性支承", "主从约束", "弹性连接", "约束方程", "梁端约束"]
1231
1230
  group:边界所处边界组名
1231
+ constrain_name:约束方程名,仅删除约束方程时需要
1232
1232
  Example:
1233
- mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
1233
+ mdb.remove_boundary(remove_id=1, bd_type="弹性支承",group="边界组1")
1234
1234
  Returns: 无
1235
1235
  """
1236
1236
  try:
1237
- type_list = ["一般支承", "弹性支承", "主从约束", "弹性连接", "约束方程", "梁端约束"]
1238
- bd_name = type_list[bd_type - 1]
1239
- qt_model.RemoveBoundary(controlId=remove_id, type=bd_name, group=group)
1237
+ qt_model.RemoveBoundary(controlId=remove_id, type=bd_type, group=group,constrainName=constrain_name)
1240
1238
  except Exception as ex:
1241
1239
  raise Exception(ex)
1242
1240
 
@@ -1317,20 +1315,21 @@ class Mdb:
1317
1315
  raise Exception(ex)
1318
1316
 
1319
1317
  @staticmethod
1320
- def add_elastic_link(link_type: int = 1, start_id: int = 1, end_id: int = 2, beta_angle: float = 0,
1318
+ def add_elastic_link(index = -1,link_type: int = 1, start_id: int = 1, end_id: int = 2, beta_angle: float = 0,
1321
1319
  boundary_info: list[float] = None,
1322
1320
  group_name: str = "默认边界组", dis_ratio: float = 0.5, kx: float = 0):
1323
1321
  """
1324
- 添加弹性连接
1322
+ 添加弹性连接,建议指定index(弹性连接编号)
1325
1323
  Args:
1326
- link_type:节点类型 1-一般弹性连接 2-刚性连接 3-受拉弹性连接 4-受压弹性连接
1327
- start_id:起始节点号
1328
- end_id:终节点号
1329
- beta_angle:贝塔角
1330
- boundary_info:边界信息
1331
- group_name:边界组名
1332
- dis_ratio:距i端距离比 (仅一般弹性连接需要)
1333
- kx:受拉或受压刚度
1324
+ index:弹性连接编号,默认自动识别
1325
+ link_type:节点类型 1-一般弹性连接 2-刚性连接 3-受拉弹性连接 4-受压弹性连接
1326
+ start_id:起始节点号
1327
+ end_id:终节点号
1328
+ beta_angle:贝塔角
1329
+ boundary_info:边界信息
1330
+ group_name:边界组名
1331
+ dis_ratio:距i端距离比 (仅一般弹性连接需要)
1332
+ kx:受拉或受压刚度
1334
1333
  Example:
1335
1334
  mdb.add_elastic_link(link_type=1,start_id=1,end_id=2,boundary_info=[1e6,1e6,1e6,0,0,0])
1336
1335
  mdb.add_elastic_link(link_type=2,start_id=1,end_id=2)
@@ -1338,7 +1337,7 @@ class Mdb:
1338
1337
  Returns: 无
1339
1338
  """
1340
1339
  try:
1341
- qt_model.AddElasticLink(linkType=link_type, startId=start_id, endId=end_id, beta=beta_angle,
1340
+ qt_model.AddElasticLink(id= index,linkType=link_type, startId=start_id, endId=end_id, beta=beta_angle,
1342
1341
  boundaryInfo=boundary_info, groupName=group_name, disRatio=dis_ratio, kDx=kx)
1343
1342
  except Exception as ex:
1344
1343
  raise Exception(ex)
@@ -756,6 +756,43 @@ class Odb:
756
756
  # endregion
757
757
 
758
758
  # region 获取模型信息
759
+ @staticmethod
760
+ def get_element_by_point(x: float = 0, y: float = 0, z: float = 0, tolerance: float = 1):
761
+ """
762
+ 获取某一点指定范围内单元集合,单元中心点为节点平均值
763
+ Args:
764
+ x: 坐标x
765
+ y: 坐标y
766
+ z: 坐标z
767
+ tolerance:容许范围,默认为1
768
+ Example:
769
+ odb.get_element_by_point(0.5,0.5,0.5,tolerance=1)
770
+ Returns: json字符串,包含信息为list[int]
771
+ """
772
+ try:
773
+ qt_result = qt_model.GetElementByPoint(x=x, y=y, z=z, tolerance=tolerance)
774
+ result = list(qt_result)
775
+ return json.dumps(result)
776
+ except Exception as ex:
777
+ raise Exception(ex)
778
+
779
+ @staticmethod
780
+ def get_element_by_material(name: str = ""):
781
+ """
782
+ 获取某一材料相应的单元
783
+ Args:
784
+ name:材料名称
785
+ Example:
786
+ odb.get_element_by_material("材料1")
787
+ Returns: json字符串,包含信息为list[int]
788
+ """
789
+ try:
790
+ qt_result = qt_model.GetElementByMaterial(name=name)
791
+ result = list(qt_result)
792
+ return json.dumps(result)
793
+ except Exception as ex:
794
+ raise Exception(ex)
795
+
759
796
  @staticmethod
760
797
  def get_overlap_nodes(round_num: int = 4):
761
798
  """
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qtmodel
3
- Version: 0.5.48
4
- Summary: python modeling for qt 2024-12-18
3
+ Version: 0.5.50
4
+ Summary: python modeling for qt 2024-12-19
5
5
  Home-page: https://github.com/Inface0443/pyqt
6
6
  Author: dqy-zhj
7
7
  Author-email: 1105417715@qq.com
@@ -12,9 +12,9 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
 
15
- # 最新版本 V0.5.48 - 2024-12-18
15
+ # 最新版本 V0.5.50 - 2024-12-19
16
16
  > pip install --upgrade qtmodel -i https://pypi.org/simple
17
- - 除荷载组合外不自动刷新模型,用户可自行调用update_model刷新模型
17
+ - 增加两个获取单元接口
18
18
  ## 项目管理
19
19
  ### update_bim
20
20
  刷新Bim模型信息
@@ -744,16 +744,16 @@ mdb.remove_all_boundary()
744
744
  ```
745
745
  Returns: 无
746
746
  ### remove_boundary
747
- 根据节点号删除一般支撑、弹性支承/根据单元号删除梁端约束/根据主节点号删除主从约束/根据从节点号删除约束方程
747
+ 根据节点号删除一般支撑、弹性支承/根据弹性连接号删除弹性连接/根据单元号删除梁端约束/根据从节点号和约束方程名删除约束方程/根据从节点号删除主从约束
748
748
  > 参数:
749
- > remove_id:节点号 or 单元号 or主节点号 or 从节点号
750
- > bd_type:边界类型
751
- > _1-一般支承 2-弹性支承 3-主从约束 4-弹性连接 5-约束方程 6-梁端约束_
749
+ > remove_id:节点号 or 单元号 or 从节点号
750
+ > bd_type:边界类型 ["一般支承", "弹性支承","一般弹性支承", "主从约束", "弹性连接", "约束方程", "梁端约束"]
752
751
  > group:边界所处边界组名
752
+ > constrain_name:约束方程名,仅删除约束方程时需要
753
753
  ```Python
754
754
  # 示例代码
755
755
  from qtmodel import *
756
- mdb.remove_boundary(remove_id = 1, bd_type = 1,group="边界组1")
756
+ mdb.remove_boundary(remove_id=1, bd_type="弹性支承",group="边界组1")
757
757
  ```
758
758
  Returns: 无
759
759
  ### add_general_elastic_support_property
@@ -807,8 +807,9 @@ mdb.add_elastic_support(node_id=1,support_type=3,boundary_info=[1,1e6])
807
807
  ```
808
808
  Returns: 无
809
809
  ### add_elastic_link
810
- 添加弹性连接
810
+ 添加弹性连接,建议指定index(弹性连接编号)
811
811
  > 参数:
812
+ > index:弹性连接编号,默认自动识别
812
813
  > link_type:节点类型 1-一般弹性连接 2-刚性连接 3-受拉弹性连接 4-受压弹性连接
813
814
  > start_id:起始节点号
814
815
  > end_id:终节点号
@@ -2387,6 +2388,29 @@ odb.plot_plate_element_stress(file_path=r"D:\\图片\\板应力.png",component=0
2387
2388
  ```
2388
2389
  Returns: 无
2389
2390
  ## 获取模型信息
2391
+ ### get_element_by_point
2392
+ 获取某一点指定范围内单元集合,单元中心点为节点平均值
2393
+ > 参数:
2394
+ > x: 坐标x
2395
+ > y: 坐标y
2396
+ > z: 坐标z
2397
+ > tolerance:容许范围,默认为1
2398
+ ```Python
2399
+ # 示例代码
2400
+ from qtmodel import *
2401
+ odb.get_element_by_point(0.5,0.5,0.5,tolerance=1)
2402
+ ```
2403
+ Returns: json字符串,包含信息为list[int]
2404
+ ### get_element_by_material
2405
+ 获取某一材料相应的单元
2406
+ > 参数:
2407
+ > name:材料名称
2408
+ ```Python
2409
+ # 示例代码
2410
+ from qtmodel import *
2411
+ odb.get_element_by_material("材料1")
2412
+ ```
2413
+ Returns: json字符串,包含信息为list[int]
2390
2414
  ### get_overlap_nodes
2391
2415
  获取重合节点
2392
2416
  > 参数:
File without changes
File without changes
File without changes
File without changes