Skip to main content

qtmodel package

Project description

最新qtmodel版本 V1.1.18 - 2026-03-11 pip install --upgrade qtmodel -i https://pypi.org/simple

  • 解决了http请求临时端口/TIME_WAIT满载问题

建模操作

节点操作

add_nodes

根据坐标信息和节点编号添加一组节点,可指定节点号,或不指定节点号

参数:
node_data: [[id,x,y,z]...] 或[[x,y,z]...] 指定节点编号时不进行交叉分割、合并、编号等操作
intersected: 是否交叉分割
is_merged: 是否忽略位置重复节点
merge_error: 合并容许误差
numbering_type:编号方式 0-未使用的最小号码 1-最大号码加1 2-用户定义号码
start_id:自定义节点起始编号(用户定义号码时使用)

# 示例代码
from qtmodel import *
mdb.add_nodes(node_data=[[1,1,2,3],[2,1,2,3]])
#Returns: 无

update_node

根据节点号修改节点坐标

参数:
node_id: 旧节点编号
new_id: 新节点编号,默认为-1时不改变节点编号
x: 更新后x坐标
y: 更新后y坐标
z: 更新后z坐标

# 示例代码
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: 新节点编号

# 示例代码
from qtmodel import *
mdb.update_node_id(node_id=1,new_id=2)
#Returns: 无

merge_nodes

根据坐标信息和节点编号添加节点,默认自动识别编号

参数:
ids: 合并节点集合,默认全部节点,支持列表和XtoYbyN形式字符串
tolerance: 合并容许误差

# 示例代码
from qtmodel import *
mdb.merge_nodes()
#Returns: 无

move_nodes

移动节点坐标,默认移动所有节点

参数:
ids:节点号
offset_x:X轴偏移量
offset_y:Y轴偏移量
offset_z:Z轴偏移量

# 示例代码
from qtmodel import *
mdb.move_nodes(ids=1,offset_x=1.5,offset_y=1.5,offset_z=1.5)
#Returns: 无

remove_nodes

删除指定节点,默认删除所有节点

参数:
ids:节点编号,支持多种类型

# 示例代码
from qtmodel import *
mdb.remove_nodes()
mdb.remove_nodes(ids=1)
mdb.remove_nodes(ids=[1,2,3])
#Returns: 无

renumber_nodes

节点编号重排序,默认按1升序重排所有节点

参数:
ids:原修改节点号
new_ids:新节点号

# 示例代码
from qtmodel import *
mdb.renumber_nodes()
mdb.renumber_nodes([7,9,22],[1,2,3])
#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-厚板

# 示例代码
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: 无

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,plate_type(0-薄板 1-厚板)]

# 示例代码
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,0]])
#Returns: 无

update_local_orientation

反转杆系单元局部方向

参数:
ids: 杆系单元编号,支持整形、列表、XtoYbyZ形式字符串

# 示例代码
from qtmodel import *
mdb.update_local_orientation(1)
#Returns: 无

update_element_id

更改单元编号

参数:
old_id: 单元编号
new_id: 新单元编号

# 示例代码
from qtmodel import *
mdb.update_element_id(1,2)
#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-厚板

# 示例代码
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: 无

update_element_material

更新指定单元的材料号

参数:
ids: 单元编号,支持整形、列表、XtoYbyZ形式字符串
mat_id: 材料编号

# 示例代码
from qtmodel import *
mdb.update_element_material(ids=1,mat_id=2)
#Returns: 无

update_element_beta

更新指定单元的贝塔角

参数:
ids: 单元编号,支持整形、列表、XtoYbyZ形式字符串
beta: 贝塔角度数

# 示例代码
from qtmodel import *
mdb.update_element_beta(ids=1,beta=90)
#Returns: 无

update_frame_section

更新杆系单元截面

参数:
ids: 单元编号,支持整形、列表、XtoYbyZ形式字符串
sec_id: 截面号

# 示例代码
from qtmodel import *
mdb.update_frame_section(ids=1,sec_id=2)
#Returns: 无

update_plate_thick

更新杆系单元截面

参数:
ids: 单元编号,支持整形、列表、XtoYbyZ形式字符串
thick_id: 板厚号

# 示例代码
from qtmodel import *
mdb.update_plate_thick(ids=1,thick_id=2)
#Returns: 无

update_element_node

更新单元节点

参数:
element_id: 单元编号
node_ids: 杆系单元时为[i,j] 板单元[i,j,k,l]

# 示例代码
from qtmodel import *
mdb.update_element_node(1,[1,2])
mdb.update_element_node(2,[1,2,3,4])
#Returns: 无

remove_element

删除指定编号的单元,默认则删除所有单元

参数:
ids: 单元编号,支持整形、列表、XtoYbyZ形式字符串
remove_free: 是否删除自由节点

# 示例代码
from qtmodel import *
mdb.remove_element()
mdb.remove_element(ids=1)
#Returns: 无

renumber_elements

单元编号重排序,默认按1升序重排所有节点

参数:
element_ids:被修改单元号
new_ids:新单元号

# 示例代码
from qtmodel import *
mdb.renumber_elements()
mdb.renumber_elements([7,9,22],[1,2,3])
#Returns: 无

结构组操作

add_structure_group

添加结构组

参数:
name: 结构组名
node_ids: 节点编号列表,支持XtoYbyN类型字符串(可选参数)
element_ids: 单元编号列表,支持XtoYbyN类型字符串(可选参数)

# 示例代码
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])
mdb.add_structure_group(name="新建结构组2",node_ids="1to10 11to21by2",element_ids=[1,2])
#Returns: 无

update_structure_group_name

更新结构组名

参数:
name: 结构组名
new_name: 新结构组名(可选参数)

# 示例代码
from qtmodel import *
mdb.update_structure_group_name(name="结构组1",new_name="新结构组")
#Returns: 无

update_structure_group

更新结构组信息

参数:
name: 结构组名
new_name: 新结构组名
node_ids: 节点编号列表,支持XtoYbyN类型字符串(可选参数)
element_ids: 单元编号列表,支持XtoYbyN类型字符串(可选参数)

# 示例代码
from qtmodel import *
mdb.update_structure_group(name="结构组",new_name="新建结构组",node_ids=[1,2,3,4],element_ids=[1,2])
#Returns: 无

remove_structure_group

可根据结构与组名删除结构组,当组名为默认则删除所有结构组

参数:
name:结构组名称

# 示例代码
from qtmodel import *
mdb.remove_structure_group(name="新建结构组1")
mdb.remove_structure_group()
#Returns: 无

add_structure_to_group

为结构组添加节点和/或单元

参数:
name: 结构组名
node_ids: 节点编号列表(可选参数)
element_ids: 单元编号列表(可选参数)

# 示例代码
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: 单元编号列表(可选参数)

# 示例代码
from qtmodel import *
mdb.remove_structure_from_group(name="现有结构组1",node_ids=[1,2,3,4],element_ids=[1,2])
#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: 主材名和辅材名 (仅组合材料需要)

# 示例代码
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

添加收缩徐变材料

参数:
index:材料编号,默认为最大Id+1
name: 收缩徐变名
code_index: 1-公规JTG3362-2018 2-公规JTGD62-2004 3-公规JTJ023-85 4-铁规TB10092-2017 5-地铁GB50157-2013 6-老化理论 7-BS5400_4_1990 8-AASHTO_LRFD_2017 1000-AASHTO_LRFD_2017
time_parameter: 对应规范的收缩徐变参数列表,默认不改变规范中信息 (可选参数)
creep_data: 徐变数据 [(函数名,龄期)...]
shrink_data: 收缩函数名

# 示例代码
from qtmodel import *
mdb.add_time_parameter(name="收缩徐变材料1",code_index=1)
#Returns: 无

add_creep_function

添加徐变函数

参数:
name:徐变函数名
creep_data:徐变数据[(时间,徐变系数)...]
scale_factor:缩放系数

# 示例代码
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:缩放系数

# 示例代码
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_material

todo 更新材料

参数:
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: 主材名和辅材名 (仅组合材料需要)

# 示例代码
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: 无

update_creep_function

todo 更新徐变函数

参数:
name:徐变函数名
new_name: 新徐变函数名,默认不改变函数名
creep_data:徐变数据,默认不改变函数名 [(时间,徐变系数)...]
scale_factor:缩放系数

# 示例代码
from qtmodel import *
mdb.add_creep_function(name="徐变函数名",creep_data=[(5,0.5),(100,0.75)])
#Returns: 无

update_shrink_function

todo 更新收缩函数

参数:
name:收缩函数名
new_name:收缩函数名
shrink_data:收缩数据,默认不改变数据 [(时间,收缩系数)...]
scale_factor:缩放系数

# 示例代码
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

todo 删除收缩函数

参数:
name:收缩函数名

# 示例代码
from qtmodel import *
mdb.remove_shrink_function(name="收缩函数名")
#Returns: 无

remove_creep_function

todo 删除徐变函数

参数:
name:徐变函数名

# 示例代码
from qtmodel import *
mdb.remove_creep_function(name="徐变函数名")
#Returns: 无

update_material_time_parameter

todo 将收缩徐变参数连接到材料

参数:
name: 材料名
time_parameter_name: 收缩徐变名称
f_cuk: 材料标准抗压强度,仅自定义材料是需要输入

# 示例代码
from qtmodel import *
mdb.update_material_time_parameter(name="C60",time_parameter_name="收缩徐变1",f_cuk=5e7)
#Returns: 无

update_material_id

todo 更新材料编号

参数:
name:材料名称
new_id:新编号

# 示例代码
from qtmodel import *
mdb.update_material_id(name="材料1",new_id=2)
#Returns: 无

remove_material

todo 删除指定材料

参数:
index:指定材料编号,默认则删除所有材料
name: 指定材料名,材料名为空时按照index删除

# 示例代码
from qtmodel import *
mdb.remove_material()
mdb.remove_material(index=1)
#Returns: 无

update_material_construction_factor

todo 更新材料构造系数

参数:
name:指定材料编号,默认则删除所有材料
factor:指定材料编号,默认则删除所有材料

# 示例代码
from qtmodel import *
mdb.update_material_construction_factor(name="材料1",factor=1.0)
#Returns: 无

remove_time_parameter

todo 删除指定时间依存材料

参数:
name: 指定收缩徐变材料名

# 示例代码
from qtmodel import *
mdb.remove_time_parameter("收缩徐变材料1")
#Returns: 无

板厚

add_thickness

添加板厚

参数:
index: 板厚id
name: 板厚名称
t: 板厚度
thick_type: 板厚类型 0-普通板 1-加劲肋板
bias_info: 默认不偏心,偏心时输入列表[type(0-厚度比 1-数值),value]
rib_pos: 肋板位置 0-下部 1-上部
dist_v: 纵向截面肋板间距
dist_l: 横向截面肋板间距
rib_v: 纵向肋板信息
rib_l: 横向肋板信息

# 示例代码
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

todo 更新板厚编号

参数:
index: 板厚id
new_id: 新板厚id

# 示例代码
from qtmodel import *
mdb.update_thickness_id(1,2)
#Returns: 无

remove_thickness

todo 删除板厚

参数:
index:板厚编号,默认时删除所有板厚信息
name:默认按照编号删除,如果不为空则按照名称删除

# 示例代码
from qtmodel import *
mdb.remove_thickness()
mdb.remove_thickness(index=1)
mdb.remove_thickness(name="板厚1")
#Returns: 无

项目管理

set_url

设置关联桥通路径

参数:

# 示例代码
from qtmodel import *
mdb.set_url()
#Returns: 无

set_version

控制导入qdat版本

参数:

# 示例代码
from qtmodel import *
mdb.set_version()
#Returns: 无

undo_model

撤销模型上次操作

参数:

# 示例代码
from qtmodel import *
mdb.undo_model()
#Returns: 无

redo_model

重做上次撤销

参数:

# 示例代码
from qtmodel import *
mdb.redo_model()
#Returns: 无

update_model

刷新模型信息

参数:

# 示例代码
from qtmodel import *
mdb.update_model()
#Returns: 无

update_to_pre

