# 最新版本 V0.6.1 - 2025-01-13
> pip install --upgrade qtmodel -i https://pypi.org/simple
- 修改部分接口
## 项目管理
### update_bim
刷新Bim模型信息
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.update_bim()
```
Returns: 无
### update_model
刷新模型信息
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.update_model()
```
Returns: 无
### update_app_stage
切换模型前后处理状态
> 参数:
> num: 1-前处理 2-后处理
```Python
# 示例代码
from qtmodel import *
mdb.update_app_stage(num=1)
mdb.update_app_stage(num=2)
```
Returns: 无
### do_solve
运行分析
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.do_solve()
```
Returns: 无
### initial
初始化模型,新建模型
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.initial()
```
Returns: 无
### open_file
打开bfmd文件
> 参数:
> file_path: 文件全路径
```Python
# 示例代码
from qtmodel import *
mdb.open_file(file_path="a.bfmd")
```
Returns: 无
### close_project
关闭项目
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.close_project()
```
Returns: 无
### save_file
保存bfmd文件
> 参数:
> file_path: 文件全路径
```Python
# 示例代码
from qtmodel import *
mdb.save_file(file_path="a.bfmd")
```
Returns: 无
### import_command
导入命令
> 参数:
> command:命令字符
> command_type:命令类型,默认桥通命令 1-桥通命令 2-mct命令
```Python
# 示例代码
from qtmodel import *
mdb.import_command(command="*SECTION")
mdb.import_command(command="*SECTION",command_type=2)
```
Returns: 无
### import_file
导入文件
> 参数:
> file_path:导入文件(.mct/.qdat/.dxf/.3dx)
```Python
# 示例代码
from qtmodel import *
mdb.import_file(file_path="a.mct")
```
Returns: 无
### export_file
导入命令
> 参数:
> file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
> convert_sec_group:是否将变截面组转换为变截面
> type_kind:输出文件类型 1-全部模型文件 2-计算相关文件 (py输出时 2-输出截面特性)
> group_name:obj与 APDL导出时指定结构组导出
```Python
# 示例代码
from qtmodel import *
mdb.export_file(file_path="a.mct")
```
Returns: 无
## 分析设置
### update_global_setting
更新整体设置
> 参数:
> solver_type:求解器类型 0-稀疏矩阵求解器 1-变带宽求解器
> calculation_type: 计算设置 0-单线程 1-用户自定义 2-自动设置
> thread_count: 线程数
```Python
# 示例代码
from qtmodel import *
mdb.update_global_setting(solver_type=0,calculation_type=2,thread_count=12)
```
Returns: 无
### update_construction_stage_setting
更新施工阶段设置
> 参数:
> do_analysis: 是否进行分析
> to_end_stage: 是否计算至最终阶段
> other_stage_id: 计算至其他阶段时ID
> analysis_type: 分析类型 (0-线性 1-非线性 2-部分非线性)
> do_creep_analysis: 是否进行徐变分析
> cable_tension_position: 索力张力位置 (0-I端 1-J端 2-平均索力)
> consider_completion_stage: 是否考虑成桥内力对运营阶段影响
> shrink_creep_type: 收缩徐变类型 (0-仅徐变 1-仅收缩 2-收缩徐变)
> creep_load_type: 徐变荷载类型 (1-开始 2-中间 3-结束)
> sub_step_info: 子步信息 [是否开启子部划分设置,10天步数,100天步数,1000天步数,5000天步数,10000天步数] None时为UI默认值
```Python
# 示例代码
from qtmodel import *
mdb.update_construction_stage_setting(do_analysis=True, to_end_stage=False, other_stage_id=1,analysis_type=0,
do_creep_analysis=True, cable_tension_position=0, consider_completion_stage=True,shrink_creep_type=2)
```
Returns: 无
### update_live_load_setting
更新移动荷载分析设置
> 参数:
> lateral_spacing: 横向加密间距
> vertical_spacing: 纵向加密间距
> damper_calc_type: 模拟阻尼器约束方程计算类选项(-1-不考虑 0-全部组 1-部分)
> displacement_calc_type: 位移计算选项(-1-不考虑 0-全部组 1-部分)
> force_calc_type: 内力计算选项(-1-不考虑 0-全部组 1-部分)
> reaction_calc_type: 反力计算选项(-1-不考虑 0-全部组 1-部分)
> link_calc_type: 连接计算选项(-1-不考虑 0-全部组 1-部分)
> constrain_calc_type: 约束方程计算选项(-1-不考虑 0-全部组 1-部分)
> eccentricity: 离心力系数
> displacement_track: 是否追踪位移
> force_track: 是否追踪内力
> reaction_track: 是否追踪反力
> link_track: 是否追踪连接
> constrain_track: 是否追踪约束方程
> damper_groups: 模拟阻尼器约束方程计算类选项为组时边界组名称
> displacement_groups: 位移计算类选项为组时结构组名称
> force_groups: 内力计算类选项为组时结构组名称
> reaction_groups: 反力计算类选项为组时边界组名称
> link_groups: 弹性连接计算类选项为组时边界组名称
> constrain_groups: 约束方程计算类选项为组时边界组名称
```Python
# 示例代码
from qtmodel import *
mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=1)
mdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=2,displacement_track=True,
displacement_groups=["结构组1","结构组2"])
```
Returns: 无
### update_non_linear_setting
更新非线性设置
> 参数:
> non_linear_type: 非线性类型 0-部分非线性 1-非线性
> non_linear_method: 非线性方法 0-修正牛顿法 1-牛顿法
> max_loading_steps: 最大加载步数
> max_iteration_times: 最大迭代次数
> accuracy_of_displacement: 位移相对精度
> accuracy_of_force: 内力相对精度
```Python
# 示例代码
from qtmodel import *
mdb.update_non_linear_setting(non_linear_type=-1, non_linear_method=1, max_loading_steps=-1, max_iteration_times=30,
accuracy_of_displacement=0.0001, accuracy_of_force=0.0001)
```
Returns: 无
### update_operation_stage_setting
更新运营阶段分析设置
> 参数:
> do_analysis: 是否进行运营阶段分析
> final_stage: 最终阶段名
> static_load_cases: 静力工况名列表
> sink_load_cases: 沉降工况名列表
> live_load_cases: 活载工况名列表
```Python
# 示例代码
from qtmodel import *
mdb.update_operation_stage_setting(do_analysis=True, final_stage="上二恒",static_load_cases=None)
```
Returns: 无
### update_self_vibration_setting
更新自振分析设置
> 参数:
> do_analysis: 是否进行运营阶段分析
> method: 计算方法 1-子空间迭代法 2-滤频法 3-多重Ritz法 4-兰索斯法
> matrix_type: 矩阵类型 0-集中质量矩阵 1-一致质量矩阵
> mode_num: 振型数量
```Python
# 示例代码
from qtmodel import *
mdb.update_self_vibration_setting(do_analysis=True,method=1,matrix_type=0,mode_num=3)
```
Returns: 无
### update_response_spectrum_setting
更新反应谱设置
> 参数:
> do_analysis:是否进行反应谱分析
> kind:组合方式 1-SRSS 2-CQC
> by_mode: 是否按照振型输入阻尼比
> damping_ratio:常数阻尼比或振型阻尼比列表
```Python
# 示例代码
from qtmodel import *
mdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)
```
Returns: 无
## 结构组操作
### add_structure_group
添加结构组
> 参数:
> name: 结构组名
> node_ids: 节点编号列表(可选参数)
> element_ids: 单元编号列表(可选参数)
```Python
# 示例代码
from qtmodel import *
mdb.add_structure_group(name="新建结构组1")
mdb.add_structure_group(name="新建结构组2",node_ids=[1,2,3,4],element_ids=[1,2])
```
Returns: 无
### update_structure_group_name
更新结构组名
> 参数:
> name: 结构组名
> new_name: 节点编号列表(可选参数)
```Python
# 示例代码
from qtmodel import *
mdb.update_structure_group_name(name="结构组1",new_name="新结构组")
```
Returns: 无
### remove_structure_group
可根据结构与组名删除结构组,当组名为默认则删除所有结构组
> 参数:
> name:结构组名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_structure_group(name="新建结构组1")
mdb.remove_structure_group()
```
Returns: 无
### add_structure_to_group
为结构组添加节点和/或单元
> 参数:
> name: 结构组名
> node_ids: 节点编号列表(可选参数)
> element_ids: 单元编号列表(可选参数)
```Python
# 示例代码
from qtmodel import *
mdb.add_structure_to_group(name="现有结构组1",node_ids=[1,2,3,4],element_ids=[1,2])
```
Returns: 无
### remove_structure_from_group
为结构组删除节点、单元
> 参数:
> name: 结构组名
> node_ids: 节点编号列表(可选参数)
> element_ids: 单元编号列表(可选参数)
```Python
# 示例代码
from qtmodel import *
mdb.remove_structure_from_group(name="现有结构组1",node_ids=[1,2,3,4],element_ids=[1,2])
```
Returns: 无
## 节点操作
### add_node
根据坐标信息和节点编号添加节点
> 参数:
> node_data: [id,x,y,z] 或 [x,y,z] 指定节点编号时不进行交叉分割、合并、编号等操作
> intersected: 是否交叉分割
> is_merged: 是否忽略位置重复节点
> merge_error: 合并容许误差
> numbering_type:编号方式 0-未使用的最小号码 1-最大号码加1 2-用户定义号码
> start_id:自定义节点起始编号(用户定义号码时使用)
```Python
# 示例代码
from qtmodel import *
mdb.add_node(node_data=[1,2,3])
mdb.add_node(node_data=[1,1,2,3])
```
Returns: 无
### add_nodes
根据坐标信息和节点编号添加一组节点,可指定节点号,或不指定节点号
> 参数:
> node_data: [[id,x,y,z]...] 或[[x,y,z]...] 指定节点编号时不进行交叉分割、合并、编号等操作
> intersected: 是否交叉分割
> is_merged: 是否忽略位置重复节点
> merge_error: 合并容许误差
> numbering_type:编号方式 0-未使用的最小号码 1-最大号码加1 2-用户定义号码
> start_id:自定义节点起始编号(用户定义号码时使用)
```Python
# 示例代码
from qtmodel import *
mdb.add_nodes(node_data=[[1,1,2,3],[1,1,2,3]])
```
Returns: 无
### update_node
根据节点号修改节点坐标
> 参数:
> node_id: 旧节点编号
> new_id: 新节点编号,默认为-1时不改变节点编号
> x: 更新后x坐标
> y: 更新后y坐标
> z: 更新后z坐标
```Python
# 示例代码
from qtmodel import *
mdb.update_node(node_id=1,new_id=2,x=2,y=2,z=2)
```
Returns: 无
### update_node_id
修改节点Id
> 参数:
> node_id: 节点编号
> new_id: 新节点编号
```Python
# 示例代码
from qtmodel import *
mdb.update_node_id(node_id=1,new_id=2)
```
Returns: 无
### merge_nodes
根据坐标信息和节点编号添加节点,默认自动识别编号
> 参数:
> ids: 合并节点集合 默认全部节点
> tolerance: 合并容许误差
```Python
# 示例代码
from qtmodel import *
mdb.merge_nodes()
```
Returns: 无
### remove_node
删除指定节点,不输入参数时默认删除所有节点
> 参数:
> ids:节点编号
```Python
# 示例代码
from qtmodel import *
mdb.remove_node()
mdb.remove_node(ids=1)
mdb.remove_node(ids=[1,2,3])
```
Returns: 无
### renumber_nodes
节点编号重排序,默认按1升序重排所有节点
> 参数:
> node_ids:被修改节点号
> new_ids:新节点号
```Python
# 示例代码
from qtmodel import *
mdb.renumber_nodes()
mdb.renumber_nodes([7,9,22],[1,2,3])
```
Returns: 无
### move_node
移动节点坐标
> 参数:
> node_id:节点号
> offset_x:X轴偏移量
> offset_y:Y轴偏移量
> offset_z:Z轴偏移量
```Python
# 示例代码
from qtmodel import *
mdb.move_node(node_id=1,offset_x=1.5,offset_y=1.5,offset_z=1.5)
```
Returns: 无
## 单元操作
### update_local_orientation
反转杆系单元局部方向
> 参数:
> ele_id: 杆系单元编号
```Python
# 示例代码
from qtmodel import *
mdb.update_local_orientation(1)
```
Returns: 无
### update_element_id
更改单元编号
> 参数:
> old_id: 单元编号
> new_id: 新单元编号
```Python
# 示例代码
from qtmodel import *
mdb.update_element_id(1,2)
```
Returns: 无
### add_element
根据单元编号和单元类型添加单元
> 参数:
> index:单元编号
> ele_type:单元类型 1-梁 2-杆 3-索 4-板
> node_ids:单元对应的节点列表 [i,j] 或 [i,j,k,l]
> beta_angle:贝塔角
> mat_id:材料编号
> sec_id:截面编号
> initial_type:索单元初始参数类型 1-初始拉力 2-初始水平力 3-无应力长度
> initial_value:索单元初始始参数值
> plate_type:板单元类型 0-薄板 1-厚板
```Python
# 示例代码
from qtmodel import *
mdb.add_element(index=1,ele_type=1,node_ids=[1,2],beta_angle=1,mat_id=1,sec_id=1)
```
Returns: 无
### update_element
根据单元编号和单元类型添加单元
> 参数:
> old_id:原单元编号
> new_id:现单元编号,默认不修改原单元Id
> ele_type:单元类型 1-梁 2-杆 3-索 4-板
> node_ids:单元对应的节点列表 [i,j] 或 [i,j,k,l]
> beta_angle:贝塔角
> mat_id:材料编号
> sec_id:截面编号
> initial_type:索单元初始参数类型 1-初始拉力 2-初始水平力 3-无应力长度
> initial_value:索单元初始始参数值
> plate_type:板单元类型 0-薄板 1-厚板
```Python
# 示例代码
from qtmodel import *
mdb.update_element(old_id=1,ele_type=1,node_ids=[1,2],beta_angle=1,mat_id=1,sec_id=1)
```
Returns: 无
### add_elements
根据单元编号和单元类型添加单元
> 参数:
> ele_data:单元信息
> [编号,类型(1-梁 2-杆),materialId,sectionId,betaAngle,nodeI,nodeJ]
> [编号,类型(3-索),materialId,sectionId,betaAngle,nodeI,nodeJ,张拉类型(1-初拉力 2-初始水平力 3-无应力长度),张拉值]
> [编号,类型(4-板),materialId,thicknessId,betaAngle,nodeI,nodeJ,nodeK,nodeL]
```Python
# 示例代码
from qtmodel import *
mdb.add_elements(ele_data=[
[1,1,1,1,0,1,2],
[2,2,1,1,0,1,2],
[3,3,1,1,0,1,2,1,100],
[4,4,1,1,0,1,2,3,4]])
```
Returns: 无
### update_element_local_orientation
更新指定单元的单元局部坐标系
> 参数:
> index: 单元编号
```Python
# 示例代码
from qtmodel import *
mdb.update_element_local_orientation(index=1)
```
Returns: 无
### update_element_material
更新指定单元的材料号
> 参数:
> index: 单元编号
> mat_id: 材料编号
```Python
# 示例代码
from qtmodel import *
mdb.update_element_material(index=1,mat_id=2)
```
Returns: 无
### update_element_beta_angle
更新指定单元的贝塔角
> 参数:
> index: 单元编号
> beta_angle: 贝塔角度数
```Python
# 示例代码
from qtmodel import *
mdb.update_element_beta_angle(index=1,beta_angle=90)
```
Returns: 无
### update_element_section
更新杆系单元截面或板单元板厚
> 参数:
> index: 单元编号
> sec_id: 截面号
```Python
# 示例代码
from qtmodel import *
mdb.update_element_section(index=1,sec_id=2)
```
Returns: 无
### update_element_node
更新单元节点
> 参数:
> index: 单元编号
> nodes: 杆系单元时为[node_i,node_j] 板单元[i,j,k,l]
```Python
# 示例代码
from qtmodel import *
mdb.update_element_node(1,[1,2])
mdb.update_element_node(2,[1,2,3,4])
```
Returns: 无
### remove_element
删除指定编号的单元
> 参数:
> index: 单元编号,默认时删除所有单元
```Python
# 示例代码
from qtmodel import *
mdb.remove_element()
mdb.remove_element(index=1)
```
Returns: 无
### renumber_elements
单元编号重排序,默认按1升序重排所有节点
> 参数:
> ele_ids:被修改单元号
> new_ids:新单元号
```Python
# 示例代码
from qtmodel import *
mdb.renumber_elements()
mdb.renumber_elements([7,9,22],[1,2,3])
```
Returns: 无
## 材料操作
### update_material
添加材料
> 参数:
> name:旧材料名称
> new_name:新材料名称,默认不更改名称
> new_id:新材料Id,默认不更改Id
> mat_type: 材料类型,1-混凝土 2-钢材 3-预应力 4-钢筋 5-自定义 6-组合材料
> standard:规范序号,参考UI 默认从1开始
> database:数据库名称
> construct_factor:构造系数
> modified:是否修改默认材料参数,默认不修改 (可选参数)
> data_info:材料参数列表[弹性模量,容重,泊松比,热膨胀系数] (可选参数)
> creep_id:徐变材料id (可选参数)
> f_cuk: 立方体抗压强度标准值 (可选参数)
> composite_info: 主材名和辅材名 (仅组合材料需要)
```Python
# 示例代码
from qtmodel import *
mdb.update_material(name="混凝土材料1",mat_type=1,standard=1,database="C50")
mdb.update_material(name="自定义材料1",mat_type=5,data_info=[3.5e10,2.5e4,0.2,1.5e-5])
```
Returns: 无
### add_material
添加材料
> 参数:
> index:材料编号,默认为最大Id+1
> name:材料名称
> mat_type: 材料类型,1-混凝土 2-钢材 3-预应力 4-钢筋 5-自定义 6-组合材料
> standard:规范序号,参考UI 默认从1开始
> database:数据库名称
> construct_factor:构造系数
> modified:是否修改默认材料参数,默认不修改 (可选参数)
> data_info:材料参数列表[弹性模量,容重,泊松比,热膨胀系数] (可选参数)
> creep_id:徐变材料id (可选参数)
> f_cuk: 立方体抗压强度标准值 (可选参数)
> composite_info: 主材名和辅材名 (仅组合材料需要)
```Python
# 示例代码
from qtmodel import *
mdb.add_material(index=1,name="混凝土材料1",mat_type=1,standard=1,database="C50")
mdb.add_material(index=1,name="自定义材料1",mat_type=5,data_info=[3.5e10,2.5e4,0.2,1.5e-5])
```
Returns: 无
### add_time_parameter
添加收缩徐变材料
> 参数:
> name: 收缩徐变名
> code_index: 收缩徐变规范索引
> time_parameter: 对应规范的收缩徐变参数列表,默认不改变规范中信息 (可选参数)
> creep_data: 徐变数据 [(函数名,龄期)...]
> shrink_data: 收缩函数名
```Python
# 示例代码
from qtmodel import *
mdb.add_time_parameter(name="收缩徐变材料1",code_index=1)
```
Returns: 无
### update_time_parameter
添加收缩徐变材料
> 参数:
> name: 收缩徐变名
> new_name: 新收缩徐变名,默认不改变名称
> code_index: 收缩徐变规范索引
> time_parameter: 对应规范的收缩徐变参数列表,默认不改变规范中信息 (可选参数)
> creep_data: 徐变数据 [(函数名,龄期)...]
> shrink_data: 收缩函数名
```Python
# 示例代码
from qtmodel import *
mdb.update_time_parameter(name="收缩徐变材料1",new_name="新收缩徐变材料1",code_index=1)
```
Returns: 无
### add_creep_function
添加徐变函数
> 参数:
> name:徐变函数名
> creep_data:徐变数据[(时间,徐变系数)...]
> scale_factor:缩放系数
```Python
# 示例代码
from qtmodel import *
mdb.add_creep_function(name="徐变函数名",creep_data=[(5,0.5),(100,0.75)])
```
Returns: 无
### update_creep_function
添加徐变函数
> 参数:
> name:徐变函数名
> new_name: 新徐变函数名,默认不改变函数名
> creep_data:徐变数据,默认不改变函数名 [(时间,徐变系数)...]
> scale_factor:缩放系数
```Python
# 示例代码
from qtmodel import *
mdb.add_creep_function(name="徐变函数名",creep_data=[(5,0.5),(100,0.75)])
```
Returns: 无
### add_shrink_function
添加收缩函数
> 参数:
> name:收缩函数名
> shrink_data:收缩数据[(时间,收缩系数)...]
> scale_factor:缩放系数
```Python
# 示例代码
from qtmodel import *
mdb.add_shrink_function(name="收缩函数名",shrink_data=[(5,0.5),(100,0.75)])
mdb.add_shrink_function(name="收缩函数名",scale_factor=1.2)
```
Returns: 无
### update_shrink_function
添加收缩函数
> 参数:
> name:收缩函数名
> new_name:收缩函数名
> shrink_data:收缩数据,默认不改变数据 [(时间,收缩系数)...]
> scale_factor:缩放系数
```Python
# 示例代码
from qtmodel import *
mdb.update_shrink_function(name="收缩函数名",new_name="函数名2")
mdb.update_shrink_function(name="收缩函数名",shrink_data=[(5,0.5),(100,0.75)])
mdb.update_shrink_function(name="收缩函数名",scale_factor=1.2)
```
Returns: 无
### remove_shrink_function
删除收缩函数
> 参数:
> name:收缩函数名
```Python
# 示例代码
from qtmodel import *
mdb.remove_shrink_function(name="收缩函数名")
```
Returns: 无
### remove_creep_function
删除徐变函数
> 参数:
> name:徐变函数名
```Python
# 示例代码
from qtmodel import *
mdb.remove_creep_function(name="徐变函数名")
```
Returns: 无
### update_material_time_parameter
将收缩徐变参数连接到材料
> 参数:
> name: 材料名
> time_parameter_name: 收缩徐变名称
> f_cuk: 材料标准抗压强度,仅自定义材料是需要输入
```Python
# 示例代码
from qtmodel import *
mdb.update_material_time_parameter(name="C60",time_parameter_name="收缩徐变1",f_cuk=5e7)
```
Returns: 无
### update_material_id
更新材料编号
> 参数:
> name:材料名称
> new_id:新编号
```Python
# 示例代码
from qtmodel import *
mdb.update_material_id(name="材料1",new_id=2)
```
Returns: 无
### remove_material
删除指定材料
> 参数:
> index:指定材料编号,默认则删除所有材料
> name: 指定材料名,材料名为空时按照index删除
```Python
# 示例代码
from qtmodel import *
mdb.remove_material()
mdb.remove_material(index=1)
```
Returns: 无
### update_material_construction_factor
更新材料构造系数
> 参数:
> name:指定材料编号,默认则删除所有材料
> factor:指定材料编号,默认则删除所有材料
```Python
# 示例代码
from qtmodel import *
mdb.update_material_construction_factor(name="材料1",factor=1.0)
```
Returns: 无
### remove_time_parameter
删除指定时间依存材料
> 参数:
> name: 指定收缩徐变材料名
```Python
# 示例代码
from qtmodel import *
mdb.remove_time_parameter("收缩徐变材料1")
```
Returns: 无
## 板厚操作
### add_thickness
添加板厚
> 参数:
> index: 板厚id
> name: 板厚名称
> t: 板厚度
> thick_type: 板厚类型 0-普通板 1-加劲肋板
> bias_info: 默认不偏心,偏心时输入列表[type,value]
> _type:0-厚度比 1-数值_
> rib_pos: 肋板位置 0-下部 1-上部
> dist_v: 纵向截面肋板间距
> dist_l: 横向截面肋板间距
> rib_v: 纵向肋板信息
> rib_l: 横向肋板信息
```Python
# 示例代码
from qtmodel import *
mdb.add_thickness(name="厚度1", t=0.2,thick_type=0,bias_info=(0,0.8))
mdb.add_thickness(name="厚度2", t=0.2,thick_type=1,rib_pos=0,dist_v=0.1,rib_v=[1,1,0.02,0.02])
```
Returns: 无
### update_thickness_id
更新板厚编号
> 参数:
> index: 板厚id
> new_id: 新板厚id
```Python
# 示例代码
from qtmodel import *
mdb.update_thickness_id(1,2)
```
Returns: 无
### remove_thickness
删除板厚
> 参数:
> index:板厚编号,默认时删除所有板厚信息
> name:默认按照编号删除,如果不为空则按照名称删除
```Python
# 示例代码
from qtmodel import *
mdb.remove_thickness()
mdb.remove_thickness(index=1)
mdb.remove_thickness(name="板厚1")
```
Returns: 无
## 截面操作
### add_section
添加单一截面信息,如果截面存在则自动覆盖
> 参数:
> index: 截面编号,默认自动识别
> name:截面名称
> sec_type:参数截面类型名称(详见UI界面)
> sec_info:截面信息 (必要参数)
> symmetry:混凝土截面是否对称 (仅混凝土箱梁截面需要)
> charm_info:混凝土截面倒角信息 (仅混凝土箱梁截面需要)
> sec_right:混凝土截面右半信息 (对称时可忽略,仅混凝土箱梁截面需要)
> charm_right:混凝土截面右半倒角信息 (对称时可忽略,仅混凝土箱梁截面需要)
> box_num: 混凝土箱室数 (仅混凝土箱梁截面需要)
> box_height: 混凝土箱梁梁高 (仅混凝土箱梁截面需要)
> mat_combine: 组合截面材料信息 (仅组合材料需要) [弹性模量比s/c、密度比s/c、钢材泊松比、混凝土泊松比、热膨胀系数比s/c]
> rib_info:肋板信息
> rib_place:肋板位置 list[tuple[布置具体部位,参考点0-下/左,距参考点间距,肋板名,加劲肋位置0-上/左 1-下/右 2-两侧,加劲肋名]]
> 布置具体部位(工字钢梁):1-上左 2-上右 3-腹板 4-下左 5-下右
> 布置具体部位(箱型钢梁):1-上左 2-上中 3-上右 4-左腹板 5-右腹板 6-下左 7-下中 8-下右
> loop_segments:线圈坐标集合 list[dict] dict示例:{"main":[(x1,y1),(x2,y2)...],"sub1":[(x1,y1),(x2,y2)...],"sub2":[(x1,y1),(x2,y2)...]}
> sec_lines:线宽集合[(x1,y1,x2,y3,thick),]
> secondary_loop_segments:辅材线圈坐标集合 list[dict] (同loop_segments)
> sec_property:截面特性(参考UI界面共计26个参数),可选参数,指定截面特性时不进行截面计算
> bias_type:偏心类型 默认中心
> center_type:中心类型 默认质心
> shear_consider:考虑剪切 bool 默认考虑剪切变形
> bias_x:自定义偏心点x坐标 (仅自定义类型偏心需要,相对于center_type偏移)
> bias_y:自定义偏心点y坐标 (仅自定义类型偏心需要,相对于center_type偏移)
```Python
# 示例代码
from qtmodel import *
mdb.add_section(name="截面1",sec_type="矩形",sec_info=[2,4],bias_type="中心")
mdb.add_section(name="截面2",sec_type="混凝土箱梁",box_height=2,box_num=3,
sec_info=[0.02,0,12,3,1,2,1,5,6,0.2,0.4,0.1,0.13,0.28,0.3,0.5,0.5,0.5,0.2],
charm_info=["1*0.2,0.1*0.2","0.5*0.15,0.3*0.2","0.4*0.2","0.5*0.2"])
mdb.add_section(name="钢梁截面1",sec_type="工字钢梁",sec_info=[0,0,0.5,0.5,0.5,0.5,0.7,0.02,0.02,0.02])
mdb.add_section(name="钢梁截面2",sec_type="箱型钢梁",sec_info=[0,0.15,0.25,0.5,0.25,0.15,0.4,0.15,0.7,0.02,0.02,0.02,0.02],
rib_info = {"板肋1": [0.1,0.02],"T形肋1":[0.1,0.02,0.02,0.02]},
rib_place = [(1, 0, 0.1, "板肋1", 2, "默认名称1"),
(1, 0, 0.2, "板肋1", 2, "默认名称1")])
```
Returns: 无
### add_single_section
以字典形式添加单一截面
> 参数:
> index:截面编号
> name:截面名称
> sec_type:截面类型
> sec_data:截面信息字典,键值参考添加add_section方法参数
```Python
# 示例代码
from qtmodel import *
mdb.add_single_section(index=1,name="变截面1",sec_type="矩形",
sec_data={"sec_info":[1,2],"bias_type":"中心"})
```
Returns: 无
### update_single_section
以字典形式添加单一截面
> 参数:
> index:截面编号
> new_id:新截面编号,默认不修改截面编号
> name:截面名称
> sec_type:截面类型
> sec_data:截面信息字典,键值参考添加add_section方法参数
```Python
# 示例代码
from qtmodel import *
mdb.update_single_section(index=1,name="变截面1",sec_type="矩形",
sec_data={"sec_info":[1,2],"bias_type":"中心"})
```
Returns: 无
### add_tapper_section
添加变截面,字典参数参考单一截面,如果截面存在则自动覆盖
> 参数:
> index:截面编号
> name:截面名称
> sec_type:截面类型
> sec_begin:截面始端截面信息字典,键值参考添加add_section方法参数
> sec_end:截面末端截面信息字典,键值参考添加add_section方法参数
> shear_consider:考虑剪切变形
> sec_normalize:变截面线段线圈重新排序
```Python
# 示例代码
from qtmodel import *
mdb.add_tapper_section(index=1,name="变截面1",sec_type="矩形",
sec_begin={"sec_info":[1,2],"bias_type":"中心"},
sec_end={"sec_info":[2,2],"bias_type":"中心"})
```
Returns: 无
### update_tapper_section
添加变截面,字典参数参考单一截面,如果截面存在则自动覆盖
> 参数:
> index:截面编号
> new_id:新截面编号,默认不修改截面编号
> name:截面名称
> sec_type:截面类型
> sec_begin:截面始端编号
> sec_end:截面末端编号
> shear_consider:考虑剪切变形
> sec_normalize:变截面线段线圈重新排序
```Python
# 示例代码
from qtmodel import *
mdb.add_tapper_section(index=1,name="变截面1",sec_type="矩形",
sec_begin={"sec_info":[1,2],"bias_type":"中心"},
sec_end={"sec_info":[2,2],"bias_type":"中心"})
```
Returns: 无
### add_tapper_section_by_id
添加变截面,需先建立单一截面
> 参数:
> index:截面编号
> name:截面名称
> begin_id:截面始端编号
> end_id:截面末端编号
> shear_consider:考虑剪切变形
> sec_normalize: 开启变截面线圈和线宽自适应排序 (避免两端截面绘制顺序导致的渲染和计算失效)
```Python
# 示例代码
from qtmodel import *
mdb.add_tapper_section_by_id(name="变截面1",begin_id=1,end_id=2)
```
Returns: 无
### remove_section
删除截面信息
> 参数:
> index: 截面编号,参数为默认时删除全部截面
```Python
# 示例代码
from qtmodel import *
mdb.remove_section()
mdb.remove_section(1)
```
Returns: 无
### add_tapper_section_group
添加变截面组
> 参数:
> ids:变截面组单元号
> name: 变截面组名
> factor_w: 宽度方向变化阶数 线性(1.0) 非线性(!=1.0)
> factor_h: 高度方向变化阶数 线性(1.0) 非线性(!=1.0)
> ref_w: 宽度方向参考点 0-i 1-j
> ref_h: 高度方向参考点 0-i 1-j
> dis_w: 宽度方向距离
> dis_h: 高度方向距离
```Python
# 示例代码
from qtmodel import *
mdb.add_tapper_section_group(ids=[1,2,3,4],name="变截面组1")
```
Returns: 无
### update_tapper_section_group
添加变截面组
> 参数:
> name:变截面组组名
> new_name: 新变截面组名
> ids:变截面组单元号
> factor_w: 宽度方向变化阶数 线性(1.0) 非线性(!=1.0)
> factor_h: 高度方向变化阶数 线性(1.0) 非线性(!=1.0)
> ref_w: 宽度方向参考点 0-i 1-j
> ref_h: 高度方向参考点 0-i 1-j
> dis_w: 宽度方向距离
> dis_h: 高度方向距离
```Python
# 示例代码
from qtmodel import *
mdb.add_tapper_section_group(ids=[1,2,3,4],name="变截面组1")
```
Returns: 无
### update_section_bias
更新截面偏心
> 参数:
> index:截面编号
> bias_type:偏心类型
> center_type:中心类型
> shear_consider:考虑剪切
> bias_point:自定义偏心点(仅自定义类型偏心需要)
> side_i: 是否为截面I,否则为截面J(仅变截面需要)
```Python
# 示例代码
from qtmodel import *
mdb.update_section_bias(index=1,bias_type="中上",center_type="几何中心")
mdb.update_section_bias(index=1,bias_type="自定义",bias_point=[0.1,0.2])
```
Returns: 无
### update_section_property
更新截面特性
> 参数:
> index:截面号
> sec_property:截面特性值参考UI共计26个数值
> side_i:是否为I端截面(仅变截面需要)
```Python
# 示例代码
from qtmodel import *
mdb.update_section_property(index=1,sec_property=[i for i in range(1,27)])
```
Returns: 无
### add_tapper_section_from_group
将变截面组转为变截面
> 参数:
> name: 变截面组名,默认则转化全部变截面组
```Python
# 示例代码
from qtmodel import *
mdb.add_tapper_section_from_group()
mdb.add_tapper_section_from_group("变截面组1")
```
Returns: 无
### update_section_id
更新截面编号
> 参数:
> index: 原编号
> new_id: 新编号
```Python
# 示例代码
from qtmodel import *
mdb.update_section_id(index=1,new_id=2)
```
Returns:无
### remove_tapper_section_group
删除变截面组,默认删除所有变截面组
> 参数:
> name:变截面组名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_tapper_section_group()
mdb.remove_tapper_section_group("变截面组1")
```
Returns:无
### add_elements_to_tapper_section_group
删除变截面组,默认删除所有变截面组
> 参数:
> name:变截面组名称
> ids:新增单元编号
```Python
# 示例代码
from qtmodel import *
mdb.add_elements_to_tapper_section_group("变截面组1",ids=[1,2,3,4,5,6])
```
Returns:无
## 边界操作
### add_boundary_group
新建边界组
> 参数:
> name:边界组名
```Python
# 示例代码
from qtmodel import *
mdb.add_boundary_group(name="边界组1")
```
Returns: 无
### update_boundary_group
更改边界组名
> 参数:
> name:边界组名
> new_name:新边界组名
```Python
# 示例代码
from qtmodel import *
mdb.update_boundary_group("旧边界组","新边界组")
```
Returns: 无
### remove_boundary_group
按照名称删除边界组
> 参数:
> name: 边界组名称,默认删除所有边界组 (非必须参数)
```Python
# 示例代码
from qtmodel import *
mdb.remove_boundary_group()
mdb.remove_boundary_group(name="边界组1")
```
Returns: 无
### remove_all_boundary
根据边界组名称、边界的类型和编号删除边界信息,默认时删除所有边界信息
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.remove_all_boundary()
```
Returns: 无
### remove_boundary
根据节点号删除一般支撑、弹性支承/根据弹性连接I或J端(需指定)节点号删除弹性连接/根据单元号删除梁端约束/根据从节点号和约束方程名删除约束方程/根据从节点号删除主从约束
> 参数:
> remove_id:节点号 or 单元号 or 从节点号
> bd_type:边界类型 ["一般支承", "弹性支承","一般弹性支承", "主从约束", "一般/受拉/受压/刚性弹性连接", "约束方程", "梁端约束"]
> group:边界所处边界组名
> extra_name:删除弹性连接或约束方程时额外标识,约束方程名或指定删除弹性连接节点类型 I/J
```Python
# 示例代码
from qtmodel import *
mdb.remove_boundary(remove_id=11, bd_type="一般弹性连接",group="边界组1", extra_name="J")
mdb.remove_boundary(remove_id=12, bd_type="约束方程",group="边界组1", extra_name="约束方程名")
```
Returns: 无
### add_general_elastic_support_property
添加一般弹性支承特性
> 参数:
> name:一般弹性支承特性名称
> data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)
```Python
# 示例代码
from qtmodel import *
mdb.add_general_elastic_support_property(name = "特性1", data_matrix=[i for i in range(1,22)])
```
Returns: 无
### update_general_elastic_support_property
添加一般弹性支承特性
> 参数:
> name:原一般弹性支承特性名称
> new_name:现一般弹性支承特性名称
> data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)
```Python
# 示例代码
from qtmodel import *
mdb.update_general_elastic_support_property(name = "特性1",new_name="特性2", data_matrix=[i for i in range(1,22)])
```
Returns: 无
### remove_general_elastic_support_property
添加一般弹性支承特性
> 参数:
> name:一般弹性支承特性名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_general_elastic_support_property(name = "特性1")
```
Returns: 无
### add_general_elastic_support
添加一般弹性支承特性
> 参数:
> node_id:节点号
> property_name:一般弹性支承特性名
> group_name:一般弹性支承边界组名
```Python
# 示例代码
from qtmodel import *
mdb.add_general_elastic_support(node_id = 1, property_name = "特性1",group_name="边界组1")
```
Returns: 无
### add_general_support
添加一般支承
> 参数:
> node_id:节点编号,支持整数或整数型列表
> boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
> group_name:边界组名,默认为默认边界组
```Python
# 示例代码
from qtmodel import *
mdb.add_general_support(node_id=1, boundary_info=[True,True,True,False,False,False])
```
Returns: 无
### add_elastic_support
添加弹性支承
> 参数:
> node_id:节点编号,支持数或列表
> support_type:支承类型 1-线性 2-受拉 3-受压
> boundary_info:边界信息 受拉和受压时列表长度为2-[direct(1-X 2-Y 3-Z),stiffness] 线性时列表长度为6-[kx,ky,kz,krx,kry,krz]
> group_name:边界组
```Python
# 示例代码
from qtmodel import *
mdb.add_elastic_support(node_id=1,support_type=1,boundary_info=[1e6,0,1e6,0,0,0])
mdb.add_elastic_support(node_id=1,support_type=2,boundary_info=[1,1e6])
mdb.add_elastic_support(node_id=1,support_type=3,boundary_info=[1,1e6])
```
Returns: 无
### add_elastic_link
添加弹性连接,建议指定index(弹性连接编号)
> 参数:
> index:弹性连接编号,默认自动识别
> link_type:节点类型 1-一般弹性连接 2-刚性连接 3-受拉弹性连接 4-受压弹性连接
> start_id:起始节点号
> end_id:终节点号
> beta_angle:贝塔角
> boundary_info:边界信息
> group_name:边界组名
> dis_ratio:距i端距离比 (仅一般弹性连接需要)
> kx:受拉或受压刚度
```Python
# 示例代码
from qtmodel import *
mdb.add_elastic_link(link_type=1,start_id=1,end_id=2,boundary_info=[1e6,1e6,1e6,0,0,0])
mdb.add_elastic_link(link_type=2,start_id=1,end_id=2)
mdb.add_elastic_link(link_type=3,start_id=1,end_id=2,kx=1e6)
```
Returns: 无
### add_master_slave_links
添加主从约束
> 参数:
> node_ids:主节点号和从节点号,主节点号位于首位
> boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
> group_name:边界组名
```Python
# 示例代码
from qtmodel import *
mdb.add_master_slave_links(node_ids=[(1,2),(1,3),(4,5),(4,6)],boundary_info=[True,True,True,False,False,False])
```
Returns: 无
### add_master_slave_link
添加主从约束
> 参数:
> master_id:主节点号
> slave_id:从节点号,支持整数或整数型列表
> boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
> group_name:边界组名
```Python
# 示例代码
from qtmodel import *
mdb.add_master_slave_link(master_id=1,slave_id=[2,3],boundary_info=[True,True,True,False,False,False])
```
Returns: 无
### add_beam_constraint
添加梁端约束
> 参数:
> beam_id:梁号
> info_i:i端约束信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
> info_j:j端约束信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
> group_name:边界组名
```Python
# 示例代码
from qtmodel import *
mdb.add_beam_constraint(beam_id=2,info_i=[True,True,True,False,False,False],info_j=[True,True,True,False,False,False])
```
Returns: 无
### add_constraint_equation
添加约束方程
> 参数:
> name:约束方程名
> sec_node:从节点号
> sec_dof: 从节点自由度 1-x 2-y 3-z 4-rx 5-ry 6-rz
> master_info:主节点约束信息列表
> group_name:边界组名
```Python
# 示例代码
from qtmodel import *
mdb.add_beam_constraint(beam_id=2,info_i=[True,True,True,False,False,False],info_j=[True,True,True,False,False,False])
```
Returns: 无
### add_node_axis
添加节点坐标
> 参数:
> node_id:节点号
> input_type:输入方式 1-角度 2-三点 3-向量
> coord_info:局部坐标信息 -List<float>(角) -List<List<float>>(三点 or 向量)
```Python
# 示例代码
from qtmodel import *
mdb.add_node_axis(input_type=1,node_id=1,coord_info=[45,45,45])
mdb.add_node_axis(input_type=2,node_id=1,coord_info=[[0,0,1],[0,1,0],[1,0,0]])
mdb.add_node_axis(input_type=3,node_id=1,coord_info=[[0,0,1],[0,1,0]])
```
Returns: 无
### update_node_axis
添加节点坐标
> 参数:
> node_id:节点号
> new_id:新节点号
> input_type:输入方式 1-角度 2-三点 3-向量
> coord_info:局部坐标信息 -List<float>(角) -List<List<float>>(三点 or 向量)
```Python
# 示例代码
from qtmodel import *
mdb.update_node_axis(node_id=1,new_id=1,input_type=1,coord_info=[45,45,45])
mdb.update_node_axis(node_id=2,new_id=2,input_type=2,coord_info=[[0,0,1],[0,1,0],[1,0,0]])
mdb.update_node_axis(node_id=3,new_id=3,input_type=3,coord_info=[[0,0,1],[0,1,0]])
```
Returns: 无
### remove_node_axis
添加节点坐标
> 参数:
> node_id:节点号
```Python
# 示例代码
from qtmodel import *
mdb.remove_node_axis(node_id=1)
```
Returns: 无
## 移动荷载操作
### add_standard_vehicle
添加标准车辆
> 参数:
> name: 车辆荷载名称
> standard_code: 荷载规范
> _1-中国铁路桥涵规范(TB10002-2017)_
> _2-城市桥梁设计规范(CJJ11-2019)_
> _3-公路工程技术标准(JTJ 001-97)_
> _4-公路桥涵设计通规(JTG D60-2004)_
> _5-公路桥涵设计通规(JTG D60-2015)_
> _6-城市轨道交通桥梁设计规范(GB/T51234-2017)_
> _7-市域铁路设计规范2017(T/CRS C0101-2017)
> load_type: 荷载类型,支持类型参考软件内界面
> load_length: 默认为0即不限制荷载长度 (铁路桥涵规范2017 所需参数)
> factor: 默认为1.0(铁路桥涵规范2017 ZH荷载所需参数)
> n:车厢数: 默认6节车厢 (城市轨道交通桥梁规范2017 所需参数)
> calc_fatigue:计算公路疲劳 (公路桥涵设计通规2015 所需参数)
```Python
# 示例代码
from qtmodel import *
mdb.add_standard_vehicle("高速铁路",standard_code=1,load_type="高速铁路")
```
Returns: 无
### add_user_vehicle
添加标准车辆
> 参数:
> name: 车辆荷载名称
> load_type: 荷载类型,支持类型 -车辆/车道荷载 列车普通活载 城市轻轨活载 旧公路人群荷载 轮重集合
> p: 荷载Pk或Pi列表
> q: 均布荷载Qk或荷载集度dW
> dis:荷载距离Li列表
> load_length: 荷载长度 (列车普通活载 所需参数)
> n:车厢数: 默认6节车厢 (列车普通活载 所需参数)
> empty_load:空载 (列车普通活载、城市轻轨活载 所需参数)
> width:宽度 (旧公路人群荷载 所需参数)
> wheelbase:轮间距 (轮重集合 所需参数)
> min_dis:车轮距影响面最小距离 (轮重集合 所需参数))
> unit_force:荷载单位 默认为"N"
> unit_length:长度单位 默认为"M"
```Python
# 示例代码
from qtmodel import *
mdb.add_user_vehicle(name="车道荷载",load_type="车道荷载",p=270000,q=10500)
```
Returns: 无
### add_node_tandem
添加节点纵列,默认以最小X对应节点作为纵列起点
> 参数:
> name:节点纵列名
> node_ids:节点列表
```Python
# 示例代码
from qtmodel import *
mdb.add_node_tandem(name="节点纵列1",node_ids=[i+1 for i in range(12)])
```
Returns: 无
### add_influence_plane
添加影响面
> 参数:
> name:影响面名称
> tandem_names:节点纵列名称组
```Python
# 示例代码
from qtmodel import *
mdb.add_influence_plane(name="影响面1",tandem_names=["节点纵列1","节点纵列2"])
```
Returns: 无
### add_lane_line
添加车道线
> 参数:
> name:车道线名称
> influence_name:影响面名称
> tandem_name:节点纵列名
> offset:偏移
> lane_width:车道宽度
> optimize:是否允许车辆摆动
> direction:0-向前 1-向后
```Python
# 示例代码
from qtmodel import *
mdb.add_lane_line(name="车道1",influence_name="影响面1",tandem_name="节点纵列1",offset=0,lane_width=3.1)
```
Returns: 无
### add_live_load_case
添加移动荷载工况
> 参数:
> name:活载工况名
> influence_plane:影响线名
> span:跨度
> sub_case:子工况信息 [(车辆名称,系数,["车道1","车道2"])...]
> trailer_code:考虑挂车时挂车车辆名
> special_code:考虑特载时特载车辆名
```Python
# 示例代码
from qtmodel import *
mdb.add_live_load_case(name="活载工况1",influence_plane="影响面1",span=100,sub_case=[("车辆名称",1.0,["车道1","车道2"]),])
```
Returns: 无
### add_car_relative_factor
添加移动荷载工况汽车折减
> 参数:
> name:活载工况名
> code_index: 汽车折减规范编号 1-公规2015 2-公规2004 3-无
> cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
> longitude_factor:纵向折减系数,大于0时为自定义,否则为规范自动选取
> impact_factor:冲击系数大于1时为自定义,否则按照规范自动选取
> frequency:桥梁基频
```Python
# 示例代码
from qtmodel import *
mdb.add_car_relative_factor(name="活载工况1",code_index=1,cross_factors=[1.2,1,0.78,0.67,0.6,0.55,0.52,0.5])
```
Returns: 无
### add_train_relative_factor
添加移动荷载工况汽车折减
> 参数:
> name:活载工况名
> code_index: 火车折减规范编号 1-铁规2017_ZK_ZC 2-铁规2017_ZKH_ZH 3-无
> cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
> calc_fatigue:是否计算疲劳
> line_count: 疲劳加载线路数
> longitude_factor:纵向折减系数,大于0时为自定义,否则为规范自动选取
> impact_factor:强度冲击系数大于1时为自定义,否则按照规范自动选取
> fatigue_factor:疲劳系数
> bridge_kind:桥梁类型 0-无 1-简支 2-结合 3-涵洞 4-空腹式
> fill_thick:填土厚度 (规ZKH ZH钢筋/素混凝土、石砌桥跨结构以及涵洞所需参数)
> rise:拱高 (规ZKH ZH活载-空腹式拱桥所需参数)
> calc_length:计算跨度(铁规ZKH ZH活载-空腹式拱桥所需参数)或计算长度(铁规ZK ZC活载所需参数)
```Python
# 示例代码
from qtmodel import *
mdb.add_train_relative_factor(name="活载工况1",code_index=1,cross_factors=[1.2,1,0.78,0.67,0.6,0.55,0.52,0.5],calc_length=50)
```
Returns: 无
### add_metro_relative_factor
添加移动荷载工况汽车折减
> 参数:
> name:活载工况名
> cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
> longitude_factor:纵向折减系数,大于0时为自定义,否则为规范自动选取
> impact_factor:强度冲击系数大于1时为自定义,否则按照规范自动选取
```Python
# 示例代码
from qtmodel import *
mdb.add_metro_relative_factor(name="活载工况1",cross_factors=[1.2,1,0.78,0.67,0.6,0.55,0.52,0.5],
longitude_factor=1,impact_factor=1)
```
Returns: 无
### remove_vehicle
删除车辆信息
> 参数:
> name:车辆名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_vehicle(name="车辆名称")
```
Returns: 无
### remove_node_tandem
按照 节点纵列编号/节点纵列名 删除节点纵列
> 参数:
> index:节点纵列编号
> name:节点纵列名
```Python
# 示例代码
from qtmodel import *
mdb.remove_node_tandem(index=1)
mdb.remove_node_tandem(name="节点纵列1")
```
Returns: 无
### remove_influence_plane
按照 影响面编号/影响面名称 删除影响面
> 参数:
> index:影响面编号
> name:影响面名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_influence_plane(index=1)
mdb.remove_influence_plane(name="影响面1")
```
Returns: 无
### remove_lane_line
按照 车道线编号/车道线名称 删除车道线
> 参数:
> name:车道线名称
> index:车道线编号
```Python
# 示例代码
from qtmodel import *
mdb.remove_lane_line(index=1)
mdb.remove_lane_line(name="车道线1")
```
Returns: 无
### remove_live_load_case
删除移动荷载工况
> 参数:
> name:移动荷载工况名
```Python
# 示例代码
from qtmodel import *
mdb.remove_live_load_case(name="活载工况1")
```
Returns: 无
### update_standard_vehicle
添加标准车辆
> 参数:
> name: 车辆荷载名称
> new_name: 新车辆荷载名称,默认不修改
> standard_code: 荷载规范
> _1-中国铁路桥涵规范(TB10002-2017)_
> _2-城市桥梁设计规范(CJJ11-2019)_
> _3-公路工程技术标准(JTJ 001-97)_
> _4-公路桥涵设计通规(JTG D60-2004)_
> _5-公路桥涵设计通规(JTG D60-2015)_
> _6-城市轨道交通桥梁设计规范(GB/T51234-2017)_
> _7-市域铁路设计规范2017(T/CRS C0101-2017)
> load_type: 荷载类型,支持类型参考软件内界面
> load_length: 默认为0即不限制荷载长度 (铁路桥涵规范2017 所需参数)
> factor: 默认为1.0(铁路桥涵规范2017 ZH荷载所需参数)
> n:车厢数: 默认6节车厢 (城市轨道交通桥梁规范2017 所需参数)
> calc_fatigue:计算公路疲劳 (公路桥涵设计通规2015 所需参数)
```Python
# 示例代码
from qtmodel import *
mdb.update_standard_vehicle("高速铁路",standard_code=1,load_type="高速铁路")
```
Returns: 无
### update_user_vehicle
修改自定义标准车辆
> 参数:
> name: 车辆荷载名称
> new_name: 新车辆荷载名称,默认不修改
> load_type: 荷载类型,支持类型 -车辆/车道荷载 列车普通活载 城市轻轨活载 旧公路人群荷载 轮重集合
> p: 荷载Pk或Pi列表
> q: 均布荷载Qk或荷载集度dW
> dis:荷载距离Li列表
> load_length: 荷载长度 (列车普通活载 所需参数)
> n:车厢数: 默认6节车厢 (列车普通活载 所需参数)
> empty_load:空载 (列车普通活载、城市轻轨活载 所需参数)
> width:宽度 (旧公路人群荷载 所需参数)
> wheelbase:轮间距 (轮重集合 所需参数)
> min_dis:车轮距影响面最小距离 (轮重集合 所需参数))
> unit_force:荷载单位 默认为"N"
> unit_length:长度单位 默认为"M"
```Python
# 示例代码
from qtmodel import *
mdb.update_user_vehicle(name="车道荷载",load_type="车道荷载",p=270000,q=10500)
```
Returns: 无
### update_node_tandem
添加节点纵列,默认以最小X对应节点作为纵列起点
> 参数:
> name:节点纵列名
> new_name: 新节点纵列名,默认不修改
> node_ids:节点列表
```Python
# 示例代码
from qtmodel import *
mdb.update_node_tandem(name="节点纵列1",node_ids=[i+1 for i in range(12)])
```
Returns: 无
### update_live_load_case
添加移动荷载工况
> 参数:
> name:活载工况名
> new_name:新移动荷载名,默认不修改
> influence_plane:影响线名
> span:跨度
> sub_case:子工况信息 [(车辆名称,系数,["车道1","车道2"])...]
> trailer_code:考虑挂车时挂车车辆名
> special_code:考虑特载时特载车辆名
```Python
# 示例代码
from qtmodel import *
mdb.update_live_load_case(name="活载工况1",influence_plane="影响面1",span=100,sub_case=[("车辆名称",1.0,["车道1","车道2"]),])
```
Returns: 无
## 动力荷载操作
### add_load_to_mass
添加荷载转为质量
> 参数:
> name: 荷载工况名称
> factor: 系数
```Python
# 示例代码
from qtmodel import *
mdb.add_load_to_mass(name="荷载工况",factor=1)
```
Returns: 无
### add_nodal_mass
添加节点质量
> 参数:
> node_id:节点编号,支持单个编号和编号列表
> mass_info:[m,rmX,rmY,rmZ]
```Python
# 示例代码
from qtmodel import *
mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
```
Returns: 无
### remove_nodal_mass
删除节点质量
> 参数:
> node_id:节点号,默认删除所有节点质量
```Python
# 示例代码
from qtmodel import *
mdb.remove_nodal_mass(node_id=1)
```
Returns: 无
### remove_load_to_mass
删除荷载转为质量,默认删除所有荷载转质量
> 参数:
> name:荷载工况名
```Python
# 示例代码
from qtmodel import *
mdb.remove_load_to_mass(name="荷载工况")
```
Returns: 无
### add_spectrum_function
添加反应谱函数
> 参数:
> name:反应谱函数名
> factor:反应谱调整系数
> kind:反应谱类型 0-无量纲 1-加速度 2-位移
> function_info:反应谱函数信息
```Python
# 示例代码
from qtmodel import *
mdb.add_spectrum_function(name="反应谱函数1",factor=1.0,function_info=[(0,0.02),(1,0.03)])
```
Returns: 无
### add_spectrum_case
添加反应谱工况
> 参数:
> name:荷载工况名
> description:说明
> kind:组合方式 1-求模 2-求和
> info_x: 反应谱X向信息 (X方向函数名,系数)
> info_y: 反应谱Y向信息 (Y方向函数名,系数)
> info_z: 反应谱Z向信息 (Z方向函数名,系数)
```Python
# 示例代码
from qtmodel import *
mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
```
Returns: 无
### update_load_to_mass
更新荷载转为质量
> 参数:
> data_list:荷载工况和系数列表[("工况1",1.2),("工况2",1.3)...]
```Python
# 示例代码
from qtmodel import *
mdb.update_load_to_mass(data_list=[("工况1",1.2),("工况2",1.3)])
```
Returns: 无
### update_nodal_mass
更新节点质量
> 参数:
> node_id:节点编号
> new_node_id:新节点编号,默认不改变节点
> mass_info:[m,rmX,rmY,rmZ]
```Python
# 示例代码
from qtmodel import *
mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
```
Returns: 无
## 钢束操作
### add_tendon_group
按照名称添加钢束组,添加时可指定钢束组id
> 参数:
> name: 钢束组名称
> index: 钢束组编号(非必须参数),默认自动识别
```Python
# 示例代码
from qtmodel import *
mdb.add_tendon_group(name="钢束组1")
```
Returns: 无
### remove_tendon_group
按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组
> 参数:
> name:钢束组名称,默认自动识别 (可选参数)
```Python
# 示例代码
from qtmodel import *
mdb.remove_tendon_group(name="钢束组1")
```
Returns: 无
### add_tendon_property
添加钢束特性
> 参数:
> name:钢束特性名
> tendon_type: 0-PRE 1-POST
> material_name: 钢材材料名
> duct_type: 1-金属波纹管 2-塑料波纹管 3-铁皮管 4-钢管 5-抽芯成型
> steel_type: 1-钢绞线 2-螺纹钢筋
> steel_detail: 钢束详细信息
> _钢绞线[钢束面积,孔道直径,摩阻系数,偏差系数]_
> _螺纹钢筋[钢筋直径,钢束面积,孔道直径,摩阻系数,偏差系数,张拉方式(1-一次张拉 2-超张拉)]_
> loos_detail: 松弛信息[规范,张拉,松弛] (仅钢绞线需要,默认为[1,1,1])
> _规范:1-公规 2-铁规_
> _张拉方式:1-一次张拉 2-超张拉_
> _松弛类型:1-一般松弛 2-低松弛_
> slip_info: 滑移信息[始端距离,末端距离] 默认为[0.006, 0.006]
```Python
# 示例代码
from qtmodel import *
mdb.add_tendon_property(name="钢束1",tendon_type=0,material_name="预应力材料",duct_type=1,steel_type=1,
steel_detail=[0.00014,0.10,0.25,0.0015],loos_detail=(1,1,1))
```
Returns: 无
### update_tendon_property_material
更新钢束特性材料
> 参数:
> name:钢束特性名
> material_name:材料名
```Python
# 示例代码
from qtmodel import *
mdb.update_tendon_property_material("特性1",material_name="材料1")
```
Returns:无
### update_tendon_property
更新钢束特性
> 参数:
> name:钢束特性名
> new_name:新钢束特性名,默认不修改
> tendon_type: 0-PRE 1-POST
> material_name: 钢材材料名
> duct_type: 1-金属波纹管 2-塑料波纹管 3-铁皮管 4-钢管 5-抽芯成型
> steel_type: 1-钢绞线 2-螺纹钢筋
> steel_detail: 钢束详细信息
> _钢绞线[钢束面积,孔道直径,摩阻系数,偏差系数]_
> _螺纹钢筋[钢筋直径,钢束面积,孔道直径,摩阻系数,偏差系数,张拉方式(1-一次张拉 2-超张拉)]_
> loos_detail: 松弛信息[规范,张拉,松弛] (仅钢绞线需要,默认为[1,1,1])
> _规范:1-公规 2-铁规_
> _张拉方式:1-一次张拉 2-超张拉_
> _松弛类型:1-一般松弛 2-低松弛_
> slip_info: 滑移信息[始端距离,末端距离] 默认为[0.006, 0.006]
```Python
# 示例代码
from qtmodel import *
mdb.update_tendon_property(name="钢束1",tendon_type=0,material_name="材料1",duct_type=1,steel_type=1,
steel_detail=[0.00014,0.10,0.25,0.0015],loos_detail=(1,1,1))
```
Returns:无
### add_tendon_3d
添加三维钢束
> 参数:
> name:钢束名称
> property_name:钢束特性名称
> group_name:默认钢束组
> num:根数
> line_type:1-导线点 2-折线点
> position_type: 定位方式 1-直线 2-轨迹线
> control_points: 控制点信息[(x1,y1,z1,r1),(x2,y2,z2,r2)....]
> point_insert: 定位方式
> _直线: 插入点坐标[x,y,z]_
> _轨迹线: [插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id]_
> tendon_direction:直线钢束X方向向量 默认为[1,0,0] (轨迹线不用赋值)
> _x轴-[1,0,0] y轴-[0,1,0] z轴-[0,0,1]_
> rotation_angle:绕钢束旋转角度
> track_group:轨迹线结构组名 (直线时不用赋值)
> projection:直线钢束投影 (默认为true)
```Python
# 示例代码
from qtmodel import *
mdb.add_tendon_3d("BB1",property_name="22-15",num=2,position_type=1,
control_points=[(0,0,-1,0),(10,0,-1,0)],point_insert=(0,0,0))
mdb.add_tendon_3d("BB1",property_name="22-15",num=2,position_type=2,
control_points=[(0,0,-1,0),(10,0,-1,0)],point_insert=(1,1,1),track_group="轨迹线结构组1")
```
Returns: 无
### add_tendon_2d
添加三维钢束
> 参数:
> name:钢束名称
> property_name:钢束特性名称
> group_name:默认钢束组
> num:根数
> line_type:1-导线点 2-折线点
> position_type: 定位方式 1-直线 2-轨迹线
> symmetry: 对称点 0-左端点 1-右端点 2-不对称
> control_points: 控制点信息[(x1,z1,r1),(x2,z2,r2)....] 三维[(x1,y1,z1,r1),(x2,y2,z2,r2)....]
> control_points_lateral: 控制点横弯信息[(x1,y1,r1),(x2,y2,r2)....],无横弯时不必输入
> point_insert: 定位方式
> _直线: 插入点坐标[x,y,z]_
> _轨迹线: [插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id]_
> tendon_direction:直线钢束X方向向量 默认为[1,0,0] (轨迹线不用赋值)
> _x轴-[1,0,0] y轴-[0,1,0] z轴-[0,0,1]_
> rotation_angle:绕钢束旋转角度
> track_group:轨迹线结构组名 (直线时不用赋值)
> projection:直线钢束投影 (默认为true)
```Python
# 示例代码
from qtmodel import *
mdb.add_tendon_2d(name="BB1",property_name="22-15",num=2,position_type=1,
control_points=[(0,-1,0),(10,-1,0)],point_insert=(0,0,0))
mdb.add_tendon_2d(name="BB1",property_name="22-15",num=2,position_type=2,
control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线结构组1")
```
Returns: 无
### update_tendon
添加三维钢束
> 参数:
> name:钢束名称
> new_name:新钢束名称
> tendon_2d:是否为2维钢束
> property_name:钢束特性名称
> group_name:默认钢束组
> num:根数
> line_type:1-导线点 2-折线点
> position_type: 定位方式 1-直线 2-轨迹线
> symmetry: 对称点 0-左端点 1-右端点 2-不对称
> control_points: 控制点信息二维[(x1,z1,r1),(x2,z2,r2)....]
> control_points_lateral: 控制点横弯信息[(x1,y1,r1),(x2,y2,r2)....],无横弯时不必输入
> point_insert: 定位方式
> _直线: 插入点坐标[x,y,z]_
> _轨迹线: [插入端(1-I 2-J),插入方向(1-ij 2-ji),插入单元id]_
> tendon_direction:直线钢束X方向向量 默认为[1,0,0] (轨迹线不用赋值)
> _x轴-[1,0,0] y轴-[0,1,0] z轴-[0,0,1]_
> rotation_angle:绕钢束旋转角度
> track_group:轨迹线结构组名 (直线时不用赋值)
> projection:直线钢束投影 (默认为true)
```Python
# 示例代码
from qtmodel import *
mdb.update_tendon(name="BB1",property_name="22-15",num=2,position_type=1,
control_points=[(0,-1,0),(10,-1,0)],point_insert=(0,0,0))
mdb.update_tendon(name="BB1",property_name="22-15",num=2,position_type=2,
control_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group="轨迹线结构组1")
```
Returns: 无
### update_element_component_type
赋予单元构件类型
> 参数:
> ids: 钢束构件所在单元编号集合
> component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件
```Python
# 示例代码
from qtmodel import *
mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
```
Returns: 无
### remove_tendon
按照名称或编号删除钢束,默认时删除所有钢束
> 参数:
> name:钢束名称
> index:钢束编号
```Python
# 示例代码
from qtmodel import *
mdb.remove_tendon(name="钢束1")
mdb.remove_tendon(index=1)
mdb.remove_tendon()
```
Returns: 无
### remove_tendon_property
按照名称或编号删除钢束组,默认时删除所有钢束组
> 参数:
> name:钢束组名称
> index:钢束组编号
```Python
# 示例代码
from qtmodel import *
mdb.remove_tendon_property(name="钢束特性1")
mdb.remove_tendon_property(index=1)
mdb.remove_tendon_property()
```
Returns: 无
### update_tendon_group
更新钢束组名
> 参数:
> name:原钢束组名
> new_name:新钢束组名
```Python
# 示例代码
from qtmodel import *
mdb.update_tendon_group("钢束组1","钢束组2")
```
Returns: 无
### add_pre_stress
添加预应力
> 参数:
> case_name:荷载工况名
> tendon_name:钢束名,支持钢束名或钢束名列表
> tension_type:预应力类型
> _0-始端 1-末端 2-两端_
> force:预应力
> group_name:边界组
```Python
# 示例代码
from qtmodel import *
mdb.add_pre_stress(case_name="荷载工况名",tendon_name="钢束1",force=1390000)
```
Returns: 无
### remove_pre_stress
删除预应力
> 参数:
> tendon_name:钢束组,默认则删除所有预应力荷载
```Python
# 示例代码
from qtmodel import *
mdb.remove_pre_stress(tendon_name="钢束1")
mdb.remove_pre_stress()
```
Returns: 无
## 温度与制造偏差荷载
### add_deviation_parameter
添加制造误差
> 参数:
> name:名称
> element_type:单元类型 1-梁单元 2-板单元
> parameters:参数列表
> _梁杆单元:[轴向,I端X向转角,I端Y向转角,I端Z向转角,J端X向转角,J端Y向转角,J端Z向转角]_
> _板单元:[X向位移,Y向位移,Z向位移,X向转角,Y向转角]_
```Python
# 示例代码
from qtmodel import *
mdb.add_deviation_parameter(name="梁端制造误差",element_type=1,parameters=[1,0,0,0,0,0,0])
mdb.add_deviation_parameter(name="板端制造误差",element_type=1,parameters=[1,0,0,0,0])
```
Returns: 无
### update_deviation_parameter
添加制造误差
> 参数:
> name:名称
> new_name:新名称,默认不修改名称
> element_type:单元类型 1-梁单元 2-板单元
> parameters:参数列表
> _梁杆单元:[轴向,I端X向转角,I端Y向转角,I端Z向转角,J端X向转角,J端Y向转角,J端Z向转角]_
> _板单元:[X向位移,Y向位移,Z向位移,X向转角,Y向转角]_
```Python
# 示例代码
from qtmodel import *
mdb.update_deviation_parameter(name="梁端制造误差",element_type=1,parameters=[1,0,0,0,0,0,0])
mdb.update_deviation_parameter(name="板端制造误差",element_type=1,parameters=[1,0,0,0,0])
```
Returns: 无
### remove_deviation_parameter
删除指定制造偏差参数
> 参数:
> name:制造偏差参数名
> para_type:制造偏差类型 1-梁单元 2-板单元
```Python
# 示例代码
from qtmodel import *
mdb.remove_deviation_parameter(name="参数1",para_type=1)
```
Returns: 无
### add_deviation_load
添加制造误差荷载
> 参数:
> element_id:单元编号,支持数或列表
> case_name:荷载工况名
> parameters:参数名列表
> _梁杆单元时:制造误差参数名称_
> _板单元时: [I端误差名,J端误差名,K端误差名,L端误差名]_
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_deviation_load(element_id=1,case_name="工况1",parameters="梁端误差")
mdb.add_deviation_load(element_id=2,case_name="工况1",parameters=["板端误差1","板端误差2","板端误差3","板端误差4"])
```
Returns: 无
### remove_deviation_load
删除指定制造偏差荷载
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
> group_name: 荷载组
```Python
# 示例代码
from qtmodel import *
mdb.remove_deviation_load(case_name="工况1",element_id=1,group_name="荷载组1")
```
Returns: 无
### add_element_temperature
添加单元温度
> 参数:
> element_id:单元编号,支持数或列表
> case_name:荷载工况名
> temperature:最终温度
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_element_temperature(element_id=1,case_name="自重",temperature=1,group_name="默认荷载组")
```
Returns: 无
### remove_element_temperature
删除指定单元温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.remove_element_temperature(case_name="荷载工况1",element_id=1)
```
Returns: 无
### add_gradient_temperature
添加梯度温度
```Python
# 示例代码
from qtmodel import *
mdb.add_gradient_temperature(element_id=1,case_name="荷载工况1",group_name="荷载组名1",temperature=10)
mdb.add_gradient_temperature(element_id=2,case_name="荷载工况2",group_name="荷载组名2",temperature=10,element_type=2)
```
Returns: 无
### remove_gradient_temperature
删除梁或板单元梯度温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.remove_gradient_temperature(case_name="工况1",element_id=1)
```
Returns: 无
### add_beam_section_temperature
添加梁截面温度
> 参数:
> element_id:单元编号,支持整数或整数型列表
> case_name:荷载工况名
> code_index:规范编号 (1-公路规范2015 2-美规2017)
> sec_type:截面类型(1-混凝土 2-组合梁)
> t1:温度1
> t2:温度2
> t3:温度3
> thick:厚度
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_beam_section_temperature(element_id=1,case_name="工况1",code_index=1,sec_type=1,t1=-4.2,t2=-1)
```
Returns: 无
### remove_beam_section_temperature
删除指定梁或板单元梁截面温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.remove_beam_section_temperature(case_name="工况1",element_id=1)
```
Returns: 无
### add_index_temperature
添加指数温度
> 参数:
> element_id:单元编号,支持数或列表
> case_name:荷载工况名
> temperature:温差
> index:指数
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_index_temperature(element_id=1,case_name="工况1",temperature=20,index=2)
```
Returns: 无
### remove_index_temperature
删除梁单元指数温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.remove_index_temperature(case_name="工况1",element_id=1)
```
Returns: 无
### add_top_plate_temperature
添加顶板温度
> 参数:
> element_id:单元编号
> case_name:荷载
> temperature:温差,最终温度于初始温度之差
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_top_plate_temperature(element_id=1,case_name="工况1",temperature=40,group_name="默认荷载组")
```
Returns: 无
### remove_top_plate_temperature
删除梁单元顶板温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.remove_top_plate_temperature(case_name="荷载工况1",element_id=1)
```
Returns: 无
### add_custom_temperature
添加梁自定义温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
> group_name:指定荷载组,后续升级开放指定荷载组删除功能
> orientation: 1-局部坐标z 2-局部坐标y
> temperature_data:自定义数据[(参考位置1-顶 2-底,高度,温度)...]
```Python
# 示例代码
from qtmodel import *
mdb.add_custom_temperature(case_name="荷载工况1",element_id=1,orientation=1,temperature_data=[(1,1,20),(1,2,10)])
```
Returns: 无
## 静力荷载操作
### remove_custom_temperature
删除梁单元自定义温度
> 参数:
> case_name:荷载工况名
> element_id:单元编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.remove_custom_temperature(case_name="工况1",element_id=1)
```
Returns: 无
## 静力荷载操作
### add_nodal_force
添加节点荷载
> 参数:
> node_id:节点编号
> case_name:荷载工况名
> load_info:荷载信息列表 [Fx,Fy,Fz,Mx,My,Mz]
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_nodal_force(case_name="荷载工况1",node_id=1,load_info=[1,1,1,1,1,1],group_name="默认结构组")
```
Returns: 无
### remove_nodal_force
删除节点荷载
> 参数:
> case_name:荷载工况名
> node_id:节点编号
> group_name:指定荷载组
```Python
# 示例代码
from qtmodel import *
mdb.remove_nodal_force(case_name="荷载工况1",node_id=1,group_name="默认荷载组")
```
Returns: 无
### add_node_displacement
添加节点位移
> 参数:
> node_id:节点编号,支持整型或整数型列表
> case_name:荷载工况名
> load_info:节点位移列表 [Dx,Dy,Dz,Rx,Ry,Rz]
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_node_displacement(case_name="荷载工况1",node_id=1,load_info=(1,0,0,0,0,0),group_name="默认荷载组")
mdb.add_node_displacement(case_name="荷载工况1",node_id=[1,2,3],load_info=(1,0,0,0,0,0),group_name="默认荷载组")
```
Returns: 无
### remove_nodal_displacement
删除节点位移荷载
> 参数:
> node_id:节点编号,支持数或列表
> case_name:荷载工况名
> group_name:指定荷载组
```Python
# 示例代码
from qtmodel import *
mdb.remove_nodal_displacement(case_name="荷载工况1",node_id=1,group_name="默认荷载组")
```
Returns: 无
### add_beam_element_load
添加梁单元荷载
> 参数:
> element_id:单元编号,支持数或列表
> case_name:荷载工况名
> load_type:荷载类型
> _ 1-集中力 2-集中弯矩 3-分布力 4-分布弯矩
> coord_system:坐标系
> _1-整体坐标X 2-整体坐标Y 3-整体坐标Z 4-局部坐标X 5-局部坐标Y 6-局部坐标Z_
> is_abs: 荷载位置输入方式,True-绝对值 False-相对值
> list_x:荷载位置信息 ,荷载距离单元I端的距离,可输入绝对距离或相对距离
> list_load:荷载数值信息
> group_name:荷载组名
> load_bias:偏心荷载 (是否偏心,0-中心 1-偏心,偏心坐标系-int,偏心距离)
> projected:荷载是否投影
```Python
# 示例代码
from qtmodel import *
mdb.add_beam_element_load(case_name="荷载工况1",element_id=1,load_type=1,list_x=[0.1,0.5,0.8],list_load=[100,100,100])
mdb.add_beam_element_load(case_name="荷载工况1",element_id=1,load_type=3,list_x=[0.4,0.8],list_load=[100,200])
```
Returns: 无
### remove_beam_element_load
删除梁单元荷载
> 参数:
> element_id:单元号支持数或列表
> case_name:荷载工况名
> load_type:荷载类型
> _1-集中力 2-集中弯矩 3-分布力 4-分布弯矩_
> group_name:荷载组名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_beam_element_load(case_name="工况1",element_id=1,load_type=1,group_name="默认荷载组")
```
Returns: 无
### add_initial_tension_load
添加初始拉力
> 参数:
> element_id:单元编号支持数或列表
> case_name:荷载工况名
> tension:初始拉力
> tension_type:张拉类型 0-增量 1-全量
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_initial_tension_load(element_id=1,case_name="工况1",tension=100,tension_type=1)
```
Returns: 无
### remove_initial_tension_load
删除初始拉力
> 参数:
> element_id:单元编号支持数或列表
> case_name:荷载工况名
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.remove_initial_tension_load(case_name="工况1",element_id=1, group_name="默认荷载组")
```
Returns: 无
### add_cable_length_load
添加索长张拉
> 参数:
> element_id:单元编号支持数或列表
> case_name:荷载工况名
> length:长度
> tension_type:张拉类型 0-增量 1-全量
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.add_cable_length_load(element_id=1,case_name="工况1",length=1,tension_type=1)
```
Returns: 无
### remove_cable_length_load
删除索长张拉
> 参数:
> element_id:单元号支持数或列表
> case_name:荷载工况名
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.remove_cable_length_load(case_name="工况1",element_id=1, group_name= "默认荷载组")
```
Returns: 无
### add_plate_element_load
添加版单元荷载
> 参数:
> element_id:单元编号支持数或列表
> case_name:荷载工况名
> load_type:荷载类型
> _1-集中力 2-集中弯矩 3-分布力 4-分布弯矩_
> load_place:荷载位置
> _0-面IJKL 1-边IJ 2-边JK 3-边KL 4-边LI (仅分布荷载需要)_
> coord_system:坐标系 (默认3)
> _1-整体坐标X 2-整体坐标Y 3-整体坐标Z 4-局部坐标X 5-局部坐标Y 6-局部坐标Z_
> group_name:荷载组名
> list_load:荷载列表
> list_xy:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)
```Python
# 示例代码
from qtmodel import *
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))
```
Returns: 无
### remove_plate_element_load
删除指定荷载工况下指定单元的板单元荷载
> 参数:
> element_id:单元编号,支持数或列表
> case_name:荷载工况名
> load_type: 板单元类型 1集中力 2-集中弯矩 3-分布线力 4-分布线弯矩 5-分布面力 6-分布面弯矩
> group_name:荷载组名
```Python
# 示例代码
from qtmodel import *
mdb.remove_plate_element_load(case_name="工况1",element_id=1,load_type=1,group_name="默认荷载组")
```
Returns: 无
### add_plane_load_type
添加分配面荷载类型
> 参数:
> name:荷载类型名称
> load_type:荷载类型 1-集中荷载 2-线荷载 3-面荷载
> point_list:点列表,集中力时为列表内元素为 [x,y,force] 线荷载与面荷载时为 [x,y]
> load:荷载值,仅线荷载与面荷载需要
> copy_x:复制到x轴距离,与UI一致,支持3@2形式字符串,逗号分隔
> copy_y:复制到y轴距离,与UI一致,支持3@2形式字符串,逗号分隔
> describe:描述
```Python
# 示例代码
from qtmodel import *
mdb.add_plane_load_type(name="荷载类型1",load_type=1,point_list=[[1,0,10],[1,1,10],[1,2,10]])
mdb.add_plane_load_type(name="荷载类型2",load_type=2,point_list=[[1,0],[1,1]],load=10)
```
Returns: 无
### add_plane_load
添加分配面荷载类型
> 参数:
> index:荷载编号,默认自动识别
> case_name:工况名
> type_name:荷载类型名称
> point1:第一点(原点)
> point2:第一点(在x轴上)
> point3:第一点(在y轴上)
> plate_ids:指定板单元。默认时为全部板单元
> coord_system:描述
> group_name:描述
```Python
# 示例代码
from qtmodel import *
mdb.add_plane_load(index=1,case_name="工况1",type_name="荷载类型1",point1=(0,0,0),
point2=(1,0,0),point3=(0,1,0),group_name="默认荷载组")
```
Returns: 无
### update_plane_load_type
更新板单元类型
> 参数:
> name:荷载类型名称
> new_name:新名称,默认不修改名称
> load_type:荷载类型 1-集中荷载 2-线荷载 3-面荷载
> point_list:点列表,集中力时为列表内元素为 [x,y,force] 线荷载与面荷载时为 [x,y]
> load:荷载值,仅线荷载与面荷载需要
> copy_x:复制到x轴距离,与UI一致,支持3@2形式字符串,逗号分隔
> copy_y:复制到y轴距离,与UI一致,支持3@2形式字符串,逗号分隔
> describe:描述
```Python
# 示例代码
from qtmodel import *
mdb.update_plane_load_type(name="荷载类型1",load_type=1,point_list=[[1,0,10],[1,1,10],[1,2,10]])
mdb.update_plane_load_type(name="荷载类型2",load_type=2,point_list=[[1,0],[1,1]],load=10)
```
Returns: 无
### remove_plane_load
根据荷载编号删除分配面荷载
> 参数:
> index: 指定荷载编号,默认则删除所有分配面荷载
```Python
# 示例代码
from qtmodel import *
mdb.remove_plane_load()
mdb.remove_plane_load(index=1)
```
Returns: 无
### remove_plane_load_type
删除分配面荷载类型
> 参数:
> name: 指定荷载类型,默认则删除所有分配面荷载
```Python
# 示例代码
from qtmodel import *
mdb.remove_plane_load_type("类型1")
```
Returns: 无
## 荷载工况操作
### add_sink_group
添加沉降组
> 参数:
> name: 沉降组名
> sink: 沉降值
> node_ids: 节点编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.add_sink_group(name="沉降1",sink=0.1,node_ids=[1,2,3])
```
Returns: 无
### update_sink_group
添加沉降组
> 参数:
> name: 沉降组名
> new_name: 新沉降组名,默认不修改
> sink: 沉降值
> node_ids: 节点编号,支持数或列表
```Python
# 示例代码
from qtmodel import *
mdb.update_sink_group(name="沉降1",sink=0.1,node_ids=[1,2,3])
```
Returns: 无
### remove_sink_group
按照名称删除沉降组
> 参数:
> name:沉降组名,默认删除所有沉降组
```Python
# 示例代码
from qtmodel import *
mdb.remove_sink_group()
mdb.remove_sink_group(name="沉降1")
```
Returns: 无
### add_sink_case
添加沉降工况
> 参数:
> name:荷载工况名
> sink_groups:沉降组名,支持字符串或列表
```Python
# 示例代码
from qtmodel import *
mdb.add_sink_case(name="沉降工况1",sink_groups=["沉降1","沉降2"])
```
Returns: 无
### update_sink_case
添加沉降工况
> 参数:
> name:荷载工况名
> new_name: 新沉降组名,默认不修改
> sink_groups:沉降组名,支持字符串或列表
```Python
# 示例代码
from qtmodel import *
mdb.update_sink_case(name="沉降工况1",sink_groups=["沉降1","沉降2"])
```
Returns: 无
### remove_sink_case
按照名称删除沉降工况,不输入名称时默认删除所有沉降工况
> 参数:
> name:沉降工况名
```Python
# 示例代码
from qtmodel import *
mdb.remove_sink_case()
mdb.remove_sink_case(name="沉降1")
```
Returns: 无
### add_concurrent_reaction
添加并发反力组
> 参数:
> names: 结构组名称集合
```Python
# 示例代码
from qtmodel import *
mdb.add_concurrent_reaction(names=["默认结构组"])
```
Returns: 无
### remove_concurrent_reaction
删除所有并发反力组
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.remove_concurrent_reaction()
```
Returns: 无
### add_concurrent_force
创建并发内力组
> 参数:
> names: 结构组名称集合
```Python
# 示例代码
from qtmodel import *
mdb.add_concurrent_force(names=["默认结构组"])
```
Returns: 无
### remove_concurrent_force
删除所有并发内力组
> 参数:
```Python
# 示例代码
from qtmodel import *
mdb.remove_concurrent_force()
```
Returns: 无
### add_load_case
添加荷载工况
> 参数:
> name:工况名
> case_type:荷载工况类型
> -"施工阶段荷载", "恒载", "活载", "制动力", "风荷载","体系温度荷载","梯度温度荷载",
> -"长轨伸缩挠曲力荷载", "脱轨荷载", "船舶撞击荷载","汽车撞击荷载","长轨断轨力荷载", "用户定义荷载"
```Python
# 示例代码
from qtmodel import *
mdb.add_load_case(name="工况1",case_type="施工阶段荷载")
```
Returns: 无
### remove_load_case
删除荷载工况,参数均为默认时删除全部荷载工况
> 参数:
> index:荷载编号
> name:荷载名
```Python
# 示例代码
from qtmodel import *
mdb.remove_load_case(index=1)
mdb.remove_load_case(name="工况1")
mdb.remove_load_case()
```
Returns: 无
### update_load_case
添加荷载工况
> 参数:
> name:工况名
> new_name:新工况名
> case_type:荷载工况类型
> -"施工阶段荷载", "恒载", "活载", "制动力", "风荷载","体系温度荷载","梯度温度荷载",
> -"长轨伸缩挠曲力荷载", "脱轨荷载", "船舶撞击荷载","汽车撞击荷载","长轨断轨力荷载", "用户定义荷载"
```Python
# 示例代码
from qtmodel import *
mdb.add_load_case(name="工况1",case_type="施工阶段荷载")
```
Returns: 无
### add_load_group
根据荷载组名称添加荷载组
> 参数:
> name: 荷载组名称
```Python
# 示例代码
from qtmodel import *
mdb.add_load_group(name="荷载组1")
```
Returns: 无
### remove_load_group
根据荷载组名称删除荷载组,参数为默认时删除所有荷载组
> 参数:
> name: 荷载组名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_load_group(name="荷载组1")
```
Returns: 无
### update_load_group
根据荷载组名称添加荷载组
> 参数:
> name: 荷载组名称
> new_name: 荷载组名称
```Python
# 示例代码
from qtmodel import *
mdb.update_load_group(name="荷载组1",new_name="荷载组2")
```
Returns: 无
## 施工阶段操作
### add_construction_stage
添加施工阶段信息
> 参数:
> name:施工阶段信息
> duration:时长
> active_structures:激活结构组信息 [(结构组名,龄期,安装方法,计自重施工阶段id),...]
> _计自重施工阶段id: 0-不计自重,1-本阶段 n-第n阶段)_
> _安装方法:1-变形法 2-无应力法 3-接线法 4-切线法
> delete_structures:钝化结构组信息 [结构组1,结构组2,...]
> active_boundaries:激活边界组信息 [(边界组1,位置),...]
> _位置: 0-变形前 1-变形后_
> delete_boundaries:钝化边界组信息 [边界组1,边界组2,...]
> active_loads:激活荷载组信息 [(荷载组1,时间),...]
> _时间: 0-开始 1-结束_
> delete_loads:钝化荷载组信息 [(荷载组1,时间),...]
> _时间: 0-开始 1-结束_
> temp_loads:临时荷载信息 [荷载组1,荷载组2,..]
> index:施工阶段插入位置,从0开始,默认添加到最后
```Python
# 示例代码
from qtmodel import *
mdb.add_construction_stage(name="施工阶段1",duration=5,active_structures=[("结构组1",5,1,1),("结构组2",5,1,1)],
active_boundaries=[("默认边界组",1)],active_loads=[("默认荷载组1",0)])
```
Returns: 无
### update_construction_stage
添加施工阶段信息
> 参数:
> name:施工阶段信息
> new_name:新施工阶段名
> duration:时长
> active_structures:激活结构组信息 [(结构组名,龄期,安装方法,计自重施工阶段id),...]
> _计自重施工阶段id: 0-不计自重,1-本阶段 n-第n阶段)_
> _安装方法:1-变形法 2-接线法 3-无应力法_
> delete_structures:钝化结构组信息 [结构组1,结构组2,...]
> active_boundaries:激活边界组信息 [(边界组1,位置),...]
> _位置: 0-变形前 1-变形后_
> delete_boundaries:钝化边界组信息 [边界组1,结构组2,...]
> active_loads:激活荷载组信息 [(荷载组1,时间),...]
> _时间: 0-开始 1-结束_
> delete_loads:钝化荷载组信息 [(荷载组1,时间),...]
> _时间: 0-开始 1-结束_
> temp_loads:临时荷载信息 [荷载组1,荷载组2,..]
```Python
# 示例代码
from qtmodel import *
mdb.update_construction_stage(name="施工阶段1",duration=5,active_structures=[("结构组1",5,1,1),("结构组2",5,1,1)],
active_boundaries=[("默认边界组",1)],active_loads=[("默认荷载组1",0)])
```
Returns: 无
### update_construction_stage_id
更新部分施工阶段到致电给编号位置,从1计算,例如从{1,2,3}中将 1,2移动到3
> 参数:
> stage_id:修改施工阶段编号
> target_id:目标施工阶段编号
```Python
# 示例代码
from qtmodel import *
mdb.update_construction_stage_id([1,2],3)
```
Returns:无
### update_weight_stage
更新施工阶段自重
> 参数:
> name:施工阶段信息
> structure_group_name:结构组名
> weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)
```Python
# 示例代码
from qtmodel import *
mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
```
Returns: 无
### update_all_stage_setting_type
更新施工阶段安装方式
> 参数:
> setting_type:安装方式 (1-接线法 2-无应力法 3-变形法 4-切线法)
```Python
# 示例代码
from qtmodel import *
mdb.update_all_stage_setting_type(setting_type=1)
```
Returns: 无
### remove_construction_stage
按照施工阶段名删除施工阶段,默认删除所有施工阶段
> 参数:
> name:所删除施工阶段名称
```Python
# 示例代码
from qtmodel import *
mdb.remove_construction_stage(name="施工阶段1")
```
Returns: 无
## 荷载组合操作
### add_load_combine
添加荷载组合
> 参数:
> name:荷载组合名
> combine_type:荷载组合类型 1-叠加 2-判别 3-包络 4-SRss 5-AbsSum
> describe:描述
> combine_info:荷载组合信息 [(荷载工况类型,工况名,系数)...] 工况类型如下
> _"ST"-静力荷载工况 "CS"-施工阶段荷载工况 "CB"-荷载组合_
> _"MV"-移动荷载工况 "SM"-沉降荷载工况_ "RS"-反应谱工况_
```Python
# 示例代码
from qtmodel import *
mdb.add_load_combine(name="荷载组合1",combine_type=1,describe="无",combine_info=[("CS","合计值",1),("CS","恒载",1)])
```
Returns: 无
### update_load_combine
更新荷载组合
> 参数:
> name:荷载组合名
> combine_type:荷载组合类型 (1-叠加 2-判别 3-包络)
> describe:描述
> combine_info:荷载组合信息 [(荷载工况类型,工况名,系数)...] 工况类型如下
> _"ST"-静力荷载工况 "CS"-施工阶段荷载工况 "CB"-荷载组合_
> _"MV"-移动荷载工况 "SM"-沉降荷载工况_
```Python
# 示例代码
from qtmodel import *
mdb.update_load_combine(name="荷载组合1",combine_type=1,describe="无",combine_info=[("CS","合计值",1),("CS","恒载",1)])
```
Returns: 无
### remove_load_combine
删除荷载组合
> 参数:
> name:指定删除荷载组合名,默认时则删除所有荷载组合
```Python
# 示例代码
from qtmodel import *
mdb.remove_load_combine(name="荷载组合1")
```
Returns: 无
## 视图控制
### display_node_id
设置节点号显示
> 参数:
> show_id:是否打开节点号显示
```Python
# 示例代码
from qtmodel import *
odb.display_node_id()
odb.display_node_id(False)
```
Returns: 无
### display_element_id
设置单元号显示
> 参数:
> show_id:是否打开单元号显示
```Python
# 示例代码
from qtmodel import *
odb.display_element_id()
odb.display_element_id(False)
```
Returns: 无
### set_view_camera
更改三维显示相机设置
> 参数:
> camera_point: 相机坐标点
> focus_point: 相机焦点
> camera_rotate:相机绕XYZ旋转角度
> scale: 缩放系数
```Python
# 示例代码
from qtmodel import *
odb.set_view_camera(camera_point=(-100,-100,100),focus_point=(0,0,0))
```
Returns: 无
### set_view_direction
更改三维显示默认视图
> 参数:
> direction: 1-空间视图1 2-前视图 3-三维视图2 4-左视图 5-顶视图 6-右视图 7-空间视图3 8-后视图 9-空间视图4 10-底视图
> horizontal_degree:水平向旋转角度
> vertical_degree:竖向旋转角度
> scale:缩放系数
```Python
# 示例代码
from qtmodel import *
odb.set_view_direction(direction=1,scale=1.2)
```
Returns: 无
### activate_structure
激活指定阶段和单元,默认激活所有
> 参数:
> node_ids: 节点集合
> element_ids: 单元集合
```Python
# 示例代码
from qtmodel import *
odb.activate_structure(node_ids=[1,2,3],element_ids=[1,2,3])
```
Returns: 无
### set_unit
修改视图显示时单位制,不影响建模
> 参数:
> unit_force: 支持 N KN TONF KIPS LBF
> unit_length: 支持 M MM CM IN FT
```Python
# 示例代码
from qtmodel import *
odb.set_unit(unit_force="N",unit_length="M")
```
Returns: 无
### remove_display
删除当前所有显示,包括边界荷载钢束等全部显示
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.remove_display()
```
Returns: 无
### save_png
保存当前模型窗口图形信息
> 参数:
> file_path: 文件全路径
```Python
# 示例代码
from qtmodel import *
odb.save_png(file_path=r"D:\\QT\\aa.png")
```
Returns: 无
### set_render
消隐设置开关
> 参数:
> flag: 默认设置打开消隐
```Python
# 示例代码
from qtmodel import *
odb.set_render(flag=True)
```
Returns: 无
### change_construct_stage
消隐设置开关
> 参数:
> stage: 施工阶段名称或施工阶段号 0-基本
```Python
# 示例代码
from qtmodel import *
odb.change_construct_stage(0)
odb.change_construct_stage(stage=1)
```
Returns: 无
## 静力结果查看
### get_element_stress
获取单元应力,支持单个单元和单元列表
> 参数:
> element_id: 单元编号,支持整数或整数型列表
> stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
> result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
> increment_type: 1-全量 2-增量
> case_name: 运营阶段所需荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_element_stress(element_id=1,stage_id=1)
odb.get_element_stress(element_id=[1,2,3],stage_id=1)
odb.get_element_stress(element_id=1,stage_id=-1,case_name="工况名")
```
Returns: json字符串,包含信息为list[dict] or dict
### get_element_force
获取单元内力,支持单个单元和单元列表
> 参数:
> element_id: 单元编号
> stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
> result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
> increment_type: 1-全量 2-增量
> case_name: 运营阶段所需荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_element_force(element_id=1,stage_id=1)
odb.get_element_force(element_id=[1,2,3],stage_id=1)
odb.get_element_force(element_id=1,stage_id=-1,case_name="工况名")
```
Returns: json字符串,包含信息为list[dict] or dict
### get_reaction
获取节点反力
> 参数:
> node_id: 节点编号,支持整数或整数型列表
> stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
> result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
> increment_type: 1-全量 2-增量
> case_name: 运营阶段所需荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_reaction(node_id=1,stage_id=1)
odb.get_reaction(node_id=[1,2,3],stage_id=1)
odb.get_reaction(node_id=1,stage_id=-1,case_name="工况名")
```
Returns: json字符串,包含信息为list[dict] or dict
### get_node_displacement
获取节点,支持单个节点和节点列表
> 参数:
> node_id: 节点号
> stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
> result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
> increment_type: 1-全量 2-增量
> case_name: 运营阶段所需荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_node_displacement(node_id=1,stage_id=1)
odb.get_node_displacement(node_id=[1,2,3],stage_id=1)
odb.get_node_displacement(node_id=1,stage_id=-1,case_name="工况名")
```
Returns: json字符串,包含信息为list[dict] or dict
## 绘制模型结果
### plot_reaction_result
保存结果图片到指定文件甲
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> component: 分量编号 0-Fx 1-Fy 2-Fz 3-Fxyz 4-Mx 5-My 6-Mz 7-Mxyz
> show_number: 数值选项卡开启
> show_legend: 图例选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> arrow_scale:箭头大小
```Python
# 示例代码
from qtmodel import *
odb.plot_reaction_result(file_path=r"D:\\图片\\反力图.png",component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_displacement_result
保存结果图片到指定文件甲
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> component: 分量编号 0-Dx 1-Dy 2-Dz 3-Rx 4-Ry 5-Rz 6-Dxy 7-Dyz 8-Dxz 9-Dxyz
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> show_pre_deformed: 显示变形前
```Python
# 示例代码
from qtmodel import *
odb.plot_displacement_result(file_path=r"D:\\图片\\变形图.png",component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_beam_element_force
绘制梁单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> component: 分量编号 0-Dx 1-Dy 2-Dz 3-Rx 4-Ry 5-Rz 6-Dxy 7-Dyz 8-Dxz 9-Dxyz
> show_line_chart: 折线图选项卡开启
> line_scale:折线图比例
> flip_plot:反向绘制
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> show_pre_deformed: 显示变形前
> position: 位置编号 0-始端 1-末端 2-绝对最大 4-全部
```Python
# 示例代码
from qtmodel import *
odb.plot_beam_element_force(file_path=r"D:\\图片\\梁内力.png",component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_truss_element_force
绘制杆单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> component: 分量编号 0-N 1-Fx 2-Fy 3-Fz
> show_line_chart: 折线图选项卡开启
> line_scale:折线图比例
> flip_plot:反向绘制
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> show_pre_deformed: 显示变形前
> position: 位置编号 0-始端 1-末端 2-绝对最大 4-全部
```Python
# 示例代码
from qtmodel import *
odb.plot_truss_element_force(file_path=r"D:\\图片\\杆内力.png",load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_plate_element_force
绘制板单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> component: 分量编号 0-Fxx 1-Fyy 2-Fxy 3-Mxx 4-Myy 5-Mxy
> force_kind: 力类型
> load_case_name: 详细荷载工况名
> stage_id: 阶段编号
> envelope_type: 包络类型
> show_number: 是否显示数值
> show_deformed: 是否显示变形形状
> show_pre_deformed: 是否显示未变形形状
> deformed_actual: 是否显示实际变形
> deformed_scale: 变形比例
> show_legend: 是否显示图例
> text_rotation_angle: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_as_exponential: 是否以指数形式显示
> max_min_kind: 最大最小值显示类型
> show_increment: 是否显示增量结果
```Python
# 示例代码
from qtmodel import *
odb.plot_plate_element_force(file_path=r"D:\\图片\\板内力.png",component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_composite_beam_force
绘制组合梁单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> mat_type: 材料类型 0-主材 1-辅材 2-主材+辅材
> component: 分量编号 0-Fx 1-Fy 2-Fz 3-Mx 4-My 5-Mz
> show_line_chart: 折线图选项卡开启
> line_scale:折线图比例
> flip_plot:反向绘制
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> show_pre_deformed: 显示变形前
> position: 位置编号 0-始端 1-末端 2-绝对最大 4-全部
```Python
# 示例代码
from qtmodel import *
odb.plot_composite_beam_force(file_path=r"D:\\图片\\组合梁内力.png",mat_type=0,component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_beam_element_stress
绘制梁单元应力结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> component: 分量编号 0-轴力分量 1-Mz分量 2-My分量 3-组合包络 4-左上 5-右上 6-右下 7-左下
> show_line_chart: 折线图选项卡开启
> line_scale:折线图比例
> flip_plot:反向绘制
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> show_pre_deformed: 显示变形前
> position: 位置编号 0-始端 1-末端 2-绝对最大 4-全部
```Python
# 示例代码
from qtmodel import *
odb.plot_beam_element_stress(file_path=r"D:\\图片\\梁应力.png",show_line_chart=False,component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_truss_element_stress
绘制杆单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> show_line_chart: 折线图选项卡开启
> line_scale:折线图比例
> flip_plot:反向绘制
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> show_pre_deformed: 显示变形前
> position: 位置编号 0-始端 1-末端 2-绝对最大 4-全部
```Python
# 示例代码
from qtmodel import *
odb.plot_truss_element_stress(file_path=r"D:\\图片\\杆应力.png",load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_composite_beam_stress
绘制组合梁单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
> load_case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
> show_increment: 是否显示增量结果
> envelope_type: 施工阶段包络类型 1-最大 2-最小
> mat_type: 材料类型 0-主材 1-辅材
> component: 分量编号 0-轴力分量 1-Mz分量 2-My分量 3-包络 4-左上 5-右上 6-左下 7-右下
> show_line_chart: 折线图选项卡开启
> line_scale:折线图比例
> flip_plot:反向绘制
> show_deformed: 变形选项卡开启
> deformed_scale:变形比例
> deformed_actual:是否显示实际变形
> show_number: 数值选项卡开启
> text_rotation: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_exponential: 指数显示开启
> max_min_kind: 数值选项卡内最大最小值显示 -1-不显示最大最小值 0-显示最大值和最小值 1-最大绝对值 2-最大值 3-最小值
> show_legend: 图例选项卡开启
> show_pre_deformed: 显示变形前
> position: 位置编号 0-始端 1-末端 2-绝对最大 4-全部
```Python
# 示例代码
from qtmodel import *
odb.plot_composite_beam_stress(file_path=r"D:\\图片\\组合梁应力.png",component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
### plot_plate_element_stress
绘制板单元结果图并保存到指定文件
> 参数:
> file_path: 保存路径名
> component: 分量编号 0-Fxx 1-Fyy 2-Fxy 3-Mxx 4-Myy 5-Mxy
> stress_kind: 力类型 0-单元 1-节点平均
> load_case_name: 详细荷载工况名
> stage_id: 阶段编号
> envelope_type: 包络类型
> show_number: 是否显示数值
> show_deformed: 是否显示变形形状
> show_pre_deformed: 是否显示未变形形状
> deformed_actual: 是否显示实际变形
> deformed_scale: 变形比例
> show_legend: 是否显示图例
> text_rotation_angle: 数值选项卡内文字旋转角度
> digital_count: 小数点位数
> show_as_exponential: 是否以指数形式显示
> max_min_kind: 最大最小值显示类型
> show_increment: 是否显示增量结果
> position: 位置 0-板顶 1-板底 2-绝对值最大
```Python
# 示例代码
from qtmodel import *
odb.plot_plate_element_stress(file_path=r"D:\\图片\\板应力.png",component=0,load_case_name="CQ:成桥(合计)",stage_id=-1)
```
Returns: 无
## 获取模型信息
### get_element_by_point
获取某一点指定范围内单元集合,单元中心点为节点平均值
> 参数:
> x: 坐标x
> y: 坐标y
> z: 坐标z
> tolerance:容许范围,默认为1
```Python
# 示例代码
from qtmodel import *
odb.get_element_by_point(0.5,0.5,0.5,tolerance=1)
```
Returns: json字符串,包含信息为list[int]
### get_element_by_material
获取某一材料相应的单元
> 参数:
> name:材料名称
```Python
# 示例代码
from qtmodel import *
odb.get_element_by_material("材料1")
```
Returns: json字符串,包含信息为list[int]
### get_overlap_nodes
获取重合节点
> 参数:
> round_num: 判断精度,默认小数点后四位
```Python
# 示例代码
from qtmodel import *
odb.get_overlap_nodes()
```
Returns: json字符串,包含信息为list[list[int]]
### get_overlap_elements
获取重合节点
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_overlap_elements()
```
Returns: json字符串,包含信息为list[list[int]]
### get_structure_group_names
获取结构组名称
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_structure_group_names()
```
Returns: json字符串,包含信息为list[str]
### get_thickness_data
获取所有板厚信息
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_thickness_data(1)
```
Returns: json字符串,包含信息为dict
### get_all_thickness_data
获取所有板厚信息
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_all_thickness_data()
```
Returns: json字符串,包含信息为list[dict]
### get_all_section_shape
获取所有截面形状信息
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_all_section_shape()
```
Returns: json字符串,包含信息为list[dict]
### get_section_shape
获取截面形状信息
> 参数:
> sec_id: 目标截面编号
```Python
# 示例代码
from qtmodel import *
odb.get_section_shape(1)
```
Returns: json字符串,包含信息为dict
### get_all_section_data
获取所有截面详细信息,截面特性详见UI自定义特性截面
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_all_section_data()
```
Returns: json字符串,包含信息为list[dict]
### get_section_data
获取截面详细信息,截面特性详见UI自定义特性截面
> 参数:
> sec_id: 目标截面编号
```Python
# 示例代码
from qtmodel import *
odb.get_section_data(1)
```
Returns: json字符串,包含信息为dict
### get_section_property
获取指定截面特性
> 参数:
> index:截面号
```Python
# 示例代码
from qtmodel import *
odb.get_section_property(1)
```
Returns: dict
### get_section_ids
获取模型所有截面号
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_section_ids()
```
Returns: list[int]
### get_node_id
获取节点编号,结果为-1时则表示未找到该坐标节点
> 参数:
> x: 目标点X轴坐标
> y: 目标点Y轴坐标
> z: 目标点Z轴坐标
> tolerance: 距离容许误差
```Python
# 示例代码
from qtmodel import *
odb.get_node_id(x=1,y=1,z=1)
```
Returns: int
### get_group_elements
获取结构组单元编号
> 参数:
> group_name: 结构组名
```Python
# 示例代码
from qtmodel import *
odb.get_group_elements(group_name="默认结构组")
```
Returns: list[int]
### get_group_nodes
获取结构组节点编号
> 参数:
> group_name: 结构组名
```Python
# 示例代码
from qtmodel import *
odb.get_group_nodes(group_name="默认结构组")
```
Returns: list[int]
### get_node_data
获取节点信息 默认获取所有节点信息
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_node_data() # 获取所有节点信息
odb.get_node_data(ids=1) # 获取单个节点信息
odb.get_node_data(ids=[1,2]) # 获取多个节点信息
```
Returns: json字符串,包含信息为list[dict] or dict
### get_element_data
获取单元信息
> 参数:
> ids:单元号,支持整数或整数型列表,默认为None时获取所有单元信息
```Python
# 示例代码
from qtmodel import *
odb.get_element_data() # 获取所有单元结果
odb.get_element_data(ids=1) # 获取指定编号单元信息
```
Returns: json字符串,包含信息为list[dict] or dict
### get_element_type
获取单元类型
> 参数:
> ele_id: 单元号
```Python
# 示例代码
from qtmodel import *
odb.get_element_type(ele_id=1) # 获取1号单元类型
```
Returns: str
### get_beam_element
获取梁单元信息
> 参数:
> ids: 梁单元号,默认时获取所有梁单元
```Python
# 示例代码
from qtmodel import *
odb.get_beam_element() # 获取所有单元信息
```
Returns: list[str] 其中str为json格式
### get_plate_element
获取板单元信息
> 参数:
> ids: 板单元号,默认时获取所有板单元
```Python
# 示例代码
from qtmodel import *
odb.get_plate_element() # 获取所有单元信息
```
Returns: list[str] 其中str为json格式
### get_cable_element
获取索单元信息
> 参数:
> ids: 索单元号,默认时获取所有索单元
```Python
# 示例代码
from qtmodel import *
odb.get_cable_element() # 获取所有单元信息
```
Returns: list[str] 其中str为json格式
### get_link_element
获取杆单元信息
> 参数:
> ids: 杆单元号,默认时输出全部杆单元
```Python
# 示例代码
from qtmodel import *
odb.get_link_element() # 获取所有单元信息
```
Returns: list[str] 其中str为json格式
### get_material_data
获取材料信息
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_material_data() # 获取所有材料信息
```
Returns: json字符串,包含信息为list[dict]
### get_concrete_material
获取混凝土材料信息
> 参数:
> ids: 材料号,默认时输出全部材料
```Python
# 示例代码
from qtmodel import *
odb.get_concrete_material() # 获取所有材料信息
```
Returns: list[str] 其中str为json格式
### get_steel_plate_material
获取钢材材料信息
> 参数:
> ids: 材料号,默认时输出全部材料
```Python
# 示例代码
from qtmodel import *
odb.get_steel_plate_material() # 获取所有钢材材料信息
```
Returns: list[str] 其中str为json格式
### get_pre_stress_bar_material
获取钢材材料信息
> 参数:
> ids: 材料号,默认时输出全部材料
```Python
# 示例代码
from qtmodel import *
odb.get_pre_stress_bar_material() # 获取所有预应力材料信息
```
Returns: list[str] 其中str为json格式
### get_steel_bar_material
获取钢筋材料信息
> 参数:
> ids: 材料号,默认时输出全部材料
```Python
# 示例代码
from qtmodel import *
odb.get_steel_bar_material() # 获取所有钢筋材料信息
```
Returns: list[str] 其中str为json格式
### get_user_###ine_material
获取自定义材料信息
> 参数:
> ids: 材料号,默认时输出全部材料
```Python
# 示例代码
from qtmodel import *
odb.get_user_define_material() # 获取所有自定义材料信息
```
Returns: list[str] 其中str为json格式
## 获取模型边界信息
### get_boundary_group_names
获取自边界组名称
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_boundary_group_names()
```
Returns: json字符串,包含信息为list[str]
### get_general_support_data
获取一般支承信息
> 参数:
> group_name:默认输出所有边界组信息
```Python
# 示例代码
from qtmodel import *
odb.get_general_support_data()
```
Returns: json字符串,包含信息为list[dict]
### get_elastic_link_data
获取弹性连接信息
> 参数:
> group_name:默认输出所有边界组信息
```Python
# 示例代码
from qtmodel import *
odb.get_elastic_link_data()
```
Returns: json字符串,包含信息为list[dict]
### get_elastic_support_data
获取弹性支承信息
> 参数:
> group_name:默认输出所有边界组信息
```Python
# 示例代码
from qtmodel import *
odb.get_elastic_support_data()
```
Returns: json字符串,包含信息为list[dict]
### get_master_slave_link_data
获取主从连接信息
> 参数:
> group_name:默认输出所有边界组信息
```Python
# 示例代码
from qtmodel import *
odb.get_master_slave_link_data()
```
Returns: json字符串,包含信息为list[dict]
### get_node_local_axis_data
获取节点坐标信息
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_node_local_axis_data()
```
Returns: json字符串,包含信息为list[dict]
### get_beam_constraint_data
获取节点坐标信息
> 参数:
> group_name:默认输出所有边界组信息
```Python
# 示例代码
from qtmodel import *
odb.get_beam_constraint_data()
```
Returns: json字符串,包含信息为list[dict]
### get_constraint_equation_data
获取约束方程信息
> 参数:
> group_name:默认输出所有边界组信息
```Python
# 示例代码
from qtmodel import *
odb.get_constraint_equation_data()
```
Returns: json字符串,包含信息为list[dict]
## 获取施工阶段信息
### get_stage_name
获取所有施工阶段名称
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_stage_name()
```
Returns: json字符串,包含信息为list[int]
### get_elements_of_stage
获取指定施工阶段单元编号信息
> 参数:
> stage_id: 施工阶段编号
```Python
# 示例代码
from qtmodel import *
odb.get_elements_of_stage(stage_id=1)
```
Returns: json字符串,包含信息为list[int]
### get_nodes_of_stage
获取指定施工阶段节点编号信息
> 参数:
> stage_id: 施工阶段编号
```Python
# 示例代码
from qtmodel import *
odb.get_nodes_of_stage(stage_id=1)
```
Returns: json字符串,包含信息为list[int]
### get_groups_of_stage
获取施工阶段结构组、边界组、荷载组名集合
> 参数:
> stage_id: 施工阶段编号
```Python
# 示例代码
from qtmodel import *
odb.get_groups_of_stage(stage_id=1)
```
Returns: json字符串,包含信息为dict
## 荷载信息
### get_load_case_names
获取荷载工况名
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_load_case_names()
```
Returns: json字符串,包含信息为list[str]
### get_pre_stress_load
获取预应力荷载
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_pre_stress_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_node_mass_data
获取节点质量
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_node_mass_data()
```
Returns: json字符串,包含信息为list[dict]
### get_nodal_force_load
获取节点力荷载
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_nodal_force_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_nodal_displacement_load
获取节点位移荷载
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_nodal_displacement_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_beam_element_load
获取梁单元荷载
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_beam_element_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_plate_element_load
获取梁单元荷载
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_beam_element_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_initial_tension_load
获取初拉力荷载数据
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_initial_tension_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_cable_length_load
获取指定荷载工况的初拉力荷载数据
> 参数:
> case_name: 荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_cable_length_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
### get_deviation_parameter
获取制造偏差参数
> 参数:
```Python
# 示例代码
from qtmodel import *
odb.get_deviation_parameter()
```
Returns: json字符串,包含信息为list[dict]
### get_deviation_load
获取指定荷载工况的制造偏差荷载
> 参数:
> case_name:荷载工况名
```Python
# 示例代码
from qtmodel import *
odb.get_deviation_load(case_name="荷载工况1")
```
Returns: json字符串,包含信息为list[dict]
Raw data
{
"_id": null,
"home_page": "https://github.com/Inface0443/pyqt",
"name": "qtmodel",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "dqy-zhj",
"author_email": "1105417715@qq.com",
"download_url": "https://files.pythonhosted.org/packages/8c/a7/a91df1dabaa0671a2dda4d2d7e63b8dec231da9b7b4dbbaa07f9f755fe2d/qtmodel-0.6.1.tar.gz",
"platform": null,
"description": "# \u6700\u65b0\u7248\u672c V0.6.1 - 2025-01-13 \r\n> pip install --upgrade qtmodel -i https://pypi.org/simple\r\n- \u4fee\u6539\u90e8\u5206\u63a5\u53e3 \r\n## \u9879\u76ee\u7ba1\u7406\r\n### update_bim\r\n\u5237\u65b0Bim\u6a21\u578b\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_bim()\r\n``` \r\nReturns: \u65e0\r\n### update_model\r\n\u5237\u65b0\u6a21\u578b\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_model()\r\n``` \r\nReturns: \u65e0\r\n### update_app_stage\r\n\u5207\u6362\u6a21\u578b\u524d\u540e\u5904\u7406\u72b6\u6001\r\n> \u53c2\u6570: \r\n> num: 1-\u524d\u5904\u7406 2-\u540e\u5904\u7406 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_app_stage(num=1)\r\nmdb.update_app_stage(num=2)\r\n``` \r\nReturns: \u65e0\r\n### do_solve\r\n\u8fd0\u884c\u5206\u6790\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.do_solve()\r\n``` \r\nReturns: \u65e0\r\n### initial\r\n\u521d\u59cb\u5316\u6a21\u578b,\u65b0\u5efa\u6a21\u578b\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.initial()\r\n``` \r\nReturns: \u65e0\r\n### open_file\r\n\u6253\u5f00bfmd\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u6587\u4ef6\u5168\u8def\u5f84 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.open_file(file_path=\"a.bfmd\")\r\n``` \r\nReturns: \u65e0\r\n### close_project\r\n\u5173\u95ed\u9879\u76ee\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.close_project()\r\n``` \r\nReturns: \u65e0\r\n### save_file\r\n\u4fdd\u5b58bfmd\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u6587\u4ef6\u5168\u8def\u5f84 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.save_file(file_path=\"a.bfmd\")\r\n``` \r\nReturns: \u65e0\r\n### import_command\r\n\u5bfc\u5165\u547d\u4ee4\r\n> \u53c2\u6570: \r\n> command:\u547d\u4ee4\u5b57\u7b26 \r\n> command_type:\u547d\u4ee4\u7c7b\u578b,\u9ed8\u8ba4\u6865\u901a\u547d\u4ee4 1-\u6865\u901a\u547d\u4ee4 2-mct\u547d\u4ee4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.import_command(command=\"*SECTION\")\r\nmdb.import_command(command=\"*SECTION\",command_type=2)\r\n``` \r\nReturns: \u65e0\r\n### import_file\r\n\u5bfc\u5165\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path:\u5bfc\u5165\u6587\u4ef6(.mct/.qdat/.dxf/.3dx) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.import_file(file_path=\"a.mct\")\r\n``` \r\nReturns: \u65e0\r\n### export_file\r\n\u5bfc\u5165\u547d\u4ee4\r\n> \u53c2\u6570: \r\n> file_path:\u5bfc\u51fa\u6587\u4ef6\u5168\u8def\u5f84\uff0c\u652f\u6301\u683c\u5f0f(.mct/.qdat/.obj/.txt/.py) \r\n> convert_sec_group:\u662f\u5426\u5c06\u53d8\u622a\u9762\u7ec4\u8f6c\u6362\u4e3a\u53d8\u622a\u9762 \r\n> type_kind:\u8f93\u51fa\u6587\u4ef6\u7c7b\u578b 1-\u5168\u90e8\u6a21\u578b\u6587\u4ef6 2-\u8ba1\u7b97\u76f8\u5173\u6587\u4ef6 (py\u8f93\u51fa\u65f6 2-\u8f93\u51fa\u622a\u9762\u7279\u6027) \r\n> group_name:obj\u4e0e APDL\u5bfc\u51fa\u65f6\u6307\u5b9a\u7ed3\u6784\u7ec4\u5bfc\u51fa \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.export_file(file_path=\"a.mct\")\r\n``` \r\nReturns: \u65e0\r\n## \u5206\u6790\u8bbe\u7f6e\r\n### update_global_setting\r\n\u66f4\u65b0\u6574\u4f53\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> solver_type:\u6c42\u89e3\u5668\u7c7b\u578b 0-\u7a00\u758f\u77e9\u9635\u6c42\u89e3\u5668 1-\u53d8\u5e26\u5bbd\u6c42\u89e3\u5668 \r\n> calculation_type: \u8ba1\u7b97\u8bbe\u7f6e 0-\u5355\u7ebf\u7a0b 1-\u7528\u6237\u81ea\u5b9a\u4e49 2-\u81ea\u52a8\u8bbe\u7f6e \r\n> thread_count: \u7ebf\u7a0b\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_global_setting(solver_type=0,calculation_type=2,thread_count=12)\r\n``` \r\nReturns: \u65e0\r\n### update_construction_stage_setting\r\n\u66f4\u65b0\u65bd\u5de5\u9636\u6bb5\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> do_analysis: \u662f\u5426\u8fdb\u884c\u5206\u6790 \r\n> to_end_stage: \u662f\u5426\u8ba1\u7b97\u81f3\u6700\u7ec8\u9636\u6bb5 \r\n> other_stage_id: \u8ba1\u7b97\u81f3\u5176\u4ed6\u9636\u6bb5\u65f6ID \r\n> analysis_type: \u5206\u6790\u7c7b\u578b (0-\u7ebf\u6027 1-\u975e\u7ebf\u6027 2-\u90e8\u5206\u975e\u7ebf\u6027) \r\n> do_creep_analysis: \u662f\u5426\u8fdb\u884c\u5f90\u53d8\u5206\u6790 \r\n> cable_tension_position: \u7d22\u529b\u5f20\u529b\u4f4d\u7f6e (0-I\u7aef 1-J\u7aef 2-\u5e73\u5747\u7d22\u529b) \r\n> consider_completion_stage: \u662f\u5426\u8003\u8651\u6210\u6865\u5185\u529b\u5bf9\u8fd0\u8425\u9636\u6bb5\u5f71\u54cd \r\n> shrink_creep_type: \u6536\u7f29\u5f90\u53d8\u7c7b\u578b (0-\u4ec5\u5f90\u53d8 1-\u4ec5\u6536\u7f29 2-\u6536\u7f29\u5f90\u53d8) \r\n> creep_load_type: \u5f90\u53d8\u8377\u8f7d\u7c7b\u578b (1-\u5f00\u59cb 2-\u4e2d\u95f4 3-\u7ed3\u675f) \r\n> sub_step_info: \u5b50\u6b65\u4fe1\u606f [\u662f\u5426\u5f00\u542f\u5b50\u90e8\u5212\u5206\u8bbe\u7f6e,10\u5929\u6b65\u6570,100\u5929\u6b65\u6570,1000\u5929\u6b65\u6570,5000\u5929\u6b65\u6570,10000\u5929\u6b65\u6570] None\u65f6\u4e3aUI\u9ed8\u8ba4\u503c \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_construction_stage_setting(do_analysis=True, to_end_stage=False, other_stage_id=1,analysis_type=0,\r\ndo_creep_analysis=True, cable_tension_position=0, consider_completion_stage=True,shrink_creep_type=2)\r\n``` \r\nReturns: \u65e0\r\n### update_live_load_setting\r\n\u66f4\u65b0\u79fb\u52a8\u8377\u8f7d\u5206\u6790\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> lateral_spacing: \u6a2a\u5411\u52a0\u5bc6\u95f4\u8ddd \r\n> vertical_spacing: \u7eb5\u5411\u52a0\u5bc6\u95f4\u8ddd \r\n> damper_calc_type: \u6a21\u62df\u963b\u5c3c\u5668\u7ea6\u675f\u65b9\u7a0b\u8ba1\u7b97\u7c7b\u9009\u9879(-1-\u4e0d\u8003\u8651 0-\u5168\u90e8\u7ec4 1-\u90e8\u5206) \r\n> displacement_calc_type: \u4f4d\u79fb\u8ba1\u7b97\u9009\u9879(-1-\u4e0d\u8003\u8651 0-\u5168\u90e8\u7ec4 1-\u90e8\u5206) \r\n> force_calc_type: \u5185\u529b\u8ba1\u7b97\u9009\u9879(-1-\u4e0d\u8003\u8651 0-\u5168\u90e8\u7ec4 1-\u90e8\u5206) \r\n> reaction_calc_type: \u53cd\u529b\u8ba1\u7b97\u9009\u9879(-1-\u4e0d\u8003\u8651 0-\u5168\u90e8\u7ec4 1-\u90e8\u5206) \r\n> link_calc_type: \u8fde\u63a5\u8ba1\u7b97\u9009\u9879(-1-\u4e0d\u8003\u8651 0-\u5168\u90e8\u7ec4 1-\u90e8\u5206) \r\n> constrain_calc_type: \u7ea6\u675f\u65b9\u7a0b\u8ba1\u7b97\u9009\u9879(-1-\u4e0d\u8003\u8651 0-\u5168\u90e8\u7ec4 1-\u90e8\u5206) \r\n> eccentricity: \u79bb\u5fc3\u529b\u7cfb\u6570 \r\n> displacement_track: \u662f\u5426\u8ffd\u8e2a\u4f4d\u79fb \r\n> force_track: \u662f\u5426\u8ffd\u8e2a\u5185\u529b \r\n> reaction_track: \u662f\u5426\u8ffd\u8e2a\u53cd\u529b \r\n> link_track: \u662f\u5426\u8ffd\u8e2a\u8fde\u63a5 \r\n> constrain_track: \u662f\u5426\u8ffd\u8e2a\u7ea6\u675f\u65b9\u7a0b \r\n> damper_groups: \u6a21\u62df\u963b\u5c3c\u5668\u7ea6\u675f\u65b9\u7a0b\u8ba1\u7b97\u7c7b\u9009\u9879\u4e3a\u7ec4\u65f6\u8fb9\u754c\u7ec4\u540d\u79f0 \r\n> displacement_groups: \u4f4d\u79fb\u8ba1\u7b97\u7c7b\u9009\u9879\u4e3a\u7ec4\u65f6\u7ed3\u6784\u7ec4\u540d\u79f0 \r\n> force_groups: \u5185\u529b\u8ba1\u7b97\u7c7b\u9009\u9879\u4e3a\u7ec4\u65f6\u7ed3\u6784\u7ec4\u540d\u79f0 \r\n> reaction_groups: \u53cd\u529b\u8ba1\u7b97\u7c7b\u9009\u9879\u4e3a\u7ec4\u65f6\u8fb9\u754c\u7ec4\u540d\u79f0 \r\n> link_groups: \u5f39\u6027\u8fde\u63a5\u8ba1\u7b97\u7c7b\u9009\u9879\u4e3a\u7ec4\u65f6\u8fb9\u754c\u7ec4\u540d\u79f0 \r\n> constrain_groups: \u7ea6\u675f\u65b9\u7a0b\u8ba1\u7b97\u7c7b\u9009\u9879\u4e3a\u7ec4\u65f6\u8fb9\u754c\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=1)\r\nmdb.update_live_load_setting(lateral_spacing=0.1, vertical_spacing=1, displacement_calc_type=2,displacement_track=True,\r\ndisplacement_groups=[\"\u7ed3\u6784\u7ec41\",\"\u7ed3\u6784\u7ec42\"])\r\n``` \r\nReturns: \u65e0\r\n### update_non_linear_setting\r\n\u66f4\u65b0\u975e\u7ebf\u6027\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> non_linear_type: \u975e\u7ebf\u6027\u7c7b\u578b 0-\u90e8\u5206\u975e\u7ebf\u6027 1-\u975e\u7ebf\u6027 \r\n> non_linear_method: \u975e\u7ebf\u6027\u65b9\u6cd5 0-\u4fee\u6b63\u725b\u987f\u6cd5 1-\u725b\u987f\u6cd5 \r\n> max_loading_steps: \u6700\u5927\u52a0\u8f7d\u6b65\u6570 \r\n> max_iteration_times: \u6700\u5927\u8fed\u4ee3\u6b21\u6570 \r\n> accuracy_of_displacement: \u4f4d\u79fb\u76f8\u5bf9\u7cbe\u5ea6 \r\n> accuracy_of_force: \u5185\u529b\u76f8\u5bf9\u7cbe\u5ea6 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_non_linear_setting(non_linear_type=-1, non_linear_method=1, max_loading_steps=-1, max_iteration_times=30,\r\naccuracy_of_displacement=0.0001, accuracy_of_force=0.0001)\r\n``` \r\nReturns: \u65e0\r\n### update_operation_stage_setting\r\n\u66f4\u65b0\u8fd0\u8425\u9636\u6bb5\u5206\u6790\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> do_analysis: \u662f\u5426\u8fdb\u884c\u8fd0\u8425\u9636\u6bb5\u5206\u6790 \r\n> final_stage: \u6700\u7ec8\u9636\u6bb5\u540d \r\n> static_load_cases: \u9759\u529b\u5de5\u51b5\u540d\u5217\u8868 \r\n> sink_load_cases: \u6c89\u964d\u5de5\u51b5\u540d\u5217\u8868 \r\n> live_load_cases: \u6d3b\u8f7d\u5de5\u51b5\u540d\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_operation_stage_setting(do_analysis=True, final_stage=\"\u4e0a\u4e8c\u6052\",static_load_cases=None)\r\n``` \r\nReturns: \u65e0\r\n### update_self_vibration_setting\r\n\u66f4\u65b0\u81ea\u632f\u5206\u6790\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> do_analysis: \u662f\u5426\u8fdb\u884c\u8fd0\u8425\u9636\u6bb5\u5206\u6790 \r\n> method: \u8ba1\u7b97\u65b9\u6cd5 1-\u5b50\u7a7a\u95f4\u8fed\u4ee3\u6cd5 2-\u6ee4\u9891\u6cd5 3-\u591a\u91cdRitz\u6cd5 4-\u5170\u7d22\u65af\u6cd5 \r\n> matrix_type: \u77e9\u9635\u7c7b\u578b 0-\u96c6\u4e2d\u8d28\u91cf\u77e9\u9635 1-\u4e00\u81f4\u8d28\u91cf\u77e9\u9635 \r\n> mode_num: \u632f\u578b\u6570\u91cf \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_self_vibration_setting(do_analysis=True,method=1,matrix_type=0,mode_num=3)\r\n``` \r\nReturns: \u65e0\r\n### update_response_spectrum_setting\r\n\u66f4\u65b0\u53cd\u5e94\u8c31\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> do_analysis:\u662f\u5426\u8fdb\u884c\u53cd\u5e94\u8c31\u5206\u6790 \r\n> kind:\u7ec4\u5408\u65b9\u5f0f 1-SRSS 2-CQC \r\n> by_mode: \u662f\u5426\u6309\u7167\u632f\u578b\u8f93\u5165\u963b\u5c3c\u6bd4 \r\n> damping_ratio:\u5e38\u6570\u963b\u5c3c\u6bd4\u6216\u632f\u578b\u963b\u5c3c\u6bd4\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)\r\n``` \r\nReturns: \u65e0\r\n## \u7ed3\u6784\u7ec4\u64cd\u4f5c\r\n### add_structure_group\r\n\u6dfb\u52a0\u7ed3\u6784\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u7ed3\u6784\u7ec4\u540d \r\n> node_ids: \u8282\u70b9\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n> element_ids: \u5355\u5143\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_structure_group(name=\"\u65b0\u5efa\u7ed3\u6784\u7ec41\")\r\nmdb.add_structure_group(name=\"\u65b0\u5efa\u7ed3\u6784\u7ec42\",node_ids=[1,2,3,4],element_ids=[1,2])\r\n``` \r\nReturns: \u65e0\r\n### update_structure_group_name\r\n\u66f4\u65b0\u7ed3\u6784\u7ec4\u540d\r\n> \u53c2\u6570: \r\n> name: \u7ed3\u6784\u7ec4\u540d \r\n> new_name: \u8282\u70b9\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_structure_group_name(name=\"\u7ed3\u6784\u7ec41\",new_name=\"\u65b0\u7ed3\u6784\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### remove_structure_group\r\n\u53ef\u6839\u636e\u7ed3\u6784\u4e0e\u7ec4\u540d\u5220\u9664\u7ed3\u6784\u7ec4\uff0c\u5f53\u7ec4\u540d\u4e3a\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u7ed3\u6784\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u7ed3\u6784\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_structure_group(name=\"\u65b0\u5efa\u7ed3\u6784\u7ec41\")\r\nmdb.remove_structure_group()\r\n``` \r\nReturns: \u65e0\r\n### add_structure_to_group\r\n\u4e3a\u7ed3\u6784\u7ec4\u6dfb\u52a0\u8282\u70b9\u548c/\u6216\u5355\u5143\r\n> \u53c2\u6570: \r\n> name: \u7ed3\u6784\u7ec4\u540d \r\n> node_ids: \u8282\u70b9\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n> element_ids: \u5355\u5143\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_structure_to_group(name=\"\u73b0\u6709\u7ed3\u6784\u7ec41\",node_ids=[1,2,3,4],element_ids=[1,2])\r\n``` \r\nReturns: \u65e0\r\n### remove_structure_from_group\r\n\u4e3a\u7ed3\u6784\u7ec4\u5220\u9664\u8282\u70b9\u3001\u5355\u5143\r\n> \u53c2\u6570: \r\n> name: \u7ed3\u6784\u7ec4\u540d \r\n> node_ids: \u8282\u70b9\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n> element_ids: \u5355\u5143\u7f16\u53f7\u5217\u8868(\u53ef\u9009\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_structure_from_group(name=\"\u73b0\u6709\u7ed3\u6784\u7ec41\",node_ids=[1,2,3,4],element_ids=[1,2])\r\n``` \r\nReturns: \u65e0\r\n## \u8282\u70b9\u64cd\u4f5c\r\n### add_node\r\n\u6839\u636e\u5750\u6807\u4fe1\u606f\u548c\u8282\u70b9\u7f16\u53f7\u6dfb\u52a0\u8282\u70b9\r\n> \u53c2\u6570: \r\n> node_data: [id,x,y,z] \u6216 [x,y,z] \u6307\u5b9a\u8282\u70b9\u7f16\u53f7\u65f6\u4e0d\u8fdb\u884c\u4ea4\u53c9\u5206\u5272\u3001\u5408\u5e76\u3001\u7f16\u53f7\u7b49\u64cd\u4f5c \r\n> intersected: \u662f\u5426\u4ea4\u53c9\u5206\u5272 \r\n> is_merged: \u662f\u5426\u5ffd\u7565\u4f4d\u7f6e\u91cd\u590d\u8282\u70b9 \r\n> merge_error: \u5408\u5e76\u5bb9\u8bb8\u8bef\u5dee \r\n> numbering_type:\u7f16\u53f7\u65b9\u5f0f 0-\u672a\u4f7f\u7528\u7684\u6700\u5c0f\u53f7\u7801 1-\u6700\u5927\u53f7\u7801\u52a01 2-\u7528\u6237\u5b9a\u4e49\u53f7\u7801 \r\n> start_id:\u81ea\u5b9a\u4e49\u8282\u70b9\u8d77\u59cb\u7f16\u53f7(\u7528\u6237\u5b9a\u4e49\u53f7\u7801\u65f6\u4f7f\u7528) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_node(node_data=[1,2,3])\r\nmdb.add_node(node_data=[1,1,2,3])\r\n``` \r\nReturns: \u65e0\r\n### add_nodes\r\n\u6839\u636e\u5750\u6807\u4fe1\u606f\u548c\u8282\u70b9\u7f16\u53f7\u6dfb\u52a0\u4e00\u7ec4\u8282\u70b9\uff0c\u53ef\u6307\u5b9a\u8282\u70b9\u53f7\uff0c\u6216\u4e0d\u6307\u5b9a\u8282\u70b9\u53f7\r\n> \u53c2\u6570: \r\n> node_data: [[id,x,y,z]...] \u6216[[x,y,z]...] \u6307\u5b9a\u8282\u70b9\u7f16\u53f7\u65f6\u4e0d\u8fdb\u884c\u4ea4\u53c9\u5206\u5272\u3001\u5408\u5e76\u3001\u7f16\u53f7\u7b49\u64cd\u4f5c \r\n> intersected: \u662f\u5426\u4ea4\u53c9\u5206\u5272 \r\n> is_merged: \u662f\u5426\u5ffd\u7565\u4f4d\u7f6e\u91cd\u590d\u8282\u70b9 \r\n> merge_error: \u5408\u5e76\u5bb9\u8bb8\u8bef\u5dee \r\n> numbering_type:\u7f16\u53f7\u65b9\u5f0f 0-\u672a\u4f7f\u7528\u7684\u6700\u5c0f\u53f7\u7801 1-\u6700\u5927\u53f7\u7801\u52a01 2-\u7528\u6237\u5b9a\u4e49\u53f7\u7801 \r\n> start_id:\u81ea\u5b9a\u4e49\u8282\u70b9\u8d77\u59cb\u7f16\u53f7(\u7528\u6237\u5b9a\u4e49\u53f7\u7801\u65f6\u4f7f\u7528) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_nodes(node_data=[[1,1,2,3],[1,1,2,3]])\r\n``` \r\nReturns: \u65e0\r\n### update_node\r\n\u6839\u636e\u8282\u70b9\u53f7\u4fee\u6539\u8282\u70b9\u5750\u6807\r\n> \u53c2\u6570: \r\n> node_id: \u65e7\u8282\u70b9\u7f16\u53f7 \r\n> new_id: \u65b0\u8282\u70b9\u7f16\u53f7,\u9ed8\u8ba4\u4e3a-1\u65f6\u4e0d\u6539\u53d8\u8282\u70b9\u7f16\u53f7 \r\n> x: \u66f4\u65b0\u540ex\u5750\u6807 \r\n> y: \u66f4\u65b0\u540ey\u5750\u6807 \r\n> z: \u66f4\u65b0\u540ez\u5750\u6807 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_node(node_id=1,new_id=2,x=2,y=2,z=2)\r\n``` \r\nReturns: \u65e0\r\n### update_node_id\r\n\u4fee\u6539\u8282\u70b9Id\r\n> \u53c2\u6570: \r\n> node_id: \u8282\u70b9\u7f16\u53f7 \r\n> new_id: \u65b0\u8282\u70b9\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_node_id(node_id=1,new_id=2)\r\n``` \r\nReturns: \u65e0\r\n### merge_nodes\r\n\u6839\u636e\u5750\u6807\u4fe1\u606f\u548c\u8282\u70b9\u7f16\u53f7\u6dfb\u52a0\u8282\u70b9\uff0c\u9ed8\u8ba4\u81ea\u52a8\u8bc6\u522b\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> ids: \u5408\u5e76\u8282\u70b9\u96c6\u5408 \u9ed8\u8ba4\u5168\u90e8\u8282\u70b9 \r\n> tolerance: \u5408\u5e76\u5bb9\u8bb8\u8bef\u5dee \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.merge_nodes()\r\n``` \r\nReturns: \u65e0\r\n### remove_node\r\n\u5220\u9664\u6307\u5b9a\u8282\u70b9,\u4e0d\u8f93\u5165\u53c2\u6570\u65f6\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u8282\u70b9\r\n> \u53c2\u6570: \r\n> ids:\u8282\u70b9\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_node()\r\nmdb.remove_node(ids=1)\r\nmdb.remove_node(ids=[1,2,3])\r\n``` \r\nReturns: \u65e0\r\n### renumber_nodes\r\n\u8282\u70b9\u7f16\u53f7\u91cd\u6392\u5e8f\uff0c\u9ed8\u8ba4\u63091\u5347\u5e8f\u91cd\u6392\u6240\u6709\u8282\u70b9\r\n> \u53c2\u6570: \r\n> node_ids:\u88ab\u4fee\u6539\u8282\u70b9\u53f7 \r\n> new_ids:\u65b0\u8282\u70b9\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.renumber_nodes()\r\nmdb.renumber_nodes([7,9,22],[1,2,3])\r\n``` \r\nReturns: \u65e0\r\n### move_node\r\n\u79fb\u52a8\u8282\u70b9\u5750\u6807\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u53f7 \r\n> offset_x:X\u8f74\u504f\u79fb\u91cf \r\n> offset_y:Y\u8f74\u504f\u79fb\u91cf \r\n> offset_z:Z\u8f74\u504f\u79fb\u91cf \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.move_node(node_id=1,offset_x=1.5,offset_y=1.5,offset_z=1.5)\r\n``` \r\nReturns: \u65e0\r\n## \u5355\u5143\u64cd\u4f5c\r\n### update_local_orientation\r\n\u53cd\u8f6c\u6746\u7cfb\u5355\u5143\u5c40\u90e8\u65b9\u5411\r\n> \u53c2\u6570: \r\n> ele_id: \u6746\u7cfb\u5355\u5143\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_local_orientation(1)\r\n``` \r\nReturns: \u65e0\r\n### update_element_id\r\n\u66f4\u6539\u5355\u5143\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> old_id: \u5355\u5143\u7f16\u53f7 \r\n> new_id: \u65b0\u5355\u5143\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_id(1,2)\r\n``` \r\nReturns: \u65e0\r\n### add_element\r\n\u6839\u636e\u5355\u5143\u7f16\u53f7\u548c\u5355\u5143\u7c7b\u578b\u6dfb\u52a0\u5355\u5143\r\n> \u53c2\u6570: \r\n> index:\u5355\u5143\u7f16\u53f7 \r\n> ele_type:\u5355\u5143\u7c7b\u578b 1-\u6881 2-\u6746 3-\u7d22 4-\u677f \r\n> node_ids:\u5355\u5143\u5bf9\u5e94\u7684\u8282\u70b9\u5217\u8868 [i,j] \u6216 [i,j,k,l] \r\n> beta_angle:\u8d1d\u5854\u89d2 \r\n> mat_id:\u6750\u6599\u7f16\u53f7 \r\n> sec_id:\u622a\u9762\u7f16\u53f7 \r\n> initial_type:\u7d22\u5355\u5143\u521d\u59cb\u53c2\u6570\u7c7b\u578b 1-\u521d\u59cb\u62c9\u529b 2-\u521d\u59cb\u6c34\u5e73\u529b 3-\u65e0\u5e94\u529b\u957f\u5ea6 \r\n> initial_value:\u7d22\u5355\u5143\u521d\u59cb\u59cb\u53c2\u6570\u503c \r\n> plate_type:\u677f\u5355\u5143\u7c7b\u578b 0-\u8584\u677f 1-\u539a\u677f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_element(index=1,ele_type=1,node_ids=[1,2],beta_angle=1,mat_id=1,sec_id=1)\r\n``` \r\nReturns: \u65e0\r\n### update_element\r\n\u6839\u636e\u5355\u5143\u7f16\u53f7\u548c\u5355\u5143\u7c7b\u578b\u6dfb\u52a0\u5355\u5143\r\n> \u53c2\u6570: \r\n> old_id:\u539f\u5355\u5143\u7f16\u53f7 \r\n> new_id:\u73b0\u5355\u5143\u7f16\u53f7\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\u539f\u5355\u5143Id \r\n> ele_type:\u5355\u5143\u7c7b\u578b 1-\u6881 2-\u6746 3-\u7d22 4-\u677f \r\n> node_ids:\u5355\u5143\u5bf9\u5e94\u7684\u8282\u70b9\u5217\u8868 [i,j] \u6216 [i,j,k,l] \r\n> beta_angle:\u8d1d\u5854\u89d2 \r\n> mat_id:\u6750\u6599\u7f16\u53f7 \r\n> sec_id:\u622a\u9762\u7f16\u53f7 \r\n> initial_type:\u7d22\u5355\u5143\u521d\u59cb\u53c2\u6570\u7c7b\u578b 1-\u521d\u59cb\u62c9\u529b 2-\u521d\u59cb\u6c34\u5e73\u529b 3-\u65e0\u5e94\u529b\u957f\u5ea6 \r\n> initial_value:\u7d22\u5355\u5143\u521d\u59cb\u59cb\u53c2\u6570\u503c \r\n> plate_type:\u677f\u5355\u5143\u7c7b\u578b 0-\u8584\u677f 1-\u539a\u677f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element(old_id=1,ele_type=1,node_ids=[1,2],beta_angle=1,mat_id=1,sec_id=1)\r\n``` \r\nReturns: \u65e0\r\n### add_elements\r\n\u6839\u636e\u5355\u5143\u7f16\u53f7\u548c\u5355\u5143\u7c7b\u578b\u6dfb\u52a0\u5355\u5143\r\n> \u53c2\u6570: \r\n> ele_data:\u5355\u5143\u4fe1\u606f \r\n> [\u7f16\u53f7,\u7c7b\u578b(1-\u6881 2-\u6746),materialId,sectionId,betaAngle,nodeI,nodeJ] \r\n> [\u7f16\u53f7,\u7c7b\u578b(3-\u7d22),materialId,sectionId,betaAngle,nodeI,nodeJ,\u5f20\u62c9\u7c7b\u578b(1-\u521d\u62c9\u529b 2-\u521d\u59cb\u6c34\u5e73\u529b 3-\u65e0\u5e94\u529b\u957f\u5ea6),\u5f20\u62c9\u503c] \r\n> [\u7f16\u53f7,\u7c7b\u578b(4-\u677f),materialId,thicknessId,betaAngle,nodeI,nodeJ,nodeK,nodeL] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_elements(ele_data=[\r\n[1,1,1,1,0,1,2],\r\n[2,2,1,1,0,1,2],\r\n[3,3,1,1,0,1,2,1,100],\r\n[4,4,1,1,0,1,2,3,4]])\r\n``` \r\nReturns: \u65e0\r\n### update_element_local_orientation\r\n\u66f4\u65b0\u6307\u5b9a\u5355\u5143\u7684\u5355\u5143\u5c40\u90e8\u5750\u6807\u7cfb\r\n> \u53c2\u6570: \r\n> index: \u5355\u5143\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_local_orientation(index=1)\r\n``` \r\nReturns: \u65e0\r\n### update_element_material\r\n\u66f4\u65b0\u6307\u5b9a\u5355\u5143\u7684\u6750\u6599\u53f7\r\n> \u53c2\u6570: \r\n> index: \u5355\u5143\u7f16\u53f7 \r\n> mat_id: \u6750\u6599\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_material(index=1,mat_id=2)\r\n``` \r\nReturns: \u65e0\r\n### update_element_beta_angle\r\n\u66f4\u65b0\u6307\u5b9a\u5355\u5143\u7684\u8d1d\u5854\u89d2\r\n> \u53c2\u6570: \r\n> index: \u5355\u5143\u7f16\u53f7 \r\n> beta_angle: \u8d1d\u5854\u89d2\u5ea6\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_beta_angle(index=1,beta_angle=90)\r\n``` \r\nReturns: \u65e0\r\n### update_element_section\r\n\u66f4\u65b0\u6746\u7cfb\u5355\u5143\u622a\u9762\u6216\u677f\u5355\u5143\u677f\u539a\r\n> \u53c2\u6570: \r\n> index: \u5355\u5143\u7f16\u53f7 \r\n> sec_id: \u622a\u9762\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_section(index=1,sec_id=2)\r\n``` \r\nReturns: \u65e0\r\n### update_element_node\r\n\u66f4\u65b0\u5355\u5143\u8282\u70b9\r\n> \u53c2\u6570: \r\n> index: \u5355\u5143\u7f16\u53f7 \r\n> nodes: \u6746\u7cfb\u5355\u5143\u65f6\u4e3a[node_i,node_j] \u677f\u5355\u5143[i,j,k,l] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_node(1,[1,2])\r\nmdb.update_element_node(2,[1,2,3,4])\r\n``` \r\nReturns: \u65e0\r\n### remove_element\r\n\u5220\u9664\u6307\u5b9a\u7f16\u53f7\u7684\u5355\u5143\r\n> \u53c2\u6570: \r\n> index: \u5355\u5143\u7f16\u53f7,\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u5355\u5143 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_element()\r\nmdb.remove_element(index=1)\r\n``` \r\nReturns: \u65e0\r\n### renumber_elements\r\n\u5355\u5143\u7f16\u53f7\u91cd\u6392\u5e8f\uff0c\u9ed8\u8ba4\u63091\u5347\u5e8f\u91cd\u6392\u6240\u6709\u8282\u70b9\r\n> \u53c2\u6570: \r\n> ele_ids:\u88ab\u4fee\u6539\u5355\u5143\u53f7 \r\n> new_ids:\u65b0\u5355\u5143\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.renumber_elements()\r\nmdb.renumber_elements([7,9,22],[1,2,3])\r\n``` \r\nReturns: \u65e0\r\n## \u6750\u6599\u64cd\u4f5c\r\n### update_material\r\n\u6dfb\u52a0\u6750\u6599\r\n> \u53c2\u6570: \r\n> name:\u65e7\u6750\u6599\u540d\u79f0 \r\n> new_name:\u65b0\u6750\u6599\u540d\u79f0,\u9ed8\u8ba4\u4e0d\u66f4\u6539\u540d\u79f0 \r\n> new_id:\u65b0\u6750\u6599Id,\u9ed8\u8ba4\u4e0d\u66f4\u6539Id \r\n> mat_type: \u6750\u6599\u7c7b\u578b,1-\u6df7\u51dd\u571f 2-\u94a2\u6750 3-\u9884\u5e94\u529b 4-\u94a2\u7b4b 5-\u81ea\u5b9a\u4e49 6-\u7ec4\u5408\u6750\u6599 \r\n> standard:\u89c4\u8303\u5e8f\u53f7,\u53c2\u8003UI \u9ed8\u8ba4\u4ece1\u5f00\u59cb \r\n> database:\u6570\u636e\u5e93\u540d\u79f0 \r\n> construct_factor:\u6784\u9020\u7cfb\u6570 \r\n> modified:\u662f\u5426\u4fee\u6539\u9ed8\u8ba4\u6750\u6599\u53c2\u6570,\u9ed8\u8ba4\u4e0d\u4fee\u6539 (\u53ef\u9009\u53c2\u6570) \r\n> data_info:\u6750\u6599\u53c2\u6570\u5217\u8868[\u5f39\u6027\u6a21\u91cf,\u5bb9\u91cd,\u6cca\u677e\u6bd4,\u70ed\u81a8\u80c0\u7cfb\u6570] (\u53ef\u9009\u53c2\u6570) \r\n> creep_id:\u5f90\u53d8\u6750\u6599id (\u53ef\u9009\u53c2\u6570) \r\n> f_cuk: \u7acb\u65b9\u4f53\u6297\u538b\u5f3a\u5ea6\u6807\u51c6\u503c (\u53ef\u9009\u53c2\u6570) \r\n> composite_info: \u4e3b\u6750\u540d\u548c\u8f85\u6750\u540d (\u4ec5\u7ec4\u5408\u6750\u6599\u9700\u8981) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_material(name=\"\u6df7\u51dd\u571f\u6750\u65991\",mat_type=1,standard=1,database=\"C50\")\r\nmdb.update_material(name=\"\u81ea\u5b9a\u4e49\u6750\u65991\",mat_type=5,data_info=[3.5e10,2.5e4,0.2,1.5e-5])\r\n``` \r\nReturns: \u65e0\r\n### add_material\r\n\u6dfb\u52a0\u6750\u6599\r\n> \u53c2\u6570: \r\n> index:\u6750\u6599\u7f16\u53f7,\u9ed8\u8ba4\u4e3a\u6700\u5927Id+1 \r\n> name:\u6750\u6599\u540d\u79f0 \r\n> mat_type: \u6750\u6599\u7c7b\u578b,1-\u6df7\u51dd\u571f 2-\u94a2\u6750 3-\u9884\u5e94\u529b 4-\u94a2\u7b4b 5-\u81ea\u5b9a\u4e49 6-\u7ec4\u5408\u6750\u6599 \r\n> standard:\u89c4\u8303\u5e8f\u53f7,\u53c2\u8003UI \u9ed8\u8ba4\u4ece1\u5f00\u59cb \r\n> database:\u6570\u636e\u5e93\u540d\u79f0 \r\n> construct_factor:\u6784\u9020\u7cfb\u6570 \r\n> modified:\u662f\u5426\u4fee\u6539\u9ed8\u8ba4\u6750\u6599\u53c2\u6570,\u9ed8\u8ba4\u4e0d\u4fee\u6539 (\u53ef\u9009\u53c2\u6570) \r\n> data_info:\u6750\u6599\u53c2\u6570\u5217\u8868[\u5f39\u6027\u6a21\u91cf,\u5bb9\u91cd,\u6cca\u677e\u6bd4,\u70ed\u81a8\u80c0\u7cfb\u6570] (\u53ef\u9009\u53c2\u6570) \r\n> creep_id:\u5f90\u53d8\u6750\u6599id (\u53ef\u9009\u53c2\u6570) \r\n> f_cuk: \u7acb\u65b9\u4f53\u6297\u538b\u5f3a\u5ea6\u6807\u51c6\u503c (\u53ef\u9009\u53c2\u6570) \r\n> composite_info: \u4e3b\u6750\u540d\u548c\u8f85\u6750\u540d (\u4ec5\u7ec4\u5408\u6750\u6599\u9700\u8981) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_material(index=1,name=\"\u6df7\u51dd\u571f\u6750\u65991\",mat_type=1,standard=1,database=\"C50\")\r\nmdb.add_material(index=1,name=\"\u81ea\u5b9a\u4e49\u6750\u65991\",mat_type=5,data_info=[3.5e10,2.5e4,0.2,1.5e-5])\r\n``` \r\nReturns: \u65e0\r\n### add_time_parameter\r\n\u6dfb\u52a0\u6536\u7f29\u5f90\u53d8\u6750\u6599\r\n> \u53c2\u6570: \r\n> name: \u6536\u7f29\u5f90\u53d8\u540d \r\n> code_index: \u6536\u7f29\u5f90\u53d8\u89c4\u8303\u7d22\u5f15 \r\n> time_parameter: \u5bf9\u5e94\u89c4\u8303\u7684\u6536\u7f29\u5f90\u53d8\u53c2\u6570\u5217\u8868,\u9ed8\u8ba4\u4e0d\u6539\u53d8\u89c4\u8303\u4e2d\u4fe1\u606f (\u53ef\u9009\u53c2\u6570) \r\n> creep_data: \u5f90\u53d8\u6570\u636e [(\u51fd\u6570\u540d,\u9f84\u671f)...] \r\n> shrink_data: \u6536\u7f29\u51fd\u6570\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_time_parameter(name=\"\u6536\u7f29\u5f90\u53d8\u6750\u65991\",code_index=1)\r\n``` \r\nReturns: \u65e0\r\n### update_time_parameter\r\n\u6dfb\u52a0\u6536\u7f29\u5f90\u53d8\u6750\u6599\r\n> \u53c2\u6570: \r\n> name: \u6536\u7f29\u5f90\u53d8\u540d \r\n> new_name: \u65b0\u6536\u7f29\u5f90\u53d8\u540d,\u9ed8\u8ba4\u4e0d\u6539\u53d8\u540d\u79f0 \r\n> code_index: \u6536\u7f29\u5f90\u53d8\u89c4\u8303\u7d22\u5f15 \r\n> time_parameter: \u5bf9\u5e94\u89c4\u8303\u7684\u6536\u7f29\u5f90\u53d8\u53c2\u6570\u5217\u8868,\u9ed8\u8ba4\u4e0d\u6539\u53d8\u89c4\u8303\u4e2d\u4fe1\u606f (\u53ef\u9009\u53c2\u6570) \r\n> creep_data: \u5f90\u53d8\u6570\u636e [(\u51fd\u6570\u540d,\u9f84\u671f)...] \r\n> shrink_data: \u6536\u7f29\u51fd\u6570\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_time_parameter(name=\"\u6536\u7f29\u5f90\u53d8\u6750\u65991\",new_name=\"\u65b0\u6536\u7f29\u5f90\u53d8\u6750\u65991\",code_index=1)\r\n``` \r\nReturns: \u65e0\r\n### add_creep_function\r\n\u6dfb\u52a0\u5f90\u53d8\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u5f90\u53d8\u51fd\u6570\u540d \r\n> creep_data:\u5f90\u53d8\u6570\u636e[(\u65f6\u95f4,\u5f90\u53d8\u7cfb\u6570)...] \r\n> scale_factor:\u7f29\u653e\u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_creep_function(name=\"\u5f90\u53d8\u51fd\u6570\u540d\",creep_data=[(5,0.5),(100,0.75)])\r\n``` \r\nReturns: \u65e0\r\n### update_creep_function\r\n\u6dfb\u52a0\u5f90\u53d8\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u5f90\u53d8\u51fd\u6570\u540d \r\n> new_name: \u65b0\u5f90\u53d8\u51fd\u6570\u540d\uff0c\u9ed8\u8ba4\u4e0d\u6539\u53d8\u51fd\u6570\u540d \r\n> creep_data:\u5f90\u53d8\u6570\u636e\uff0c\u9ed8\u8ba4\u4e0d\u6539\u53d8\u51fd\u6570\u540d [(\u65f6\u95f4,\u5f90\u53d8\u7cfb\u6570)...] \r\n> scale_factor:\u7f29\u653e\u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_creep_function(name=\"\u5f90\u53d8\u51fd\u6570\u540d\",creep_data=[(5,0.5),(100,0.75)])\r\n``` \r\nReturns: \u65e0\r\n### add_shrink_function\r\n\u6dfb\u52a0\u6536\u7f29\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u6536\u7f29\u51fd\u6570\u540d \r\n> shrink_data:\u6536\u7f29\u6570\u636e[(\u65f6\u95f4,\u6536\u7f29\u7cfb\u6570)...] \r\n> scale_factor:\u7f29\u653e\u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_shrink_function(name=\"\u6536\u7f29\u51fd\u6570\u540d\",shrink_data=[(5,0.5),(100,0.75)])\r\nmdb.add_shrink_function(name=\"\u6536\u7f29\u51fd\u6570\u540d\",scale_factor=1.2)\r\n``` \r\nReturns: \u65e0\r\n### update_shrink_function\r\n\u6dfb\u52a0\u6536\u7f29\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u6536\u7f29\u51fd\u6570\u540d \r\n> new_name:\u6536\u7f29\u51fd\u6570\u540d \r\n> shrink_data:\u6536\u7f29\u6570\u636e,\u9ed8\u8ba4\u4e0d\u6539\u53d8\u6570\u636e [(\u65f6\u95f4,\u6536\u7f29\u7cfb\u6570)...] \r\n> scale_factor:\u7f29\u653e\u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_shrink_function(name=\"\u6536\u7f29\u51fd\u6570\u540d\",new_name=\"\u51fd\u6570\u540d2\")\r\nmdb.update_shrink_function(name=\"\u6536\u7f29\u51fd\u6570\u540d\",shrink_data=[(5,0.5),(100,0.75)])\r\nmdb.update_shrink_function(name=\"\u6536\u7f29\u51fd\u6570\u540d\",scale_factor=1.2)\r\n``` \r\nReturns: \u65e0\r\n### remove_shrink_function\r\n\u5220\u9664\u6536\u7f29\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u6536\u7f29\u51fd\u6570\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_shrink_function(name=\"\u6536\u7f29\u51fd\u6570\u540d\")\r\n``` \r\nReturns: \u65e0\r\n### remove_creep_function\r\n\u5220\u9664\u5f90\u53d8\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u5f90\u53d8\u51fd\u6570\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_creep_function(name=\"\u5f90\u53d8\u51fd\u6570\u540d\")\r\n``` \r\nReturns: \u65e0\r\n### update_material_time_parameter\r\n\u5c06\u6536\u7f29\u5f90\u53d8\u53c2\u6570\u8fde\u63a5\u5230\u6750\u6599\r\n> \u53c2\u6570: \r\n> name: \u6750\u6599\u540d \r\n> time_parameter_name: \u6536\u7f29\u5f90\u53d8\u540d\u79f0 \r\n> f_cuk: \u6750\u6599\u6807\u51c6\u6297\u538b\u5f3a\u5ea6,\u4ec5\u81ea\u5b9a\u4e49\u6750\u6599\u662f\u9700\u8981\u8f93\u5165 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_material_time_parameter(name=\"C60\",time_parameter_name=\"\u6536\u7f29\u5f90\u53d81\",f_cuk=5e7)\r\n``` \r\nReturns: \u65e0\r\n### update_material_id\r\n\u66f4\u65b0\u6750\u6599\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> name:\u6750\u6599\u540d\u79f0 \r\n> new_id:\u65b0\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_material_id(name=\"\u6750\u65991\",new_id=2)\r\n``` \r\nReturns: \u65e0\r\n### remove_material\r\n\u5220\u9664\u6307\u5b9a\u6750\u6599\r\n> \u53c2\u6570: \r\n> index:\u6307\u5b9a\u6750\u6599\u7f16\u53f7\uff0c\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u6750\u6599 \r\n> name: \u6307\u5b9a\u6750\u6599\u540d\uff0c\u6750\u6599\u540d\u4e3a\u7a7a\u65f6\u6309\u7167index\u5220\u9664 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_material()\r\nmdb.remove_material(index=1)\r\n``` \r\nReturns: \u65e0\r\n### update_material_construction_factor\r\n\u66f4\u65b0\u6750\u6599\u6784\u9020\u7cfb\u6570\r\n> \u53c2\u6570: \r\n> name:\u6307\u5b9a\u6750\u6599\u7f16\u53f7\uff0c\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u6750\u6599 \r\n> factor:\u6307\u5b9a\u6750\u6599\u7f16\u53f7\uff0c\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u6750\u6599 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_material_construction_factor(name=\"\u6750\u65991\",factor=1.0)\r\n``` \r\nReturns: \u65e0\r\n### remove_time_parameter\r\n\u5220\u9664\u6307\u5b9a\u65f6\u95f4\u4f9d\u5b58\u6750\u6599\r\n> \u53c2\u6570: \r\n> name: \u6307\u5b9a\u6536\u7f29\u5f90\u53d8\u6750\u6599\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_time_parameter(\"\u6536\u7f29\u5f90\u53d8\u6750\u65991\")\r\n``` \r\nReturns: \u65e0\r\n## \u677f\u539a\u64cd\u4f5c\r\n### add_thickness\r\n\u6dfb\u52a0\u677f\u539a\r\n> \u53c2\u6570: \r\n> index: \u677f\u539aid \r\n> name: \u677f\u539a\u540d\u79f0 \r\n> t: \u677f\u539a\u5ea6 \r\n> thick_type: \u677f\u539a\u7c7b\u578b 0-\u666e\u901a\u677f 1-\u52a0\u52b2\u808b\u677f \r\n> bias_info: \u9ed8\u8ba4\u4e0d\u504f\u5fc3,\u504f\u5fc3\u65f6\u8f93\u5165\u5217\u8868[type,value] \r\n> _type:0-\u539a\u5ea6\u6bd4 1-\u6570\u503c_ \r\n> rib_pos: \u808b\u677f\u4f4d\u7f6e 0-\u4e0b\u90e8 1-\u4e0a\u90e8 \r\n> dist_v: \u7eb5\u5411\u622a\u9762\u808b\u677f\u95f4\u8ddd \r\n> dist_l: \u6a2a\u5411\u622a\u9762\u808b\u677f\u95f4\u8ddd \r\n> rib_v: \u7eb5\u5411\u808b\u677f\u4fe1\u606f \r\n> rib_l: \u6a2a\u5411\u808b\u677f\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_thickness(name=\"\u539a\u5ea61\", t=0.2,thick_type=0,bias_info=(0,0.8))\r\nmdb.add_thickness(name=\"\u539a\u5ea62\", t=0.2,thick_type=1,rib_pos=0,dist_v=0.1,rib_v=[1,1,0.02,0.02])\r\n``` \r\nReturns: \u65e0\r\n### update_thickness_id\r\n\u66f4\u65b0\u677f\u539a\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> index: \u677f\u539aid \r\n> new_id: \u65b0\u677f\u539aid \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_thickness_id(1,2)\r\n``` \r\nReturns: \u65e0\r\n### remove_thickness\r\n\u5220\u9664\u677f\u539a\r\n> \u53c2\u6570: \r\n> index:\u677f\u539a\u7f16\u53f7,\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u677f\u539a\u4fe1\u606f \r\n> name:\u9ed8\u8ba4\u6309\u7167\u7f16\u53f7\u5220\u9664,\u5982\u679c\u4e0d\u4e3a\u7a7a\u5219\u6309\u7167\u540d\u79f0\u5220\u9664 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_thickness()\r\nmdb.remove_thickness(index=1)\r\nmdb.remove_thickness(name=\"\u677f\u539a1\")\r\n``` \r\nReturns: \u65e0\r\n## \u622a\u9762\u64cd\u4f5c\r\n### add_section\r\n\u6dfb\u52a0\u5355\u4e00\u622a\u9762\u4fe1\u606f,\u5982\u679c\u622a\u9762\u5b58\u5728\u5219\u81ea\u52a8\u8986\u76d6\r\n> \u53c2\u6570: \r\n> index: \u622a\u9762\u7f16\u53f7,\u9ed8\u8ba4\u81ea\u52a8\u8bc6\u522b \r\n> name:\u622a\u9762\u540d\u79f0 \r\n> sec_type:\u53c2\u6570\u622a\u9762\u7c7b\u578b\u540d\u79f0(\u8be6\u89c1UI\u754c\u9762) \r\n> sec_info:\u622a\u9762\u4fe1\u606f (\u5fc5\u8981\u53c2\u6570) \r\n> symmetry:\u6df7\u51dd\u571f\u622a\u9762\u662f\u5426\u5bf9\u79f0 (\u4ec5\u6df7\u51dd\u571f\u7bb1\u6881\u622a\u9762\u9700\u8981) \r\n> charm_info:\u6df7\u51dd\u571f\u622a\u9762\u5012\u89d2\u4fe1\u606f (\u4ec5\u6df7\u51dd\u571f\u7bb1\u6881\u622a\u9762\u9700\u8981) \r\n> sec_right:\u6df7\u51dd\u571f\u622a\u9762\u53f3\u534a\u4fe1\u606f (\u5bf9\u79f0\u65f6\u53ef\u5ffd\u7565\uff0c\u4ec5\u6df7\u51dd\u571f\u7bb1\u6881\u622a\u9762\u9700\u8981) \r\n> charm_right:\u6df7\u51dd\u571f\u622a\u9762\u53f3\u534a\u5012\u89d2\u4fe1\u606f (\u5bf9\u79f0\u65f6\u53ef\u5ffd\u7565\uff0c\u4ec5\u6df7\u51dd\u571f\u7bb1\u6881\u622a\u9762\u9700\u8981) \r\n> box_num: \u6df7\u51dd\u571f\u7bb1\u5ba4\u6570 (\u4ec5\u6df7\u51dd\u571f\u7bb1\u6881\u622a\u9762\u9700\u8981) \r\n> box_height: \u6df7\u51dd\u571f\u7bb1\u6881\u6881\u9ad8 (\u4ec5\u6df7\u51dd\u571f\u7bb1\u6881\u622a\u9762\u9700\u8981) \r\n> mat_combine: \u7ec4\u5408\u622a\u9762\u6750\u6599\u4fe1\u606f (\u4ec5\u7ec4\u5408\u6750\u6599\u9700\u8981) [\u5f39\u6027\u6a21\u91cf\u6bd4s/c\u3001\u5bc6\u5ea6\u6bd4s/c\u3001\u94a2\u6750\u6cca\u677e\u6bd4\u3001\u6df7\u51dd\u571f\u6cca\u677e\u6bd4\u3001\u70ed\u81a8\u80c0\u7cfb\u6570\u6bd4s/c] \r\n> rib_info:\u808b\u677f\u4fe1\u606f \r\n> rib_place:\u808b\u677f\u4f4d\u7f6e list[tuple[\u5e03\u7f6e\u5177\u4f53\u90e8\u4f4d,\u53c2\u8003\u70b90-\u4e0b/\u5de6,\u8ddd\u53c2\u8003\u70b9\u95f4\u8ddd,\u808b\u677f\u540d\uff0c\u52a0\u52b2\u808b\u4f4d\u7f6e0-\u4e0a/\u5de6 1-\u4e0b/\u53f3 2-\u4e24\u4fa7,\u52a0\u52b2\u808b\u540d]] \r\n> \u5e03\u7f6e\u5177\u4f53\u90e8\u4f4d(\u5de5\u5b57\u94a2\u6881):1-\u4e0a\u5de6 2-\u4e0a\u53f3 3-\u8179\u677f 4-\u4e0b\u5de6 5-\u4e0b\u53f3 \r\n> \u5e03\u7f6e\u5177\u4f53\u90e8\u4f4d(\u7bb1\u578b\u94a2\u6881):1-\u4e0a\u5de6 2-\u4e0a\u4e2d 3-\u4e0a\u53f3 4-\u5de6\u8179\u677f 5-\u53f3\u8179\u677f 6-\u4e0b\u5de6 7-\u4e0b\u4e2d 8-\u4e0b\u53f3 \r\n> loop_segments:\u7ebf\u5708\u5750\u6807\u96c6\u5408 list[dict] dict\u793a\u4f8b:{\"main\":[(x1,y1),(x2,y2)...],\"sub1\":[(x1,y1),(x2,y2)...],\"sub2\":[(x1,y1),(x2,y2)...]} \r\n> sec_lines:\u7ebf\u5bbd\u96c6\u5408[(x1,y1,x2,y3,thick),] \r\n> secondary_loop_segments:\u8f85\u6750\u7ebf\u5708\u5750\u6807\u96c6\u5408 list[dict] (\u540cloop_segments) \r\n> sec_property:\u622a\u9762\u7279\u6027(\u53c2\u8003UI\u754c\u9762\u5171\u8ba126\u4e2a\u53c2\u6570)\uff0c\u53ef\u9009\u53c2\u6570\uff0c\u6307\u5b9a\u622a\u9762\u7279\u6027\u65f6\u4e0d\u8fdb\u884c\u622a\u9762\u8ba1\u7b97 \r\n> bias_type:\u504f\u5fc3\u7c7b\u578b \u9ed8\u8ba4\u4e2d\u5fc3 \r\n> center_type:\u4e2d\u5fc3\u7c7b\u578b \u9ed8\u8ba4\u8d28\u5fc3 \r\n> shear_consider:\u8003\u8651\u526a\u5207 bool \u9ed8\u8ba4\u8003\u8651\u526a\u5207\u53d8\u5f62 \r\n> bias_x:\u81ea\u5b9a\u4e49\u504f\u5fc3\u70b9x\u5750\u6807 (\u4ec5\u81ea\u5b9a\u4e49\u7c7b\u578b\u504f\u5fc3\u9700\u8981,\u76f8\u5bf9\u4e8ecenter_type\u504f\u79fb) \r\n> bias_y:\u81ea\u5b9a\u4e49\u504f\u5fc3\u70b9y\u5750\u6807 (\u4ec5\u81ea\u5b9a\u4e49\u7c7b\u578b\u504f\u5fc3\u9700\u8981,\u76f8\u5bf9\u4e8ecenter_type\u504f\u79fb) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_section(name=\"\u622a\u97621\",sec_type=\"\u77e9\u5f62\",sec_info=[2,4],bias_type=\"\u4e2d\u5fc3\")\r\nmdb.add_section(name=\"\u622a\u97622\",sec_type=\"\u6df7\u51dd\u571f\u7bb1\u6881\",box_height=2,box_num=3,\r\nsec_info=[0.02,0,12,3,1,2,1,5,6,0.2,0.4,0.1,0.13,0.28,0.3,0.5,0.5,0.5,0.2],\r\ncharm_info=[\"1*0.2,0.1*0.2\",\"0.5*0.15,0.3*0.2\",\"0.4*0.2\",\"0.5*0.2\"])\r\nmdb.add_section(name=\"\u94a2\u6881\u622a\u97621\",sec_type=\"\u5de5\u5b57\u94a2\u6881\",sec_info=[0,0,0.5,0.5,0.5,0.5,0.7,0.02,0.02,0.02])\r\nmdb.add_section(name=\"\u94a2\u6881\u622a\u97622\",sec_type=\"\u7bb1\u578b\u94a2\u6881\",sec_info=[0,0.15,0.25,0.5,0.25,0.15,0.4,0.15,0.7,0.02,0.02,0.02,0.02],\r\nrib_info = {\"\u677f\u808b1\": [0.1,0.02],\"T\u5f62\u808b1\":[0.1,0.02,0.02,0.02]},\r\nrib_place = [(1, 0, 0.1, \"\u677f\u808b1\", 2, \"\u9ed8\u8ba4\u540d\u79f01\"),\r\n(1, 0, 0.2, \"\u677f\u808b1\", 2, \"\u9ed8\u8ba4\u540d\u79f01\")])\r\n``` \r\nReturns: \u65e0\r\n### add_single_section\r\n\u4ee5\u5b57\u5178\u5f62\u5f0f\u6dfb\u52a0\u5355\u4e00\u622a\u9762\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u7f16\u53f7 \r\n> name:\u622a\u9762\u540d\u79f0 \r\n> sec_type:\u622a\u9762\u7c7b\u578b \r\n> sec_data:\u622a\u9762\u4fe1\u606f\u5b57\u5178\uff0c\u952e\u503c\u53c2\u8003\u6dfb\u52a0add_section\u65b9\u6cd5\u53c2\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_single_section(index=1,name=\"\u53d8\u622a\u97621\",sec_type=\"\u77e9\u5f62\",\r\nsec_data={\"sec_info\":[1,2],\"bias_type\":\"\u4e2d\u5fc3\"})\r\n``` \r\nReturns: \u65e0\r\n### update_single_section\r\n\u4ee5\u5b57\u5178\u5f62\u5f0f\u6dfb\u52a0\u5355\u4e00\u622a\u9762\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u7f16\u53f7 \r\n> new_id:\u65b0\u622a\u9762\u7f16\u53f7\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\u622a\u9762\u7f16\u53f7 \r\n> name:\u622a\u9762\u540d\u79f0 \r\n> sec_type:\u622a\u9762\u7c7b\u578b \r\n> sec_data:\u622a\u9762\u4fe1\u606f\u5b57\u5178\uff0c\u952e\u503c\u53c2\u8003\u6dfb\u52a0add_section\u65b9\u6cd5\u53c2\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_single_section(index=1,name=\"\u53d8\u622a\u97621\",sec_type=\"\u77e9\u5f62\",\r\nsec_data={\"sec_info\":[1,2],\"bias_type\":\"\u4e2d\u5fc3\"})\r\n``` \r\nReturns: \u65e0\r\n### add_tapper_section\r\n\u6dfb\u52a0\u53d8\u622a\u9762,\u5b57\u5178\u53c2\u6570\u53c2\u8003\u5355\u4e00\u622a\u9762,\u5982\u679c\u622a\u9762\u5b58\u5728\u5219\u81ea\u52a8\u8986\u76d6\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u7f16\u53f7 \r\n> name:\u622a\u9762\u540d\u79f0 \r\n> sec_type:\u622a\u9762\u7c7b\u578b \r\n> sec_begin:\u622a\u9762\u59cb\u7aef\u622a\u9762\u4fe1\u606f\u5b57\u5178\uff0c\u952e\u503c\u53c2\u8003\u6dfb\u52a0add_section\u65b9\u6cd5\u53c2\u6570 \r\n> sec_end:\u622a\u9762\u672b\u7aef\u622a\u9762\u4fe1\u606f\u5b57\u5178\uff0c\u952e\u503c\u53c2\u8003\u6dfb\u52a0add_section\u65b9\u6cd5\u53c2\u6570 \r\n> shear_consider:\u8003\u8651\u526a\u5207\u53d8\u5f62 \r\n> sec_normalize:\u53d8\u622a\u9762\u7ebf\u6bb5\u7ebf\u5708\u91cd\u65b0\u6392\u5e8f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tapper_section(index=1,name=\"\u53d8\u622a\u97621\",sec_type=\"\u77e9\u5f62\",\r\nsec_begin={\"sec_info\":[1,2],\"bias_type\":\"\u4e2d\u5fc3\"},\r\nsec_end={\"sec_info\":[2,2],\"bias_type\":\"\u4e2d\u5fc3\"})\r\n``` \r\nReturns: \u65e0\r\n### update_tapper_section\r\n\u6dfb\u52a0\u53d8\u622a\u9762,\u5b57\u5178\u53c2\u6570\u53c2\u8003\u5355\u4e00\u622a\u9762,\u5982\u679c\u622a\u9762\u5b58\u5728\u5219\u81ea\u52a8\u8986\u76d6\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u7f16\u53f7 \r\n> new_id:\u65b0\u622a\u9762\u7f16\u53f7\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\u622a\u9762\u7f16\u53f7 \r\n> name:\u622a\u9762\u540d\u79f0 \r\n> sec_type:\u622a\u9762\u7c7b\u578b \r\n> sec_begin:\u622a\u9762\u59cb\u7aef\u7f16\u53f7 \r\n> sec_end:\u622a\u9762\u672b\u7aef\u7f16\u53f7 \r\n> shear_consider:\u8003\u8651\u526a\u5207\u53d8\u5f62 \r\n> sec_normalize:\u53d8\u622a\u9762\u7ebf\u6bb5\u7ebf\u5708\u91cd\u65b0\u6392\u5e8f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tapper_section(index=1,name=\"\u53d8\u622a\u97621\",sec_type=\"\u77e9\u5f62\",\r\nsec_begin={\"sec_info\":[1,2],\"bias_type\":\"\u4e2d\u5fc3\"},\r\nsec_end={\"sec_info\":[2,2],\"bias_type\":\"\u4e2d\u5fc3\"})\r\n``` \r\nReturns: \u65e0\r\n### add_tapper_section_by_id\r\n\u6dfb\u52a0\u53d8\u622a\u9762,\u9700\u5148\u5efa\u7acb\u5355\u4e00\u622a\u9762\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u7f16\u53f7 \r\n> name:\u622a\u9762\u540d\u79f0 \r\n> begin_id:\u622a\u9762\u59cb\u7aef\u7f16\u53f7 \r\n> end_id:\u622a\u9762\u672b\u7aef\u7f16\u53f7 \r\n> shear_consider:\u8003\u8651\u526a\u5207\u53d8\u5f62 \r\n> sec_normalize: \u5f00\u542f\u53d8\u622a\u9762\u7ebf\u5708\u548c\u7ebf\u5bbd\u81ea\u9002\u5e94\u6392\u5e8f (\u907f\u514d\u4e24\u7aef\u622a\u9762\u7ed8\u5236\u987a\u5e8f\u5bfc\u81f4\u7684\u6e32\u67d3\u548c\u8ba1\u7b97\u5931\u6548) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tapper_section_by_id(name=\"\u53d8\u622a\u97621\",begin_id=1,end_id=2)\r\n``` \r\nReturns: \u65e0\r\n### remove_section\r\n\u5220\u9664\u622a\u9762\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> index: \u622a\u9762\u7f16\u53f7,\u53c2\u6570\u4e3a\u9ed8\u8ba4\u65f6\u5220\u9664\u5168\u90e8\u622a\u9762 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_section()\r\nmdb.remove_section(1)\r\n``` \r\nReturns: \u65e0\r\n### add_tapper_section_group\r\n\u6dfb\u52a0\u53d8\u622a\u9762\u7ec4\r\n> \u53c2\u6570: \r\n> ids:\u53d8\u622a\u9762\u7ec4\u5355\u5143\u53f7 \r\n> name: \u53d8\u622a\u9762\u7ec4\u540d \r\n> factor_w: \u5bbd\u5ea6\u65b9\u5411\u53d8\u5316\u9636\u6570 \u7ebf\u6027(1.0) \u975e\u7ebf\u6027(!=1.0) \r\n> factor_h: \u9ad8\u5ea6\u65b9\u5411\u53d8\u5316\u9636\u6570 \u7ebf\u6027(1.0) \u975e\u7ebf\u6027(!=1.0) \r\n> ref_w: \u5bbd\u5ea6\u65b9\u5411\u53c2\u8003\u70b9 0-i 1-j \r\n> ref_h: \u9ad8\u5ea6\u65b9\u5411\u53c2\u8003\u70b9 0-i 1-j \r\n> dis_w: \u5bbd\u5ea6\u65b9\u5411\u8ddd\u79bb \r\n> dis_h: \u9ad8\u5ea6\u65b9\u5411\u8ddd\u79bb \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tapper_section_group(ids=[1,2,3,4],name=\"\u53d8\u622a\u9762\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_tapper_section_group\r\n\u6dfb\u52a0\u53d8\u622a\u9762\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u53d8\u622a\u9762\u7ec4\u7ec4\u540d \r\n> new_name: \u65b0\u53d8\u622a\u9762\u7ec4\u540d \r\n> ids:\u53d8\u622a\u9762\u7ec4\u5355\u5143\u53f7 \r\n> factor_w: \u5bbd\u5ea6\u65b9\u5411\u53d8\u5316\u9636\u6570 \u7ebf\u6027(1.0) \u975e\u7ebf\u6027(!=1.0) \r\n> factor_h: \u9ad8\u5ea6\u65b9\u5411\u53d8\u5316\u9636\u6570 \u7ebf\u6027(1.0) \u975e\u7ebf\u6027(!=1.0) \r\n> ref_w: \u5bbd\u5ea6\u65b9\u5411\u53c2\u8003\u70b9 0-i 1-j \r\n> ref_h: \u9ad8\u5ea6\u65b9\u5411\u53c2\u8003\u70b9 0-i 1-j \r\n> dis_w: \u5bbd\u5ea6\u65b9\u5411\u8ddd\u79bb \r\n> dis_h: \u9ad8\u5ea6\u65b9\u5411\u8ddd\u79bb \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tapper_section_group(ids=[1,2,3,4],name=\"\u53d8\u622a\u9762\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_section_bias\r\n\u66f4\u65b0\u622a\u9762\u504f\u5fc3\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u7f16\u53f7 \r\n> bias_type:\u504f\u5fc3\u7c7b\u578b \r\n> center_type:\u4e2d\u5fc3\u7c7b\u578b \r\n> shear_consider:\u8003\u8651\u526a\u5207 \r\n> bias_point:\u81ea\u5b9a\u4e49\u504f\u5fc3\u70b9(\u4ec5\u81ea\u5b9a\u4e49\u7c7b\u578b\u504f\u5fc3\u9700\u8981) \r\n> side_i: \u662f\u5426\u4e3a\u622a\u9762I,\u5426\u5219\u4e3a\u622a\u9762J(\u4ec5\u53d8\u622a\u9762\u9700\u8981) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_section_bias(index=1,bias_type=\"\u4e2d\u4e0a\",center_type=\"\u51e0\u4f55\u4e2d\u5fc3\")\r\nmdb.update_section_bias(index=1,bias_type=\"\u81ea\u5b9a\u4e49\",bias_point=[0.1,0.2])\r\n``` \r\nReturns: \u65e0\r\n### update_section_property\r\n\u66f4\u65b0\u622a\u9762\u7279\u6027\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u53f7 \r\n> sec_property:\u622a\u9762\u7279\u6027\u503c\u53c2\u8003UI\u5171\u8ba126\u4e2a\u6570\u503c \r\n> side_i:\u662f\u5426\u4e3aI\u7aef\u622a\u9762(\u4ec5\u53d8\u622a\u9762\u9700\u8981) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_section_property(index=1,sec_property=[i for i in range(1,27)])\r\n``` \r\nReturns: \u65e0\r\n### add_tapper_section_from_group\r\n\u5c06\u53d8\u622a\u9762\u7ec4\u8f6c\u4e3a\u53d8\u622a\u9762\r\n> \u53c2\u6570: \r\n> name: \u53d8\u622a\u9762\u7ec4\u540d\uff0c\u9ed8\u8ba4\u5219\u8f6c\u5316\u5168\u90e8\u53d8\u622a\u9762\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tapper_section_from_group()\r\nmdb.add_tapper_section_from_group(\"\u53d8\u622a\u9762\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_section_id\r\n\u66f4\u65b0\u622a\u9762\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> index: \u539f\u7f16\u53f7 \r\n> new_id: \u65b0\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_section_id(index=1,new_id=2)\r\n``` \r\nReturns:\u65e0\r\n### remove_tapper_section_group\r\n\u5220\u9664\u53d8\u622a\u9762\u7ec4\uff0c\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u53d8\u622a\u9762\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u53d8\u622a\u9762\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_tapper_section_group()\r\nmdb.remove_tapper_section_group(\"\u53d8\u622a\u9762\u7ec41\")\r\n``` \r\nReturns:\u65e0\r\n### add_elements_to_tapper_section_group\r\n\u5220\u9664\u53d8\u622a\u9762\u7ec4\uff0c\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u53d8\u622a\u9762\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u53d8\u622a\u9762\u7ec4\u540d\u79f0 \r\n> ids:\u65b0\u589e\u5355\u5143\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_elements_to_tapper_section_group(\"\u53d8\u622a\u9762\u7ec41\",ids=[1,2,3,4,5,6])\r\n``` \r\nReturns:\u65e0\r\n## \u8fb9\u754c\u64cd\u4f5c\r\n### add_boundary_group\r\n\u65b0\u5efa\u8fb9\u754c\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_boundary_group(name=\"\u8fb9\u754c\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_boundary_group\r\n\u66f4\u6539\u8fb9\u754c\u7ec4\u540d\r\n> \u53c2\u6570: \r\n> name:\u8fb9\u754c\u7ec4\u540d \r\n> new_name:\u65b0\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_boundary_group(\"\u65e7\u8fb9\u754c\u7ec4\",\"\u65b0\u8fb9\u754c\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### remove_boundary_group\r\n\u6309\u7167\u540d\u79f0\u5220\u9664\u8fb9\u754c\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u8fb9\u754c\u7ec4\u540d\u79f0\uff0c\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u8fb9\u754c\u7ec4 (\u975e\u5fc5\u987b\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_boundary_group()\r\nmdb.remove_boundary_group(name=\"\u8fb9\u754c\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### remove_all_boundary\r\n\u6839\u636e\u8fb9\u754c\u7ec4\u540d\u79f0\u3001\u8fb9\u754c\u7684\u7c7b\u578b\u548c\u7f16\u53f7\u5220\u9664\u8fb9\u754c\u4fe1\u606f,\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u8fb9\u754c\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_all_boundary()\r\n``` \r\nReturns: \u65e0\r\n### remove_boundary\r\n\u6839\u636e\u8282\u70b9\u53f7\u5220\u9664\u4e00\u822c\u652f\u6491\u3001\u5f39\u6027\u652f\u627f/\u6839\u636e\u5f39\u6027\u8fde\u63a5I\u6216J\u7aef(\u9700\u6307\u5b9a)\u8282\u70b9\u53f7\u5220\u9664\u5f39\u6027\u8fde\u63a5/\u6839\u636e\u5355\u5143\u53f7\u5220\u9664\u6881\u7aef\u7ea6\u675f/\u6839\u636e\u4ece\u8282\u70b9\u53f7\u548c\u7ea6\u675f\u65b9\u7a0b\u540d\u5220\u9664\u7ea6\u675f\u65b9\u7a0b/\u6839\u636e\u4ece\u8282\u70b9\u53f7\u5220\u9664\u4e3b\u4ece\u7ea6\u675f\r\n> \u53c2\u6570: \r\n> remove_id:\u8282\u70b9\u53f7 or \u5355\u5143\u53f7 or \u4ece\u8282\u70b9\u53f7 \r\n> bd_type:\u8fb9\u754c\u7c7b\u578b [\"\u4e00\u822c\u652f\u627f\", \"\u5f39\u6027\u652f\u627f\",\"\u4e00\u822c\u5f39\u6027\u652f\u627f\", \"\u4e3b\u4ece\u7ea6\u675f\", \"\u4e00\u822c/\u53d7\u62c9/\u53d7\u538b/\u521a\u6027\u5f39\u6027\u8fde\u63a5\", \"\u7ea6\u675f\u65b9\u7a0b\", \"\u6881\u7aef\u7ea6\u675f\"] \r\n> group:\u8fb9\u754c\u6240\u5904\u8fb9\u754c\u7ec4\u540d \r\n> extra_name:\u5220\u9664\u5f39\u6027\u8fde\u63a5\u6216\u7ea6\u675f\u65b9\u7a0b\u65f6\u989d\u5916\u6807\u8bc6,\u7ea6\u675f\u65b9\u7a0b\u540d\u6216\u6307\u5b9a\u5220\u9664\u5f39\u6027\u8fde\u63a5\u8282\u70b9\u7c7b\u578b I/J \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_boundary(remove_id=11, bd_type=\"\u4e00\u822c\u5f39\u6027\u8fde\u63a5\",group=\"\u8fb9\u754c\u7ec41\", extra_name=\"J\")\r\nmdb.remove_boundary(remove_id=12, bd_type=\"\u7ea6\u675f\u65b9\u7a0b\",group=\"\u8fb9\u754c\u7ec41\", extra_name=\"\u7ea6\u675f\u65b9\u7a0b\u540d\")\r\n``` \r\nReturns: \u65e0\r\n### add_general_elastic_support_property\r\n\u6dfb\u52a0\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\r\n> \u53c2\u6570: \r\n> name:\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\u540d\u79f0 \r\n> data_matrix:\u4e00\u822c\u5f39\u6027\u652f\u627f\u521a\u5ea6\u77e9\u9635(\u6570\u636e\u9700\u6309\u5217\u8f93\u5165\u81f3\u5217\u8868,\u5171\u8ba121\u4e2a\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_general_elastic_support_property(name = \"\u7279\u60271\", data_matrix=[i for i in range(1,22)])\r\n``` \r\nReturns: \u65e0\r\n### update_general_elastic_support_property\r\n\u6dfb\u52a0\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\r\n> \u53c2\u6570: \r\n> name:\u539f\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\u540d\u79f0 \r\n> new_name:\u73b0\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\u540d\u79f0 \r\n> data_matrix:\u4e00\u822c\u5f39\u6027\u652f\u627f\u521a\u5ea6\u77e9\u9635(\u6570\u636e\u9700\u6309\u5217\u8f93\u5165\u81f3\u5217\u8868,\u5171\u8ba121\u4e2a\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_general_elastic_support_property(name = \"\u7279\u60271\",new_name=\"\u7279\u60272\", data_matrix=[i for i in range(1,22)])\r\n``` \r\nReturns: \u65e0\r\n### remove_general_elastic_support_property\r\n\u6dfb\u52a0\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\r\n> \u53c2\u6570: \r\n> name:\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_general_elastic_support_property(name = \"\u7279\u60271\")\r\n``` \r\nReturns: \u65e0\r\n### add_general_elastic_support\r\n\u6dfb\u52a0\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u53f7 \r\n> property_name:\u4e00\u822c\u5f39\u6027\u652f\u627f\u7279\u6027\u540d \r\n> group_name:\u4e00\u822c\u5f39\u6027\u652f\u627f\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_general_elastic_support(node_id = 1, property_name = \"\u7279\u60271\",group_name=\"\u8fb9\u754c\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### add_general_support\r\n\u6dfb\u52a0\u4e00\u822c\u652f\u627f\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7,\u652f\u6301\u6574\u6570\u6216\u6574\u6570\u578b\u5217\u8868 \r\n> boundary_info:\u8fb9\u754c\u4fe1\u606f [X,Y,Z,Rx,Ry,Rz] ture-\u56fa\u5b9a false-\u81ea\u7531 \r\n> group_name:\u8fb9\u754c\u7ec4\u540d,\u9ed8\u8ba4\u4e3a\u9ed8\u8ba4\u8fb9\u754c\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_general_support(node_id=1, boundary_info=[True,True,True,False,False,False])\r\n``` \r\nReturns: \u65e0\r\n### add_elastic_support\r\n\u6dfb\u52a0\u5f39\u6027\u652f\u627f\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7,\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> support_type:\u652f\u627f\u7c7b\u578b 1-\u7ebf\u6027 2-\u53d7\u62c9 3-\u53d7\u538b \r\n> boundary_info:\u8fb9\u754c\u4fe1\u606f \u53d7\u62c9\u548c\u53d7\u538b\u65f6\u5217\u8868\u957f\u5ea6\u4e3a2-[direct(1-X 2-Y 3-Z),stiffness] \u7ebf\u6027\u65f6\u5217\u8868\u957f\u5ea6\u4e3a6-[kx,ky,kz,krx,kry,krz] \r\n> group_name:\u8fb9\u754c\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_elastic_support(node_id=1,support_type=1,boundary_info=[1e6,0,1e6,0,0,0])\r\nmdb.add_elastic_support(node_id=1,support_type=2,boundary_info=[1,1e6])\r\nmdb.add_elastic_support(node_id=1,support_type=3,boundary_info=[1,1e6])\r\n``` \r\nReturns: \u65e0\r\n### add_elastic_link\r\n\u6dfb\u52a0\u5f39\u6027\u8fde\u63a5\uff0c\u5efa\u8bae\u6307\u5b9aindex(\u5f39\u6027\u8fde\u63a5\u7f16\u53f7)\r\n> \u53c2\u6570: \r\n> index:\u5f39\u6027\u8fde\u63a5\u7f16\u53f7,\u9ed8\u8ba4\u81ea\u52a8\u8bc6\u522b \r\n> link_type:\u8282\u70b9\u7c7b\u578b 1-\u4e00\u822c\u5f39\u6027\u8fde\u63a5 2-\u521a\u6027\u8fde\u63a5 3-\u53d7\u62c9\u5f39\u6027\u8fde\u63a5 4-\u53d7\u538b\u5f39\u6027\u8fde\u63a5 \r\n> start_id:\u8d77\u59cb\u8282\u70b9\u53f7 \r\n> end_id:\u7ec8\u8282\u70b9\u53f7 \r\n> beta_angle:\u8d1d\u5854\u89d2 \r\n> boundary_info:\u8fb9\u754c\u4fe1\u606f \r\n> group_name:\u8fb9\u754c\u7ec4\u540d \r\n> dis_ratio:\u8dddi\u7aef\u8ddd\u79bb\u6bd4 (\u4ec5\u4e00\u822c\u5f39\u6027\u8fde\u63a5\u9700\u8981) \r\n> kx:\u53d7\u62c9\u6216\u53d7\u538b\u521a\u5ea6 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_elastic_link(link_type=1,start_id=1,end_id=2,boundary_info=[1e6,1e6,1e6,0,0,0])\r\nmdb.add_elastic_link(link_type=2,start_id=1,end_id=2)\r\nmdb.add_elastic_link(link_type=3,start_id=1,end_id=2,kx=1e6)\r\n``` \r\nReturns: \u65e0\r\n### add_master_slave_links\r\n\u6dfb\u52a0\u4e3b\u4ece\u7ea6\u675f\r\n> \u53c2\u6570: \r\n> node_ids:\u4e3b\u8282\u70b9\u53f7\u548c\u4ece\u8282\u70b9\u53f7\uff0c\u4e3b\u8282\u70b9\u53f7\u4f4d\u4e8e\u9996\u4f4d \r\n> boundary_info:\u8fb9\u754c\u4fe1\u606f [X,Y,Z,Rx,Ry,Rz] ture-\u56fa\u5b9a false-\u81ea\u7531 \r\n> group_name:\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_master_slave_links(node_ids=[(1,2),(1,3),(4,5),(4,6)],boundary_info=[True,True,True,False,False,False])\r\n``` \r\nReturns: \u65e0\r\n### add_master_slave_link\r\n\u6dfb\u52a0\u4e3b\u4ece\u7ea6\u675f\r\n> \u53c2\u6570: \r\n> master_id:\u4e3b\u8282\u70b9\u53f7 \r\n> slave_id:\u4ece\u8282\u70b9\u53f7\uff0c\u652f\u6301\u6574\u6570\u6216\u6574\u6570\u578b\u5217\u8868 \r\n> boundary_info:\u8fb9\u754c\u4fe1\u606f [X,Y,Z,Rx,Ry,Rz] ture-\u56fa\u5b9a false-\u81ea\u7531 \r\n> group_name:\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_master_slave_link(master_id=1,slave_id=[2,3],boundary_info=[True,True,True,False,False,False])\r\n``` \r\nReturns: \u65e0\r\n### add_beam_constraint\r\n\u6dfb\u52a0\u6881\u7aef\u7ea6\u675f\r\n> \u53c2\u6570: \r\n> beam_id:\u6881\u53f7 \r\n> info_i:i\u7aef\u7ea6\u675f\u4fe1\u606f [X,Y,Z,Rx,Ry,Rz] ture-\u56fa\u5b9a false-\u81ea\u7531 \r\n> info_j:j\u7aef\u7ea6\u675f\u4fe1\u606f [X,Y,Z,Rx,Ry,Rz] ture-\u56fa\u5b9a false-\u81ea\u7531 \r\n> group_name:\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_beam_constraint(beam_id=2,info_i=[True,True,True,False,False,False],info_j=[True,True,True,False,False,False])\r\n``` \r\nReturns: \u65e0\r\n### add_constraint_equation\r\n\u6dfb\u52a0\u7ea6\u675f\u65b9\u7a0b\r\n> \u53c2\u6570: \r\n> name:\u7ea6\u675f\u65b9\u7a0b\u540d \r\n> sec_node:\u4ece\u8282\u70b9\u53f7 \r\n> sec_dof: \u4ece\u8282\u70b9\u81ea\u7531\u5ea6 1-x 2-y 3-z 4-rx 5-ry 6-rz \r\n> master_info:\u4e3b\u8282\u70b9\u7ea6\u675f\u4fe1\u606f\u5217\u8868 \r\n> group_name:\u8fb9\u754c\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_beam_constraint(beam_id=2,info_i=[True,True,True,False,False,False],info_j=[True,True,True,False,False,False])\r\n``` \r\nReturns: \u65e0\r\n### add_node_axis\r\n\u6dfb\u52a0\u8282\u70b9\u5750\u6807\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u53f7 \r\n> input_type:\u8f93\u5165\u65b9\u5f0f 1-\u89d2\u5ea6 2-\u4e09\u70b9 3-\u5411\u91cf \r\n> coord_info:\u5c40\u90e8\u5750\u6807\u4fe1\u606f -List<float>(\u89d2) -List<List<float>>(\u4e09\u70b9 or \u5411\u91cf) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_node_axis(input_type=1,node_id=1,coord_info=[45,45,45])\r\nmdb.add_node_axis(input_type=2,node_id=1,coord_info=[[0,0,1],[0,1,0],[1,0,0]])\r\nmdb.add_node_axis(input_type=3,node_id=1,coord_info=[[0,0,1],[0,1,0]])\r\n``` \r\nReturns: \u65e0\r\n### update_node_axis\r\n\u6dfb\u52a0\u8282\u70b9\u5750\u6807\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u53f7 \r\n> new_id:\u65b0\u8282\u70b9\u53f7 \r\n> input_type:\u8f93\u5165\u65b9\u5f0f 1-\u89d2\u5ea6 2-\u4e09\u70b9 3-\u5411\u91cf \r\n> coord_info:\u5c40\u90e8\u5750\u6807\u4fe1\u606f -List<float>(\u89d2) -List<List<float>>(\u4e09\u70b9 or \u5411\u91cf) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_node_axis(node_id=1,new_id=1,input_type=1,coord_info=[45,45,45])\r\nmdb.update_node_axis(node_id=2,new_id=2,input_type=2,coord_info=[[0,0,1],[0,1,0],[1,0,0]])\r\nmdb.update_node_axis(node_id=3,new_id=3,input_type=3,coord_info=[[0,0,1],[0,1,0]])\r\n``` \r\nReturns: \u65e0\r\n### remove_node_axis\r\n\u6dfb\u52a0\u8282\u70b9\u5750\u6807\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_node_axis(node_id=1)\r\n``` \r\nReturns: \u65e0\r\n## \u79fb\u52a8\u8377\u8f7d\u64cd\u4f5c\r\n### add_standard_vehicle\r\n\u6dfb\u52a0\u6807\u51c6\u8f66\u8f86\r\n> \u53c2\u6570: \r\n> name: \u8f66\u8f86\u8377\u8f7d\u540d\u79f0 \r\n> standard_code: \u8377\u8f7d\u89c4\u8303 \r\n> _1-\u4e2d\u56fd\u94c1\u8def\u6865\u6db5\u89c4\u8303(TB10002-2017)_ \r\n> _2-\u57ce\u5e02\u6865\u6881\u8bbe\u8ba1\u89c4\u8303(CJJ11-2019)_ \r\n> _3-\u516c\u8def\u5de5\u7a0b\u6280\u672f\u6807\u51c6(JTJ 001-97)_ \r\n> _4-\u516c\u8def\u6865\u6db5\u8bbe\u8ba1\u901a\u89c4(JTG D60-2004)_ \r\n> _5-\u516c\u8def\u6865\u6db5\u8bbe\u8ba1\u901a\u89c4(JTG D60-2015)_ \r\n> _6-\u57ce\u5e02\u8f68\u9053\u4ea4\u901a\u6865\u6881\u8bbe\u8ba1\u89c4\u8303(GB/T51234-2017)_ \r\n> _7-\u5e02\u57df\u94c1\u8def\u8bbe\u8ba1\u89c4\u83032017(T/CRS C0101-2017) \r\n> load_type: \u8377\u8f7d\u7c7b\u578b,\u652f\u6301\u7c7b\u578b\u53c2\u8003\u8f6f\u4ef6\u5185\u754c\u9762 \r\n> load_length: \u9ed8\u8ba4\u4e3a0\u5373\u4e0d\u9650\u5236\u8377\u8f7d\u957f\u5ea6 (\u94c1\u8def\u6865\u6db5\u89c4\u83032017 \u6240\u9700\u53c2\u6570) \r\n> factor: \u9ed8\u8ba4\u4e3a1.0(\u94c1\u8def\u6865\u6db5\u89c4\u83032017 ZH\u8377\u8f7d\u6240\u9700\u53c2\u6570) \r\n> n:\u8f66\u53a2\u6570: \u9ed8\u8ba46\u8282\u8f66\u53a2 (\u57ce\u5e02\u8f68\u9053\u4ea4\u901a\u6865\u6881\u89c4\u83032017 \u6240\u9700\u53c2\u6570) \r\n> calc_fatigue:\u8ba1\u7b97\u516c\u8def\u75b2\u52b3 (\u516c\u8def\u6865\u6db5\u8bbe\u8ba1\u901a\u89c42015 \u6240\u9700\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_standard_vehicle(\"\u9ad8\u901f\u94c1\u8def\",standard_code=1,load_type=\"\u9ad8\u901f\u94c1\u8def\")\r\n``` \r\nReturns: \u65e0\r\n### add_user_vehicle\r\n\u6dfb\u52a0\u6807\u51c6\u8f66\u8f86\r\n> \u53c2\u6570: \r\n> name: \u8f66\u8f86\u8377\u8f7d\u540d\u79f0 \r\n> load_type: \u8377\u8f7d\u7c7b\u578b,\u652f\u6301\u7c7b\u578b -\u8f66\u8f86/\u8f66\u9053\u8377\u8f7d \u5217\u8f66\u666e\u901a\u6d3b\u8f7d \u57ce\u5e02\u8f7b\u8f68\u6d3b\u8f7d \u65e7\u516c\u8def\u4eba\u7fa4\u8377\u8f7d \u8f6e\u91cd\u96c6\u5408 \r\n> p: \u8377\u8f7dPk\u6216Pi\u5217\u8868 \r\n> q: \u5747\u5e03\u8377\u8f7dQk\u6216\u8377\u8f7d\u96c6\u5ea6dW \r\n> dis:\u8377\u8f7d\u8ddd\u79bbLi\u5217\u8868 \r\n> load_length: \u8377\u8f7d\u957f\u5ea6 (\u5217\u8f66\u666e\u901a\u6d3b\u8f7d \u6240\u9700\u53c2\u6570) \r\n> n:\u8f66\u53a2\u6570: \u9ed8\u8ba46\u8282\u8f66\u53a2 (\u5217\u8f66\u666e\u901a\u6d3b\u8f7d \u6240\u9700\u53c2\u6570) \r\n> empty_load:\u7a7a\u8f7d (\u5217\u8f66\u666e\u901a\u6d3b\u8f7d\u3001\u57ce\u5e02\u8f7b\u8f68\u6d3b\u8f7d \u6240\u9700\u53c2\u6570) \r\n> width:\u5bbd\u5ea6 (\u65e7\u516c\u8def\u4eba\u7fa4\u8377\u8f7d \u6240\u9700\u53c2\u6570) \r\n> wheelbase:\u8f6e\u95f4\u8ddd (\u8f6e\u91cd\u96c6\u5408 \u6240\u9700\u53c2\u6570) \r\n> min_dis:\u8f66\u8f6e\u8ddd\u5f71\u54cd\u9762\u6700\u5c0f\u8ddd\u79bb (\u8f6e\u91cd\u96c6\u5408 \u6240\u9700\u53c2\u6570)) \r\n> unit_force:\u8377\u8f7d\u5355\u4f4d \u9ed8\u8ba4\u4e3a\"N\" \r\n> unit_length:\u957f\u5ea6\u5355\u4f4d \u9ed8\u8ba4\u4e3a\"M\" \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_user_vehicle(name=\"\u8f66\u9053\u8377\u8f7d\",load_type=\"\u8f66\u9053\u8377\u8f7d\",p=270000,q=10500)\r\n``` \r\nReturns: \u65e0\r\n### add_node_tandem\r\n\u6dfb\u52a0\u8282\u70b9\u7eb5\u5217,\u9ed8\u8ba4\u4ee5\u6700\u5c0fX\u5bf9\u5e94\u8282\u70b9\u4f5c\u4e3a\u7eb5\u5217\u8d77\u70b9\r\n> \u53c2\u6570: \r\n> name:\u8282\u70b9\u7eb5\u5217\u540d \r\n> node_ids:\u8282\u70b9\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_node_tandem(name=\"\u8282\u70b9\u7eb5\u52171\",node_ids=[i+1 for i in range(12)])\r\n``` \r\nReturns: \u65e0\r\n### add_influence_plane\r\n\u6dfb\u52a0\u5f71\u54cd\u9762\r\n> \u53c2\u6570: \r\n> name:\u5f71\u54cd\u9762\u540d\u79f0 \r\n> tandem_names:\u8282\u70b9\u7eb5\u5217\u540d\u79f0\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_influence_plane(name=\"\u5f71\u54cd\u97621\",tandem_names=[\"\u8282\u70b9\u7eb5\u52171\",\"\u8282\u70b9\u7eb5\u52172\"])\r\n``` \r\nReturns: \u65e0\r\n### add_lane_line\r\n\u6dfb\u52a0\u8f66\u9053\u7ebf\r\n> \u53c2\u6570: \r\n> name:\u8f66\u9053\u7ebf\u540d\u79f0 \r\n> influence_name:\u5f71\u54cd\u9762\u540d\u79f0 \r\n> tandem_name:\u8282\u70b9\u7eb5\u5217\u540d \r\n> offset:\u504f\u79fb \r\n> lane_width:\u8f66\u9053\u5bbd\u5ea6 \r\n> optimize:\u662f\u5426\u5141\u8bb8\u8f66\u8f86\u6446\u52a8 \r\n> direction:0-\u5411\u524d 1-\u5411\u540e \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_lane_line(name=\"\u8f66\u90531\",influence_name=\"\u5f71\u54cd\u97621\",tandem_name=\"\u8282\u70b9\u7eb5\u52171\",offset=0,lane_width=3.1)\r\n``` \r\nReturns: \u65e0\r\n### add_live_load_case\r\n\u6dfb\u52a0\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u6d3b\u8f7d\u5de5\u51b5\u540d \r\n> influence_plane:\u5f71\u54cd\u7ebf\u540d \r\n> span:\u8de8\u5ea6 \r\n> sub_case:\u5b50\u5de5\u51b5\u4fe1\u606f [(\u8f66\u8f86\u540d\u79f0,\u7cfb\u6570,[\"\u8f66\u90531\",\"\u8f66\u90532\"])...] \r\n> trailer_code:\u8003\u8651\u6302\u8f66\u65f6\u6302\u8f66\u8f66\u8f86\u540d \r\n> special_code:\u8003\u8651\u7279\u8f7d\u65f6\u7279\u8f7d\u8f66\u8f86\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_live_load_case(name=\"\u6d3b\u8f7d\u5de5\u51b51\",influence_plane=\"\u5f71\u54cd\u97621\",span=100,sub_case=[(\"\u8f66\u8f86\u540d\u79f0\",1.0,[\"\u8f66\u90531\",\"\u8f66\u90532\"]),])\r\n``` \r\nReturns: \u65e0\r\n### add_car_relative_factor\r\n\u6dfb\u52a0\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\u6c7d\u8f66\u6298\u51cf\r\n> \u53c2\u6570: \r\n> name:\u6d3b\u8f7d\u5de5\u51b5\u540d \r\n> code_index: \u6c7d\u8f66\u6298\u51cf\u89c4\u8303\u7f16\u53f7 1-\u516c\u89c42015 2-\u516c\u89c42004 3-\u65e0 \r\n> cross_factors:\u6a2a\u5411\u6298\u51cf\u7cfb\u6570\u5217\u8868,\u81ea\u5b9a\u4e49\u65f6\u8981\u6c42\u957f\u5ea6\u4e3a8,\u5426\u5219\u6309\u7167\u89c4\u8303\u9009\u53d6 \r\n> longitude_factor:\u7eb5\u5411\u6298\u51cf\u7cfb\u6570\uff0c\u5927\u4e8e0\u65f6\u4e3a\u81ea\u5b9a\u4e49\uff0c\u5426\u5219\u4e3a\u89c4\u8303\u81ea\u52a8\u9009\u53d6 \r\n> impact_factor:\u51b2\u51fb\u7cfb\u6570\u5927\u4e8e1\u65f6\u4e3a\u81ea\u5b9a\u4e49\uff0c\u5426\u5219\u6309\u7167\u89c4\u8303\u81ea\u52a8\u9009\u53d6 \r\n> frequency:\u6865\u6881\u57fa\u9891 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_car_relative_factor(name=\"\u6d3b\u8f7d\u5de5\u51b51\",code_index=1,cross_factors=[1.2,1,0.78,0.67,0.6,0.55,0.52,0.5])\r\n``` \r\nReturns: \u65e0\r\n### add_train_relative_factor\r\n\u6dfb\u52a0\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\u6c7d\u8f66\u6298\u51cf\r\n> \u53c2\u6570: \r\n> name:\u6d3b\u8f7d\u5de5\u51b5\u540d \r\n> code_index: \u706b\u8f66\u6298\u51cf\u89c4\u8303\u7f16\u53f7 1-\u94c1\u89c42017_ZK_ZC 2-\u94c1\u89c42017_ZKH_ZH 3-\u65e0 \r\n> cross_factors:\u6a2a\u5411\u6298\u51cf\u7cfb\u6570\u5217\u8868,\u81ea\u5b9a\u4e49\u65f6\u8981\u6c42\u957f\u5ea6\u4e3a8,\u5426\u5219\u6309\u7167\u89c4\u8303\u9009\u53d6 \r\n> calc_fatigue:\u662f\u5426\u8ba1\u7b97\u75b2\u52b3 \r\n> line_count: \u75b2\u52b3\u52a0\u8f7d\u7ebf\u8def\u6570 \r\n> longitude_factor:\u7eb5\u5411\u6298\u51cf\u7cfb\u6570\uff0c\u5927\u4e8e0\u65f6\u4e3a\u81ea\u5b9a\u4e49\uff0c\u5426\u5219\u4e3a\u89c4\u8303\u81ea\u52a8\u9009\u53d6 \r\n> impact_factor:\u5f3a\u5ea6\u51b2\u51fb\u7cfb\u6570\u5927\u4e8e1\u65f6\u4e3a\u81ea\u5b9a\u4e49\uff0c\u5426\u5219\u6309\u7167\u89c4\u8303\u81ea\u52a8\u9009\u53d6 \r\n> fatigue_factor:\u75b2\u52b3\u7cfb\u6570 \r\n> bridge_kind:\u6865\u6881\u7c7b\u578b 0-\u65e0 1-\u7b80\u652f 2-\u7ed3\u5408 3-\u6db5\u6d1e 4-\u7a7a\u8179\u5f0f \r\n> fill_thick:\u586b\u571f\u539a\u5ea6 (\u89c4ZKH ZH\u94a2\u7b4b/\u7d20\u6df7\u51dd\u571f\u3001\u77f3\u780c\u6865\u8de8\u7ed3\u6784\u4ee5\u53ca\u6db5\u6d1e\u6240\u9700\u53c2\u6570) \r\n> rise:\u62f1\u9ad8 (\u89c4ZKH ZH\u6d3b\u8f7d-\u7a7a\u8179\u5f0f\u62f1\u6865\u6240\u9700\u53c2\u6570) \r\n> calc_length:\u8ba1\u7b97\u8de8\u5ea6(\u94c1\u89c4ZKH ZH\u6d3b\u8f7d-\u7a7a\u8179\u5f0f\u62f1\u6865\u6240\u9700\u53c2\u6570)\u6216\u8ba1\u7b97\u957f\u5ea6(\u94c1\u89c4ZK ZC\u6d3b\u8f7d\u6240\u9700\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_train_relative_factor(name=\"\u6d3b\u8f7d\u5de5\u51b51\",code_index=1,cross_factors=[1.2,1,0.78,0.67,0.6,0.55,0.52,0.5],calc_length=50)\r\n``` \r\nReturns: \u65e0\r\n### add_metro_relative_factor\r\n\u6dfb\u52a0\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\u6c7d\u8f66\u6298\u51cf\r\n> \u53c2\u6570: \r\n> name:\u6d3b\u8f7d\u5de5\u51b5\u540d \r\n> cross_factors:\u6a2a\u5411\u6298\u51cf\u7cfb\u6570\u5217\u8868,\u81ea\u5b9a\u4e49\u65f6\u8981\u6c42\u957f\u5ea6\u4e3a8,\u5426\u5219\u6309\u7167\u89c4\u8303\u9009\u53d6 \r\n> longitude_factor:\u7eb5\u5411\u6298\u51cf\u7cfb\u6570\uff0c\u5927\u4e8e0\u65f6\u4e3a\u81ea\u5b9a\u4e49\uff0c\u5426\u5219\u4e3a\u89c4\u8303\u81ea\u52a8\u9009\u53d6 \r\n> impact_factor:\u5f3a\u5ea6\u51b2\u51fb\u7cfb\u6570\u5927\u4e8e1\u65f6\u4e3a\u81ea\u5b9a\u4e49\uff0c\u5426\u5219\u6309\u7167\u89c4\u8303\u81ea\u52a8\u9009\u53d6 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_metro_relative_factor(name=\"\u6d3b\u8f7d\u5de5\u51b51\",cross_factors=[1.2,1,0.78,0.67,0.6,0.55,0.52,0.5],\r\nlongitude_factor=1,impact_factor=1)\r\n``` \r\nReturns: \u65e0\r\n### remove_vehicle\r\n\u5220\u9664\u8f66\u8f86\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> name:\u8f66\u8f86\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_vehicle(name=\"\u8f66\u8f86\u540d\u79f0\")\r\n``` \r\nReturns: \u65e0\r\n### remove_node_tandem\r\n\u6309\u7167 \u8282\u70b9\u7eb5\u5217\u7f16\u53f7/\u8282\u70b9\u7eb5\u5217\u540d \u5220\u9664\u8282\u70b9\u7eb5\u5217\r\n> \u53c2\u6570: \r\n> index:\u8282\u70b9\u7eb5\u5217\u7f16\u53f7 \r\n> name:\u8282\u70b9\u7eb5\u5217\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_node_tandem(index=1)\r\nmdb.remove_node_tandem(name=\"\u8282\u70b9\u7eb5\u52171\")\r\n``` \r\nReturns: \u65e0\r\n### remove_influence_plane\r\n\u6309\u7167 \u5f71\u54cd\u9762\u7f16\u53f7/\u5f71\u54cd\u9762\u540d\u79f0 \u5220\u9664\u5f71\u54cd\u9762\r\n> \u53c2\u6570: \r\n> index:\u5f71\u54cd\u9762\u7f16\u53f7 \r\n> name:\u5f71\u54cd\u9762\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_influence_plane(index=1)\r\nmdb.remove_influence_plane(name=\"\u5f71\u54cd\u97621\")\r\n``` \r\nReturns: \u65e0\r\n### remove_lane_line\r\n\u6309\u7167 \u8f66\u9053\u7ebf\u7f16\u53f7/\u8f66\u9053\u7ebf\u540d\u79f0 \u5220\u9664\u8f66\u9053\u7ebf\r\n> \u53c2\u6570: \r\n> name:\u8f66\u9053\u7ebf\u540d\u79f0 \r\n> index:\u8f66\u9053\u7ebf\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_lane_line(index=1)\r\nmdb.remove_lane_line(name=\"\u8f66\u9053\u7ebf1\")\r\n``` \r\nReturns: \u65e0\r\n### remove_live_load_case\r\n\u5220\u9664\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_live_load_case(name=\"\u6d3b\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: \u65e0\r\n### update_standard_vehicle\r\n\u6dfb\u52a0\u6807\u51c6\u8f66\u8f86\r\n> \u53c2\u6570: \r\n> name: \u8f66\u8f86\u8377\u8f7d\u540d\u79f0 \r\n> new_name: \u65b0\u8f66\u8f86\u8377\u8f7d\u540d\u79f0,\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> standard_code: \u8377\u8f7d\u89c4\u8303 \r\n> _1-\u4e2d\u56fd\u94c1\u8def\u6865\u6db5\u89c4\u8303(TB10002-2017)_ \r\n> _2-\u57ce\u5e02\u6865\u6881\u8bbe\u8ba1\u89c4\u8303(CJJ11-2019)_ \r\n> _3-\u516c\u8def\u5de5\u7a0b\u6280\u672f\u6807\u51c6(JTJ 001-97)_ \r\n> _4-\u516c\u8def\u6865\u6db5\u8bbe\u8ba1\u901a\u89c4(JTG D60-2004)_ \r\n> _5-\u516c\u8def\u6865\u6db5\u8bbe\u8ba1\u901a\u89c4(JTG D60-2015)_ \r\n> _6-\u57ce\u5e02\u8f68\u9053\u4ea4\u901a\u6865\u6881\u8bbe\u8ba1\u89c4\u8303(GB/T51234-2017)_ \r\n> _7-\u5e02\u57df\u94c1\u8def\u8bbe\u8ba1\u89c4\u83032017(T/CRS C0101-2017) \r\n> load_type: \u8377\u8f7d\u7c7b\u578b,\u652f\u6301\u7c7b\u578b\u53c2\u8003\u8f6f\u4ef6\u5185\u754c\u9762 \r\n> load_length: \u9ed8\u8ba4\u4e3a0\u5373\u4e0d\u9650\u5236\u8377\u8f7d\u957f\u5ea6 (\u94c1\u8def\u6865\u6db5\u89c4\u83032017 \u6240\u9700\u53c2\u6570) \r\n> factor: \u9ed8\u8ba4\u4e3a1.0(\u94c1\u8def\u6865\u6db5\u89c4\u83032017 ZH\u8377\u8f7d\u6240\u9700\u53c2\u6570) \r\n> n:\u8f66\u53a2\u6570: \u9ed8\u8ba46\u8282\u8f66\u53a2 (\u57ce\u5e02\u8f68\u9053\u4ea4\u901a\u6865\u6881\u89c4\u83032017 \u6240\u9700\u53c2\u6570) \r\n> calc_fatigue:\u8ba1\u7b97\u516c\u8def\u75b2\u52b3 (\u516c\u8def\u6865\u6db5\u8bbe\u8ba1\u901a\u89c42015 \u6240\u9700\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_standard_vehicle(\"\u9ad8\u901f\u94c1\u8def\",standard_code=1,load_type=\"\u9ad8\u901f\u94c1\u8def\")\r\n``` \r\nReturns: \u65e0\r\n### update_user_vehicle\r\n\u4fee\u6539\u81ea\u5b9a\u4e49\u6807\u51c6\u8f66\u8f86\r\n> \u53c2\u6570: \r\n> name: \u8f66\u8f86\u8377\u8f7d\u540d\u79f0 \r\n> new_name: \u65b0\u8f66\u8f86\u8377\u8f7d\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> load_type: \u8377\u8f7d\u7c7b\u578b,\u652f\u6301\u7c7b\u578b -\u8f66\u8f86/\u8f66\u9053\u8377\u8f7d \u5217\u8f66\u666e\u901a\u6d3b\u8f7d \u57ce\u5e02\u8f7b\u8f68\u6d3b\u8f7d \u65e7\u516c\u8def\u4eba\u7fa4\u8377\u8f7d \u8f6e\u91cd\u96c6\u5408 \r\n> p: \u8377\u8f7dPk\u6216Pi\u5217\u8868 \r\n> q: \u5747\u5e03\u8377\u8f7dQk\u6216\u8377\u8f7d\u96c6\u5ea6dW \r\n> dis:\u8377\u8f7d\u8ddd\u79bbLi\u5217\u8868 \r\n> load_length: \u8377\u8f7d\u957f\u5ea6 (\u5217\u8f66\u666e\u901a\u6d3b\u8f7d \u6240\u9700\u53c2\u6570) \r\n> n:\u8f66\u53a2\u6570: \u9ed8\u8ba46\u8282\u8f66\u53a2 (\u5217\u8f66\u666e\u901a\u6d3b\u8f7d \u6240\u9700\u53c2\u6570) \r\n> empty_load:\u7a7a\u8f7d (\u5217\u8f66\u666e\u901a\u6d3b\u8f7d\u3001\u57ce\u5e02\u8f7b\u8f68\u6d3b\u8f7d \u6240\u9700\u53c2\u6570) \r\n> width:\u5bbd\u5ea6 (\u65e7\u516c\u8def\u4eba\u7fa4\u8377\u8f7d \u6240\u9700\u53c2\u6570) \r\n> wheelbase:\u8f6e\u95f4\u8ddd (\u8f6e\u91cd\u96c6\u5408 \u6240\u9700\u53c2\u6570) \r\n> min_dis:\u8f66\u8f6e\u8ddd\u5f71\u54cd\u9762\u6700\u5c0f\u8ddd\u79bb (\u8f6e\u91cd\u96c6\u5408 \u6240\u9700\u53c2\u6570)) \r\n> unit_force:\u8377\u8f7d\u5355\u4f4d \u9ed8\u8ba4\u4e3a\"N\" \r\n> unit_length:\u957f\u5ea6\u5355\u4f4d \u9ed8\u8ba4\u4e3a\"M\" \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_user_vehicle(name=\"\u8f66\u9053\u8377\u8f7d\",load_type=\"\u8f66\u9053\u8377\u8f7d\",p=270000,q=10500)\r\n``` \r\nReturns: \u65e0\r\n### update_node_tandem\r\n\u6dfb\u52a0\u8282\u70b9\u7eb5\u5217,\u9ed8\u8ba4\u4ee5\u6700\u5c0fX\u5bf9\u5e94\u8282\u70b9\u4f5c\u4e3a\u7eb5\u5217\u8d77\u70b9\r\n> \u53c2\u6570: \r\n> name:\u8282\u70b9\u7eb5\u5217\u540d \r\n> new_name: \u65b0\u8282\u70b9\u7eb5\u5217\u540d\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> node_ids:\u8282\u70b9\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_node_tandem(name=\"\u8282\u70b9\u7eb5\u52171\",node_ids=[i+1 for i in range(12)])\r\n``` \r\nReturns: \u65e0\r\n### update_live_load_case\r\n\u6dfb\u52a0\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u6d3b\u8f7d\u5de5\u51b5\u540d \r\n> new_name:\u65b0\u79fb\u52a8\u8377\u8f7d\u540d,\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> influence_plane:\u5f71\u54cd\u7ebf\u540d \r\n> span:\u8de8\u5ea6 \r\n> sub_case:\u5b50\u5de5\u51b5\u4fe1\u606f [(\u8f66\u8f86\u540d\u79f0,\u7cfb\u6570,[\"\u8f66\u90531\",\"\u8f66\u90532\"])...] \r\n> trailer_code:\u8003\u8651\u6302\u8f66\u65f6\u6302\u8f66\u8f66\u8f86\u540d \r\n> special_code:\u8003\u8651\u7279\u8f7d\u65f6\u7279\u8f7d\u8f66\u8f86\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_live_load_case(name=\"\u6d3b\u8f7d\u5de5\u51b51\",influence_plane=\"\u5f71\u54cd\u97621\",span=100,sub_case=[(\"\u8f66\u8f86\u540d\u79f0\",1.0,[\"\u8f66\u90531\",\"\u8f66\u90532\"]),])\r\n``` \r\nReturns: \u65e0\r\n## \u52a8\u529b\u8377\u8f7d\u64cd\u4f5c\r\n### add_load_to_mass\r\n\u6dfb\u52a0\u8377\u8f7d\u8f6c\u4e3a\u8d28\u91cf\r\n> \u53c2\u6570: \r\n> name: \u8377\u8f7d\u5de5\u51b5\u540d\u79f0 \r\n> factor: \u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_load_to_mass(name=\"\u8377\u8f7d\u5de5\u51b5\",factor=1)\r\n``` \r\nReturns: \u65e0\r\n### add_nodal_mass\r\n\u6dfb\u52a0\u8282\u70b9\u8d28\u91cf\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7\uff0c\u652f\u6301\u5355\u4e2a\u7f16\u53f7\u548c\u7f16\u53f7\u5217\u8868 \r\n> mass_info:[m,rmX,rmY,rmZ] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))\r\n``` \r\nReturns: \u65e0\r\n### remove_nodal_mass\r\n\u5220\u9664\u8282\u70b9\u8d28\u91cf\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u53f7\uff0c\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u8282\u70b9\u8d28\u91cf \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_nodal_mass(node_id=1)\r\n``` \r\nReturns: \u65e0\r\n### remove_load_to_mass\r\n\u5220\u9664\u8377\u8f7d\u8f6c\u4e3a\u8d28\u91cf,\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u8377\u8f7d\u8f6c\u8d28\u91cf\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_load_to_mass(name=\"\u8377\u8f7d\u5de5\u51b5\")\r\n``` \r\nReturns: \u65e0\r\n### add_spectrum_function\r\n\u6dfb\u52a0\u53cd\u5e94\u8c31\u51fd\u6570\r\n> \u53c2\u6570: \r\n> name:\u53cd\u5e94\u8c31\u51fd\u6570\u540d \r\n> factor:\u53cd\u5e94\u8c31\u8c03\u6574\u7cfb\u6570 \r\n> kind:\u53cd\u5e94\u8c31\u7c7b\u578b 0-\u65e0\u91cf\u7eb2 1-\u52a0\u901f\u5ea6 2-\u4f4d\u79fb \r\n> function_info:\u53cd\u5e94\u8c31\u51fd\u6570\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_spectrum_function(name=\"\u53cd\u5e94\u8c31\u51fd\u65701\",factor=1.0,function_info=[(0,0.02),(1,0.03)])\r\n``` \r\nReturns: \u65e0\r\n### add_spectrum_case\r\n\u6dfb\u52a0\u53cd\u5e94\u8c31\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> description:\u8bf4\u660e \r\n> kind:\u7ec4\u5408\u65b9\u5f0f 1-\u6c42\u6a21 2-\u6c42\u548c \r\n> info_x: \u53cd\u5e94\u8c31X\u5411\u4fe1\u606f (X\u65b9\u5411\u51fd\u6570\u540d,\u7cfb\u6570) \r\n> info_y: \u53cd\u5e94\u8c31Y\u5411\u4fe1\u606f (Y\u65b9\u5411\u51fd\u6570\u540d,\u7cfb\u6570) \r\n> info_z: \u53cd\u5e94\u8c31Z\u5411\u4fe1\u606f (Z\u65b9\u5411\u51fd\u6570\u540d,\u7cfb\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_spectrum_case(name=\"\u53cd\u5e94\u8c31\u5de5\u51b5\",info_x=(\"\u51fd\u65701\",1.0))\r\n``` \r\nReturns: \u65e0\r\n### update_load_to_mass\r\n\u66f4\u65b0\u8377\u8f7d\u8f6c\u4e3a\u8d28\u91cf\r\n> \u53c2\u6570: \r\n> data_list:\u8377\u8f7d\u5de5\u51b5\u548c\u7cfb\u6570\u5217\u8868[(\"\u5de5\u51b51\",1.2),(\"\u5de5\u51b52\",1.3)...] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_load_to_mass(data_list=[(\"\u5de5\u51b51\",1.2),(\"\u5de5\u51b52\",1.3)])\r\n``` \r\nReturns: \u65e0\r\n### update_nodal_mass\r\n\u66f4\u65b0\u8282\u70b9\u8d28\u91cf\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7 \r\n> new_node_id:\u65b0\u8282\u70b9\u7f16\u53f7\uff0c\u9ed8\u8ba4\u4e0d\u6539\u53d8\u8282\u70b9 \r\n> mass_info:[m,rmX,rmY,rmZ] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))\r\n``` \r\nReturns: \u65e0\r\n## \u94a2\u675f\u64cd\u4f5c\r\n### add_tendon_group\r\n\u6309\u7167\u540d\u79f0\u6dfb\u52a0\u94a2\u675f\u7ec4\uff0c\u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a\u94a2\u675f\u7ec4id\r\n> \u53c2\u6570: \r\n> name: \u94a2\u675f\u7ec4\u540d\u79f0 \r\n> index: \u94a2\u675f\u7ec4\u7f16\u53f7(\u975e\u5fc5\u987b\u53c2\u6570)\uff0c\u9ed8\u8ba4\u81ea\u52a8\u8bc6\u522b \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tendon_group(name=\"\u94a2\u675f\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### remove_tendon_group\r\n\u6309\u7167\u94a2\u675f\u7ec4\u540d\u79f0\u6216\u94a2\u675f\u7ec4\u7f16\u53f7\u5220\u9664\u94a2\u675f\u7ec4\uff0c\u4e24\u53c2\u6570\u5747\u4e3a\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u94a2\u675f\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u7ec4\u540d\u79f0,\u9ed8\u8ba4\u81ea\u52a8\u8bc6\u522b (\u53ef\u9009\u53c2\u6570) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_tendon_group(name=\"\u94a2\u675f\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### add_tendon_property\r\n\u6dfb\u52a0\u94a2\u675f\u7279\u6027\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u7279\u6027\u540d \r\n> tendon_type: 0-PRE 1-POST \r\n> material_name: \u94a2\u6750\u6750\u6599\u540d \r\n> duct_type: 1-\u91d1\u5c5e\u6ce2\u7eb9\u7ba1 2-\u5851\u6599\u6ce2\u7eb9\u7ba1 3-\u94c1\u76ae\u7ba1 4-\u94a2\u7ba1 5-\u62bd\u82af\u6210\u578b \r\n> steel_type: 1-\u94a2\u7ede\u7ebf 2-\u87ba\u7eb9\u94a2\u7b4b \r\n> steel_detail: \u94a2\u675f\u8be6\u7ec6\u4fe1\u606f \r\n> _\u94a2\u7ede\u7ebf[\u94a2\u675f\u9762\u79ef,\u5b54\u9053\u76f4\u5f84,\u6469\u963b\u7cfb\u6570,\u504f\u5dee\u7cfb\u6570]_ \r\n> _\u87ba\u7eb9\u94a2\u7b4b[\u94a2\u7b4b\u76f4\u5f84,\u94a2\u675f\u9762\u79ef,\u5b54\u9053\u76f4\u5f84,\u6469\u963b\u7cfb\u6570,\u504f\u5dee\u7cfb\u6570,\u5f20\u62c9\u65b9\u5f0f(1-\u4e00\u6b21\u5f20\u62c9 2-\u8d85\u5f20\u62c9)]_ \r\n> loos_detail: \u677e\u5f1b\u4fe1\u606f[\u89c4\u8303,\u5f20\u62c9,\u677e\u5f1b] (\u4ec5\u94a2\u7ede\u7ebf\u9700\u8981,\u9ed8\u8ba4\u4e3a[1,1,1]) \r\n> _\u89c4\u8303:1-\u516c\u89c4 2-\u94c1\u89c4_ \r\n> _\u5f20\u62c9\u65b9\u5f0f:1-\u4e00\u6b21\u5f20\u62c9 2-\u8d85\u5f20\u62c9_ \r\n> _\u677e\u5f1b\u7c7b\u578b\uff1a1-\u4e00\u822c\u677e\u5f1b 2-\u4f4e\u677e\u5f1b_ \r\n> slip_info: \u6ed1\u79fb\u4fe1\u606f[\u59cb\u7aef\u8ddd\u79bb,\u672b\u7aef\u8ddd\u79bb] \u9ed8\u8ba4\u4e3a[0.006, 0.006] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tendon_property(name=\"\u94a2\u675f1\",tendon_type=0,material_name=\"\u9884\u5e94\u529b\u6750\u6599\",duct_type=1,steel_type=1,\r\nsteel_detail=[0.00014,0.10,0.25,0.0015],loos_detail=(1,1,1))\r\n``` \r\nReturns: \u65e0\r\n### update_tendon_property_material\r\n\u66f4\u65b0\u94a2\u675f\u7279\u6027\u6750\u6599\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u7279\u6027\u540d \r\n> material_name:\u6750\u6599\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_tendon_property_material(\"\u7279\u60271\",material_name=\"\u6750\u65991\")\r\n``` \r\nReturns:\u65e0\r\n### update_tendon_property\r\n\u66f4\u65b0\u94a2\u675f\u7279\u6027\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u7279\u6027\u540d \r\n> new_name:\u65b0\u94a2\u675f\u7279\u6027\u540d,\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> tendon_type: 0-PRE 1-POST \r\n> material_name: \u94a2\u6750\u6750\u6599\u540d \r\n> duct_type: 1-\u91d1\u5c5e\u6ce2\u7eb9\u7ba1 2-\u5851\u6599\u6ce2\u7eb9\u7ba1 3-\u94c1\u76ae\u7ba1 4-\u94a2\u7ba1 5-\u62bd\u82af\u6210\u578b \r\n> steel_type: 1-\u94a2\u7ede\u7ebf 2-\u87ba\u7eb9\u94a2\u7b4b \r\n> steel_detail: \u94a2\u675f\u8be6\u7ec6\u4fe1\u606f \r\n> _\u94a2\u7ede\u7ebf[\u94a2\u675f\u9762\u79ef,\u5b54\u9053\u76f4\u5f84,\u6469\u963b\u7cfb\u6570,\u504f\u5dee\u7cfb\u6570]_ \r\n> _\u87ba\u7eb9\u94a2\u7b4b[\u94a2\u7b4b\u76f4\u5f84,\u94a2\u675f\u9762\u79ef,\u5b54\u9053\u76f4\u5f84,\u6469\u963b\u7cfb\u6570,\u504f\u5dee\u7cfb\u6570,\u5f20\u62c9\u65b9\u5f0f(1-\u4e00\u6b21\u5f20\u62c9 2-\u8d85\u5f20\u62c9)]_ \r\n> loos_detail: \u677e\u5f1b\u4fe1\u606f[\u89c4\u8303,\u5f20\u62c9,\u677e\u5f1b] (\u4ec5\u94a2\u7ede\u7ebf\u9700\u8981,\u9ed8\u8ba4\u4e3a[1,1,1]) \r\n> _\u89c4\u8303:1-\u516c\u89c4 2-\u94c1\u89c4_ \r\n> _\u5f20\u62c9\u65b9\u5f0f:1-\u4e00\u6b21\u5f20\u62c9 2-\u8d85\u5f20\u62c9_ \r\n> _\u677e\u5f1b\u7c7b\u578b\uff1a1-\u4e00\u822c\u677e\u5f1b 2-\u4f4e\u677e\u5f1b_ \r\n> slip_info: \u6ed1\u79fb\u4fe1\u606f[\u59cb\u7aef\u8ddd\u79bb,\u672b\u7aef\u8ddd\u79bb] \u9ed8\u8ba4\u4e3a[0.006, 0.006] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_tendon_property(name=\"\u94a2\u675f1\",tendon_type=0,material_name=\"\u6750\u65991\",duct_type=1,steel_type=1,\r\nsteel_detail=[0.00014,0.10,0.25,0.0015],loos_detail=(1,1,1))\r\n``` \r\nReturns:\u65e0\r\n### add_tendon_3d\r\n\u6dfb\u52a0\u4e09\u7ef4\u94a2\u675f\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u540d\u79f0 \r\n> property_name:\u94a2\u675f\u7279\u6027\u540d\u79f0 \r\n> group_name:\u9ed8\u8ba4\u94a2\u675f\u7ec4 \r\n> num:\u6839\u6570 \r\n> line_type:1-\u5bfc\u7ebf\u70b9 2-\u6298\u7ebf\u70b9 \r\n> position_type: \u5b9a\u4f4d\u65b9\u5f0f 1-\u76f4\u7ebf 2-\u8f68\u8ff9\u7ebf \r\n> control_points: \u63a7\u5236\u70b9\u4fe1\u606f[(x1,y1,z1,r1),(x2,y2,z2,r2)....] \r\n> point_insert: \u5b9a\u4f4d\u65b9\u5f0f \r\n> _\u76f4\u7ebf: \u63d2\u5165\u70b9\u5750\u6807[x,y,z]_ \r\n> _\u8f68\u8ff9\u7ebf: [\u63d2\u5165\u7aef(1-I 2-J),\u63d2\u5165\u65b9\u5411(1-ij 2-ji),\u63d2\u5165\u5355\u5143id]_ \r\n> tendon_direction:\u76f4\u7ebf\u94a2\u675fX\u65b9\u5411\u5411\u91cf \u9ed8\u8ba4\u4e3a[1,0,0] (\u8f68\u8ff9\u7ebf\u4e0d\u7528\u8d4b\u503c) \r\n> _x\u8f74-[1,0,0] y\u8f74-[0,1,0] z\u8f74-[0,0,1]_ \r\n> rotation_angle:\u7ed5\u94a2\u675f\u65cb\u8f6c\u89d2\u5ea6 \r\n> track_group:\u8f68\u8ff9\u7ebf\u7ed3\u6784\u7ec4\u540d (\u76f4\u7ebf\u65f6\u4e0d\u7528\u8d4b\u503c) \r\n> projection:\u76f4\u7ebf\u94a2\u675f\u6295\u5f71 (\u9ed8\u8ba4\u4e3atrue) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tendon_3d(\"BB1\",property_name=\"22-15\",num=2,position_type=1,\r\ncontrol_points=[(0,0,-1,0),(10,0,-1,0)],point_insert=(0,0,0))\r\nmdb.add_tendon_3d(\"BB1\",property_name=\"22-15\",num=2,position_type=2,\r\ncontrol_points=[(0,0,-1,0),(10,0,-1,0)],point_insert=(1,1,1),track_group=\"\u8f68\u8ff9\u7ebf\u7ed3\u6784\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### add_tendon_2d\r\n\u6dfb\u52a0\u4e09\u7ef4\u94a2\u675f\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u540d\u79f0 \r\n> property_name:\u94a2\u675f\u7279\u6027\u540d\u79f0 \r\n> group_name:\u9ed8\u8ba4\u94a2\u675f\u7ec4 \r\n> num:\u6839\u6570 \r\n> line_type:1-\u5bfc\u7ebf\u70b9 2-\u6298\u7ebf\u70b9 \r\n> position_type: \u5b9a\u4f4d\u65b9\u5f0f 1-\u76f4\u7ebf 2-\u8f68\u8ff9\u7ebf \r\n> symmetry: \u5bf9\u79f0\u70b9 0-\u5de6\u7aef\u70b9 1-\u53f3\u7aef\u70b9 2-\u4e0d\u5bf9\u79f0 \r\n> control_points: \u63a7\u5236\u70b9\u4fe1\u606f[(x1,z1,r1),(x2,z2,r2)....] \u4e09\u7ef4[(x1,y1,z1,r1),(x2,y2,z2,r2)....] \r\n> control_points_lateral: \u63a7\u5236\u70b9\u6a2a\u5f2f\u4fe1\u606f[(x1,y1,r1),(x2,y2,r2)....]\uff0c\u65e0\u6a2a\u5f2f\u65f6\u4e0d\u5fc5\u8f93\u5165 \r\n> point_insert: \u5b9a\u4f4d\u65b9\u5f0f \r\n> _\u76f4\u7ebf: \u63d2\u5165\u70b9\u5750\u6807[x,y,z]_ \r\n> _\u8f68\u8ff9\u7ebf: [\u63d2\u5165\u7aef(1-I 2-J),\u63d2\u5165\u65b9\u5411(1-ij 2-ji),\u63d2\u5165\u5355\u5143id]_ \r\n> tendon_direction:\u76f4\u7ebf\u94a2\u675fX\u65b9\u5411\u5411\u91cf \u9ed8\u8ba4\u4e3a[1,0,0] (\u8f68\u8ff9\u7ebf\u4e0d\u7528\u8d4b\u503c) \r\n> _x\u8f74-[1,0,0] y\u8f74-[0,1,0] z\u8f74-[0,0,1]_ \r\n> rotation_angle:\u7ed5\u94a2\u675f\u65cb\u8f6c\u89d2\u5ea6 \r\n> track_group:\u8f68\u8ff9\u7ebf\u7ed3\u6784\u7ec4\u540d (\u76f4\u7ebf\u65f6\u4e0d\u7528\u8d4b\u503c) \r\n> projection:\u76f4\u7ebf\u94a2\u675f\u6295\u5f71 (\u9ed8\u8ba4\u4e3atrue) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_tendon_2d(name=\"BB1\",property_name=\"22-15\",num=2,position_type=1,\r\ncontrol_points=[(0,-1,0),(10,-1,0)],point_insert=(0,0,0))\r\nmdb.add_tendon_2d(name=\"BB1\",property_name=\"22-15\",num=2,position_type=2,\r\ncontrol_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group=\"\u8f68\u8ff9\u7ebf\u7ed3\u6784\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_tendon\r\n\u6dfb\u52a0\u4e09\u7ef4\u94a2\u675f\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u540d\u79f0 \r\n> new_name:\u65b0\u94a2\u675f\u540d\u79f0 \r\n> tendon_2d:\u662f\u5426\u4e3a2\u7ef4\u94a2\u675f \r\n> property_name:\u94a2\u675f\u7279\u6027\u540d\u79f0 \r\n> group_name:\u9ed8\u8ba4\u94a2\u675f\u7ec4 \r\n> num:\u6839\u6570 \r\n> line_type:1-\u5bfc\u7ebf\u70b9 2-\u6298\u7ebf\u70b9 \r\n> position_type: \u5b9a\u4f4d\u65b9\u5f0f 1-\u76f4\u7ebf 2-\u8f68\u8ff9\u7ebf \r\n> symmetry: \u5bf9\u79f0\u70b9 0-\u5de6\u7aef\u70b9 1-\u53f3\u7aef\u70b9 2-\u4e0d\u5bf9\u79f0 \r\n> control_points: \u63a7\u5236\u70b9\u4fe1\u606f\u4e8c\u7ef4[(x1,z1,r1),(x2,z2,r2)....] \r\n> control_points_lateral: \u63a7\u5236\u70b9\u6a2a\u5f2f\u4fe1\u606f[(x1,y1,r1),(x2,y2,r2)....]\uff0c\u65e0\u6a2a\u5f2f\u65f6\u4e0d\u5fc5\u8f93\u5165 \r\n> point_insert: \u5b9a\u4f4d\u65b9\u5f0f \r\n> _\u76f4\u7ebf: \u63d2\u5165\u70b9\u5750\u6807[x,y,z]_ \r\n> _\u8f68\u8ff9\u7ebf: [\u63d2\u5165\u7aef(1-I 2-J),\u63d2\u5165\u65b9\u5411(1-ij 2-ji),\u63d2\u5165\u5355\u5143id]_ \r\n> tendon_direction:\u76f4\u7ebf\u94a2\u675fX\u65b9\u5411\u5411\u91cf \u9ed8\u8ba4\u4e3a[1,0,0] (\u8f68\u8ff9\u7ebf\u4e0d\u7528\u8d4b\u503c) \r\n> _x\u8f74-[1,0,0] y\u8f74-[0,1,0] z\u8f74-[0,0,1]_ \r\n> rotation_angle:\u7ed5\u94a2\u675f\u65cb\u8f6c\u89d2\u5ea6 \r\n> track_group:\u8f68\u8ff9\u7ebf\u7ed3\u6784\u7ec4\u540d (\u76f4\u7ebf\u65f6\u4e0d\u7528\u8d4b\u503c) \r\n> projection:\u76f4\u7ebf\u94a2\u675f\u6295\u5f71 (\u9ed8\u8ba4\u4e3atrue) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_tendon(name=\"BB1\",property_name=\"22-15\",num=2,position_type=1,\r\ncontrol_points=[(0,-1,0),(10,-1,0)],point_insert=(0,0,0))\r\nmdb.update_tendon(name=\"BB1\",property_name=\"22-15\",num=2,position_type=2,\r\ncontrol_points=[(0,-1,0),(10,-1,0)],point_insert=(1,1,1),track_group=\"\u8f68\u8ff9\u7ebf\u7ed3\u6784\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_element_component_type\r\n\u8d4b\u4e88\u5355\u5143\u6784\u4ef6\u7c7b\u578b\r\n> \u53c2\u6570: \r\n> ids: \u94a2\u675f\u6784\u4ef6\u6240\u5728\u5355\u5143\u7f16\u53f7\u96c6\u5408 \r\n> component_type:0-\u94a2\u7ed3\u6784\u6784\u4ef6 1-\u94a2\u7b4b\u6df7\u51dd\u571f\u6784\u4ef6 2-\u9884\u5e94\u529b\u6df7\u51dd\u571f\u6784\u4ef6 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_element_component_type(ids=[1,2,3,4],component_type=2)\r\n``` \r\nReturns: \u65e0\r\n### remove_tendon\r\n\u6309\u7167\u540d\u79f0\u6216\u7f16\u53f7\u5220\u9664\u94a2\u675f,\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u94a2\u675f\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u540d\u79f0 \r\n> index:\u94a2\u675f\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_tendon(name=\"\u94a2\u675f1\")\r\nmdb.remove_tendon(index=1)\r\nmdb.remove_tendon()\r\n``` \r\nReturns: \u65e0\r\n### remove_tendon_property\r\n\u6309\u7167\u540d\u79f0\u6216\u7f16\u53f7\u5220\u9664\u94a2\u675f\u7ec4,\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u94a2\u675f\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u94a2\u675f\u7ec4\u540d\u79f0 \r\n> index:\u94a2\u675f\u7ec4\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_tendon_property(name=\"\u94a2\u675f\u7279\u60271\")\r\nmdb.remove_tendon_property(index=1)\r\nmdb.remove_tendon_property()\r\n``` \r\nReturns: \u65e0\r\n### update_tendon_group\r\n\u66f4\u65b0\u94a2\u675f\u7ec4\u540d\r\n> \u53c2\u6570: \r\n> name:\u539f\u94a2\u675f\u7ec4\u540d \r\n> new_name:\u65b0\u94a2\u675f\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_tendon_group(\"\u94a2\u675f\u7ec41\",\"\u94a2\u675f\u7ec42\")\r\n``` \r\nReturns: \u65e0\r\n### add_pre_stress\r\n\u6dfb\u52a0\u9884\u5e94\u529b\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> tendon_name:\u94a2\u675f\u540d,\u652f\u6301\u94a2\u675f\u540d\u6216\u94a2\u675f\u540d\u5217\u8868 \r\n> tension_type:\u9884\u5e94\u529b\u7c7b\u578b \r\n> _0-\u59cb\u7aef 1-\u672b\u7aef 2-\u4e24\u7aef_ \r\n> force:\u9884\u5e94\u529b \r\n> group_name:\u8fb9\u754c\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_pre_stress(case_name=\"\u8377\u8f7d\u5de5\u51b5\u540d\",tendon_name=\"\u94a2\u675f1\",force=1390000)\r\n``` \r\nReturns: \u65e0\r\n### remove_pre_stress\r\n\u5220\u9664\u9884\u5e94\u529b\r\n> \u53c2\u6570: \r\n> tendon_name:\u94a2\u675f\u7ec4,\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u9884\u5e94\u529b\u8377\u8f7d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_pre_stress(tendon_name=\"\u94a2\u675f1\")\r\nmdb.remove_pre_stress()\r\n``` \r\nReturns: \u65e0\r\n## \u6e29\u5ea6\u4e0e\u5236\u9020\u504f\u5dee\u8377\u8f7d\r\n### add_deviation_parameter\r\n\u6dfb\u52a0\u5236\u9020\u8bef\u5dee\r\n> \u53c2\u6570: \r\n> name:\u540d\u79f0 \r\n> element_type:\u5355\u5143\u7c7b\u578b 1-\u6881\u5355\u5143 2-\u677f\u5355\u5143 \r\n> parameters:\u53c2\u6570\u5217\u8868 \r\n> _\u6881\u6746\u5355\u5143:[\u8f74\u5411,I\u7aefX\u5411\u8f6c\u89d2,I\u7aefY\u5411\u8f6c\u89d2,I\u7aefZ\u5411\u8f6c\u89d2,J\u7aefX\u5411\u8f6c\u89d2,J\u7aefY\u5411\u8f6c\u89d2,J\u7aefZ\u5411\u8f6c\u89d2]_ \r\n> _\u677f\u5355\u5143:[X\u5411\u4f4d\u79fb,Y\u5411\u4f4d\u79fb,Z\u5411\u4f4d\u79fb,X\u5411\u8f6c\u89d2,Y\u5411\u8f6c\u89d2]_ \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_deviation_parameter(name=\"\u6881\u7aef\u5236\u9020\u8bef\u5dee\",element_type=1,parameters=[1,0,0,0,0,0,0])\r\nmdb.add_deviation_parameter(name=\"\u677f\u7aef\u5236\u9020\u8bef\u5dee\",element_type=1,parameters=[1,0,0,0,0])\r\n``` \r\nReturns: \u65e0\r\n### update_deviation_parameter\r\n\u6dfb\u52a0\u5236\u9020\u8bef\u5dee\r\n> \u53c2\u6570: \r\n> name:\u540d\u79f0 \r\n> new_name:\u65b0\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\u540d\u79f0 \r\n> element_type:\u5355\u5143\u7c7b\u578b 1-\u6881\u5355\u5143 2-\u677f\u5355\u5143 \r\n> parameters:\u53c2\u6570\u5217\u8868 \r\n> _\u6881\u6746\u5355\u5143:[\u8f74\u5411,I\u7aefX\u5411\u8f6c\u89d2,I\u7aefY\u5411\u8f6c\u89d2,I\u7aefZ\u5411\u8f6c\u89d2,J\u7aefX\u5411\u8f6c\u89d2,J\u7aefY\u5411\u8f6c\u89d2,J\u7aefZ\u5411\u8f6c\u89d2]_ \r\n> _\u677f\u5355\u5143:[X\u5411\u4f4d\u79fb,Y\u5411\u4f4d\u79fb,Z\u5411\u4f4d\u79fb,X\u5411\u8f6c\u89d2,Y\u5411\u8f6c\u89d2]_ \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_deviation_parameter(name=\"\u6881\u7aef\u5236\u9020\u8bef\u5dee\",element_type=1,parameters=[1,0,0,0,0,0,0])\r\nmdb.update_deviation_parameter(name=\"\u677f\u7aef\u5236\u9020\u8bef\u5dee\",element_type=1,parameters=[1,0,0,0,0])\r\n``` \r\nReturns: \u65e0\r\n### remove_deviation_parameter\r\n\u5220\u9664\u6307\u5b9a\u5236\u9020\u504f\u5dee\u53c2\u6570\r\n> \u53c2\u6570: \r\n> name:\u5236\u9020\u504f\u5dee\u53c2\u6570\u540d \r\n> para_type:\u5236\u9020\u504f\u5dee\u7c7b\u578b 1-\u6881\u5355\u5143 2-\u677f\u5355\u5143 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_deviation_parameter(name=\"\u53c2\u65701\",para_type=1)\r\n``` \r\nReturns: \u65e0\r\n### add_deviation_load\r\n\u6dfb\u52a0\u5236\u9020\u8bef\u5dee\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> parameters:\u53c2\u6570\u540d\u5217\u8868 \r\n> _\u6881\u6746\u5355\u5143\u65f6:\u5236\u9020\u8bef\u5dee\u53c2\u6570\u540d\u79f0_ \r\n> _\u677f\u5355\u5143\u65f6: [I\u7aef\u8bef\u5dee\u540d,J\u7aef\u8bef\u5dee\u540d,K\u7aef\u8bef\u5dee\u540d,L\u7aef\u8bef\u5dee\u540d]_ \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_deviation_load(element_id=1,case_name=\"\u5de5\u51b51\",parameters=\"\u6881\u7aef\u8bef\u5dee\")\r\nmdb.add_deviation_load(element_id=2,case_name=\"\u5de5\u51b51\",parameters=[\"\u677f\u7aef\u8bef\u5dee1\",\"\u677f\u7aef\u8bef\u5dee2\",\"\u677f\u7aef\u8bef\u5dee3\",\"\u677f\u7aef\u8bef\u5dee4\"])\r\n``` \r\nReturns: \u65e0\r\n### remove_deviation_load\r\n\u5220\u9664\u6307\u5b9a\u5236\u9020\u504f\u5dee\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> group_name: \u8377\u8f7d\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_deviation_load(case_name=\"\u5de5\u51b51\",element_id=1,group_name=\"\u8377\u8f7d\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### add_element_temperature\r\n\u6dfb\u52a0\u5355\u5143\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> temperature:\u6700\u7ec8\u6e29\u5ea6 \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_element_temperature(element_id=1,case_name=\"\u81ea\u91cd\",temperature=1,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### remove_element_temperature\r\n\u5220\u9664\u6307\u5b9a\u5355\u5143\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_element_temperature(case_name=\"\u8377\u8f7d\u5de5\u51b51\",element_id=1)\r\n``` \r\nReturns: \u65e0\r\n### add_gradient_temperature\r\n\u6dfb\u52a0\u68af\u5ea6\u6e29\u5ea6\r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_gradient_temperature(element_id=1,case_name=\"\u8377\u8f7d\u5de5\u51b51\",group_name=\"\u8377\u8f7d\u7ec4\u540d1\",temperature=10)\r\nmdb.add_gradient_temperature(element_id=2,case_name=\"\u8377\u8f7d\u5de5\u51b52\",group_name=\"\u8377\u8f7d\u7ec4\u540d2\",temperature=10,element_type=2)\r\n``` \r\nReturns: \u65e0\r\n### remove_gradient_temperature\r\n\u5220\u9664\u6881\u6216\u677f\u5355\u5143\u68af\u5ea6\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_gradient_temperature(case_name=\"\u5de5\u51b51\",element_id=1)\r\n``` \r\nReturns: \u65e0\r\n### add_beam_section_temperature\r\n\u6dfb\u52a0\u6881\u622a\u9762\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6574\u6570\u6216\u6574\u6570\u578b\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> code_index:\u89c4\u8303\u7f16\u53f7 (1-\u516c\u8def\u89c4\u83032015 2-\u7f8e\u89c42017) \r\n> sec_type:\u622a\u9762\u7c7b\u578b(1-\u6df7\u51dd\u571f 2-\u7ec4\u5408\u6881) \r\n> t1:\u6e29\u5ea61 \r\n> t2:\u6e29\u5ea62 \r\n> t3:\u6e29\u5ea63 \r\n> thick:\u539a\u5ea6 \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_beam_section_temperature(element_id=1,case_name=\"\u5de5\u51b51\",code_index=1,sec_type=1,t1=-4.2,t2=-1)\r\n``` \r\nReturns: \u65e0\r\n### remove_beam_section_temperature\r\n\u5220\u9664\u6307\u5b9a\u6881\u6216\u677f\u5355\u5143\u6881\u622a\u9762\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_beam_section_temperature(case_name=\"\u5de5\u51b51\",element_id=1)\r\n``` \r\nReturns: \u65e0\r\n### add_index_temperature\r\n\u6dfb\u52a0\u6307\u6570\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> temperature:\u6e29\u5dee \r\n> index:\u6307\u6570 \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_index_temperature(element_id=1,case_name=\"\u5de5\u51b51\",temperature=20,index=2)\r\n``` \r\nReturns: \u65e0\r\n### remove_index_temperature\r\n\u5220\u9664\u6881\u5355\u5143\u6307\u6570\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_index_temperature(case_name=\"\u5de5\u51b51\",element_id=1)\r\n``` \r\nReturns: \u65e0\r\n### add_top_plate_temperature\r\n\u6dfb\u52a0\u9876\u677f\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7 \r\n> case_name:\u8377\u8f7d \r\n> temperature:\u6e29\u5dee\uff0c\u6700\u7ec8\u6e29\u5ea6\u4e8e\u521d\u59cb\u6e29\u5ea6\u4e4b\u5dee \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_top_plate_temperature(element_id=1,case_name=\"\u5de5\u51b51\",temperature=40,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### remove_top_plate_temperature\r\n\u5220\u9664\u6881\u5355\u5143\u9876\u677f\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_top_plate_temperature(case_name=\"\u8377\u8f7d\u5de5\u51b51\",element_id=1)\r\n``` \r\nReturns: \u65e0\r\n### add_custom_temperature\r\n\u6dfb\u52a0\u6881\u81ea\u5b9a\u4e49\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> group_name:\u6307\u5b9a\u8377\u8f7d\u7ec4,\u540e\u7eed\u5347\u7ea7\u5f00\u653e\u6307\u5b9a\u8377\u8f7d\u7ec4\u5220\u9664\u529f\u80fd \r\n> orientation: 1-\u5c40\u90e8\u5750\u6807z 2-\u5c40\u90e8\u5750\u6807y \r\n> temperature_data:\u81ea\u5b9a\u4e49\u6570\u636e[(\u53c2\u8003\u4f4d\u7f6e1-\u9876 2-\u5e95,\u9ad8\u5ea6,\u6e29\u5ea6)...] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_custom_temperature(case_name=\"\u8377\u8f7d\u5de5\u51b51\",element_id=1,orientation=1,temperature_data=[(1,1,20),(1,2,10)])\r\n``` \r\nReturns: \u65e0\r\n## \u9759\u529b\u8377\u8f7d\u64cd\u4f5c\r\n### remove_custom_temperature\r\n\u5220\u9664\u6881\u5355\u5143\u81ea\u5b9a\u4e49\u6e29\u5ea6\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_custom_temperature(case_name=\"\u5de5\u51b51\",element_id=1)\r\n``` \r\nReturns: \u65e0\r\n## \u9759\u529b\u8377\u8f7d\u64cd\u4f5c\r\n### add_nodal_force\r\n\u6dfb\u52a0\u8282\u70b9\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> load_info:\u8377\u8f7d\u4fe1\u606f\u5217\u8868 [Fx,Fy,Fz,Mx,My,Mz] \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_nodal_force(case_name=\"\u8377\u8f7d\u5de5\u51b51\",node_id=1,load_info=[1,1,1,1,1,1],group_name=\"\u9ed8\u8ba4\u7ed3\u6784\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### remove_nodal_force\r\n\u5220\u9664\u8282\u70b9\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> node_id:\u8282\u70b9\u7f16\u53f7 \r\n> group_name:\u6307\u5b9a\u8377\u8f7d\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_nodal_force(case_name=\"\u8377\u8f7d\u5de5\u51b51\",node_id=1,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### add_node_displacement\r\n\u6dfb\u52a0\u8282\u70b9\u4f4d\u79fb\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7,\u652f\u6301\u6574\u578b\u6216\u6574\u6570\u578b\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> load_info:\u8282\u70b9\u4f4d\u79fb\u5217\u8868 [Dx,Dy,Dz,Rx,Ry,Rz] \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_node_displacement(case_name=\"\u8377\u8f7d\u5de5\u51b51\",node_id=1,load_info=(1,0,0,0,0,0),group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\nmdb.add_node_displacement(case_name=\"\u8377\u8f7d\u5de5\u51b51\",node_id=[1,2,3],load_info=(1,0,0,0,0,0),group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### remove_nodal_displacement\r\n\u5220\u9664\u8282\u70b9\u4f4d\u79fb\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> node_id:\u8282\u70b9\u7f16\u53f7,\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> group_name:\u6307\u5b9a\u8377\u8f7d\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_nodal_displacement(case_name=\"\u8377\u8f7d\u5de5\u51b51\",node_id=1,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### add_beam_element_load\r\n\u6dfb\u52a0\u6881\u5355\u5143\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7,\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> load_type:\u8377\u8f7d\u7c7b\u578b \r\n> _ 1-\u96c6\u4e2d\u529b 2-\u96c6\u4e2d\u5f2f\u77e9 3-\u5206\u5e03\u529b 4-\u5206\u5e03\u5f2f\u77e9 \r\n> coord_system:\u5750\u6807\u7cfb \r\n> _1-\u6574\u4f53\u5750\u6807X 2-\u6574\u4f53\u5750\u6807Y 3-\u6574\u4f53\u5750\u6807Z 4-\u5c40\u90e8\u5750\u6807X 5-\u5c40\u90e8\u5750\u6807Y 6-\u5c40\u90e8\u5750\u6807Z_ \r\n> is_abs: \u8377\u8f7d\u4f4d\u7f6e\u8f93\u5165\u65b9\u5f0f\uff0cTrue-\u7edd\u5bf9\u503c False-\u76f8\u5bf9\u503c \r\n> list_x:\u8377\u8f7d\u4f4d\u7f6e\u4fe1\u606f ,\u8377\u8f7d\u8ddd\u79bb\u5355\u5143I\u7aef\u7684\u8ddd\u79bb\uff0c\u53ef\u8f93\u5165\u7edd\u5bf9\u8ddd\u79bb\u6216\u76f8\u5bf9\u8ddd\u79bb \r\n> list_load:\u8377\u8f7d\u6570\u503c\u4fe1\u606f \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n> load_bias:\u504f\u5fc3\u8377\u8f7d (\u662f\u5426\u504f\u5fc3,0-\u4e2d\u5fc3 1-\u504f\u5fc3,\u504f\u5fc3\u5750\u6807\u7cfb-int,\u504f\u5fc3\u8ddd\u79bb) \r\n> projected:\u8377\u8f7d\u662f\u5426\u6295\u5f71 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_beam_element_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\",element_id=1,load_type=1,list_x=[0.1,0.5,0.8],list_load=[100,100,100])\r\nmdb.add_beam_element_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\",element_id=1,load_type=3,list_x=[0.4,0.8],list_load=[100,200])\r\n``` \r\nReturns: \u65e0\r\n### remove_beam_element_load\r\n\u5220\u9664\u6881\u5355\u5143\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u53f7\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> load_type:\u8377\u8f7d\u7c7b\u578b \r\n> _1-\u96c6\u4e2d\u529b 2-\u96c6\u4e2d\u5f2f\u77e9 3-\u5206\u5e03\u529b 4-\u5206\u5e03\u5f2f\u77e9_ \r\n> group_name:\u8377\u8f7d\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_beam_element_load(case_name=\"\u5de5\u51b51\",element_id=1,load_type=1,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### add_initial_tension_load\r\n\u6dfb\u52a0\u521d\u59cb\u62c9\u529b\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> tension:\u521d\u59cb\u62c9\u529b \r\n> tension_type:\u5f20\u62c9\u7c7b\u578b 0-\u589e\u91cf 1-\u5168\u91cf \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_initial_tension_load(element_id=1,case_name=\"\u5de5\u51b51\",tension=100,tension_type=1)\r\n``` \r\nReturns: \u65e0\r\n### remove_initial_tension_load\r\n\u5220\u9664\u521d\u59cb\u62c9\u529b\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_initial_tension_load(case_name=\"\u5de5\u51b51\",element_id=1, group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### add_cable_length_load\r\n\u6dfb\u52a0\u7d22\u957f\u5f20\u62c9\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> length:\u957f\u5ea6 \r\n> tension_type:\u5f20\u62c9\u7c7b\u578b 0-\u589e\u91cf 1-\u5168\u91cf \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_cable_length_load(element_id=1,case_name=\"\u5de5\u51b51\",length=1,tension_type=1)\r\n``` \r\nReturns: \u65e0\r\n### remove_cable_length_load\r\n\u5220\u9664\u7d22\u957f\u5f20\u62c9\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u53f7\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_cable_length_load(case_name=\"\u5de5\u51b51\",element_id=1, group_name= \"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### add_plate_element_load\r\n\u6dfb\u52a0\u7248\u5355\u5143\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> load_type:\u8377\u8f7d\u7c7b\u578b \r\n> _1-\u96c6\u4e2d\u529b 2-\u96c6\u4e2d\u5f2f\u77e9 3-\u5206\u5e03\u529b 4-\u5206\u5e03\u5f2f\u77e9_ \r\n> load_place:\u8377\u8f7d\u4f4d\u7f6e \r\n> _0-\u9762IJKL 1-\u8fb9IJ 2-\u8fb9JK 3-\u8fb9KL 4-\u8fb9LI (\u4ec5\u5206\u5e03\u8377\u8f7d\u9700\u8981)_ \r\n> coord_system:\u5750\u6807\u7cfb (\u9ed8\u8ba43) \r\n> _1-\u6574\u4f53\u5750\u6807X 2-\u6574\u4f53\u5750\u6807Y 3-\u6574\u4f53\u5750\u6807Z 4-\u5c40\u90e8\u5750\u6807X 5-\u5c40\u90e8\u5750\u6807Y 6-\u5c40\u90e8\u5750\u6807Z_ \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n> list_load:\u8377\u8f7d\u5217\u8868 \r\n> list_xy:\u8377\u8f7d\u4f4d\u7f6e\u4fe1\u606f [IJ\u65b9\u5411\u7edd\u5bf9\u8ddd\u79bbx,IL\u65b9\u5411\u7edd\u5bf9\u8ddd\u79bby] (\u4ec5\u96c6\u4e2d\u8377\u8f7d\u9700\u8981) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_plate_element_load(element_id=1,case_name=\"\u5de5\u51b51\",load_type=1,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\",list_load=[1000],list_xy=(0.2,0.5))\r\n``` \r\nReturns: \u65e0\r\n### remove_plate_element_load\r\n\u5220\u9664\u6307\u5b9a\u8377\u8f7d\u5de5\u51b5\u4e0b\u6307\u5b9a\u5355\u5143\u7684\u677f\u5355\u5143\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> element_id:\u5355\u5143\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> load_type: \u677f\u5355\u5143\u7c7b\u578b 1\u96c6\u4e2d\u529b 2-\u96c6\u4e2d\u5f2f\u77e9 3-\u5206\u5e03\u7ebf\u529b 4-\u5206\u5e03\u7ebf\u5f2f\u77e9 5-\u5206\u5e03\u9762\u529b 6-\u5206\u5e03\u9762\u5f2f\u77e9 \r\n> group_name:\u8377\u8f7d\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_plate_element_load(case_name=\"\u5de5\u51b51\",element_id=1,load_type=1,group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### add_plane_load_type\r\n\u6dfb\u52a0\u5206\u914d\u9762\u8377\u8f7d\u7c7b\u578b\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u7c7b\u578b\u540d\u79f0 \r\n> load_type:\u8377\u8f7d\u7c7b\u578b 1-\u96c6\u4e2d\u8377\u8f7d 2-\u7ebf\u8377\u8f7d 3-\u9762\u8377\u8f7d \r\n> point_list:\u70b9\u5217\u8868\uff0c\u96c6\u4e2d\u529b\u65f6\u4e3a\u5217\u8868\u5185\u5143\u7d20\u4e3a [x,y,force] \u7ebf\u8377\u8f7d\u4e0e\u9762\u8377\u8f7d\u65f6\u4e3a [x,y] \r\n> load:\u8377\u8f7d\u503c,\u4ec5\u7ebf\u8377\u8f7d\u4e0e\u9762\u8377\u8f7d\u9700\u8981 \r\n> copy_x:\u590d\u5236\u5230x\u8f74\u8ddd\u79bb\uff0c\u4e0eUI\u4e00\u81f4\uff0c\u652f\u63013@2\u5f62\u5f0f\u5b57\u7b26\u4e32\uff0c\u9017\u53f7\u5206\u9694 \r\n> copy_y:\u590d\u5236\u5230y\u8f74\u8ddd\u79bb\uff0c\u4e0eUI\u4e00\u81f4\uff0c\u652f\u63013@2\u5f62\u5f0f\u5b57\u7b26\u4e32\uff0c\u9017\u53f7\u5206\u9694 \r\n> describe:\u63cf\u8ff0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_plane_load_type(name=\"\u8377\u8f7d\u7c7b\u578b1\",load_type=1,point_list=[[1,0,10],[1,1,10],[1,2,10]])\r\nmdb.add_plane_load_type(name=\"\u8377\u8f7d\u7c7b\u578b2\",load_type=2,point_list=[[1,0],[1,1]],load=10)\r\n``` \r\nReturns: \u65e0\r\n### add_plane_load\r\n\u6dfb\u52a0\u5206\u914d\u9762\u8377\u8f7d\u7c7b\u578b\r\n> \u53c2\u6570: \r\n> index:\u8377\u8f7d\u7f16\u53f7,\u9ed8\u8ba4\u81ea\u52a8\u8bc6\u522b \r\n> case_name:\u5de5\u51b5\u540d \r\n> type_name:\u8377\u8f7d\u7c7b\u578b\u540d\u79f0 \r\n> point1:\u7b2c\u4e00\u70b9(\u539f\u70b9) \r\n> point2:\u7b2c\u4e00\u70b9(\u5728x\u8f74\u4e0a) \r\n> point3:\u7b2c\u4e00\u70b9(\u5728y\u8f74\u4e0a) \r\n> plate_ids:\u6307\u5b9a\u677f\u5355\u5143\u3002\u9ed8\u8ba4\u65f6\u4e3a\u5168\u90e8\u677f\u5355\u5143 \r\n> coord_system:\u63cf\u8ff0 \r\n> group_name:\u63cf\u8ff0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_plane_load(index=1,case_name=\"\u5de5\u51b51\",type_name=\"\u8377\u8f7d\u7c7b\u578b1\",point1=(0,0,0),\r\npoint2=(1,0,0),point3=(0,1,0),group_name=\"\u9ed8\u8ba4\u8377\u8f7d\u7ec4\")\r\n``` \r\nReturns: \u65e0\r\n### update_plane_load_type\r\n\u66f4\u65b0\u677f\u5355\u5143\u7c7b\u578b\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u7c7b\u578b\u540d\u79f0 \r\n> new_name:\u65b0\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\u540d\u79f0 \r\n> load_type:\u8377\u8f7d\u7c7b\u578b 1-\u96c6\u4e2d\u8377\u8f7d 2-\u7ebf\u8377\u8f7d 3-\u9762\u8377\u8f7d \r\n> point_list:\u70b9\u5217\u8868\uff0c\u96c6\u4e2d\u529b\u65f6\u4e3a\u5217\u8868\u5185\u5143\u7d20\u4e3a [x,y,force] \u7ebf\u8377\u8f7d\u4e0e\u9762\u8377\u8f7d\u65f6\u4e3a [x,y] \r\n> load:\u8377\u8f7d\u503c,\u4ec5\u7ebf\u8377\u8f7d\u4e0e\u9762\u8377\u8f7d\u9700\u8981 \r\n> copy_x:\u590d\u5236\u5230x\u8f74\u8ddd\u79bb\uff0c\u4e0eUI\u4e00\u81f4\uff0c\u652f\u63013@2\u5f62\u5f0f\u5b57\u7b26\u4e32\uff0c\u9017\u53f7\u5206\u9694 \r\n> copy_y:\u590d\u5236\u5230y\u8f74\u8ddd\u79bb\uff0c\u4e0eUI\u4e00\u81f4\uff0c\u652f\u63013@2\u5f62\u5f0f\u5b57\u7b26\u4e32\uff0c\u9017\u53f7\u5206\u9694 \r\n> describe:\u63cf\u8ff0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_plane_load_type(name=\"\u8377\u8f7d\u7c7b\u578b1\",load_type=1,point_list=[[1,0,10],[1,1,10],[1,2,10]])\r\nmdb.update_plane_load_type(name=\"\u8377\u8f7d\u7c7b\u578b2\",load_type=2,point_list=[[1,0],[1,1]],load=10)\r\n``` \r\nReturns: \u65e0\r\n### remove_plane_load\r\n\u6839\u636e\u8377\u8f7d\u7f16\u53f7\u5220\u9664\u5206\u914d\u9762\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> index: \u6307\u5b9a\u8377\u8f7d\u7f16\u53f7\uff0c\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u5206\u914d\u9762\u8377\u8f7d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_plane_load()\r\nmdb.remove_plane_load(index=1)\r\n``` \r\nReturns: \u65e0\r\n### remove_plane_load_type\r\n\u5220\u9664\u5206\u914d\u9762\u8377\u8f7d\u7c7b\u578b\r\n> \u53c2\u6570: \r\n> name: \u6307\u5b9a\u8377\u8f7d\u7c7b\u578b\uff0c\u9ed8\u8ba4\u5219\u5220\u9664\u6240\u6709\u5206\u914d\u9762\u8377\u8f7d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_plane_load_type(\"\u7c7b\u578b1\")\r\n``` \r\nReturns: \u65e0\r\n## \u8377\u8f7d\u5de5\u51b5\u64cd\u4f5c\r\n### add_sink_group\r\n\u6dfb\u52a0\u6c89\u964d\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u6c89\u964d\u7ec4\u540d \r\n> sink: \u6c89\u964d\u503c \r\n> node_ids: \u8282\u70b9\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_sink_group(name=\"\u6c89\u964d1\",sink=0.1,node_ids=[1,2,3])\r\n``` \r\nReturns: \u65e0\r\n### update_sink_group\r\n\u6dfb\u52a0\u6c89\u964d\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u6c89\u964d\u7ec4\u540d \r\n> new_name: \u65b0\u6c89\u964d\u7ec4\u540d,\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> sink: \u6c89\u964d\u503c \r\n> node_ids: \u8282\u70b9\u7f16\u53f7\uff0c\u652f\u6301\u6570\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_sink_group(name=\"\u6c89\u964d1\",sink=0.1,node_ids=[1,2,3])\r\n``` \r\nReturns: \u65e0\r\n### remove_sink_group\r\n\u6309\u7167\u540d\u79f0\u5220\u9664\u6c89\u964d\u7ec4\r\n> \u53c2\u6570: \r\n> name:\u6c89\u964d\u7ec4\u540d,\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u6c89\u964d\u7ec4 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_sink_group()\r\nmdb.remove_sink_group(name=\"\u6c89\u964d1\")\r\n``` \r\nReturns: \u65e0\r\n### add_sink_case\r\n\u6dfb\u52a0\u6c89\u964d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> sink_groups:\u6c89\u964d\u7ec4\u540d\uff0c\u652f\u6301\u5b57\u7b26\u4e32\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_sink_case(name=\"\u6c89\u964d\u5de5\u51b51\",sink_groups=[\"\u6c89\u964d1\",\"\u6c89\u964d2\"])\r\n``` \r\nReturns: \u65e0\r\n### update_sink_case\r\n\u6dfb\u52a0\u6c89\u964d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n> new_name: \u65b0\u6c89\u964d\u7ec4\u540d,\u9ed8\u8ba4\u4e0d\u4fee\u6539 \r\n> sink_groups:\u6c89\u964d\u7ec4\u540d\uff0c\u652f\u6301\u5b57\u7b26\u4e32\u6216\u5217\u8868 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_sink_case(name=\"\u6c89\u964d\u5de5\u51b51\",sink_groups=[\"\u6c89\u964d1\",\"\u6c89\u964d2\"])\r\n``` \r\nReturns: \u65e0\r\n### remove_sink_case\r\n\u6309\u7167\u540d\u79f0\u5220\u9664\u6c89\u964d\u5de5\u51b5,\u4e0d\u8f93\u5165\u540d\u79f0\u65f6\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u6c89\u964d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u6c89\u964d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_sink_case()\r\nmdb.remove_sink_case(name=\"\u6c89\u964d1\")\r\n``` \r\nReturns: \u65e0\r\n### add_concurrent_reaction\r\n\u6dfb\u52a0\u5e76\u53d1\u53cd\u529b\u7ec4\r\n> \u53c2\u6570: \r\n> names: \u7ed3\u6784\u7ec4\u540d\u79f0\u96c6\u5408 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_concurrent_reaction(names=[\"\u9ed8\u8ba4\u7ed3\u6784\u7ec4\"])\r\n``` \r\nReturns: \u65e0\r\n### remove_concurrent_reaction\r\n\u5220\u9664\u6240\u6709\u5e76\u53d1\u53cd\u529b\u7ec4\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_concurrent_reaction()\r\n``` \r\nReturns: \u65e0\r\n### add_concurrent_force\r\n\u521b\u5efa\u5e76\u53d1\u5185\u529b\u7ec4\r\n> \u53c2\u6570: \r\n> names: \u7ed3\u6784\u7ec4\u540d\u79f0\u96c6\u5408 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_concurrent_force(names=[\"\u9ed8\u8ba4\u7ed3\u6784\u7ec4\"])\r\n``` \r\nReturns: \u65e0\r\n### remove_concurrent_force\r\n\u5220\u9664\u6240\u6709\u5e76\u53d1\u5185\u529b\u7ec4\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_concurrent_force()\r\n``` \r\nReturns: \u65e0\r\n### add_load_case\r\n\u6dfb\u52a0\u8377\u8f7d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u5de5\u51b5\u540d \r\n> case_type:\u8377\u8f7d\u5de5\u51b5\u7c7b\u578b \r\n> -\"\u65bd\u5de5\u9636\u6bb5\u8377\u8f7d\", \"\u6052\u8f7d\", \"\u6d3b\u8f7d\", \"\u5236\u52a8\u529b\", \"\u98ce\u8377\u8f7d\",\"\u4f53\u7cfb\u6e29\u5ea6\u8377\u8f7d\",\"\u68af\u5ea6\u6e29\u5ea6\u8377\u8f7d\", \r\n> -\"\u957f\u8f68\u4f38\u7f29\u6320\u66f2\u529b\u8377\u8f7d\", \"\u8131\u8f68\u8377\u8f7d\", \"\u8239\u8236\u649e\u51fb\u8377\u8f7d\",\"\u6c7d\u8f66\u649e\u51fb\u8377\u8f7d\",\"\u957f\u8f68\u65ad\u8f68\u529b\u8377\u8f7d\", \"\u7528\u6237\u5b9a\u4e49\u8377\u8f7d\" \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_load_case(name=\"\u5de5\u51b51\",case_type=\"\u65bd\u5de5\u9636\u6bb5\u8377\u8f7d\")\r\n``` \r\nReturns: \u65e0\r\n### remove_load_case\r\n\u5220\u9664\u8377\u8f7d\u5de5\u51b5,\u53c2\u6570\u5747\u4e3a\u9ed8\u8ba4\u65f6\u5220\u9664\u5168\u90e8\u8377\u8f7d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> index:\u8377\u8f7d\u7f16\u53f7 \r\n> name:\u8377\u8f7d\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_load_case(index=1)\r\nmdb.remove_load_case(name=\"\u5de5\u51b51\")\r\nmdb.remove_load_case()\r\n``` \r\nReturns: \u65e0\r\n### update_load_case\r\n\u6dfb\u52a0\u8377\u8f7d\u5de5\u51b5\r\n> \u53c2\u6570: \r\n> name:\u5de5\u51b5\u540d \r\n> new_name:\u65b0\u5de5\u51b5\u540d \r\n> case_type:\u8377\u8f7d\u5de5\u51b5\u7c7b\u578b \r\n> -\"\u65bd\u5de5\u9636\u6bb5\u8377\u8f7d\", \"\u6052\u8f7d\", \"\u6d3b\u8f7d\", \"\u5236\u52a8\u529b\", \"\u98ce\u8377\u8f7d\",\"\u4f53\u7cfb\u6e29\u5ea6\u8377\u8f7d\",\"\u68af\u5ea6\u6e29\u5ea6\u8377\u8f7d\", \r\n> -\"\u957f\u8f68\u4f38\u7f29\u6320\u66f2\u529b\u8377\u8f7d\", \"\u8131\u8f68\u8377\u8f7d\", \"\u8239\u8236\u649e\u51fb\u8377\u8f7d\",\"\u6c7d\u8f66\u649e\u51fb\u8377\u8f7d\",\"\u957f\u8f68\u65ad\u8f68\u529b\u8377\u8f7d\", \"\u7528\u6237\u5b9a\u4e49\u8377\u8f7d\" \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_load_case(name=\"\u5de5\u51b51\",case_type=\"\u65bd\u5de5\u9636\u6bb5\u8377\u8f7d\")\r\n``` \r\nReturns: \u65e0\r\n### add_load_group\r\n\u6839\u636e\u8377\u8f7d\u7ec4\u540d\u79f0\u6dfb\u52a0\u8377\u8f7d\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u8377\u8f7d\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_load_group(name=\"\u8377\u8f7d\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### remove_load_group\r\n\u6839\u636e\u8377\u8f7d\u7ec4\u540d\u79f0\u5220\u9664\u8377\u8f7d\u7ec4,\u53c2\u6570\u4e3a\u9ed8\u8ba4\u65f6\u5220\u9664\u6240\u6709\u8377\u8f7d\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u8377\u8f7d\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_load_group(name=\"\u8377\u8f7d\u7ec41\")\r\n``` \r\nReturns: \u65e0\r\n### update_load_group\r\n\u6839\u636e\u8377\u8f7d\u7ec4\u540d\u79f0\u6dfb\u52a0\u8377\u8f7d\u7ec4\r\n> \u53c2\u6570: \r\n> name: \u8377\u8f7d\u7ec4\u540d\u79f0 \r\n> new_name: \u8377\u8f7d\u7ec4\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_load_group(name=\"\u8377\u8f7d\u7ec41\",new_name=\"\u8377\u8f7d\u7ec42\")\r\n``` \r\nReturns: \u65e0\r\n## \u65bd\u5de5\u9636\u6bb5\u64cd\u4f5c\r\n### add_construction_stage\r\n\u6dfb\u52a0\u65bd\u5de5\u9636\u6bb5\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> name:\u65bd\u5de5\u9636\u6bb5\u4fe1\u606f \r\n> duration:\u65f6\u957f \r\n> active_structures:\u6fc0\u6d3b\u7ed3\u6784\u7ec4\u4fe1\u606f [(\u7ed3\u6784\u7ec4\u540d,\u9f84\u671f,\u5b89\u88c5\u65b9\u6cd5,\u8ba1\u81ea\u91cd\u65bd\u5de5\u9636\u6bb5id),...] \r\n> _\u8ba1\u81ea\u91cd\u65bd\u5de5\u9636\u6bb5id: 0-\u4e0d\u8ba1\u81ea\u91cd,1-\u672c\u9636\u6bb5 n-\u7b2cn\u9636\u6bb5)_ \r\n> _\u5b89\u88c5\u65b9\u6cd5\uff1a1-\u53d8\u5f62\u6cd5 2-\u65e0\u5e94\u529b\u6cd5 3-\u63a5\u7ebf\u6cd5 4-\u5207\u7ebf\u6cd5 \r\n> delete_structures:\u949d\u5316\u7ed3\u6784\u7ec4\u4fe1\u606f [\u7ed3\u6784\u7ec41\uff0c\u7ed3\u6784\u7ec42,...] \r\n> active_boundaries:\u6fc0\u6d3b\u8fb9\u754c\u7ec4\u4fe1\u606f [(\u8fb9\u754c\u7ec41\uff0c\u4f4d\u7f6e),...] \r\n> _\u4f4d\u7f6e: 0-\u53d8\u5f62\u524d 1-\u53d8\u5f62\u540e_ \r\n> delete_boundaries:\u949d\u5316\u8fb9\u754c\u7ec4\u4fe1\u606f [\u8fb9\u754c\u7ec41\uff0c\u8fb9\u754c\u7ec42,...] \r\n> active_loads:\u6fc0\u6d3b\u8377\u8f7d\u7ec4\u4fe1\u606f [(\u8377\u8f7d\u7ec41,\u65f6\u95f4),...] \r\n> _\u65f6\u95f4: 0-\u5f00\u59cb 1-\u7ed3\u675f_ \r\n> delete_loads:\u949d\u5316\u8377\u8f7d\u7ec4\u4fe1\u606f [(\u8377\u8f7d\u7ec41,\u65f6\u95f4),...] \r\n> _\u65f6\u95f4: 0-\u5f00\u59cb 1-\u7ed3\u675f_ \r\n> temp_loads:\u4e34\u65f6\u8377\u8f7d\u4fe1\u606f [\u8377\u8f7d\u7ec41\uff0c\u8377\u8f7d\u7ec42,..] \r\n> index:\u65bd\u5de5\u9636\u6bb5\u63d2\u5165\u4f4d\u7f6e,\u4ece0\u5f00\u59cb,\u9ed8\u8ba4\u6dfb\u52a0\u5230\u6700\u540e \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_construction_stage(name=\"\u65bd\u5de5\u9636\u6bb51\",duration=5,active_structures=[(\"\u7ed3\u6784\u7ec41\",5,1,1),(\"\u7ed3\u6784\u7ec42\",5,1,1)],\r\nactive_boundaries=[(\"\u9ed8\u8ba4\u8fb9\u754c\u7ec4\",1)],active_loads=[(\"\u9ed8\u8ba4\u8377\u8f7d\u7ec41\",0)])\r\n``` \r\nReturns: \u65e0\r\n### update_construction_stage\r\n\u6dfb\u52a0\u65bd\u5de5\u9636\u6bb5\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> name:\u65bd\u5de5\u9636\u6bb5\u4fe1\u606f \r\n> new_name:\u65b0\u65bd\u5de5\u9636\u6bb5\u540d \r\n> duration:\u65f6\u957f \r\n> active_structures:\u6fc0\u6d3b\u7ed3\u6784\u7ec4\u4fe1\u606f [(\u7ed3\u6784\u7ec4\u540d,\u9f84\u671f,\u5b89\u88c5\u65b9\u6cd5,\u8ba1\u81ea\u91cd\u65bd\u5de5\u9636\u6bb5id),...] \r\n> _\u8ba1\u81ea\u91cd\u65bd\u5de5\u9636\u6bb5id: 0-\u4e0d\u8ba1\u81ea\u91cd,1-\u672c\u9636\u6bb5 n-\u7b2cn\u9636\u6bb5)_ \r\n> _\u5b89\u88c5\u65b9\u6cd5\uff1a1-\u53d8\u5f62\u6cd5 2-\u63a5\u7ebf\u6cd5 3-\u65e0\u5e94\u529b\u6cd5_ \r\n> delete_structures:\u949d\u5316\u7ed3\u6784\u7ec4\u4fe1\u606f [\u7ed3\u6784\u7ec41\uff0c\u7ed3\u6784\u7ec42,...] \r\n> active_boundaries:\u6fc0\u6d3b\u8fb9\u754c\u7ec4\u4fe1\u606f [(\u8fb9\u754c\u7ec41\uff0c\u4f4d\u7f6e),...] \r\n> _\u4f4d\u7f6e: 0-\u53d8\u5f62\u524d 1-\u53d8\u5f62\u540e_ \r\n> delete_boundaries:\u949d\u5316\u8fb9\u754c\u7ec4\u4fe1\u606f [\u8fb9\u754c\u7ec41\uff0c\u7ed3\u6784\u7ec42,...] \r\n> active_loads:\u6fc0\u6d3b\u8377\u8f7d\u7ec4\u4fe1\u606f [(\u8377\u8f7d\u7ec41,\u65f6\u95f4),...] \r\n> _\u65f6\u95f4: 0-\u5f00\u59cb 1-\u7ed3\u675f_ \r\n> delete_loads:\u949d\u5316\u8377\u8f7d\u7ec4\u4fe1\u606f [(\u8377\u8f7d\u7ec41,\u65f6\u95f4),...] \r\n> _\u65f6\u95f4: 0-\u5f00\u59cb 1-\u7ed3\u675f_ \r\n> temp_loads:\u4e34\u65f6\u8377\u8f7d\u4fe1\u606f [\u8377\u8f7d\u7ec41\uff0c\u8377\u8f7d\u7ec42,..] \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_construction_stage(name=\"\u65bd\u5de5\u9636\u6bb51\",duration=5,active_structures=[(\"\u7ed3\u6784\u7ec41\",5,1,1),(\"\u7ed3\u6784\u7ec42\",5,1,1)],\r\nactive_boundaries=[(\"\u9ed8\u8ba4\u8fb9\u754c\u7ec4\",1)],active_loads=[(\"\u9ed8\u8ba4\u8377\u8f7d\u7ec41\",0)])\r\n``` \r\nReturns: \u65e0\r\n### update_construction_stage_id\r\n\u66f4\u65b0\u90e8\u5206\u65bd\u5de5\u9636\u6bb5\u5230\u81f4\u7535\u7ed9\u7f16\u53f7\u4f4d\u7f6e\uff0c\u4ece1\u8ba1\u7b97\uff0c\u4f8b\u5982\u4ece{1,2,3}\u4e2d\u5c06 1,2\u79fb\u52a8\u52303\r\n> \u53c2\u6570: \r\n> stage_id:\u4fee\u6539\u65bd\u5de5\u9636\u6bb5\u7f16\u53f7 \r\n> target_id:\u76ee\u6807\u65bd\u5de5\u9636\u6bb5\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_construction_stage_id([1,2],3)\r\n``` \r\nReturns:\u65e0\r\n### update_weight_stage\r\n\u66f4\u65b0\u65bd\u5de5\u9636\u6bb5\u81ea\u91cd\r\n> \u53c2\u6570: \r\n> name:\u65bd\u5de5\u9636\u6bb5\u4fe1\u606f \r\n> structure_group_name:\u7ed3\u6784\u7ec4\u540d \r\n> weight_stage_id: \u8ba1\u81ea\u91cd\u9636\u6bb5\u53f7 (0-\u4e0d\u8ba1\u81ea\u91cd,1-\u672c\u9636\u6bb5 n-\u7b2cn\u9636\u6bb5) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_weight_stage(name=\"\u65bd\u5de5\u9636\u6bb51\",structure_group_name=\"\u9ed8\u8ba4\u7ed3\u6784\u7ec4\",weight_stage_id=1)\r\n``` \r\nReturns: \u65e0\r\n### update_all_stage_setting_type\r\n\u66f4\u65b0\u65bd\u5de5\u9636\u6bb5\u5b89\u88c5\u65b9\u5f0f\r\n> \u53c2\u6570: \r\n> setting_type:\u5b89\u88c5\u65b9\u5f0f (1-\u63a5\u7ebf\u6cd5 2-\u65e0\u5e94\u529b\u6cd5 3-\u53d8\u5f62\u6cd5 4-\u5207\u7ebf\u6cd5) \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_all_stage_setting_type(setting_type=1)\r\n``` \r\nReturns: \u65e0\r\n### remove_construction_stage\r\n\u6309\u7167\u65bd\u5de5\u9636\u6bb5\u540d\u5220\u9664\u65bd\u5de5\u9636\u6bb5,\u9ed8\u8ba4\u5220\u9664\u6240\u6709\u65bd\u5de5\u9636\u6bb5\r\n> \u53c2\u6570: \r\n> name:\u6240\u5220\u9664\u65bd\u5de5\u9636\u6bb5\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_construction_stage(name=\"\u65bd\u5de5\u9636\u6bb51\")\r\n``` \r\nReturns: \u65e0\r\n## \u8377\u8f7d\u7ec4\u5408\u64cd\u4f5c\r\n### add_load_combine\r\n\u6dfb\u52a0\u8377\u8f7d\u7ec4\u5408\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u7ec4\u5408\u540d \r\n> combine_type:\u8377\u8f7d\u7ec4\u5408\u7c7b\u578b 1-\u53e0\u52a0 2-\u5224\u522b 3-\u5305\u7edc 4-SRss 5-AbsSum \r\n> describe:\u63cf\u8ff0 \r\n> combine_info:\u8377\u8f7d\u7ec4\u5408\u4fe1\u606f [(\u8377\u8f7d\u5de5\u51b5\u7c7b\u578b,\u5de5\u51b5\u540d,\u7cfb\u6570)...] \u5de5\u51b5\u7c7b\u578b\u5982\u4e0b \r\n> _\"ST\"-\u9759\u529b\u8377\u8f7d\u5de5\u51b5 \"CS\"-\u65bd\u5de5\u9636\u6bb5\u8377\u8f7d\u5de5\u51b5 \"CB\"-\u8377\u8f7d\u7ec4\u5408_ \r\n> _\"MV\"-\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5 \"SM\"-\u6c89\u964d\u8377\u8f7d\u5de5\u51b5_ \"RS\"-\u53cd\u5e94\u8c31\u5de5\u51b5_ \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.add_load_combine(name=\"\u8377\u8f7d\u7ec4\u54081\",combine_type=1,describe=\"\u65e0\",combine_info=[(\"CS\",\"\u5408\u8ba1\u503c\",1),(\"CS\",\"\u6052\u8f7d\",1)])\r\n``` \r\nReturns: \u65e0\r\n### update_load_combine\r\n\u66f4\u65b0\u8377\u8f7d\u7ec4\u5408\r\n> \u53c2\u6570: \r\n> name:\u8377\u8f7d\u7ec4\u5408\u540d \r\n> combine_type:\u8377\u8f7d\u7ec4\u5408\u7c7b\u578b (1-\u53e0\u52a0 2-\u5224\u522b 3-\u5305\u7edc) \r\n> describe:\u63cf\u8ff0 \r\n> combine_info:\u8377\u8f7d\u7ec4\u5408\u4fe1\u606f [(\u8377\u8f7d\u5de5\u51b5\u7c7b\u578b,\u5de5\u51b5\u540d,\u7cfb\u6570)...] \u5de5\u51b5\u7c7b\u578b\u5982\u4e0b \r\n> _\"ST\"-\u9759\u529b\u8377\u8f7d\u5de5\u51b5 \"CS\"-\u65bd\u5de5\u9636\u6bb5\u8377\u8f7d\u5de5\u51b5 \"CB\"-\u8377\u8f7d\u7ec4\u5408_ \r\n> _\"MV\"-\u79fb\u52a8\u8377\u8f7d\u5de5\u51b5 \"SM\"-\u6c89\u964d\u8377\u8f7d\u5de5\u51b5_ \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.update_load_combine(name=\"\u8377\u8f7d\u7ec4\u54081\",combine_type=1,describe=\"\u65e0\",combine_info=[(\"CS\",\"\u5408\u8ba1\u503c\",1),(\"CS\",\"\u6052\u8f7d\",1)])\r\n``` \r\nReturns: \u65e0\r\n### remove_load_combine\r\n\u5220\u9664\u8377\u8f7d\u7ec4\u5408\r\n> \u53c2\u6570: \r\n> name:\u6307\u5b9a\u5220\u9664\u8377\u8f7d\u7ec4\u5408\u540d\uff0c\u9ed8\u8ba4\u65f6\u5219\u5220\u9664\u6240\u6709\u8377\u8f7d\u7ec4\u5408 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nmdb.remove_load_combine(name=\"\u8377\u8f7d\u7ec4\u54081\")\r\n``` \r\nReturns: \u65e0\r\n## \u89c6\u56fe\u63a7\u5236\r\n### display_node_id\r\n\u8bbe\u7f6e\u8282\u70b9\u53f7\u663e\u793a\r\n> \u53c2\u6570: \r\n> show_id:\u662f\u5426\u6253\u5f00\u8282\u70b9\u53f7\u663e\u793a \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.display_node_id()\r\nodb.display_node_id(False)\r\n``` \r\nReturns: \u65e0\r\n### display_element_id\r\n\u8bbe\u7f6e\u5355\u5143\u53f7\u663e\u793a\r\n> \u53c2\u6570: \r\n> show_id:\u662f\u5426\u6253\u5f00\u5355\u5143\u53f7\u663e\u793a \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.display_element_id()\r\nodb.display_element_id(False)\r\n``` \r\nReturns: \u65e0\r\n### set_view_camera\r\n\u66f4\u6539\u4e09\u7ef4\u663e\u793a\u76f8\u673a\u8bbe\u7f6e\r\n> \u53c2\u6570: \r\n> camera_point: \u76f8\u673a\u5750\u6807\u70b9 \r\n> focus_point: \u76f8\u673a\u7126\u70b9 \r\n> camera_rotate:\u76f8\u673a\u7ed5XYZ\u65cb\u8f6c\u89d2\u5ea6 \r\n> scale: \u7f29\u653e\u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.set_view_camera(camera_point=(-100,-100,100),focus_point=(0,0,0))\r\n``` \r\nReturns: \u65e0\r\n### set_view_direction\r\n\u66f4\u6539\u4e09\u7ef4\u663e\u793a\u9ed8\u8ba4\u89c6\u56fe\r\n> \u53c2\u6570: \r\n> direction: 1-\u7a7a\u95f4\u89c6\u56fe1 2-\u524d\u89c6\u56fe 3-\u4e09\u7ef4\u89c6\u56fe2 4-\u5de6\u89c6\u56fe 5-\u9876\u89c6\u56fe 6-\u53f3\u89c6\u56fe 7-\u7a7a\u95f4\u89c6\u56fe3 8-\u540e\u89c6\u56fe 9-\u7a7a\u95f4\u89c6\u56fe4 10-\u5e95\u89c6\u56fe \r\n> horizontal_degree:\u6c34\u5e73\u5411\u65cb\u8f6c\u89d2\u5ea6 \r\n> vertical_degree:\u7ad6\u5411\u65cb\u8f6c\u89d2\u5ea6 \r\n> scale:\u7f29\u653e\u7cfb\u6570 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.set_view_direction(direction=1,scale=1.2)\r\n``` \r\nReturns: \u65e0\r\n### activate_structure\r\n\u6fc0\u6d3b\u6307\u5b9a\u9636\u6bb5\u548c\u5355\u5143,\u9ed8\u8ba4\u6fc0\u6d3b\u6240\u6709\r\n> \u53c2\u6570: \r\n> node_ids: \u8282\u70b9\u96c6\u5408 \r\n> element_ids: \u5355\u5143\u96c6\u5408 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.activate_structure(node_ids=[1,2,3],element_ids=[1,2,3])\r\n``` \r\nReturns: \u65e0\r\n### set_unit\r\n\u4fee\u6539\u89c6\u56fe\u663e\u793a\u65f6\u5355\u4f4d\u5236,\u4e0d\u5f71\u54cd\u5efa\u6a21\r\n> \u53c2\u6570: \r\n> unit_force: \u652f\u6301 N KN TONF KIPS LBF \r\n> unit_length: \u652f\u6301 M MM CM IN FT \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.set_unit(unit_force=\"N\",unit_length=\"M\")\r\n``` \r\nReturns: \u65e0\r\n### remove_display\r\n\u5220\u9664\u5f53\u524d\u6240\u6709\u663e\u793a,\u5305\u62ec\u8fb9\u754c\u8377\u8f7d\u94a2\u675f\u7b49\u5168\u90e8\u663e\u793a\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.remove_display()\r\n``` \r\nReturns: \u65e0\r\n### save_png\r\n\u4fdd\u5b58\u5f53\u524d\u6a21\u578b\u7a97\u53e3\u56fe\u5f62\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> file_path: \u6587\u4ef6\u5168\u8def\u5f84 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.save_png(file_path=r\"D:\\\\QT\\\\aa.png\")\r\n``` \r\nReturns: \u65e0\r\n### set_render\r\n\u6d88\u9690\u8bbe\u7f6e\u5f00\u5173\r\n> \u53c2\u6570: \r\n> flag: \u9ed8\u8ba4\u8bbe\u7f6e\u6253\u5f00\u6d88\u9690 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.set_render(flag=True)\r\n``` \r\nReturns: \u65e0\r\n### change_construct_stage\r\n\u6d88\u9690\u8bbe\u7f6e\u5f00\u5173\r\n> \u53c2\u6570: \r\n> stage: \u65bd\u5de5\u9636\u6bb5\u540d\u79f0\u6216\u65bd\u5de5\u9636\u6bb5\u53f7 0-\u57fa\u672c \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.change_construct_stage(0)\r\nodb.change_construct_stage(stage=1)\r\n``` \r\nReturns: \u65e0\r\n## \u9759\u529b\u7ed3\u679c\u67e5\u770b\r\n### get_element_stress\r\n\u83b7\u53d6\u5355\u5143\u5e94\u529b,\u652f\u6301\u5355\u4e2a\u5355\u5143\u548c\u5355\u5143\u5217\u8868\r\n> \u53c2\u6570: \r\n> element_id: \u5355\u5143\u7f16\u53f7,\u652f\u6301\u6574\u6570\u6216\u6574\u6570\u578b\u5217\u8868 \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u53f7 -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> result_kind: \u65bd\u5de5\u9636\u6bb5\u6570\u636e\u7684\u7c7b\u578b 1-\u5408\u8ba1 2-\u6536\u7f29\u5f90\u53d8\u6548\u5e94 3-\u9884\u5e94\u529b\u6548\u5e94 4-\u6052\u8f7d \r\n> increment_type: 1-\u5168\u91cf 2-\u589e\u91cf \r\n> case_name: \u8fd0\u8425\u9636\u6bb5\u6240\u9700\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_element_stress(element_id=1,stage_id=1)\r\nodb.get_element_stress(element_id=[1,2,3],stage_id=1)\r\nodb.get_element_stress(element_id=1,stage_id=-1,case_name=\"\u5de5\u51b5\u540d\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict] or dict\r\n### get_element_force\r\n\u83b7\u53d6\u5355\u5143\u5185\u529b,\u652f\u6301\u5355\u4e2a\u5355\u5143\u548c\u5355\u5143\u5217\u8868\r\n> \u53c2\u6570: \r\n> element_id: \u5355\u5143\u7f16\u53f7 \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u53f7 -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> result_kind: \u65bd\u5de5\u9636\u6bb5\u6570\u636e\u7684\u7c7b\u578b 1-\u5408\u8ba1 2-\u6536\u7f29\u5f90\u53d8\u6548\u5e94 3-\u9884\u5e94\u529b\u6548\u5e94 4-\u6052\u8f7d \r\n> increment_type: 1-\u5168\u91cf 2-\u589e\u91cf \r\n> case_name: \u8fd0\u8425\u9636\u6bb5\u6240\u9700\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_element_force(element_id=1,stage_id=1)\r\nodb.get_element_force(element_id=[1,2,3],stage_id=1)\r\nodb.get_element_force(element_id=1,stage_id=-1,case_name=\"\u5de5\u51b5\u540d\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict] or dict\r\n### get_reaction\r\n\u83b7\u53d6\u8282\u70b9\u53cd\u529b\r\n> \u53c2\u6570: \r\n> node_id: \u8282\u70b9\u7f16\u53f7,\u652f\u6301\u6574\u6570\u6216\u6574\u6570\u578b\u5217\u8868 \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u53f7 -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> result_kind: \u65bd\u5de5\u9636\u6bb5\u6570\u636e\u7684\u7c7b\u578b 1-\u5408\u8ba1 2-\u6536\u7f29\u5f90\u53d8\u6548\u5e94 3-\u9884\u5e94\u529b\u6548\u5e94 4-\u6052\u8f7d \r\n> increment_type: 1-\u5168\u91cf 2-\u589e\u91cf \r\n> case_name: \u8fd0\u8425\u9636\u6bb5\u6240\u9700\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_reaction(node_id=1,stage_id=1)\r\nodb.get_reaction(node_id=[1,2,3],stage_id=1)\r\nodb.get_reaction(node_id=1,stage_id=-1,case_name=\"\u5de5\u51b5\u540d\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict] or dict\r\n### get_node_displacement\r\n\u83b7\u53d6\u8282\u70b9,\u652f\u6301\u5355\u4e2a\u8282\u70b9\u548c\u8282\u70b9\u5217\u8868\r\n> \u53c2\u6570: \r\n> node_id: \u8282\u70b9\u53f7 \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u53f7 -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> result_kind: \u65bd\u5de5\u9636\u6bb5\u6570\u636e\u7684\u7c7b\u578b 1-\u5408\u8ba1 2-\u6536\u7f29\u5f90\u53d8\u6548\u5e94 3-\u9884\u5e94\u529b\u6548\u5e94 4-\u6052\u8f7d \r\n> increment_type: 1-\u5168\u91cf 2-\u589e\u91cf \r\n> case_name: \u8fd0\u8425\u9636\u6bb5\u6240\u9700\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_node_displacement(node_id=1,stage_id=1)\r\nodb.get_node_displacement(node_id=[1,2,3],stage_id=1)\r\nodb.get_node_displacement(node_id=1,stage_id=-1,case_name=\"\u5de5\u51b5\u540d\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict] or dict\r\n## \u7ed8\u5236\u6a21\u578b\u7ed3\u679c\r\n### plot_reaction_result\r\n\u4fdd\u5b58\u7ed3\u679c\u56fe\u7247\u5230\u6307\u5b9a\u6587\u4ef6\u7532\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> component: \u5206\u91cf\u7f16\u53f7 0-Fx 1-Fy 2-Fz 3-Fxyz 4-Mx 5-My 6-Mz 7-Mxyz \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> arrow_scale:\u7bad\u5934\u5927\u5c0f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_reaction_result(file_path=r\"D:\\\\\u56fe\u7247\\\\\u53cd\u529b\u56fe.png\",component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_displacement_result\r\n\u4fdd\u5b58\u7ed3\u679c\u56fe\u7247\u5230\u6307\u5b9a\u6587\u4ef6\u7532\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> component: \u5206\u91cf\u7f16\u53f7 0-Dx 1-Dy 2-Dz 3-Rx 4-Ry 5-Rz 6-Dxy 7-Dyz 8-Dxz 9-Dxyz \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_displacement_result(file_path=r\"D:\\\\\u56fe\u7247\\\\\u53d8\u5f62\u56fe.png\",component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_beam_element_force\r\n\u7ed8\u5236\u6881\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> component: \u5206\u91cf\u7f16\u53f7 0-Dx 1-Dy 2-Dz 3-Rx 4-Ry 5-Rz 6-Dxy 7-Dyz 8-Dxz 9-Dxyz \r\n> show_line_chart: \u6298\u7ebf\u56fe\u9009\u9879\u5361\u5f00\u542f \r\n> line_scale:\u6298\u7ebf\u56fe\u6bd4\u4f8b \r\n> flip_plot:\u53cd\u5411\u7ed8\u5236 \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n> position: \u4f4d\u7f6e\u7f16\u53f7 0-\u59cb\u7aef 1-\u672b\u7aef 2-\u7edd\u5bf9\u6700\u5927 4-\u5168\u90e8 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_beam_element_force(file_path=r\"D:\\\\\u56fe\u7247\\\\\u6881\u5185\u529b.png\",component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_truss_element_force\r\n\u7ed8\u5236\u6746\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> component: \u5206\u91cf\u7f16\u53f7 0-N 1-Fx 2-Fy 3-Fz \r\n> show_line_chart: \u6298\u7ebf\u56fe\u9009\u9879\u5361\u5f00\u542f \r\n> line_scale:\u6298\u7ebf\u56fe\u6bd4\u4f8b \r\n> flip_plot:\u53cd\u5411\u7ed8\u5236 \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n> position: \u4f4d\u7f6e\u7f16\u53f7 0-\u59cb\u7aef 1-\u672b\u7aef 2-\u7edd\u5bf9\u6700\u5927 4-\u5168\u90e8 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_truss_element_force(file_path=r\"D:\\\\\u56fe\u7247\\\\\u6746\u5185\u529b.png\",load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_plate_element_force\r\n\u7ed8\u5236\u677f\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> component: \u5206\u91cf\u7f16\u53f7 0-Fxx 1-Fyy 2-Fxy 3-Mxx 4-Myy 5-Mxy \r\n> force_kind: \u529b\u7c7b\u578b \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d \r\n> stage_id: \u9636\u6bb5\u7f16\u53f7 \r\n> envelope_type: \u5305\u7edc\u7c7b\u578b \r\n> show_number: \u662f\u5426\u663e\u793a\u6570\u503c \r\n> show_deformed: \u662f\u5426\u663e\u793a\u53d8\u5f62\u5f62\u72b6 \r\n> show_pre_deformed: \u662f\u5426\u663e\u793a\u672a\u53d8\u5f62\u5f62\u72b6 \r\n> deformed_actual: \u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> deformed_scale: \u53d8\u5f62\u6bd4\u4f8b \r\n> show_legend: \u662f\u5426\u663e\u793a\u56fe\u4f8b \r\n> text_rotation_angle: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_as_exponential: \u662f\u5426\u4ee5\u6307\u6570\u5f62\u5f0f\u663e\u793a \r\n> max_min_kind: \u6700\u5927\u6700\u5c0f\u503c\u663e\u793a\u7c7b\u578b \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_plate_element_force(file_path=r\"D:\\\\\u56fe\u7247\\\\\u677f\u5185\u529b.png\",component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_composite_beam_force\r\n\u7ed8\u5236\u7ec4\u5408\u6881\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> mat_type: \u6750\u6599\u7c7b\u578b 0-\u4e3b\u6750 1-\u8f85\u6750 2-\u4e3b\u6750+\u8f85\u6750 \r\n> component: \u5206\u91cf\u7f16\u53f7 0-Fx 1-Fy 2-Fz 3-Mx 4-My 5-Mz \r\n> show_line_chart: \u6298\u7ebf\u56fe\u9009\u9879\u5361\u5f00\u542f \r\n> line_scale:\u6298\u7ebf\u56fe\u6bd4\u4f8b \r\n> flip_plot:\u53cd\u5411\u7ed8\u5236 \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n> position: \u4f4d\u7f6e\u7f16\u53f7 0-\u59cb\u7aef 1-\u672b\u7aef 2-\u7edd\u5bf9\u6700\u5927 4-\u5168\u90e8 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_composite_beam_force(file_path=r\"D:\\\\\u56fe\u7247\\\\\u7ec4\u5408\u6881\u5185\u529b.png\",mat_type=0,component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_beam_element_stress\r\n\u7ed8\u5236\u6881\u5355\u5143\u5e94\u529b\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> component: \u5206\u91cf\u7f16\u53f7 0-\u8f74\u529b\u5206\u91cf 1-Mz\u5206\u91cf 2-My\u5206\u91cf 3-\u7ec4\u5408\u5305\u7edc 4-\u5de6\u4e0a 5-\u53f3\u4e0a 6-\u53f3\u4e0b 7-\u5de6\u4e0b \r\n> show_line_chart: \u6298\u7ebf\u56fe\u9009\u9879\u5361\u5f00\u542f \r\n> line_scale:\u6298\u7ebf\u56fe\u6bd4\u4f8b \r\n> flip_plot:\u53cd\u5411\u7ed8\u5236 \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n> position: \u4f4d\u7f6e\u7f16\u53f7 0-\u59cb\u7aef 1-\u672b\u7aef 2-\u7edd\u5bf9\u6700\u5927 4-\u5168\u90e8 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_beam_element_stress(file_path=r\"D:\\\\\u56fe\u7247\\\\\u6881\u5e94\u529b.png\",show_line_chart=False,component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_truss_element_stress\r\n\u7ed8\u5236\u6746\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> show_line_chart: \u6298\u7ebf\u56fe\u9009\u9879\u5361\u5f00\u542f \r\n> line_scale:\u6298\u7ebf\u56fe\u6bd4\u4f8b \r\n> flip_plot:\u53cd\u5411\u7ed8\u5236 \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n> position: \u4f4d\u7f6e\u7f16\u53f7 0-\u59cb\u7aef 1-\u672b\u7aef 2-\u7edd\u5bf9\u6700\u5927 4-\u5168\u90e8 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_truss_element_stress(file_path=r\"D:\\\\\u56fe\u7247\\\\\u6746\u5e94\u529b.png\",load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_composite_beam_stress\r\n\u7ed8\u5236\u7ec4\u5408\u6881\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> stage_id: -1-\u8fd0\u8425\u9636\u6bb5 0-\u65bd\u5de5\u9636\u6bb5\u5305\u7edc n-\u65bd\u5de5\u9636\u6bb5\u53f7 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d,\u53c2\u8003\u6865\u901a\u7ed3\u679c\u8f93\u51fa,\u4f8b\u5982\uff1a CQ:\u6210\u6865(\u5408\u8ba1) \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> envelope_type: \u65bd\u5de5\u9636\u6bb5\u5305\u7edc\u7c7b\u578b 1-\u6700\u5927 2-\u6700\u5c0f \r\n> mat_type: \u6750\u6599\u7c7b\u578b 0-\u4e3b\u6750 1-\u8f85\u6750 \r\n> component: \u5206\u91cf\u7f16\u53f7 0-\u8f74\u529b\u5206\u91cf 1-Mz\u5206\u91cf 2-My\u5206\u91cf 3-\u5305\u7edc 4-\u5de6\u4e0a 5-\u53f3\u4e0a 6-\u5de6\u4e0b 7-\u53f3\u4e0b \r\n> show_line_chart: \u6298\u7ebf\u56fe\u9009\u9879\u5361\u5f00\u542f \r\n> line_scale:\u6298\u7ebf\u56fe\u6bd4\u4f8b \r\n> flip_plot:\u53cd\u5411\u7ed8\u5236 \r\n> show_deformed: \u53d8\u5f62\u9009\u9879\u5361\u5f00\u542f \r\n> deformed_scale:\u53d8\u5f62\u6bd4\u4f8b \r\n> deformed_actual:\u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> show_number: \u6570\u503c\u9009\u9879\u5361\u5f00\u542f \r\n> text_rotation: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_exponential: \u6307\u6570\u663e\u793a\u5f00\u542f \r\n> max_min_kind: \u6570\u503c\u9009\u9879\u5361\u5185\u6700\u5927\u6700\u5c0f\u503c\u663e\u793a -1-\u4e0d\u663e\u793a\u6700\u5927\u6700\u5c0f\u503c 0-\u663e\u793a\u6700\u5927\u503c\u548c\u6700\u5c0f\u503c 1-\u6700\u5927\u7edd\u5bf9\u503c 2-\u6700\u5927\u503c 3-\u6700\u5c0f\u503c \r\n> show_legend: \u56fe\u4f8b\u9009\u9879\u5361\u5f00\u542f \r\n> show_pre_deformed: \u663e\u793a\u53d8\u5f62\u524d \r\n> position: \u4f4d\u7f6e\u7f16\u53f7 0-\u59cb\u7aef 1-\u672b\u7aef 2-\u7edd\u5bf9\u6700\u5927 4-\u5168\u90e8 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_composite_beam_stress(file_path=r\"D:\\\\\u56fe\u7247\\\\\u7ec4\u5408\u6881\u5e94\u529b.png\",component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n### plot_plate_element_stress\r\n\u7ed8\u5236\u677f\u5355\u5143\u7ed3\u679c\u56fe\u5e76\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\r\n> \u53c2\u6570: \r\n> file_path: \u4fdd\u5b58\u8def\u5f84\u540d \r\n> component: \u5206\u91cf\u7f16\u53f7 0-Fxx 1-Fyy 2-Fxy 3-Mxx 4-Myy 5-Mxy \r\n> stress_kind: \u529b\u7c7b\u578b 0-\u5355\u5143 1-\u8282\u70b9\u5e73\u5747 \r\n> load_case_name: \u8be6\u7ec6\u8377\u8f7d\u5de5\u51b5\u540d \r\n> stage_id: \u9636\u6bb5\u7f16\u53f7 \r\n> envelope_type: \u5305\u7edc\u7c7b\u578b \r\n> show_number: \u662f\u5426\u663e\u793a\u6570\u503c \r\n> show_deformed: \u662f\u5426\u663e\u793a\u53d8\u5f62\u5f62\u72b6 \r\n> show_pre_deformed: \u662f\u5426\u663e\u793a\u672a\u53d8\u5f62\u5f62\u72b6 \r\n> deformed_actual: \u662f\u5426\u663e\u793a\u5b9e\u9645\u53d8\u5f62 \r\n> deformed_scale: \u53d8\u5f62\u6bd4\u4f8b \r\n> show_legend: \u662f\u5426\u663e\u793a\u56fe\u4f8b \r\n> text_rotation_angle: \u6570\u503c\u9009\u9879\u5361\u5185\u6587\u5b57\u65cb\u8f6c\u89d2\u5ea6 \r\n> digital_count: \u5c0f\u6570\u70b9\u4f4d\u6570 \r\n> show_as_exponential: \u662f\u5426\u4ee5\u6307\u6570\u5f62\u5f0f\u663e\u793a \r\n> max_min_kind: \u6700\u5927\u6700\u5c0f\u503c\u663e\u793a\u7c7b\u578b \r\n> show_increment: \u662f\u5426\u663e\u793a\u589e\u91cf\u7ed3\u679c \r\n> position: \u4f4d\u7f6e 0-\u677f\u9876 1-\u677f\u5e95 2-\u7edd\u5bf9\u503c\u6700\u5927 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.plot_plate_element_stress(file_path=r\"D:\\\\\u56fe\u7247\\\\\u677f\u5e94\u529b.png\",component=0,load_case_name=\"CQ:\u6210\u6865(\u5408\u8ba1)\",stage_id=-1)\r\n``` \r\nReturns: \u65e0\r\n## \u83b7\u53d6\u6a21\u578b\u4fe1\u606f\r\n### get_element_by_point\r\n\u83b7\u53d6\u67d0\u4e00\u70b9\u6307\u5b9a\u8303\u56f4\u5185\u5355\u5143\u96c6\u5408,\u5355\u5143\u4e2d\u5fc3\u70b9\u4e3a\u8282\u70b9\u5e73\u5747\u503c\r\n> \u53c2\u6570: \r\n> x: \u5750\u6807x \r\n> y: \u5750\u6807y \r\n> z: \u5750\u6807z \r\n> tolerance:\u5bb9\u8bb8\u8303\u56f4,\u9ed8\u8ba4\u4e3a1 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_element_by_point(0.5,0.5,0.5,tolerance=1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[int]\r\n### get_element_by_material\r\n\u83b7\u53d6\u67d0\u4e00\u6750\u6599\u76f8\u5e94\u7684\u5355\u5143\r\n> \u53c2\u6570: \r\n> name:\u6750\u6599\u540d\u79f0 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_element_by_material(\"\u6750\u65991\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[int]\r\n### get_overlap_nodes\r\n\u83b7\u53d6\u91cd\u5408\u8282\u70b9\r\n> \u53c2\u6570: \r\n> round_num: \u5224\u65ad\u7cbe\u5ea6\uff0c\u9ed8\u8ba4\u5c0f\u6570\u70b9\u540e\u56db\u4f4d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_overlap_nodes()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[list[int]]\r\n### get_overlap_elements\r\n\u83b7\u53d6\u91cd\u5408\u8282\u70b9\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_overlap_elements()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[list[int]]\r\n### get_structure_group_names\r\n\u83b7\u53d6\u7ed3\u6784\u7ec4\u540d\u79f0\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_structure_group_names()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[str]\r\n### get_thickness_data\r\n\u83b7\u53d6\u6240\u6709\u677f\u539a\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_thickness_data(1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3adict\r\n### get_all_thickness_data\r\n\u83b7\u53d6\u6240\u6709\u677f\u539a\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_all_thickness_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_all_section_shape\r\n\u83b7\u53d6\u6240\u6709\u622a\u9762\u5f62\u72b6\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_all_section_shape()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_section_shape\r\n\u83b7\u53d6\u622a\u9762\u5f62\u72b6\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> sec_id: \u76ee\u6807\u622a\u9762\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_section_shape(1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3adict\r\n### get_all_section_data\r\n\u83b7\u53d6\u6240\u6709\u622a\u9762\u8be6\u7ec6\u4fe1\u606f,\u622a\u9762\u7279\u6027\u8be6\u89c1UI\u81ea\u5b9a\u4e49\u7279\u6027\u622a\u9762\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_all_section_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_section_data\r\n\u83b7\u53d6\u622a\u9762\u8be6\u7ec6\u4fe1\u606f,\u622a\u9762\u7279\u6027\u8be6\u89c1UI\u81ea\u5b9a\u4e49\u7279\u6027\u622a\u9762\r\n> \u53c2\u6570: \r\n> sec_id: \u76ee\u6807\u622a\u9762\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_section_data(1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3adict\r\n### get_section_property\r\n\u83b7\u53d6\u6307\u5b9a\u622a\u9762\u7279\u6027\r\n> \u53c2\u6570: \r\n> index:\u622a\u9762\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_section_property(1)\r\n``` \r\nReturns: dict\r\n### get_section_ids\r\n\u83b7\u53d6\u6a21\u578b\u6240\u6709\u622a\u9762\u53f7\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_section_ids()\r\n``` \r\nReturns: list[int]\r\n### get_node_id\r\n\u83b7\u53d6\u8282\u70b9\u7f16\u53f7,\u7ed3\u679c\u4e3a-1\u65f6\u5219\u8868\u793a\u672a\u627e\u5230\u8be5\u5750\u6807\u8282\u70b9\r\n> \u53c2\u6570: \r\n> x: \u76ee\u6807\u70b9X\u8f74\u5750\u6807 \r\n> y: \u76ee\u6807\u70b9Y\u8f74\u5750\u6807 \r\n> z: \u76ee\u6807\u70b9Z\u8f74\u5750\u6807 \r\n> tolerance: \u8ddd\u79bb\u5bb9\u8bb8\u8bef\u5dee \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_node_id(x=1,y=1,z=1)\r\n``` \r\nReturns: int\r\n### get_group_elements\r\n\u83b7\u53d6\u7ed3\u6784\u7ec4\u5355\u5143\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> group_name: \u7ed3\u6784\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_group_elements(group_name=\"\u9ed8\u8ba4\u7ed3\u6784\u7ec4\")\r\n``` \r\nReturns: list[int]\r\n### get_group_nodes\r\n\u83b7\u53d6\u7ed3\u6784\u7ec4\u8282\u70b9\u7f16\u53f7\r\n> \u53c2\u6570: \r\n> group_name: \u7ed3\u6784\u7ec4\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_group_nodes(group_name=\"\u9ed8\u8ba4\u7ed3\u6784\u7ec4\")\r\n``` \r\nReturns: list[int]\r\n### get_node_data\r\n\u83b7\u53d6\u8282\u70b9\u4fe1\u606f \u9ed8\u8ba4\u83b7\u53d6\u6240\u6709\u8282\u70b9\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_node_data() # \u83b7\u53d6\u6240\u6709\u8282\u70b9\u4fe1\u606f\r\nodb.get_node_data(ids=1) # \u83b7\u53d6\u5355\u4e2a\u8282\u70b9\u4fe1\u606f\r\nodb.get_node_data(ids=[1,2]) # \u83b7\u53d6\u591a\u4e2a\u8282\u70b9\u4fe1\u606f\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict] or dict\r\n### get_element_data\r\n\u83b7\u53d6\u5355\u5143\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids:\u5355\u5143\u53f7,\u652f\u6301\u6574\u6570\u6216\u6574\u6570\u578b\u5217\u8868,\u9ed8\u8ba4\u4e3aNone\u65f6\u83b7\u53d6\u6240\u6709\u5355\u5143\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_element_data() # \u83b7\u53d6\u6240\u6709\u5355\u5143\u7ed3\u679c\r\nodb.get_element_data(ids=1) # \u83b7\u53d6\u6307\u5b9a\u7f16\u53f7\u5355\u5143\u4fe1\u606f\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict] or dict\r\n### get_element_type\r\n\u83b7\u53d6\u5355\u5143\u7c7b\u578b\r\n> \u53c2\u6570: \r\n> ele_id: \u5355\u5143\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_element_type(ele_id=1) # \u83b7\u53d61\u53f7\u5355\u5143\u7c7b\u578b\r\n``` \r\nReturns: str\r\n### get_beam_element\r\n\u83b7\u53d6\u6881\u5355\u5143\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6881\u5355\u5143\u53f7,\u9ed8\u8ba4\u65f6\u83b7\u53d6\u6240\u6709\u6881\u5355\u5143 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_beam_element() # \u83b7\u53d6\u6240\u6709\u5355\u5143\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_plate_element\r\n\u83b7\u53d6\u677f\u5355\u5143\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u677f\u5355\u5143\u53f7,\u9ed8\u8ba4\u65f6\u83b7\u53d6\u6240\u6709\u677f\u5355\u5143 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_plate_element() # \u83b7\u53d6\u6240\u6709\u5355\u5143\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_cable_element\r\n\u83b7\u53d6\u7d22\u5355\u5143\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u7d22\u5355\u5143\u53f7,\u9ed8\u8ba4\u65f6\u83b7\u53d6\u6240\u6709\u7d22\u5355\u5143 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_cable_element() # \u83b7\u53d6\u6240\u6709\u5355\u5143\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_link_element\r\n\u83b7\u53d6\u6746\u5355\u5143\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6746\u5355\u5143\u53f7,\u9ed8\u8ba4\u65f6\u8f93\u51fa\u5168\u90e8\u6746\u5355\u5143 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_link_element() # \u83b7\u53d6\u6240\u6709\u5355\u5143\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_material_data\r\n\u83b7\u53d6\u6750\u6599\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_material_data() # \u83b7\u53d6\u6240\u6709\u6750\u6599\u4fe1\u606f\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_concrete_material\r\n\u83b7\u53d6\u6df7\u51dd\u571f\u6750\u6599\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6750\u6599\u53f7,\u9ed8\u8ba4\u65f6\u8f93\u51fa\u5168\u90e8\u6750\u6599 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_concrete_material() # \u83b7\u53d6\u6240\u6709\u6750\u6599\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_steel_plate_material\r\n\u83b7\u53d6\u94a2\u6750\u6750\u6599\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6750\u6599\u53f7,\u9ed8\u8ba4\u65f6\u8f93\u51fa\u5168\u90e8\u6750\u6599 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_steel_plate_material() # \u83b7\u53d6\u6240\u6709\u94a2\u6750\u6750\u6599\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_pre_stress_bar_material\r\n\u83b7\u53d6\u94a2\u6750\u6750\u6599\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6750\u6599\u53f7,\u9ed8\u8ba4\u65f6\u8f93\u51fa\u5168\u90e8\u6750\u6599 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_pre_stress_bar_material() # \u83b7\u53d6\u6240\u6709\u9884\u5e94\u529b\u6750\u6599\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_steel_bar_material\r\n\u83b7\u53d6\u94a2\u7b4b\u6750\u6599\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6750\u6599\u53f7,\u9ed8\u8ba4\u65f6\u8f93\u51fa\u5168\u90e8\u6750\u6599 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_steel_bar_material() # \u83b7\u53d6\u6240\u6709\u94a2\u7b4b\u6750\u6599\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n### get_user_###ine_material\r\n\u83b7\u53d6\u81ea\u5b9a\u4e49\u6750\u6599\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> ids: \u6750\u6599\u53f7,\u9ed8\u8ba4\u65f6\u8f93\u51fa\u5168\u90e8\u6750\u6599 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_user_define_material() # \u83b7\u53d6\u6240\u6709\u81ea\u5b9a\u4e49\u6750\u6599\u4fe1\u606f\r\n``` \r\nReturns: list[str] \u5176\u4e2dstr\u4e3ajson\u683c\u5f0f\r\n## \u83b7\u53d6\u6a21\u578b\u8fb9\u754c\u4fe1\u606f\r\n### get_boundary_group_names\r\n\u83b7\u53d6\u81ea\u8fb9\u754c\u7ec4\u540d\u79f0\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_boundary_group_names()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[str]\r\n### get_general_support_data\r\n\u83b7\u53d6\u4e00\u822c\u652f\u627f\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> group_name:\u9ed8\u8ba4\u8f93\u51fa\u6240\u6709\u8fb9\u754c\u7ec4\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_general_support_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_elastic_link_data\r\n\u83b7\u53d6\u5f39\u6027\u8fde\u63a5\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> group_name:\u9ed8\u8ba4\u8f93\u51fa\u6240\u6709\u8fb9\u754c\u7ec4\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_elastic_link_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_elastic_support_data\r\n\u83b7\u53d6\u5f39\u6027\u652f\u627f\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> group_name:\u9ed8\u8ba4\u8f93\u51fa\u6240\u6709\u8fb9\u754c\u7ec4\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_elastic_support_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_master_slave_link_data\r\n\u83b7\u53d6\u4e3b\u4ece\u8fde\u63a5\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> group_name:\u9ed8\u8ba4\u8f93\u51fa\u6240\u6709\u8fb9\u754c\u7ec4\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_master_slave_link_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_node_local_axis_data\r\n\u83b7\u53d6\u8282\u70b9\u5750\u6807\u4fe1\u606f\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_node_local_axis_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_beam_constraint_data\r\n\u83b7\u53d6\u8282\u70b9\u5750\u6807\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> group_name:\u9ed8\u8ba4\u8f93\u51fa\u6240\u6709\u8fb9\u754c\u7ec4\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_beam_constraint_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_constraint_equation_data\r\n\u83b7\u53d6\u7ea6\u675f\u65b9\u7a0b\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> group_name:\u9ed8\u8ba4\u8f93\u51fa\u6240\u6709\u8fb9\u754c\u7ec4\u4fe1\u606f \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_constraint_equation_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n## \u83b7\u53d6\u65bd\u5de5\u9636\u6bb5\u4fe1\u606f\r\n### get_stage_name\r\n\u83b7\u53d6\u6240\u6709\u65bd\u5de5\u9636\u6bb5\u540d\u79f0\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_stage_name()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[int]\r\n### get_elements_of_stage\r\n\u83b7\u53d6\u6307\u5b9a\u65bd\u5de5\u9636\u6bb5\u5355\u5143\u7f16\u53f7\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_elements_of_stage(stage_id=1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[int]\r\n### get_nodes_of_stage\r\n\u83b7\u53d6\u6307\u5b9a\u65bd\u5de5\u9636\u6bb5\u8282\u70b9\u7f16\u53f7\u4fe1\u606f\r\n> \u53c2\u6570: \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_nodes_of_stage(stage_id=1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[int]\r\n### get_groups_of_stage\r\n\u83b7\u53d6\u65bd\u5de5\u9636\u6bb5\u7ed3\u6784\u7ec4\u3001\u8fb9\u754c\u7ec4\u3001\u8377\u8f7d\u7ec4\u540d\u96c6\u5408\r\n> \u53c2\u6570: \r\n> stage_id: \u65bd\u5de5\u9636\u6bb5\u7f16\u53f7 \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_groups_of_stage(stage_id=1)\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3adict\r\n## \u8377\u8f7d\u4fe1\u606f\r\n### get_load_case_names\r\n\u83b7\u53d6\u8377\u8f7d\u5de5\u51b5\u540d\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_load_case_names()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[str]\r\n### get_pre_stress_load\r\n\u83b7\u53d6\u9884\u5e94\u529b\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_pre_stress_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_node_mass_data\r\n\u83b7\u53d6\u8282\u70b9\u8d28\u91cf\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_node_mass_data()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_nodal_force_load\r\n\u83b7\u53d6\u8282\u70b9\u529b\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_nodal_force_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_nodal_displacement_load\r\n\u83b7\u53d6\u8282\u70b9\u4f4d\u79fb\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_nodal_displacement_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_beam_element_load\r\n\u83b7\u53d6\u6881\u5355\u5143\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_beam_element_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_plate_element_load\r\n\u83b7\u53d6\u6881\u5355\u5143\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_beam_element_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_initial_tension_load\r\n\u83b7\u53d6\u521d\u62c9\u529b\u8377\u8f7d\u6570\u636e\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_initial_tension_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_cable_length_load\r\n\u83b7\u53d6\u6307\u5b9a\u8377\u8f7d\u5de5\u51b5\u7684\u521d\u62c9\u529b\u8377\u8f7d\u6570\u636e\r\n> \u53c2\u6570: \r\n> case_name: \u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_cable_length_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_deviation_parameter\r\n\u83b7\u53d6\u5236\u9020\u504f\u5dee\u53c2\u6570\r\n> \u53c2\u6570: \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_deviation_parameter()\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n### get_deviation_load\r\n\u83b7\u53d6\u6307\u5b9a\u8377\u8f7d\u5de5\u51b5\u7684\u5236\u9020\u504f\u5dee\u8377\u8f7d\r\n> \u53c2\u6570: \r\n> case_name:\u8377\u8f7d\u5de5\u51b5\u540d \r\n```Python\r\n# \u793a\u4f8b\u4ee3\u7801\r\nfrom qtmodel import *\r\nodb.get_deviation_load(case_name=\"\u8377\u8f7d\u5de5\u51b51\")\r\n``` \r\nReturns: json\u5b57\u7b26\u4e32,\u5305\u542b\u4fe1\u606f\u4e3alist[dict]\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "python modeling for qt 2025-01-13",
"version": "0.6.1",
"project_urls": {
"Homepage": "https://github.com/Inface0443/pyqt"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8ca7a91df1dabaa0671a2dda4d2d7e63b8dec231da9b7b4dbbaa07f9f755fe2d",
"md5": "ca41859441e17ac4187b3f4abe16b2a2",
"sha256": "a16d25bf8b99222ca595cc02c0b31213c3b0611ab2a83b84714d0023da9e9d4d"
},
"downloads": -1,
"filename": "qtmodel-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "ca41859441e17ac4187b3f4abe16b2a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 105875,
"upload_time": "2025-01-13T01:10:31",
"upload_time_iso_8601": "2025-01-13T01:10:31.596754Z",
"url": "https://files.pythonhosted.org/packages/8c/a7/a91df1dabaa0671a2dda4d2d7e63b8dec231da9b7b4dbbaa07f9f755fe2d/qtmodel-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-13 01:10:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Inface0443",
"github_project": "pyqt",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "qtmodel"
}