import ansa from ansa import base from ansa import constants def main(): parameters = {'Name': 'my new step', 'STEP ID': 1} p_step = base.CreateEntity(constants.ABAQUS, 'STEP', parameters) if p_step: print('OK STEP created') else: print('NO STEP') val = ['A1', 'A3', 'CF1'] param = base.AbqStepInsertOutputRequest(p_step, '*NODE FILE', 'NSET', 1, 'FREQUENCY', '1' , 'MODE', '2', 'GLOBAL', 'NO', 'Identifying Keys', val) if param: print('*NODE FILE created') else: print('*NODE FILE cannot be created') xyz = [1.1, 2.1, 3.1] param = base.AbqStepInsertOutputRequest(p_step, "*SECTION PRINT", "NAME", "section", "SURFACE", 21, "AXES", "LOCAL", "ANCHOR POINT NODE", 1, "A POINT COORDS", xyz, "B POINT COORDS", 5.5) if param: print('*SECTION PRINT created') else: print('*SECTION PRINT can not be created') a = [1.1, 2.2, 3.3] b = [7.1, 6.2, 5.3] xyz = [a, b] param = base.AbqStepInsertOutputRequest(p_step, "*MODAL DAMPING", "PARAMETER", "MODAL=DIRECT", "DEFINITION", "MODE NUMBERS", "DATA LINES", xyz) if param: print('*MODAL DAMPING created') else: print('*MODAL DAMPING cannot be created!') contact_ids = [1, 2] param = base.AbqStepInsertOutputRequest(p_step, "*MODEL CHANGE", "PARAM", "ADD", "TYPE", "CONTACT", "CONTACT", contact_ids) section_points = [] for i in range(0, 16): section_points.append(i + 1) param1 = base.AbqStepInsertOutputRequest(p_step, "*ELEMENT OUTPUT", "Identifying Keys", "S", "SECTION POINTS", section_points) param2 = base.AbqStepInsertOutputRequest(p_step, "*ELEMENT OUTPUT", "Identifying Keys", "S", "SECTION POINTS", "all")
时间: 2024-01-14 14:03:41 浏览: 157
这段代码同样使用了 ANSA 软件的 Python API,用于创建一个 ABAQUS 步骤,并在其中插入多个不同类型的输出请求。首先导入了 ANSA 库和一些相关的模块,然后定义了一个名为 main 的函数。在函数中,它使用 base.CreateEntity() 函数创建了一个名为 my new step 的 ABAQUS 步骤,并将其 ID 指定为 1。如果步骤创建成功则打印 'OK STEP created',否则打印 'NO STEP'。
接下来,它使用 base.AbqStepInsertOutputRequest() 函数分别创建了四个不同类型的输出请求:
1. '*NODE FILE' 请求类型,输出频率为 1,输出模式为 2,输出参数为 A1、A3 和 CF1。
2. '*SECTION PRINT' 请求类型,输出名称为 section,输出面为 21,输出参数为 1.1,2.1,3.1(A点坐标)和 5.5(B点坐标)。
3. '*MODAL DAMPING' 请求类型,输出参数为 MODAL=DIRECT,输出模式为模态阻尼,输出数据为两个 3D 坐标点。
4. '*MODEL CHANGE' 请求类型,输出参数为 ADD,输出类型为 CONTACT,输出数据为 1 和 2 两个接触点的 ID。
同时,它还使用了两个 '*ELEMENT OUTPUT' 请求类型,输出参数分别为 'Identifying Keys', 'S', 'SECTION POINTS',输出数据分别为 section_points 和 "all"。
最后,根据每个请求的返回值,分别打印了不同的提示信息,以表明输出请求是否成功创建。
阅读全文