切换到前处理

参数:

# 示例代码
from qtmodel import *
mdb.update_to_pre()
#Returns: 无

update_to_post

切换到后处理

参数:

# 示例代码
from qtmodel import *
mdb.update_to_post()
#Returns: 无

do_solve

运行分析

参数:

# 示例代码
from qtmodel import *
mdb.do_solve()
#Returns: 无

initial

初始化模型,新建模型

参数:

# 示例代码
from qtmodel import *
mdb.initial()
#Returns: 无

open_file

打开bfmd文件

参数:
file_path: 文件全路径

# 示例代码
from qtmodel import *
mdb.open_file(file_path="a.bfmd")
#Returns: 无

close_project

关闭项目

参数:

# 示例代码
from qtmodel import *
mdb.close_project()
#Returns: 无

save_file

保存bfmd文件,默认保存为当前路径

参数:
file_path: 文件全路径

# 示例代码
from qtmodel import *
mdb.save_file(file_path="a.bfmd")
#Returns: 无

import_command

导入命令

参数:
command:命令字符
command_type:命令类型,默认桥通命令 1-桥通命令 2-mct命令

# 示例代码
from qtmodel import *
mdb.import_command(command="*SEC-INFO")
mdb.import_command(command="*SECTION",command_type=2)
#Returns: 无

import_file

导入文件,导入文件为桥通所在主机文件

参数:
file_path:导入文件(.mct/.qdat/.dxf/.3dx)

# 示例代码
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:输出文件类型 0-仅输出截面特性和材料特性(仅供qdat输出) 1-仅输出模型文件 2-输出截面特性和截面信息
group_name:obj与 APDL导出时指定结构组导出

# 示例代码
from qtmodel import *
mdb.export_file(file_path="a.mct")
#Returns: 无

export_qt_helper

输出桥通qdat命令帮助文档,仅支持最新帮助文档,保存路径为调用主机下

参数:
file_path:导出文件全路径,支持格式(.txt/.qdat)

# 示例代码
from qtmodel import *
mdb.export_qt_helper(file_path="a.qdat")
#Returns: 无

截面

add_section

添加单一截面信息,如果截面存在则自动覆盖

参数:
index: 截面编号,默认自动识别
name:截面名称
sec_type:参数截面类型名称(详见UI界面)
sec_info:截面信息 (必要参数)
symmetry:混凝土截面是否对称 (仅混凝土箱梁截面需要)
charm_info:混凝土截面倒角信息 (仅混凝土箱梁截面需要)
sec_right:混凝土截面右半信息 (对称时可忽略,仅混凝土箱梁截面需要)
charm_right:混凝土截面右半倒角信息 (对称时可忽略,仅混凝土箱梁截面需要)
box_num: 混凝土箱室数 (仅混凝土箱梁截面需要)
box_height: 混凝土箱梁梁高 (仅混凝土箱梁截面需要)
box_other_info: 混凝土箱梁额外信息(键包括"i1" "B0" "B4" "T4" 值为列表)
box_other_right: 混凝土箱梁额外信息(对称时可忽略,键包括"i1" "B0" "B4" "T4" 值为列表)
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界面共计29个参数),可选参数,指定截面特性时不进行截面计算
bias_type:偏心类型 默认中心
center_type:中心类型 默认质心
shear_consider:考虑剪切 bool 默认考虑剪切变形
bias_x:自定义偏心点x坐标 (仅自定义类型偏心需要,相对于center_type偏移)
bias_y:自定义偏心点y坐标 (仅自定义类型偏心需要,相对于center_type偏移)

# 示例代码
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.2,0.4,0.1,0.13,3,1,2,1,0.02,0,12,5,6,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方法参数

# 示例代码
from qtmodel import *
mdb.add_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:变截面线段线圈重新排序

# 示例代码
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: 无

calculate_section_property

重新计算所有截面特性

参数:

# 示例代码
from qtmodel import *
mdb.calculate_section_property()
#Returns: 无

remove_unused_sections

删除未使用截面

参数:

# 示例代码
from qtmodel import *
mdb.remove_unused_sections()
#Returns: 无

add_tapper_section_by_id

添加变截面,需先建立单一截面

参数:
index:截面编号
name:截面名称
begin_id:截面始端编号
end_id:截面末端编号
shear_consider:考虑剪切变形
sec_normalize: 开启变截面线圈和线宽自适应排序 (避免两端截面绘制顺序导致的渲染和计算失效)

# 示例代码
from qtmodel import *
mdb.add_tapper_section_by_id(name="变截面1",begin_id=1,end_id=2)
#Returns: 无

update_single_section

todo 以字典形式添加单一截面

参数:
index:截面编号
new_id:新截面编号,默认为-1时不修改截面编号
name:截面名称
sec_type:截面类型
sec_data:截面信息字典,键值参考添加add_section方法参数

# 示例代码
from qtmodel import *
mdb.update_single_section(index=1,name="变截面1",sec_type="矩形",
sec_data={"sec_info":[1,2],"bias_type":"中心"})
#Returns: 无

update_tapper_section

todo 添加变截面,字典参数参考单一截面,如果截面存在则自动覆盖

参数:
index:截面编号
new_id:新截面编号,默认不修改截面编号
name:截面名称
sec_type:截面类型
sec_begin:截面始端编号
sec_end:截面末端编号
shear_consider:考虑剪切变形
sec_normalize:变截面线段线圈重新排序

# 示例代码
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_section_bias

todo 更新截面偏心

参数:
index:截面编号
bias_type:偏心类型
center_type:中心类型
shear_consider:考虑剪切
bias_point:自定义偏心点(仅自定义类型偏心需要)
side_i: 是否为截面I,否则为截面J(仅变截面需要)

# 示例代码
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

todo 更新截面特性

参数:
index:截面号
sec_property:截面特性值参考UI共计26个数值
side_i:是否为I端截面(仅变截面需要)

# 示例代码
from qtmodel import *
mdb.update_section_property(index=1,sec_property=[i for i in range(1,27)])
#Returns: 无

update_section_id

todo 更新截面编号

参数:
index: 原编号
new_id: 新编号

# 示例代码
from qtmodel import *
mdb.update_section_id(index=1,new_id=2)
#Returns:无

remove_section

删除截面信息,默认则删除所有截面

参数:
ids: 截面编号

# 示例代码
from qtmodel import *
mdb.remove_section(1)
mdb.remove_section("1to100")
#Returns: 无

变截面组

add_tapper_section_group

添加变截面组

参数:
ids:变截面组单元号,支持XtoYbyN类型字符串
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: 高度方向距离
parameter_info:参数化变截面组信息,键为参数名(参考UI)值为如下三种类型
1(非线性),指数,参考点(I/J),距离
2(自定义),变化长1,终点值1,变化长2,终点值2...
3(圆弧),半径,参考点(I/J)

# 示例代码
from qtmodel import *
mdb.add_tapper_section_group(ids=[1,2,3,4],name="变截面组1")
mdb.add_tapper_section_group(ids=[1,2,3,4],name="参数化变截面组",parameter_info={"梁高(H)":"1,2,I,0"})
#Returns: 无

add_elements_to_tapper_section_group

添加单元到变截面组

参数:
name:变截面组名称
ids:新增单元编号

# 示例代码
from qtmodel import *
mdb.add_elements_to_tapper_section_group("变截面组1",ids=[1,2,3,4,5,6])
mdb.add_elements_to_tapper_section_group("变截面组1",ids="1to6")
#Returns:无

add_tapper_section_from_group

将变截面组转为变截面

参数:
name: 变截面组名,默认则转化全部变截面组

# 示例代码
from qtmodel import *
mdb.add_tapper_section_from_group()
mdb.add_tapper_section_from_group("变截面组1")
#Returns: 无

update_tapper_section_group

todo 更新变截面组

参数:
name:变截面组组名
new_name: 新变截面组名
ids:变截面组包含的单元号,支持XtoYbyN形式字符串
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: 高度方向距离
parameter_info:参数化变截面组信息,键为参数名(参考UI)值为如下三种类型
1(非线性),指数,参考点(I/J),距离
2(自定义),变化长1,终点值1,变化长2,终点值2...
3(圆弧),半径,参考点(I/J)

# 示例代码
from qtmodel import *
mdb.update_tapper_section_group(name="变截面组1",ids=[1,2,3,4])
mdb.update_tapper_section_group(name="变截面组2",ids="1t0100")
#Returns: 无

remove_tapper_section_group

todo 删除变截面组,默认删除所有变截面组

参数:
name:变截面组名称

# 示例代码
from qtmodel import *
mdb.remove_tapper_section_group()
mdb.remove_tapper_section_group("变截面组1")
#Returns:无

边界操作

add_effective_width

添加有效宽度系数

参数:
element_ids:边界单元号支持整形和整形列表且支持XtoYbyN形式
factor_i:I端截面Iy折减系数
factor_j:J端截面Iy折减系数
dz_i:I端截面形心变换量
dz_j:J端截面形心变换量
group_name:边界组名

# 示例代码
from qtmodel import *
mdb.add_effective_width(element_ids=[1,2,3,4],factor_i=0.1,factor_j=0.1,dz_i=0.1,dz_j=0.1)
mdb.add_effective_width(element_ids="1to4",factor_i=0.1,factor_j=0.1,dz_i=0.1,dz_j=0.1)
#Returns: 无

add_boundary_group

新建边界组

参数:
name:边界组名

# 示例代码
from qtmodel import *
mdb.add_boundary_group(name="边界组1")
#Returns: 无

add_general_elastic_support_property

添加一般弹性支承特性

参数:
name:一般弹性支承特性名称
data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)

# 示例代码
from qtmodel import *
mdb.add_general_elastic_support_property(name = "特性1", data_matrix=[i for i in range(1,22)])
#Returns: 无

add_general_elastic_support

添加一般弹性支承特性

参数:
node_id:节点号,支持整数或整数型列表且支持XtoYbyN形式字符串
property_name:一般弹性支承特性名
group_name:一般弹性支承边界组名

# 示例代码
from qtmodel import *
mdb.add_general_elastic_support(node_id=1, property_name = "特性1",group_name="边界组1")
#Returns: 无

add_general_support

添加一般支承

参数:
node_id:节点编号,支持整数或整数型列表且支持XtoYbyN形式字符串
boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由,也可传数值列表(0-自由 1-固定)
group_name:边界组名,默认为默认边界组

# 示例代码
from qtmodel import *
mdb.add_general_support(node_id=1, boundary_info=[True,True,True,False,False,False])
mdb.add_general_support(node_id="1to100", boundary_info=[True,True,True,False,False,False])
mdb.add_general_support(node_id="1to100", boundary_info=[1,1,1,0,0,0])
#Returns: 无

add_elastic_support

添加弹性支承

参数:
node_id:节点编号,支持数或列表且支持XtoYbyN形式字符串
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:边界组

# 示例代码
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:受拉或受压刚度

# 示例代码
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

批量添加主从约束,不指定编号默认为最大编号加1

参数:
node_ids:主节点号和从节点号,主节点号位于首位
boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
group_name:边界组名

# 示例代码
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:从节点号,支持整数或整数型列表且支持XtoYbyN形式字符串
boundary_info:边界信息 [X,Y,Z,Rx,Ry,Rz] ture-固定 false-自由
group_name:边界组名

