“ SimSolid是一款不基于网格的仿真工具,特别适合产品工程师使用。在汽车副车架多工况强度分析中,一般面临大量的数据,如果依靠人工去一点点输入,那么将会浪费大量的时间。所以我设计了一个小脚本,可以完成常用的载荷文件(excel)到SimSolid支持的csv结构转化。”
由于该脚本要使用excel文件,所以我们将引用将字母转化为数字---26进制中的函数。
01
—
SimSolid Remote Load Imported
批量导入工况载荷的界面如下:

02
—
Python脚本
import pandas as pddef write_case_csv(file, sheet, coordinate, cases):"""用于转化excel载荷文件至simsolid可以使用的remote load可以使用的csv格式文件:param file: excel文件:param sheet: sheet:param coordinate: 坐标所在列号, A列为第一列:param cases: 在和工况所在的列好, A列为第一列:return: 无返回值, 直接写出所有工况csv"""temps_dict = pd.read_excel(io=file, sheet_name=[sheet])for s in [sheet]:temps = temps_dict.get(s)points = temps[temps.columns[coordinate-1]]# print(points)loadcases = temps.columns[(cases-1):]for loadcase in loadcases:fm = temps[loadcase]loader = {}for i in temps.index:if isinstance(points[i], str):point = points[i]loader[point] = ","+str(fm[i])else:loader[point] += ","+str(fm[i])with open(loadcase+".csv", "w", encoding="utf8") as f:f.write("X,Y,Z,Fx,Fy,Fz,Mx,My,Mz" + "\n")for k, v in loader.items():item = (k+v).replace(" ", "")f.write(item+"\n")
脚本将生成以各个工况名称名命名的符合SimSolid导入条件的csv文件。
write_case_csv("demo.xlsx", "前副车架", alphabet2num("c"), alphabet2num("f")) 03
—
导入

04
—
SimSolid Multi_loadcases分析思路
