首页/文章/ 详情

ABAQUS建模过程的Python脚本解读

1月前浏览1018

分享一个ABAQUS的帮助案例,简单的介绍如何利用脚本进行建模,并对脚本各个命令做详细的的解读,原文可以参考帮助文档中的Scripting下面的Creating a part查看。

脚本命令

 1"""
 2modelAExample.py
 3A simple example: Creating a part.
 4"""

 5
 6from abaqus import *
 7from abaqusConstants import *
 8backwardCompatibility.setValues(includeDeprecated=True,
 9                                reportDeprecated=False)
10
11import sketch
12import part
13
14myModel = mdb.Model(name='Model A')
15
16mySketch = myModel.ConstrainedSketch(name='Sketch A',
17                                     sheetSize=200.0)
18
19xyCoordsInner = ((-5 , 20), (520), (150),
20    (-150), (-520))
21
22xyCoordsOuter = ((-1030), (1030), (40-30),
23                 (30-30), (20-10), (-20-10),
24                 (-30-30), (-40-30), (-1030))
25
26for i in range(len(xyCoordsInner)-1):
27    mySketch.Line(point1=xyCoordsInner[i],
28        point2=xyCoordsInner[i+1])
29
30for i in range(len(xyCoordsOuter)-1):
31    mySketch.Line(point1=xyCoordsOuter[i],
32        point2=xyCoordsOuter[i+1])
33
34myPart = myModel.Part(name='Part A', dimensionality=THREE_D,
35    type=DEFORMABLE_BODY)
36
37myPart.BaseSolidExtrude(sketch=mySketch, depth=20.0)
38
39myViewport = session.Viewport(name='Viewport for Model A'
40                              origin=(1010), 
41                              width=150
42                              height=100)
43
44myViewport.setValues(displayedObject=myPart)
45
46myViewport.partDisplay.setValues(renderStyle=SHADED)

代码解读

from abaqus import*

此语句使脚本能够访问Abaqus的基础对象。同时通过变量mdb提供对默认模型数据库的访问权限。

from abaqusConstants import*

该语句用于向脚本中引入Abaqus脚本接口定义的符号常量。

import sketch

import part

这些语句提供了对草图(sketch)和零件(part)相关对象的访问权限。sketchpart是Python模块。

接下来的脚本语句如图1所示,可按从右到左的顺序解读:

-- 创建名为"Model A"的新模型

-- 将新模型存储在模型数据库mdb

-- 将新模型赋值给变量myModel

1. 创建新模型

mySketch = myModel.ConstrainedSketch(name='Sketch A'sheetSize=200.0)

此语句在myModel中创建名为"Sketch A"的草图对象,并将新草图赋给变量mySketch。草图将放置在200单位边长的画布上。注意以下要点:

 -- 创建对象(面向对象编程术语中的"对象")的命令称为构造函数,以大写字母开头。已看到的ModelSketch命令分别用于创建模型对象和草图对象。

 -- 该命令使用了前一步创建的变量myModel。在脚本中使用有意义的变量名能提高代码可读性。

xyCoordsInner = ((-5,20), (5,20), (15,0), (-15,0), (-5,20))

xyCoordsOuter = ((-10,30), (10,30), (40,-30),

           (30,-30), (20,-10), (-20,-10),

           (-30,-30), (-40,-30), (-10,30))

这两行定义了构成字母A的内侧轮廓和外侧轮廓顶点的X-Y坐标。变量xyCoordsInner引用内侧轮廓顶点,xyCoordsOuter引用外侧轮廓顶点。

for i in range(len(xyCoordsInner)-1):

    mySketch.Line(point1=xyCoordsInner[i], point2=xyCoordsInner[i+1])

此循环通过顶点坐标在草图中创建内侧轮廓线段。具体说明如下:

Python仅通过缩进来标识循环的起始和终止(不同于C/C++的{}括号)

②len()函数返回坐标对的数目(此处为5个)

③range(4)生成序列0,1,2,3。在每次迭代中,变量i被赋予序列中的下一个整数值

同理,第二个循环创建字母A的外侧轮廓。

myPart myModel.Part(name='Part A',dimensionality=THREE_D,type=DEFORMABLE_BODY)

此语句在myModel中创建名为"Part A"的三维可变形实体零件,并将新零件赋值给变量myPart

myPart.BaseSolidExtrude(sketch=mySketch, depth=20.0)

通过拉伸草图mySketch并设置深度20.0,在myPart中创建基础实体拉伸特征。

myViewport = session.Viewport(name='Viewport for Model A',                                   origin=(20,20),

                    width=150,

                    height=100)

此语句在会话(session)中创建名为"Viewport for Model A"的视口,并将其赋值给变量myViewport。视口原点位于(20,20),宽度150单位,高度100单位。

myViewport.setValues(displayedObject=myPart)

此语句指定新视口myViewport显示的对象为零件myPart

myViewport.partDisplayOptions.setValues(renderStyle=SHADED)

此语句将视口myViewport中零件显示选项的渲染样式设置为阴影模式,使myPart以阴影方式显示。

来源:CAE仿真空间
AbaqusDeformpython渲染Origin
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-03-09
最近编辑:1月前
CAE仿真空间
硕士 |欢迎关注“CAE仿真空间”公众号
获赞 102粉丝 791文章 85课程 3
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