# 示例代码
from qtmodel import *
mdb.add_master_slave_link(master_id=1,slave_id=[2,3],boundary_info=[True,True,True,False,False,False])
mdb.add_master_slave_link(master_id=1,slave_id="2to3",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:边界组名

# 示例代码
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:边界组名

# 示例代码
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(角) -List<List>(三点 or 向量)

# 示例代码
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: 无

remove_effective_width

删除有效宽度系数

参数:
element_ids:边界单元号支持整形和整形列表且支持XtoYbyN形式
group_name:边界组名

# 示例代码
from qtmodel import *
mdb.remove_effective_width(element_ids=[1,2,3,4],group_name="边界组1")
mdb.remove_effective_width(element_ids="1to4",group_name="边界组1")
#Returns: 无

update_boundary_group

更改边界组名

参数:
name:边界组名
new_name:新边界组名

# 示例代码
from qtmodel import *
mdb.update_boundary_group("旧边界组","新边界组")
#Returns: 无

remove_boundary_group

按照名称删除边界组

参数:
name: 边界组名称,默认删除所有边界组 (非必须参数)

# 示例代码
from qtmodel import *
mdb.remove_boundary_group()
mdb.remove_boundary_group(name="边界组1")
#Returns: 无

remove_all_boundary

根据边界组名称、边界的类型和编号删除边界信息,默认时删除所有边界信息

参数:

# 示例代码
from qtmodel import *
mdb.remove_all_boundary()
#Returns: 无

remove_boundary

根据节点号删除一般支撑、弹性支承/根据弹性连接I或J端(需指定)节点号删除弹性连接/根据单元号删除梁端约束/根据从节点号和约束方程名删除约束方程/根据从节点号删除主从约束

参数:
remove_id:节点号 or 单元号 or 从节点号
kind:边界类型 ["一般支承", "弹性支承","一般弹性支承", "主从约束", "一般/受拉/受压/刚性弹性连接", "约束方程", "梁端约束"]
group_name:边界所处边界组名
extra_name:删除弹性连接或约束方程时额外标识,约束方程名或指定删除弹性连接节点类型 I/J

# 示例代码
from qtmodel import *
mdb.remove_boundary(remove_id=11, kind="一般弹性连接",group_name="边界组1", extra_name="J")
mdb.remove_boundary(remove_id=12, kind="约束方程",group_name="边界组1", extra_name="约束方程名")
#Returns: 无

update_general_elastic_support_property

添加一般弹性支承特性

参数:
name:原一般弹性支承特性名称
new_name:现一般弹性支承特性名称
data_matrix:一般弹性支承刚度矩阵(数据需按列输入至列表,共计21个参数)

# 示例代码
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:一般弹性支承特性名称

# 示例代码
from qtmodel import *
mdb.remove_general_elastic_support_property(name = "特性1")
#Returns: 无

update_node_axis

添加节点坐标

参数:
node_id:节点号
new_id:新节点号
input_type:输入方式 1-角度 2-三点 3-向量
coord_info:局部坐标信息 -List(角) -List<List>(三点 or 向量)

# 示例代码
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:节点号

# 示例代码
from qtmodel import *
mdb.remove_node_axis(node_id=1)
#Returns: 无

钢束操作

add_tendon_group

按照名称添加钢束组,添加时可指定钢束组id

参数:
name: 钢束组名称

# 示例代码
from qtmodel import *
mdb.add_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]

# 示例代码
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: 无

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方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
rotation_angle:绕钢束旋转角度
track_group:轨迹线结构组名 (直线时不用赋值)
projection:直线钢束投影 (默认为true)

# 示例代码
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方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
rotation_angle:绕钢束旋转角度
track_group:轨迹线结构组名 (直线时不用赋值)
projection:直线钢束投影 (默认为true)

# 示例代码
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: 无

add_tendon_elements

添加预应力单元

参数:
ids:单元编号支持数或列表且支持XtoYbyN形式字符串

# 示例代码
from qtmodel import *
mdb.add_tendon_elements(ids=[1,2,4,6])
#Returns: 无

update_tendon_property_material

todo 更新钢束特性材料

参数:
name:钢束特性名
material_name:材料名

# 示例代码
from qtmodel import *
mdb.update_tendon_property_material("特性1",material_name="材料1")
#Returns:无

update_tendon_property

todo 更新钢束特性

参数:
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-公规 2-铁规),张拉(1-一次张拉 2-超张拉),松弛(1-一般松弛 2-低松弛)] (仅钢绞线需要,默认为[1,1,1])
slip_info: 滑移信息[始端距离,末端距离] 默认为[0.006, 0.006]

# 示例代码
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:无

update_tendon

todo 更新三维钢束

参数:
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方向向量 默认为x轴即[1,0,0] (轨迹线不用赋值)
rotation_angle:绕钢束旋转角度
track_group:轨迹线结构组名 (直线时不用赋值)
projection:直线钢束投影 (默认为true)

# 示例代码
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: 钢束构件所在单元编号集合且支持XtoYbyN形式字符串
component_type:0-钢结构构件 1-钢筋混凝土构件 2-预应力混凝土构件

# 示例代码
from qtmodel import *
mdb.update_element_component_type(ids=[1,2,3,4],component_type=2)
#Returns: 无

update_tendon_group

更新钢束组名

参数:
name:原钢束组名
new_name:新钢束组名

# 示例代码
from qtmodel import *
mdb.update_tendon_group("钢束组1","钢束组2")
#Returns: 无

remove_tendon

按照名称或编号删除钢束,默认时删除所有钢束

参数:
name:钢束名称
index:钢束编号

# 示例代码
from qtmodel import *
mdb.remove_tendon(name="钢束1")
mdb.remove_tendon(index=1)
mdb.remove_tendon()
#Returns: 无

remove_tendon_property

按照名称或编号删除钢束组,默认时删除所有钢束组

参数:
name:钢束组名称
index:钢束组编号

# 示例代码
from qtmodel import *
mdb.remove_tendon_property(name="钢束特性1")
mdb.remove_tendon_property(index=1)
mdb.remove_tendon_property()
#Returns: 无

remove_pre_stress

删除预应力

参数:
tendon_name:钢束组,默认则删除所有预应力荷载

# 示例代码
from qtmodel import *
mdb.remove_pre_stress(tendon_name="钢束1")
mdb.remove_pre_stress()
#Returns: 无

remove_tendon_group

按照钢束组名称或钢束组编号删除钢束组,两参数均为默认时删除所有钢束组

参数:
name:钢束组名称,默认自动识别 (可选参数)

# 示例代码
from qtmodel import *
mdb.remove_tendon_group(name="钢束组1")
#Returns: 无

静力荷载操作

add_nodal_force

添加节点荷载

参数:
node_id:节点编号且支持XtoYbyN形式字符串
case_name:荷载工况名
load_info:荷载信息列表 [Fx,Fy,Fz,Mx,My,Mz]
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.add_nodal_force(node_id=1,case_name="荷载工况1",load_info=[1,1,1,1,1,1],group_name="默认结构组")
mdb.add_nodal_force(node_id="1to100",case_name="荷载工况1",load_info=[1,1,1,1,1,1],group_name="默认结构组")
#Returns: 无

add_node_displacement

添加节点位移

参数:
node_id:节点编号,支持整型或整数型列表且支持XtoYbyN形式字符串
case_name:荷载工况名
load_info:节点位移列表 [Dx,Dy,Dz,Rx,Ry,Rz]
group_name:荷载组名

# 示例代码
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: 无

add_beam_element_load

添加梁单元荷载

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
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:荷载是否投影

# 示例代码
from qtmodel import *
mdb.add_beam_element_load(element_id=1,case_name="荷载工况1",load_type=1,list_x=0.5,list_load=100)
mdb.add_beam_element_load(element_id="1to100",case_name="荷载工况1",load_type=3,list_x=[0.4,0.8],list_load=[100,200])
#Returns: 无

add_pre_stress

添加预应力

参数:
case_name:荷载工况名
tendon_name:钢束名,支持钢束名或钢束名列表
tension_type:预应力类型 (0-始端 1-末端 2-两端)
force:预应力
group_name:荷载组

# 示例代码
from qtmodel import *
mdb.add_pre_stress(case_name="荷载工况名",tendon_name="钢束1",force=1390000)
#Returns: 无

add_initial_tension_load

添加初始拉力

参数:
element_id:单元编号支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
tension:初始拉力
tension_type:张拉类型 0-增量 1-全量
group_name:荷载组名
application_type:计算方式 1-体外力 2-体内力 3-转为索长张拉
stiffness:索刚度参与系数

# 示例代码
from qtmodel import *
mdb.add_initial_tension_load(element_id=1,case_name="工况1",tension=100,tension_type=1)
#Returns: 无

add_cable_length_load

添加索长张拉

参数:
element_id:单元编号支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
length:长度
tension_type:张拉类型 0-增量 1-全量
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.add_cable_length_load(element_id=1,case_name="工况1",length=1,tension_type=1)
#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:坐标系 (1-整体X 2-整体Y 3-整体Z 4-局部X 5-局部Y 6-局部Z)
group_name:荷载组名
list_load:荷载列表
list_xy:荷载位置信息 [IJ方向绝对距离x,IL方向绝对距离y] (仅集中荷载需要)

# 示例代码
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: 无

add_distribute_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:描述

# 示例代码
from qtmodel import *
mdb.add_distribute_plane_load_type(name="荷载类型1",load_type=1,point_list=[[1,0,10],[1,1,10],[1,2,10]])
mdb.add_distribute_plane_load_type(name="荷载类型2",load_type=2,point_list=[[1,0],[1,1]],load=10)
#Returns: 无

add_distribute_plane_load

添加分配面荷载类型

参数:
index:荷载编号,默认自动识别
case_name:工况名
type_name:荷载类型名称
point1:第一点(原点)
point2:第一点(在x轴上)
point3:第一点(在y轴上)
plate_ids:指定板单元。默认时为全部板单元
coord_system:描述
group_name:描述

# 示例代码
from qtmodel import *
mdb.add_distribute_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_distribute_plane_load_type

todo 更新板单元类型

参数:
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:描述

# 示例代码
from qtmodel import *
mdb.update_distribute_plane_load_type(name="荷载类型1",load_type=1,point_list=[[1,0,10],[1,1,10],[1,2,10]])
mdb.update_distribute_plane_load_type(name="荷载类型2",load_type=2,point_list=[[1,0],[1,1]],load=10)
#Returns: 无

remove_nodal_force

todo 删除节点荷载

参数:
node_id:节点编号且支持XtoYbyN形式字符串
case_name:荷载工况名
group_name:指定荷载组

# 示例代码
from qtmodel import *
mdb.remove_nodal_force(case_name="荷载工况1",node_id=1,group_name="默认荷载组")
#Returns: 无

remove_nodal_displacement

todo 删除节点位移荷载

参数:
node_id:节点编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
group_name:指定荷载组

# 示例代码
from qtmodel import *
mdb.remove_nodal_displacement(case_name="荷载工况1",node_id=1,group_name="默认荷载组")
#Returns: 无

remove_initial_tension_load

todo 删除初始拉力

参数:
element_id:单元编号支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.remove_initial_tension_load(element_id=1,case_name="工况1",group_name="默认荷载组")
#Returns: 无

remove_beam_element_load

todo 删除梁单元荷载

参数:
element_id:单元号支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
load_type:荷载类型 (1-集中力 2-集中弯矩 3-分布力 4-分布弯矩)
group_name:荷载组名称

# 示例代码
from qtmodel import *
mdb.remove_beam_element_load(case_name="工况1",element_id=1,load_type=1,group_name="默认荷载组")
#Returns: 无

remove_plate_element_load

todo 删除指定荷载工况下指定单元的板单元荷载

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
load_type: 板单元类型 1集中力 2-集中弯矩 3-分布线力 4-分布线弯矩 5-分布面力 6-分布面弯矩
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.remove_plate_element_load(case_name="工况1",element_id=1,load_type=1,group_name="默认荷载组")
#Returns: 无

remove_cable_length_load

todo 删除索长张拉

参数:
element_id:单元号支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.remove_cable_length_load(case_name="工况1",element_id=1, group_name= "默认荷载组")
#Returns: 无

remove_plane_load

todo 根据荷载编号删除分配面荷载

参数:
index: 指定荷载编号,默认则删除所有分配面荷载

# 示例代码
from qtmodel import *
mdb.remove_plane_load()
mdb.remove_plane_load(index=1)
#Returns: 无

remove_distribute_plane_load_type

todo 删除分配面荷载类型

参数:
name: 指定荷载类型,默认则删除所有分配面荷载

# 示例代码
from qtmodel import *
mdb.remove_distribute_plane_load_type("类型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 所需参数)

# 示例代码
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:车轮距影响面最小距离 (轮重集合 所需参数))

