包含用于计算结构杆件横截面特性的工具和标准横截面特性的数据库。
xsect的Python项目详细描述
xsect
关于
此包包含计算结构构件横截面的工具
python中的属性。此外,它还包含一个标准的SQLite数据库
可通过查询功能获取数据的横截面属性
或者直接实例化为新的CrossSection
对象。
可计算的横截面特性包括:
- 横截面积
- 质心
- 面积的二阶矩(惯性矩)
- 回转半径
- 截面模量
- 主角
- 关于上述特性主轴的值
还支持由多个形状组成的组合截面,如下图所示在这里,用蓝色显示的图形被添加到横截面,而用红色显示的图形被减去切口
安装
通过运行以下命令,可以通过pip
安装包:
pip install xsect
示例用法
以下各节概述了此软件包的一些可能用途
快速访问属性
无论您是否正在执行快速计算,可能是通过使用
一个Jupyter笔记本,或者一个更复杂的计算,您可以使用XSect
减少计算所需的输入量。而不是转身
要引用成员的查找和手动输入属性,请
只需将成员的名称传入
合适的初始值设定项。例如:
>>> xsect.CrossSection.from_aisc('L8x8x1-1/8')
CrossSection(name='L8X8X1-1/8', area=16.8, ...)
如果数据库中不包含属性,则可以快速计算 给定一系列(x,y)边界点或使用 用于计算特性的内置横截面汇总函数 对于特定形状例如:
>>> odict = xsect.cruciform_summary(8, 8, 1.125)
>>> odict
{'area': 66.9375,
'x': 0.0,
'y': 0.0,
'width': 16.0,
'height': 16.0,
'inertia_x': 781.0517578125,
'inertia_y': 781.0517578125,
'inertia_j': 1562.103515625,
'inertia_xy': 0.0,
'inertia_z': 781.0517578125,
'gyradius_x': 3.415900115553699,
'gyradius_y': 3.415900115553699,
'gyradius_z': 3.415900115553699,
'elast_sect_mod_x': 97.6314697265625,
'elast_sect_mod_y': 97.6314697265625,
'elast_sect_mod_z': 97.6314697265625}
这可用于通过展开 初始值设定项中的字典:
>>> xsect.CrossSection('4L8x8x1.125', **odict)
CrossSection(name='4L8x8x1.125', area=66.9375, ...)
设计优化
如果要创建用于分析和优化的Python应用程序
结构,可以使用XSect
从
通过迭代方案执行分析的标准节数据库。
您还可以计算成员的一些必需属性并使用
获取特定形状最轻横截面的数据库筛选器
考虑到这个标准例如,如果您正在为已知的
最大拉力,可以计算其所需的横截面积。
并执行类似于以下的筛选以获得最轻的成员:
>>> xsect.filter_aisc(["type='L'", 'area>28'], order=['unit_weight'])
type name T_F unit_weight area d
0 L L12X12X1-1/4 F 96.4 28.4 12.0
1 L L12X12X1-3/8 F 105.0 31.1 12.0
这将返回区域大于 单位重量的升序大于28第一排自然是, 最轻的成员可以满足这些条件
同样,如果你正在设计一个全新的横截面,你可以使用 提供的形状函数之一或创建自己的自定义函数 生成它的边界点,然后计算必要的属性 为了你的设计
数据库源
sqlite数据库中包含的属性从以下位置获取 来源:
AISC形状
数据库包括美国钢铁学会的钢构件 建筑(AISC),从下面公开获取 位置。有关变量说明,请参阅随附的自述文件 他们的数据