# 示例代码
from qtmodel import *
mdb.add_user_vehicle(name="车道荷载",load_type="车道荷载",p=270000,q=10500)
#Returns: 无

add_node_tandem

添加节点纵列,默认以最小X对应节点作为纵列起点

参数:
name:节点纵列名
node_ids:节点列表,支持XToYbyN字符串
order_by_x:是否开启自动排序,按照X坐标从小到大排序

# 示例代码
from qtmodel import *
mdb.add_node_tandem(name="节点纵列1",node_ids=[1,2,3,4,5,6,7])
mdb.add_node_tandem(name="节点纵列1",node_ids="1to7")
#Returns: 无

add_influence_plane

添加影响面

参数:
name:影响面名称
tandem_names:节点纵列名称组

# 示例代码
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-向后

# 示例代码
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:考虑特载时特载车辆名
is_save:是否保存子工况结果

# 示例代码
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: 汽车折减规范编号 0-无 1-公规2015 2-公规2004
cross_factors:横向折减系数列表,自定义时要求长度为8,否则按照规范选取
longitude_factor:纵向折减系数,大于0时为自定义,否则为规范自动选取
impact_factor:冲击系数大于1时为自定义,否则按照规范自动选取
frequency:桥梁基频

# 示例代码
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: 火车折减规范编号 0-无 1-铁规ZK 2-铁规ZKH
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活载所需参数)

# 示例代码
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时为自定义,否则按照规范自动选取

# 示例代码
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: 无

update_standard_vehicle

todo 更新标准车辆

参数:
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 所需参数)

# 示例代码
from qtmodel import *
mdb.update_standard_vehicle("高速铁路",standard_code=1,load_type="高速铁路")
#Returns: 无

update_user_vehicle

todo 更新自定义标准车辆

参数:
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"

# 示例代码
from qtmodel import *
mdb.update_user_vehicle(name="车道荷载",load_type="车道荷载",p=270000,q=10500)
#Returns: 无

update_influence_plane

todo 更新影响面

参数:
name:影响面名称
new_name:更改后影响面名称,若无更改则默认
tandem_names:节点纵列名称组

# 示例代码
from qtmodel import *
mdb.update_influence_plane(name="影响面1",tandem_names=["节点纵列1","节点纵列2"])
#Returns: 无

update_lane_line

todo 更新车道线

参数:
name:车道线名称
new_name:更改后车道名,默认为不更改
influence_name:影响面名称
tandem_name:节点纵列名
offset:偏移
lane_width:车道宽度
optimize:是否允许车辆摆动
direction:0-向前 1-向后

# 示例代码
from qtmodel import *
mdb.update_lane_line(name="车道1",influence_name="影响面1",tandem_name="节点纵列1",offset=0,lane_width=3.1)
#Returns: 无

update_node_tandem

todo 更新节点纵列,默认以最小X对应节点作为纵列起点

参数:
name:节点纵列名
new_name: 新节点纵列名,默认不修改
node_ids:节点列表,支持XtoYbyN形式字符串
order_by_x:是否开启自动排序,按照X坐标从小到大排序

# 示例代码
from qtmodel import *
mdb.update_node_tandem(name="节点纵列1",node_ids=[1,2,3,4,5])
mdb.update_node_tandem(name="节点纵列1",node_ids="1to100")
#Returns: 无

update_live_load_case

todo 更新移动荷载工况

参数:
name:活载工况名
new_name:新移动荷载名,默认不修改
influence_plane:影响线名
span:跨度
sub_case:子工况信息 [(车辆名称,系数,["车道1","车道2"])...]
trailer_code:考虑挂车时挂车车辆名
special_code:考虑特载时特载车辆名

# 示例代码
from qtmodel import *
mdb.update_live_load_case(name="活载工况1",influence_plane="影响面1",span=100,sub_case=[("车辆名称",1.0,["车道1","车道2"]),])
#Returns: 无

remove_vehicle

todo 删除车辆信息

参数:
index:车辆编号
name:车辆名称

# 示例代码
from qtmodel import *
mdb.remove_vehicle(name="车辆名称")
mdb.remove_vehicle(index=1)
#Returns: 无

remove_node_tandem

todo 按照节点纵列编号/节点纵列名 删除节点纵列

参数:
index:节点纵列编号
name:节点纵列名

# 示例代码
from qtmodel import *
mdb.remove_node_tandem(index=1)
mdb.remove_node_tandem(name="节点纵列1")
#Returns: 无

remove_influence_plane

todo 按照影响面编号/影响面名称 删除影响面

参数:
index:影响面编号
name:影响面名称

# 示例代码
from qtmodel import *
mdb.remove_influence_plane(index=1)
mdb.remove_influence_plane(name="影响面1")
#Returns: 无

remove_lane_line

todo 按照车道线编号或车道线名称 删除车道线

参数:
index:车道线编号,默认时则按照名称删除车道线
name:车道线名称

# 示例代码
from qtmodel import *
mdb.remove_lane_line(index=1)
mdb.remove_lane_line(name="车道线1")
#Returns: 无

remove_live_load_case

todo 删除移动荷载工况,默认值时则按照工况名删除

参数:
index:移动荷载工况编号
name:移动荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_live_load_case(name="活载工况1")
mdb.remove_live_load_case(index=1)
#Returns: 无

动力荷载操作

add_load_to_mass

添加荷载转为质量

参数:
name: 荷载工况名称
factor: 系数

# 示例代码
from qtmodel import *
mdb.add_load_to_mass(name="荷载工况",factor=1)
#Returns: 无

add_nodal_mass

添加节点质量

参数:
node_id:节点编号,支持单个编号和编号列表
mass_info:[m,rmX,rmY,rmZ]

# 示例代码
from qtmodel import *
mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
#Returns: 无

add_boundary_element_property

添加边界单元特性

参数:
index: 边界单元特性编号,默认自动识别
name: 边界单元特性名称
kind: 类型名,支持:粘滞阻尼器、支座摩阻、滑动摩擦摆(具体参考界面数据名)
info_x: 自由度X信息(参考界面数据,例如粘滞阻尼器为[阻尼系数,速度指数],支座摩阻为[安装方向0/1,弹性刚度/摩擦系数,恒载支承力N])
info_y: 自由度Y信息,默认则不考虑该自由度
info_z: 自由度Z信息
weight: 重量(单位N)
pin_stiffness: 剪力销刚度
pin_yield: 剪力销屈服力
description: 说明

# 示例代码
from qtmodel import *
mdb.add_boundary_element_property(name="边界单元特性",kind="粘滞阻尼器",info_x=[0.05,1])
#Returns: 无

add_boundary_element_link

添加边界单元连接

参数:
index: 边界单元连接号
property_name: 边界单元特性名称
node_i: 起始节点
node_j: 终止节点
beta: 角度
node_system: 参考坐标系0-单元 1-整体
group_name: 边界组名

# 示例代码
from qtmodel import *
mdb.add_boundary_element_link(property_name="边界单元特性",node_i=1,node_j=2,group_name="边界组1")
#Returns: 无

add_nodal_dynamic_load

添加节点动力荷载

参数:
index: 节点动力荷载编号,默认自动识别
node_id: 节点号
case_name: 时程工况名
function_name: 函数名称
force_type: 荷载类型 1-X 2-Y 3-Z 4-负X 5-负Y 6-负Z
factor: 系数
time: 到达时间

# 示例代码
from qtmodel import *
mdb.add_nodal_dynamic_load(node_id=1,case_name="时程工况1",function_name="函数1",time=10)
#Returns: 无

add_ground_motion

添加地面加速度

参数:
case_name: 工况名称
info_x: X方向时程分析函数信息列表(函数名,系数,到达时间)
info_y: Y方向时程分析函数信息列表
info_z: Z方向时程分析函数信息列表

# 示例代码
from qtmodel import *
mdb.add_ground_motion(case_name="时程工况1",info_x=("函数名",1,10))
#Returns: 无

add_time_history_case

添加时程工况

参数:
index: 时程工况编号,默认自动识别
name: 时程工况名
description: 描述
analysis_kind: 分析类型(0-线性 1-边界非线性)
nonlinear_groups: 非线性结构组列表
duration: 分析时间
time_step: 分析时间步长
min_step: 最小收敛步长
tolerance: 收敛容限
damp_type: 组阻尼类型(0-不计阻尼 1-单一阻尼 2-组阻尼)
single_damping: 单一阻尼信息列表(周期1,阻尼比1,周期2,阻尼比2)
group_damping: 组阻尼信息列表[(材料名1,周期1,周期2,阻尼比),(材料名2,周期1,周期2,阻尼比)...]

# 示例代码
from qtmodel import *
mdb.add_time_history_case(name="时程工况1",analysis_kind=0,duration=10,time_step=0.02,damp_type=2,
group_damping=[("材料1",8,1,0.05),("材料2",8,1,0.05),("材料3",8,1,0.02)])
#Returns: 无

add_time_history_function

添加时程函数

参数:
name: 名称
factor: 放大系数
kind: 0-无量纲 1-加速度 2-力 3-力矩
function_info: 函数信息[(时间1,数值1),(时间2,数值2)]

# 示例代码
from qtmodel import *
mdb.add_time_history_function(name="时程函数1",factor=1,function_info=[(0,0),(0.02,0.1),[0.04,0.3]])
#Returns: 无

add_vehicle_dynamic_load

添加列车动力荷载

参数:
node_ids: 节点纵列节点编号集合,支持XtoYbyN形式字符串
function_name: 函数名
case_name: 工况名
kind: 类型 1-ZK型车辆 2-动车组
speed_kmh: 列车速度(km/h)
braking: 是否考虑制动
braking_a: 制动加速度(m/s²)
braking_d: 制动时车头位置(m)
time: 上桥时间(s)
direction: 荷载方向 1-X 2-Y 3-Z 4-负X 5-负Y 6-负Z
gap: 加载间距(m)
factor: 放大系数
vehicle_info_kn: 车辆参数,参数为空时则选取界面默认值,注意单位输入单位为KN
ZK型车辆: [dW1,dW2,P1,P2,P3,P4,dD1,dD2,D1,D2,D3,LoadLength]
动力组: [L1,L2,L3,P,N]

# 示例代码
from qtmodel import *
mdb.add_vehicle_dynamic_load("1to100",function_name="时程函数名",case_name="时程工况名",kind=1,speed_kmh=120,time=10)
mdb.add_vehicle_dynamic_load([1,2,3,4,5,6,7],function_name="时程函数名",case_name="时程工况名",kind=1,speed_kmh=120,time=10)
#Returns:无

update_load_to_mass

更新荷载转为质量

参数:
name:荷载工况名称
factor:荷载工况系数

# 示例代码
from qtmodel import *
mdb.update_load_to_mass(name="工况1",factor=1)
#Returns: 无

update_nodal_mass

更新节点质量

参数:
node_id:节点编号
new_node_id:新节点编号,默认不改变节点
mass_info:[m,rmX,rmY,rmZ]

# 示例代码
from qtmodel import *
mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
#Returns: 无

update_boundary_element_property

todo 更新边界单元特性,输入参数单位默认为N、m

参数:
name: 原边界单元特性名称
new_name: 更新后边界单元特性名称,默认时不修改
kind: 类型名,支持:粘滞阻尼器、支座摩阻、滑动摩擦摆(具体参考界面数据名)
info_x: 自由度X信息(参考界面数据,例如粘滞阻尼器为[阻尼系数,速度指数],支座摩阻为[安装方向0/1,弹性刚度/摩擦系数,恒载支承力N])
info_y: 自由度Y信息
info_z: 自由度Z信息
weight: 重量(单位N)
pin_stiffness: 剪力销刚度
pin_yield: 剪力销屈服力
description: 说明

# 示例代码
from qtmodel import *
mdb.update_boundary_element_property(name="old_prop",kind="粘滞阻尼器",info_x=[0.5, 0.5],weight=1000.0)
#Returns: 无

update_boundary_element_link

todo 更新边界单元连接

参数:
index: 根据边界单元连接id选择待更新对象
property_name: 边界单元特性名
node_i: 起始节点点
node_j: 终点节点号
beta: 角度参数
node_system: 0-单元坐标系 1-整体坐标系
group_name: 边界组名称

# 示例代码
from qtmodel import *
mdb.update_boundary_element_link(index=1,property_name="边界单元特性名",node_i=101,node_j=102,beta=30.0)
#Returns: 无

update_time_history_case

todo 更新时程工况

参数:
name: 时程工况号
new_name: 时程工况名
description: 描述
analysis_kind: 分析类型(0-线性 1-边界非线性)
nonlinear_groups: 非线性结构组列表
duration: 分析时间
time_step: 分析时间步长
min_step: 最小收敛步长
tolerance: 收敛容限
damp_type: 组阻尼类型(0-不计阻尼 1-单一阻尼 2-组阻尼)
single_damping: 单一阻尼信息列表(周期1,周期2,频率1,频率2)
group_damping: 组阻尼信息列表[(材料名1,周期1,周期2,阻尼比),(材料名2,周期1,周期2,阻尼比)...]

# 示例代码
from qtmodel import *
mdb.update_time_history_case(name="TH1",analysis_kind=1,
nonlinear_groups=["结构组1", "结构组2"],duration=30.0,time_step=0.02,damp_type=2,
group_damping=[("concrete", 0.1, 0.5, 0.05), ("steel", 0.1, 0.5, 0.02)])
#Returns: 无

update_time_history_function

todo 更新时程函数

参数:
name: 更新前函数名
new_name: 更新后函数名,默认不更新名称
factor: 放大系数
kind: 0-无量纲 1-加速度 2-力 3-力矩
function_info: 函数信息[(时间1,数值1),(时间2,数值2)]

# 示例代码
from qtmodel import *
mdb.update_time_history_function(name="old_func",factor=1.5,kind=1,function_info=[(0.0, 0.0), (0.1, 0.5)])
#Returns: 无

update_nodal_dynamic_load

todo 更新节点动力荷载

参数:
index: 待修改荷载编号
node_id: 节点号
case_name: 时程工况名
function_name: 函数名称
direction: 荷载类型 1-X 2-Y 3-Z 4-负X 5-负Y 6-负Z
factor: 系数
time: 到达时间

# 示例代码
from qtmodel import *
mdb.update_nodal_dynamic_load(index=1,node_id=101,case_name="Earthquake_X",function_name="EQ_function",direction=1,factor=1.2,time=0.0 )
#Returns: 无

update_ground_motion

todo 更新地面加速度

参数:
index: 地面加速度编号
case_name: 时程工况名
info_x: X方向时程分析函数信息数据(函数名,系数,到达时间)
info_y: Y方向信息
info_z: Z方向信息

# 示例代码
from qtmodel import *
mdb.update_ground_motion(index=1,case_name="Earthquake_X",
info_x=("EQ_X_func", 1.0, 0.0),info_y=("EQ_Y_func", 0.8, 0.0),info_z=("EQ_Z_func", 0.6, 0.0) )
#Returns: 无

remove_time_history_load_case

todo 通过时程工况名删除时程工况

参数:
name: 时程工况名

# 示例代码
from qtmodel import *
mdb.remove_time_history_load_case("工况名")
#Returns: 无

remove_time_history_function

todo 通过函数编号删除时程函数

参数:
ids: 删除时程函数编号集合支持XtoYbyN形式,默认为空时则按照名称删除
name: 编号集合为空时则按照名称删除

# 示例代码
from qtmodel import *
mdb.remove_time_history_function(ids=[1,2,3])
mdb.remove_time_history_function(ids="1to3")
mdb.remove_time_history_function(name="函数名")
#Returns: 无

remove_load_to_mass

todo 删除荷载转为质量,默认删除所有荷载转质量

参数:
name:荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_load_to_mass(name="荷载工况")
#Returns: 无

remove_nodal_mass

todo 删除节点质量

参数:
node_id:节点号,自动忽略不存在的节点质量

# 示例代码
from qtmodel import *
mdb.remove_nodal_mass(node_id=1)
mdb.remove_nodal_mass(node_id=[1,2,3,4])
mdb.remove_nodal_mass(node_id="1to5")
#Returns: 无

remove_boundary_element_property

todo 删除边界单元特性

参数:

# 示例代码
from qtmodel import *
mdb.remove_boundary_element_property(name="特性名")
#Returns: 无

remove_boundary_element_link

todo 删除边界单元连接

参数:
ids:所删除的边界单元连接号且支持XtoYbyN形式字符串

# 示例代码
from qtmodel import *
mdb.remove_boundary_element_link(ids=1)
mdb.remove_boundary_element_link(ids=[1,2,3,4])
#Returns: 无

remove_ground_motion

todo 删除地面加速度

参数:
name: 工况名称

# 示例代码
from qtmodel import *
mdb.remove_ground_motion("时程工况名")
#Returns: 无

remove_nodal_dynamic_load

todo 删除节点动力荷载

参数:
ids:所删除的节点动力荷载编号且支持XtoYbyN形式字符串

# 示例代码
from qtmodel import *
mdb.remove_nodal_dynamic_load(ids=1)
mdb.remove_nodal_dynamic_load(ids=[1,2,3,4])
#Returns: 无

反应谱分析

add_spectrum_function

添加反应谱函数

参数:
name:反应谱函数名
factor:反应谱调整系数
kind:反应谱类型 0-无量纲 1-加速度 2-位移
function_info:反应谱函数信息[(时间1,数值1),[时间2,数值2]]

# 示例代码
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方向函数名,系数)

# 示例代码
from qtmodel import *
mdb.add_spectrum_case(name="反应谱工况",info_x=("函数1",1.0))
#Returns: 无

update_spectrum_function

todo 更新反应谱函数

参数:
name: 函数名称
new_name: 新函数名称
factor: 反应谱调整系数
kind: 0-无量纲 1-加速度 2-位移
function_info: 函数信息[(时间1,数值1),(时间2,数值2)]

# 示例代码
from qtmodel import *
mdb.update_spectrum_function( name="函数名称", factor=1.2, kind=1, function_info=[(0.0, 0.0), (0.5, 0.8), (1.0, 1.2)])
#Returns: 无

update_spectrum_case

todo 更新反应谱工况

参数:
name: 工况名称
new_name: 新工况名称
description: 描述
kind: 组合方式 1-求模 2-求和
info_x: 反应谱X向信息 (X方向函数名,系数)
info_y: Y向信息
info_z: Z向信息

# 示例代码
from qtmodel import *
mdb.update_spectrum_case(name="RS1",kind=1,info_x=("函数X", 1.0),info_y=("函数Y", 0.85) )
#Returns: 无

remove_spectrum_case

todo 删除反应谱工况

参数:
name: 工况名称

# 示例代码
from qtmodel import *
mdb.remove_spectrum_case("工况名")
#Returns: 无

remove_spectrum_function

todo 删除反应谱函数

参数:
ids: 删除反应谱工况函数编号集合支持XtoYbyN形式,默认为空时则按照名称删除
name: 编号集合为空时则按照名称删除

# 示例代码
from qtmodel import *
mdb.remove_spectrum_function(name="工况名")
#Returns: 无

温度与制造

add_custom_temperature

添加梁自定义温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
group_name:指定荷载组,后续升级开放指定荷载组删除功能
orientation: 1-局部坐标z 2-局部坐标y
temperature_data:自定义数据[(参考位置1-顶 2-底,高度,温度)...]

# 示例代码
from qtmodel import *
mdb.add_custom_temperature(case_name="荷载工况1",element_id=1,orientation=1,temperature_data=[(1,1,20),(1,2,10)])
#Returns: 无

add_element_temperature

添加单元温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
temperature:最终温度
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.add_element_temperature(element_id=1,case_name="自重",temperature=1,group_name="默认荷载组")
#Returns: 无

add_system_temperature

添加系统温度

参数:
case_name:荷载工况名
temperature:最终温度
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.add_system_temperature(case_name="荷载工况",temperature=20,group_name="默认荷载组")
#Returns: 无

add_gradient_temperature

添加梯度温度

# 示例代码
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: 无

add_beam_section_temperature

添加梁截面温度

参数:
element_id:单元编号,支持整数或整数型列表且支持XtoYbyN形式字符串
case_name:荷载工况名
code_index:规范编号 (1-公路规范2015 2-美规2017)
sec_type:截面类型(1-混凝土 2-组合梁)
t1:温度1
t2:温度2
t3:温度3
t4:温度4
thick:厚度
group_name:荷载组名

# 示例代码
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: 无

add_index_temperature

添加指数温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
temperature:温差
index:指数
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.add_index_temperature(element_id=1,case_name="工况1",temperature=20,index=2)
#Returns: 无

add_top_plate_temperature

添加顶板温度

参数:
element_id:单元编号
case_name:荷载
temperature:温差,最终温度于初始温度之差
group_name:荷载组名

# 示例代码
from qtmodel import *
mdb.add_top_plate_temperature(element_id=1,case_name="工况1",temperature=40,group_name="默认荷载组")
#Returns: 无

remove_element_temperature

todo 删除指定单元温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_element_temperature(case_name="荷载工况1",element_id=1)
#Returns: 无

remove_top_plate_temperature

todo 删除梁单元顶板温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_top_plate_temperature(case_name="荷载工况1",element_id=1)
#Returns: 无

remove_beam_section_temperature

todo 删除指定梁或板单元梁截面温度

参数:
case_name:荷载工况名
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串

# 示例代码
from qtmodel import *
mdb.remove_beam_section_temperature(case_name="工况1",element_id=1)
#Returns: 无

remove_gradient_temperature

todo 删除梁或板单元梯度温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_gradient_temperature(case_name="工况1",element_id=1)
#Returns: 无

remove_custom_temperature

todo 删除梁单元自定义温度

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_custom_temperature(case_name="工况1",element_id=1)
#Returns: 无

remove_index_temperature

todo 删除梁单元指数温度且支持XtoYbyN形式字符串

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名

# 示例代码
from qtmodel import *
mdb.remove_index_temperature(case_name="工况1",element_id=1)
#Returns: 无

偏差荷载

add_deviation_parameter

添加制造误差

参数:
name:名称
parameters:参数列表
_梁杆单元为[轴向,I端X向转角,I端Y向转角,I端Z向转角,J端X向转角,J端Y向转角,J端Z向转角]
_板单元为[X向位移,Y向位移,Z向位移,X向转角,Y向转角]

# 示例代码
from qtmodel import *
mdb.add_deviation_parameter(name="梁端制造误差",parameters=[1,0,0,0,0,0,0])
mdb.add_deviation_parameter(name="板端制造误差",parameters=[1,0,0,0,0])
#Returns: 无

add_deviation_load

添加制造误差荷载

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
parameters:参数名列表
_梁杆单元为制造误差参数名称
_板单元为[I端误差名,J端误差名,K端误差名,L端误差名]
group_name:荷载组名

# 示例代码
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: 无

update_deviation_parameter

todo 更新制造误差参数

参数:
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向转角]

# 示例代码
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

todo 删除指定制造偏差参数

参数:
name:制造偏差参数名
para_type:制造偏差类型 1-梁单元 2-板单元

# 示例代码
from qtmodel import *
mdb.remove_deviation_parameter(name="参数1",para_type=1)
#Returns: 无

remove_deviation_load

todo 删除指定制造偏差荷载

参数:
element_id:单元编号,支持数或列表且支持XtoYbyN形式字符串
case_name:荷载工况名
group_name: 荷载组

# 示例代码
from qtmodel import *
mdb.remove_deviation_load(case_name="工况1",element_id=1,group_name="荷载组1")
#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开始,默认添加到最后
tendon_cancel_loss:钝化预应力单元后预应力损失
constraint_cancel_type:钝化梁端约束释放计算方法1-变形法 2-无应力法

# 示例代码
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_weight_stage

更新施工阶段自重

参数:
name:施工阶段信息
structure_group_name:结构组名
weight_stage_id: 计自重阶段号 (0-不计自重,1-本阶段 n-第n阶段)

# 示例代码
from qtmodel import *
mdb.update_weight_stage(name="施工阶段1",structure_group_name="默认结构组",weight_stage_id=1)
#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,..]
tendon_cancel_loss:钝化预应力单元后预应力损失
constraint_cancel_type:钝化梁端约束释放计算方法1-变形法 2-无应力法

# 示例代码
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号施工阶段插入到3号之前即为1号与2号施工阶段互换

参数:
stage_id:修改施工阶段编号且支持XtoYbyN形式字符串
target_id:目标施工阶段编号

# 示例代码
from qtmodel import *
mdb.update_construction_stage_id(1,3)
mdb.update_construction_stage_id([1,2,3],9)
#Returns:无

update_all_stage_setting_type

更新施工阶段安装方式

参数:
setting_type:安装方式 (1-接线法 2-无应力法 3-变形法 4-切线法)

# 示例代码
from qtmodel import *
mdb.update_all_stage_setting_type(setting_type=1)
#Returns: 无

update_section_connection_stage

更新施工阶段联合截面

参数:
name:名称
new_name:新名称
sec_id:截面号
element_id:单元号,支持整型和整型列表且支持XtoYbyN形式字符串
stage_name:结合阶段名
age:材龄
weight_type:辅材计自重方式 0-由主材承担 1-由整体承担 2-不计辅材自重

# 示例代码
from qtmodel import *
mdb.update_section_connection_stage(name="联合阶段",sec_id=1,element_id=[2,3,4,5],stage_name="施工阶段1")
mdb.update_section_connection_stage(name="联合阶段",sec_id=1,element_id="2to5",stage_name="施工阶段1")
#Returns:无

remove_construction_stage

按照施工阶段名删除施工阶段,默认删除所有施工阶段

参数:
name:所删除施工阶段名称

# 示例代码
from qtmodel import *
mdb.remove_construction_stage(name="施工阶段1")
#Returns: 无

merge_all_stages

合并当前所有施工阶段

参数:
name: 阶段名称
setting_type: 安装方式 1-变形法安装 2-无应力安装,默认为1
weight_type: 自重类型 -1-其他结构考虑 0-不计自重 1-本阶段,默认为1
age: 加载龄期,默认为5
boundary_type: 边界类型 0-变形前 1-变形后,默认为0
load_type: 荷载类型 0-开始 1-结束,默认为0
tendon_cancel_loss: 钝化预应力单元后预应力损失率,默认为0
constraint_cancel_type: 钝化梁端约束释放计算方法 1-变形法 2-无应力法,默认为1

# 示例代码
from qtmodel import *
mdb.merge_all_stages(name="合并阶段", setting_type=1, weight_type=1, age=5)
#Returns: 无

施工阶段联合截面

add_section_connection_stage

添加施工阶段联合截面

参数:
name:名称
sec_id:截面号
element_id:单元号,支持整型和整型列表,支持XtoYbyN形式字符串
stage_name:结合阶段名
age:材龄
weight_type:辅材计自重方式 0-由主材承担 1-由整体承担 2-不计辅材自重

# 示例代码
from qtmodel import *
mdb.add_section_connection_stage(name="联合阶段",sec_id=1,element_id=[2,3,4,5],stage_name="施工阶段1")
#Returns:无

add_element_to_connection_stage

添加单元到施工阶段联合截面

参数:
element_id:单元号,支持整型和整型列表且支持XtoYbyN形式字符串
name:联合阶段名

# 示例代码
from qtmodel import *
mdb.add_element_to_connection_stage([1,2,3,4],"联合阶段")
#Returns:无

remove_section_connection_stage

删除施工阶段联合截面

参数:
name:名称

# 示例代码
from qtmodel import *
mdb.remove_section_connection_stage(name="联合阶段")
#Returns:无

分析设置

update_project_setting

更新总体设置

参数:
project: 项目名
company: 公司名
designer: 设计人员
reviewer: 复核人员
date_time: 时间
gravity: 重力加速度 (m/s²)
temperature: 设计温度 (摄氏度)
description: 说明

# 示例代码
from qtmodel import *
mdb.update_project_setting(project="项目名",gravity=9.8,temperature=20)
#Returns: 无

update_global_setting

更新整体设置

参数:
solver_type:求解器类型 0-稀疏矩阵求解器 1-变带宽求解器
calculation_type: 计算设置 0-单线程 1-用户自定义 2-自动设置
thread_count: 线程数

# 示例代码
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_name: 计算至其他阶段时名称
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默认值

# 示例代码
from qtmodel import *
mdb.update_construction_stage_setting(do_analysis=True, to_end_stage=False, other_stage_name="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: 约束方程计算类选项为组时边界组名称

# 示例代码
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: 内力相对精度

# 示例代码
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: 活载工况名列表

# 示例代码
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: 振型数量

# 示例代码
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:常数阻尼比或振型阻尼比列表

# 示例代码
from qtmodel import *
mdb.update_response_spectrum_setting(do_analysis=True,kind=1,damping_ratio=0.05)
#Returns: 无

update_time_history_setting

更新时程分析设置

参数:
do_analysis:是否进行反应谱分析
output_all:是否输出所有结构组
groups: 结构组列表

# 示例代码
from qtmodel import *
mdb.update_time_history_setting(do_analysis=True,output_all=True)
#Returns: 无

update_bulking_setting

更新屈曲分析设置

参数:
do_analysis:是否进行反应谱分析
mode_count:模态数量
stage_id: 指定施工阶段号(默认选取最后一个施工阶段)
calculate_kind: 1-计为不变荷载 2-计为可变荷载
stressed:是否指定施工阶段末的受力状态
constant_cases: 不变荷载工况名称集合
variable_cases: 可变荷载工况名称集合(必要参数)

# 示例代码
from qtmodel import *
mdb.update_bulking_setting(do_analysis=True,mode_count=3,variable_cases=["工况1","工况2"])
#Returns: 无

视图与结果提取

获取材料

get_material_data

获取材料信息

参数:

# 示例代码
from qtmodel import *
odb.get_material_data() # 获取所有材料信息
#Returns: 包含信息为list[dict]

get_thickness_data

获取所有板厚信息

参数:

# 示例代码
from qtmodel import *
odb.get_thickness_data()
#Returns: 包含信息为list[dict]

获取节点信息

get_overlap_nodes

获取重合节点

参数:
round_num: 判断精度,默认小数点后四位

# 示例代码
from qtmodel import *
odb.get_overlap_nodes()
#Returns: 包含信息为list[list[int]]

get_node_id

获取节点编号,结果为-1时则表示未找到该坐标节点

参数:
x: 目标点X轴坐标
y: 目标点Y轴坐标
z: 目标点Z轴坐标
tolerance: 距离容许误差

# 示例代码
from qtmodel import *
odb.get_node_id(x=1,y=1,z=1)
#Returns: int

get_group_nodes

获取结构组节点编号

参数:
group_name: 结构组名

# 示例代码
from qtmodel import *
odb.get_group_nodes(group_name="默认结构组")
#Returns: list[int]

get_node_data

获取节点信息 默认获取所有节点信息

参数:
ids:节点号集合支持XtoYbyN形式字符串

# 示例代码
from qtmodel import *
odb.get_node_data()     # 获取所有节点信息
odb.get_node_data(ids=1)    # 获取单个节点信息
odb.get_node_data(ids=[1,2])    # 获取多个节点信息
#Returns:  包含信息为list[dict] or dict

获取单元信息

get_element_by_point

获取某一点指定范围内单元集合,单元中心点为节点平均值

参数:
x: 坐标x
y: 坐标y
z: 坐标z
tolerance:容许范围,默认为1

# 示例代码
from qtmodel import *
odb.get_element_by_point(0.5,0.5,0.5,tolerance=1)
#Returns: 包含信息为list[int]

get_element_by_material

获取某一材料相应的单元

参数:
name:材料名称

# 示例代码
from qtmodel import *
odb.get_element_by_material("材料1")
#Returns: 包含信息为list[int]

get_element_by_section

获取某一截面相应的单元

参数:
index:截面编号

# 示例代码
from qtmodel import *
odb.get_element_by_section(index=1)
#Returns: 包含信息为list[int]

get_overlap_elements

获取重合节点

参数:

# 示例代码
from qtmodel import *
odb.get_overlap_elements()
#Returns:  包含信息为list[list[int]]

get_structure_group_names

获取结构组名称

参数:

# 示例代码
from qtmodel import *
odb.get_structure_group_names()
#Returns: 包含信息为list[str]

get_element_data

获取单元信息

参数:
ids:单元号,支持整数或整数型列表且支持XtoYbyN形式字符串,默认为None时获取所有单元信息

# 示例代码
from qtmodel import *
odb.get_element_data() # 获取所有单元结果
odb.get_element_data(ids=1) # 获取指定编号单元信息
#Returns:  包含信息为list[dict] or dict

get_element_type

获取单元类型

参数:
element_id: 单元号

# 示例代码
from qtmodel import *
odb.get_element_type(element_id=1) # 获取1号单元类型
#Returns: str

get_group_elements

获取结构组单元编号

参数:
group_name: 结构组名

# 示例代码
from qtmodel import *
odb.get_group_elements(group_name="默认结构组")
#Returns: list[int]

跨度信息

get_span_supports

获取跨度信息的支承节点号

参数:
span_info_name: 跨度信息名

# 示例代码
from qtmodel import *
odb.get_span_supports(span_info_name="跨度")
#Returns: list[int]

get_span_elements

获取跨度信息的支承节点号

参数:
span_info_name: 跨度信息名

# 示例代码
from qtmodel import *
odb.get_span_elements(span_info_name="跨度")
#Returns: list[int]

获取截面信息

get_all_section_shape

获取所有截面形状信息

参数:

# 示例代码
from qtmodel import *
odb.get_all_section_shape()
#Returns: 包含信息为list[dict]

get_section_shape

获取截面形状信息

参数:
sec_id: 目标截面编号

# 示例代码
from qtmodel import *
odb.get_section_shape(1)
#Returns:

get_all_section_data

获取所有截面详细信息,截面特性详见UI自定义特性截面

参数:

# 示例代码
from qtmodel import *
odb.get_all_section_data()
#Returns: 包含信息为list[dict]

get_section_data

获取截面详细信息,截面特性详见UI自定义特性截面

参数:
sec_id: 目标截面编号
position: 目标截面为变截面时0-首端 1-末端

# 示例代码
from qtmodel import *
odb.get_section_data(1)
#Returns: 包含信息为dict

get_section_property

获取指定截面特性

参数:
index:截面号

# 示例代码
from qtmodel import *
odb.get_section_property(1)
#Returns: dict

get_section_ids

获取模型所有截面号

参数:

# 示例代码
from qtmodel import *
odb.get_section_ids()
#Returns: list[int]

get_section_property_by_loops

通过多组线圈获取截面特性

参数:

# 示例代码
from qtmodel import *
dict_item1 = {"main": [[9.25, 0.0], [18.4, 0.0], [18.5, 0.0], [18.5, 2.5], [9.25, 2.5], [0.0, 2.5], [0.0, 0.0], [0.1, 0.0]],
"sub1": [[6.35, 0.5], [2.55, 0.5], [2.55, 1.0], [2.55, 2.0], [6.35, 2.0]],
"sub2": [[9.25, 0.5], [11.55, 0.5], [11.55, 2.0], [9.25, 2.0], [6.95, 2.0], [6.95, 0.5]],
"sub3": [[12.15, 0.5], [15.95, 0.5], [15.95, 1.0], [15.95, 2.0], [12.15, 2.0]]}
odb.get_section_property_by_loops([dict_item1])
#Returns: dict

get_section_property_by_lines

通过线宽数据获取截面特性

参数:

# 示例代码
from qtmodel import *
sec_lines = [[0.0, 2.284, 5.51093, 2.284, 0.016], [0.152479, 2.284, 0.200597, 2.04341, 0.008],
[0.200597, 2.04341, 0.201664, 2.0389, 0.008], [0.201664, 2.0389, 0.203149, 2.03451, 0.008],
[0.203149, 2.03451, 0.205006, 2.03026, 0.008]]
odb.get_section_property_by_lines(sec_lines)
#Returns: dict

获取模型边界信息

get_boundary_group_names

获取自边界组名称

参数:

# 示例代码
from qtmodel import *
odb.get_boundary_group_names()
#Returns: 包含信息为list[str]

get_general_support_data

获取一般支承信息

参数:
group_name:默认输出所有边界组信息

# 示例代码
from qtmodel import *
odb.get_general_support_data()
#Returns: 包含信息为list[dict]

get_elastic_link_data

获取弹性连接信息

参数:
group_name:默认输出所有边界组信息

# 示例代码
from qtmodel import *
odb.get_elastic_link_data()
#Returns: 包含信息为list[dict]

get_elastic_support_data

获取弹性支承信息

参数:
group_name:默认输出所有边界组信息

# 示例代码
from qtmodel import *
odb.get_elastic_support_data()
#Returns: 包含信息为list[dict]

get_master_slave_link_data

获取主从连接信息

参数:
group_name:默认输出所有边界组信息

# 示例代码
from qtmodel import *
odb.get_master_slave_link_data()
#Returns: 包含信息为list[dict]

get_node_local_axis_data

获取节点坐标信息

参数:

# 示例代码
from qtmodel import *
odb.get_node_local_axis_data()
#Returns: 包含信息为list[dict]

get_beam_constraint_data

获取节点坐标信息

参数:
group_name:默认输出所有边界组信息

# 示例代码
from qtmodel import *
odb.get_beam_constraint_data()
#Returns: 包含信息为list[dict]或 dict

get_constraint_equation_data

获取约束方程信息

参数:
group_name:默认输出所有边界组信息

# 示例代码
from qtmodel import *
odb.get_constraint_equation_data()
#Returns: 包含信息为list[dict]

get_effective_width

获取有效宽度数据

参数:
group_name:边界组

# 示例代码
from qtmodel import *
odb.get_effective_width(group_name="边界组1")
#Returns:  list[dict]

荷载信息

get_case_names

获取荷载工况名

参数:

# 示例代码
from qtmodel import *
odb.get_case_names()
#Returns: 包含信息为list[str]

get_pre_stress_load

获取预应力荷载

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_pre_stress_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_node_mass_data

获取节点质量

参数:

# 示例代码
from qtmodel import *
odb.get_node_mass_data()
#Returns: 包含信息为list[dict]

get_nodal_force_load

获取节点力荷载

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_nodal_force_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_nodal_displacement_load

获取节点位移荷载

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_nodal_displacement_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_beam_element_load

获取梁单元荷载

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_beam_element_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_plate_element_load

获取梁单元荷载

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_beam_element_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_initial_tension_load

获取初拉力荷载数据

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_initial_tension_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_cable_length_load

获取指定荷载工况的初拉力荷载数据

参数:
case_name: 荷载工况名

# 示例代码
from qtmodel import *
odb.get_cable_length_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

get_deviation_parameter

获取制造偏差参数

参数:

# 示例代码
from qtmodel import *
odb.get_deviation_parameter()
#Returns: 包含信息为list[dict]

get_deviation_load

获取指定荷载工况的制造偏差荷载

参数:
case_name:荷载工况名

# 示例代码
from qtmodel import *
odb.get_deviation_load(case_name="荷载工况1")
#Returns: 包含信息为list[dict]

获取施工阶段信息

get_stage_name

获取所有施工阶段名称

参数:

# 示例代码
from qtmodel import *
odb.get_stage_name()
#Returns: 包含信息为list[int]

get_elements_of_stage

获取指定施工阶段单元编号信息

参数:
stage_id: 施工阶段编号

# 示例代码
from qtmodel import *
odb.get_elements_of_stage(stage_id=1)
#Returns: 包含信息为list[int]

get_nodes_of_stage

获取指定施工阶段节点编号信息

参数:
stage_id: 施工阶段编号

# 示例代码
from qtmodel import *
odb.get_nodes_of_stage(stage_id=1)
#Returns: 包含信息为list[int]

get_groups_of_stage

获取施工阶段结构组、边界组、荷载组名集合

参数:
stage_id: 施工阶段编号

# 示例代码
from qtmodel import *
odb.get_groups_of_stage(stage_id=1)
#Returns: 包含信息为dict

结果表格

get_reaction

获取制作反力

参数:
ids: 节点编号,支持整数或整数型列表支持XtoYbyN形式字符串
envelop_type: 施工阶段包络类型 1-最大 2-最小
stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
increment_type: 1-全量 2-增量
case_name: 运营阶段所需荷载工况名
is_time_history: 运营阶段所需荷载工况名是否为时程分析

# 示例代码
from qtmodel import *
odb.get_reaction(ids=1,stage_id=1)
odb.get_reaction(ids=[1,2,3],stage_id=1)
odb.get_reaction(ids="1to3",stage_id=1)
odb.get_reaction(ids=1,stage_id=-1,case_name="工况名")
#Returns: 返回json字符串, 内部为list[dict]

get_deformation

获取节点变形结果,支持单个节点和节点列表

参数:
ids: 查询结果的节点号支持XtoYbyN形式字符串
envelop_type: 施工阶段包络类型 1-最大 2-最小
stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
result_kind: 施工阶段数据的类型(1-合计 2-收缩徐变效应 3-预应力效应 4-恒载) 时程分析类型(1-位移 2-速度 3-加速度)
increment_type: 1-全量 2-增量
case_name: 运营阶段所需荷载工况名
is_time_history: 是否为时程分析
is_local: 是否为输出局部坐标系

# 示例代码
from qtmodel import *
odb.get_deformation(ids=1,stage_id=1)
odb.get_deformation(ids=[1,2,3],stage_id=1)
odb.get_deformation(ids="1to3",stage_id=1)
odb.get_deformation(ids=1,stage_id=-1,case_name="工况名")
#Returns: 返回json字符串, 内部为list[dict]

get_element_stress

获取单元应力,支持单个单元和单元列表

参数:
ids: 单元编号,支持整数或整数型列表
envelop_type:施工阶段包络类型 1-最大 2-最小 3-包络
stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
increment_type: 1-全量 2-增量
case_name: 运营阶段所需荷载工况名

# 示例代码
from qtmodel import *
odb.get_element_stress(ids=1,stage_id=1)
odb.get_element_stress(ids=[1,2,3],stage_id=1)
odb.get_element_stress(ids=1,stage_id=-1,case_name="工况名")
#Returns: 返回json字符串, 内部为list[dict]

get_element_force

获取单元内力,支持单个单元和单元列表

参数:
ids: 单元编号支持整数或整数列表且支持XtoYbyN形式字符串
stage_id: 施工阶段号 -1-运营阶段 0-施工阶段包络 n-施工阶段号
envelop_type: 1-最大 2-最小 3-包络
result_kind: 施工阶段数据的类型 1-合计 2-收缩徐变效应 3-预应力效应 4-恒载
increment_type: 1-全量 2-增量
case_name: 运营阶段所需荷载工况名
is_time_history: 是否为时程分析
is_boundary_element: 是否为时程分析边界单元连接

# 示例代码
from qtmodel import *
odb.get_element_force(ids=1,stage_id=1)
odb.get_element_force(ids=[1,2,3],stage_id=1)
odb.get_element_force(ids=1,stage_id=-1,case_name="工况名")
#Returns: 返回json字符串, 内部为list[dict]

get_self_concurrent_reaction

获取自并发反力

参数:
node_id:单个节点号
case_name:工况号

# 示例代码
from qtmodel import *
odb.get_self_concurrent_reaction(node_id=1,case_name="工况1_Fx最大")
#Returns: 返回json字符串, 内部为list[dict]

get_all_concurrent_reaction

获取完全并发反力

参数:
node_id:单个节点号
case_name:工况号

# 示例代码
from qtmodel import *
odb.get_all_concurrent_reaction(node_id=1,case_name="工况1_Fx最大")
#Returns: 返回json字符串, 包含信息为list[dict]

get_concurrent_force

获取单元并发内力

参数:
ids:单元号支持XtoYbyN形式字符串
case_name:工况号

# 示例代码
from qtmodel import *
odb.get_concurrent_force(ids=1,case_name="工况1_Fx最大")
odb.get_concurrent_force(ids="1to19",case_name="工况1_Fx最大")
#Returns: 返回json字符串, 包含信息为list[dict]

get_elastic_link_force

获取弹性连接内力

参数:
ids: 弹性连接ID集合,支持整数和整数列表且支持XtoYbyN字符串
result_kind: 施工阶段荷载类型1-合计 2-预应力 3-收缩徐变 4-恒载
stage_id: -1为运营阶段 0-施工阶段包络 n-施工阶段
envelop_type: 包络类型,1-最大 2-最小
increment_type: 增量类型,1-全量 2-增量
case_name: 工况名称,默认为空

# 示例代码
from qtmodel import *
odb.get_elastic_link_force(ids=[1,2,3], result_kind=1, stage_id=1)
#Returns: 返回json字符串, 内部为list[dict]

get_constrain_equation_force

查询约束方程内力

参数:
ids: 约束方程ID列表支持整数和整数列表且支持XtoYbyN字符串
result_kind: 施工阶段荷载类型1-合计 2-预应力 3-收缩徐变 4-恒载
stage_id: -1为运营阶段 0-施工阶段包络 n-施工阶段
envelop_type: 包络类型,1-最大 2-最小
increment_type: 增量类型,1-全量 2-增量
case_name: 工况名称

# 示例代码
from qtmodel import *
odb.get_constrain_equation_force(ids=[1,2,3], result_kind=1, stage_id=1)
#Returns: 返回json字符串, 内部为list[dict]

get_cable_element_length

查询无应力索长

参数:
ids: 索单元ID集合,支持整数和整数列表且支持XtoYbyN字符串
stage_id: 施工阶段ID,默认为运营阶段
increment_type: 增量类型,默认为1

# 示例代码
from qtmodel import *
odb.get_cable_element_length(ids=[1,2,3], stage_id=1)
#Returns: 返回json字符串, 内部为list[dict]

get_period_and_vibration_results

获取自振分析角频率和振型参与质量等结果

参数:

# 示例代码
from qtmodel import *
odb.get_period_and_vibration_results()
#Returns: 返回json字符串,list[dict]包含各模态周期和频率的列表

get_vibration_modal_results

获取自振分析振型向量

参数:
mode: 模态号. 默认为1

# 示例代码
from qtmodel import *
odb.get_vibration_modal_results(mode=1)
#Returns: 返回json字符串,list[dict]包含该模态下节点位移向量列表

get_buckling_eigenvalue

获取屈曲分析特征值结果

参数:

# 示例代码
from qtmodel import *
odb.get_buckling_eigenvalue()
#Returns: 返回json字符串, list[dict]包含各模态下特征值

get_buckling_modal_results

获取屈曲模态向量

参数:
mode:模态号. 默认为1

# 示例代码
from qtmodel import *
odb.get_buckling_modal_results(mode=1)
#Returns: 返回json字符串,list[dict]包含该模态下屈曲模态向量列表

get_tendon_loss_results

获取预应力钢束损失

参数:
name: 钢束名称
stage_id: 阶段编号,默认 1

# 示例代码
from qtmodel import *
odb.get_tendon_loss_results(name="T1", stage_id=2)
#Returns:

get_tendon_position_result

获取预应力钢束坐标

参数:
name: 钢束名称

# 示例代码
from qtmodel import *
odb.get_tendon_position_result(name="T1")
#Returns:

get_tendon_length_result

获取预应力伸长量

参数:

# 示例代码
from qtmodel import *
odb.get_tendon_length_result()
#Returns:

绘制模型结果

plot_reaction_result

保存结果图片到指定文件甲

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
component: 分量编号 1-Fx 2-Fy 3-Fz 4-Fxyz 5-Mx 6-My 7-Mz 8-Mxyz
show_number: 数值选项卡开启
show_legend: 图例选项卡开启
text_rotation: 数值选项卡内文字旋转角度
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
digital_count: 小数点位数
text_exponential: 指数显示开启
arrow_scale:箭头大小
is_time_history:是否为时程分析结果
time_kind:时程分析类型 1-时刻 2-最大 3-最小
time_tick:时程分析时刻

# 示例代码
from qtmodel import *
odb.plot_reaction_result(file_path=r"D:\\图片\\反力图.png",component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_displacement_result

保存结果图片到指定文件甲

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
component: 分量编号 1-Dx 2-Dy 3-Dz 4-Rx 5-Ry 6-Rz 7-Dxy 8-Dyz 9-Dxz 10-Dxyz
show_deformed: 变形选项卡开启
deformed_scale:变形比例
deformed_actual:是否显示实际变形
show_number: 数值选项卡开启
text_rotation: 数值选项卡内文字旋转角度
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
digital_count: 小数点位数
text_exponential: 指数显示开启
show_undeformed: 显示变形前
is_time_history:是否为时程分析结果
time_kind:时程分析类型 1-时刻 2-最大 3-最小
deform_kind:时程分析变形类型 1-位移 2-速度 3-加速度
time_tick:时程分析时刻

# 示例代码
from qtmodel import *
odb.plot_displacement_result(file_path=r"D:\\图片\\变形图.png",component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_beam_element_force

绘制梁单元结果图并保存到指定文件

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
component: 分量编号 1-Dx 2-Dy 3-Dz 4-Rx 5-Ry 6-Rz 7-Dxy 8-Dyz 9-Dxz 10-Dxyz
show_line_chart: 折线图选项卡开启
line_scale:折线图比例
flip_plot:反向绘制
show_deformed: 变形选项卡开启
deformed_scale:变形比例
deformed_actual:是否显示实际变形
show_number: 数值选项卡开启
text_rotation: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 指数显示开启
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
show_undeformed: 显示变形前
position: 位置编号 1-始端 2-末端 3-绝对最大 4-全部
is_time_history:是否为时程分析结果
time_kind:时程分析类型 1-时刻 2-最大 3-最小
time_tick:时程分析时刻

# 示例代码
from qtmodel import *
odb.plot_beam_element_force(file_path=r"D:\\图片\\梁内力.png",component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_truss_element_force

绘制杆单元结果图并保存到指定文件

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_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: 小数点位数
text_exponential: 指数显示开启
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
show_undeformed: 显示变形前
position: 位置编号 1-始端 2-末端 3-绝对最大 4-全部
is_time_history:是否为时程分析结果
time_kind:时程分析类型 1-时刻 2-最大 3-最小
time_tick:时程分析时刻

# 示例代码
from qtmodel import *
odb.plot_truss_element_force(file_path=r"D:\\图片\\杆内力.png",case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_plate_element_force

绘制板单元结果图并保存到指定文件

参数:
file_path: 保存路径名
component: 分量编号 1-Fxx 2-Fyy 3-Fxy 4-Mxx 5-Myy 6-Mxy
force_kind: 内力选项 1-单元 2-节点平均
case_name: 详细荷载工况名
stage_id: 阶段编号
envelop_type: 包络类型
show_number: 是否显示数值
show_deformed: 是否显示变形形状
show_undeformed: 是否显示未变形形状
deformed_actual: 是否显示实际变形
deformed_scale: 变形比例
show_legend: 是否显示图例
text_rotate: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 是否以指数形式显示
max_min_kind: 最大最小值显示类型
show_increment: 是否显示增量结果
is_time_history:是否为时程分析结果
time_kind:时程分析类型 1-时刻 2-最大 3-最小
time_tick:时程分析时刻

# 示例代码
from qtmodel import *
odb.plot_plate_element_force(file_path=r"D:\\图片\\板内力.png",component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_composite_beam_force

绘制组合梁单元结果图并保存到指定文件

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
mat_type: 材料类型 1-主材 2-辅材 3-主材+辅材
component: 分量编号 1-Fx 2-Fy 3-Fz 4-Mx 5-My 6-Mz
show_line_chart: 折线图选项卡开启
line_scale:折线图比例
flip_plot:反向绘制
show_deformed: 变形选项卡开启
deformed_scale:变形比例
deformed_actual:是否显示实际变形
show_number: 数值选项卡开启
text_rotation: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 指数显示开启
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
show_undeformed: 显示变形前
position: 位置编号 1-始端 2-末端 3-绝对最大 4-全部

# 示例代码
from qtmodel import *
odb.plot_composite_beam_force(file_path=r"D:\\图片\\组合梁内力.png",mat_type=0,component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_beam_element_stress

绘制梁单元应力结果图并保存到指定文件

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
component: 分量编号 1-轴力 2-Mzx 3-My 4-组合包络 5-左上 6-右上 7-右下 8-左下
show_line_chart: 折线图选项卡开启
line_scale:折线图比例
flip_plot:反向绘制
show_deformed: 变形选项卡开启
deformed_scale:变形比例
deformed_actual:是否显示实际变形
show_number: 数值选项卡开启
text_rotation: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 指数显示开启
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
show_undeformed: 显示变形前
position: 位置编号 1-始端 2-末端 3-绝对最大 4-全部

# 示例代码
from qtmodel import *
odb.plot_beam_element_stress(file_path=r"D:\\图片\\梁应力.png",show_line_chart=False,component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_truss_element_stress

绘制杆单元结果图并保存到指定文件

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
show_line_chart: 折线图选项卡开启
line_scale:折线图比例
flip_plot:反向绘制
show_deformed: 变形选项卡开启
deformed_scale:变形比例
deformed_actual:是否显示实际变形
show_number: 数值选项卡开启
text_rotation: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 指数显示开启
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
show_undeformed: 显示变形前
position: 位置编号 1-始端 2-末端 3-绝对最大 4-全部

# 示例代码
from qtmodel import *
odb.plot_truss_element_stress(file_path=r"D:\\图片\\杆应力.png",case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_composite_beam_stress

绘制组合梁单元结果图并保存到指定文件

参数:
file_path: 保存路径名
stage_id: -1-运营阶段 0-施工阶段包络 n-施工阶段号
case_name: 详细荷载工况名,参考桥通结果输出,例如: CQ:成桥(合计)
show_increment: 是否显示增量结果
envelop_type: 施工阶段包络类型 1-最大 2-最小
mat_type: 材料类型 1-主材 2-辅材
component: 分量编号 1-轴力分量 2-Mz分量 3-My分量 4-包络 5-左上 6-右上 7-左下 8-右下
show_line_chart: 折线图选项卡开启
line_scale:折线图比例
flip_plot:反向绘制
show_deformed: 变形选项卡开启
deformed_scale:变形比例
deformed_actual:是否显示实际变形
show_number: 数值选项卡开启
text_rotation: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 指数显示开启
max_min_kind: 数值选项卡内最大最小值显示 0-不显示最大最小值 1-显示最大值和最小值 2-最大绝对值 3-最大值 4-最小值
show_legend: 图例选项卡开启
show_undeformed: 显示变形前
position: 位置编号 1-始端 2-末端 3-绝对最大 4-全部

# 示例代码
from qtmodel import *
odb.plot_composite_beam_stress(file_path=r"D:\\图片\\组合梁应力.png",component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_plate_element_stress

绘制板单元结果图并保存到指定文件

参数:
file_path: 保存路径名
component: 分量编号 1-Fxx 2-Fyy 3-Fxy 4-Mxx 5-Myy 6-Mxy
stress_kind: 力类型 1-单元 2-节点平均
case_name: 详细荷载工况名
stage_id: 阶段编号
envelop_type: 包络类型
show_number: 是否显示数值
show_deformed: 是否显示变形形状
show_undeformed: 是否显示未变形形状
deformed_actual: 是否显示实际变形
deformed_scale: 变形比例
show_legend: 是否显示图例
text_rotate: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 是否以指数形式显示
max_min_kind: 最大最小值显示类型
show_increment: 是否显示增量结果
position: 位置 1-板顶 2-板底 3-绝对值最大

# 示例代码
from qtmodel import *
odb.plot_plate_element_stress(file_path=r"D:\\图片\\板应力.png",component=1,case_name="CQ:成桥(合计)",stage_id=-1)
#Returns: Base64字符串

plot_modal_result

绘制模态结果,可选择自振模态和屈曲模态结果

参数:
file_path: 保存路径名
mode: 模态号
mode_kind: 1-自振模态 2-屈曲模态
show_number: 是否显示数值
show_undeformed: 是否显示未变形形状
show_legend: 是否显示图例
text_rotate: 数值选项卡内文字旋转角度
digital_count: 小数点位数
text_exponential: 是否以指数形式显示
max_min_kind: 最大最小值显示类型

# 示例代码
from qtmodel import *
odb.plot_modal_result(file_path=r"D:\\图片\\自振模态.png",mode=1)
odb.plot_modal_result(file_path=r"D:\\图片\\屈曲模态.png",mode=1,mode_kind=2)
#Returns: Base64字符串

视图控制

display_node_id

设置节点号显示

参数:
show_id:是否打开节点号显示

# 示例代码
from qtmodel import *
odb.display_node_id()
odb.display_node_id(False)
#Returns: 无

display_element_id

设置单元号显示

参数:
show_id:是否打开单元号显示

# 示例代码
from qtmodel import *
odb.display_element_id()
odb.display_element_id(False)
#Returns: 无

set_view_camera

更改三维显示相机设置

参数:
camera_point: 相机坐标点
focus_point: 相机焦点
camera_rotate:相机绕XYZ旋转角度
scale: 缩放系数

# 示例代码
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:缩放系数

# 示例代码
from qtmodel import *
odb.set_view_direction(direction=1,scale=1.2)
#Returns: 无

activate_structure

激活指定阶段和单元,默认激活所有

参数:
node_ids: 节点集合支持XtoYbyN形式字符串
element_ids: 单元集合支持XtoYbyN形式字符串

# 示例代码
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

# 示例代码
from qtmodel import *
odb.set_unit(unit_force="N",unit_length="M")
#Returns: 无

remove_display

删除当前所有显示,包括边界荷载钢束等全部显示

参数:

# 示例代码
from qtmodel import *
odb.remove_display()
#Returns: 无

save_png

保存当前模型窗口图形信息,文件夹为空时返回Base64字符串

参数:
file_path: 文件全路径

# 示例代码
from qtmodel import *
odb.save_png(file_path="D:\\QT\\aa.png")
#Returns: 无

set_render

消隐设置开关

参数:
flag: 默认设置打开消隐

# 示例代码
from qtmodel import *
odb.set_render(flag=True)
#Returns: 无

change_construct_stage

消隐设置开关

参数:
stage: 施工阶段名称或施工阶段号 0-基本

# 示例代码
from qtmodel import *
odb.change_construct_stage(0)
odb.change_construct_stage(stage=1)
#Returns: 无

get_current_png

获取当前窗口Base64格式(图形)字符串

参数:

# 示例代码
from qtmodel import *
odb.get_current_png()
#Returns: Base64格式(图形)字符串

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qtmodel-1.1.18.tar.gz (153.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qtmodel-1.1.18-py3-none-any.whl (107.4 kB view details)

Uploaded Python 3

File details

Details for the file qtmodel-1.1.18.tar.gz.

File metadata

  • Download URL: qtmodel-1.1.18.tar.gz
  • Upload date:
  • Size: 153.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for qtmodel-1.1.18.tar.gz
Algorithm Hash digest
SHA256 66e631ce8bfaaa5d3ea106986002fbf962cce0f0010027b9026162343bd14c7d
MD5 74d18d656a1d5b74214fe29ecd079388
BLAKE2b-256 f4a07af7ac35b9b7d0f70fb5edd37eed04d21f159f8e1a39a778a8e22ecd99a9

See more details on using hashes here.

File details

Details for the file qtmodel-1.1.18-py3-none-any.whl.

File metadata

  • Download URL: qtmodel-1.1.18-py3-none-any.whl
  • Upload date:
  • Size: 107.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for qtmodel-1.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 7fb3bed062c332edf26fc95d973ce8f885e5ac1dfbd3e8c51f50062cf21d8dc9
MD5 5739dba826ed6a7db43297a7ab3cee90
BLAKE2b-256 b4da92be23ac5f3f921413273c741a5e87fd80df2ed006e85d3f83c4e7d915d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page