以Abaqus中自带的模型文件为例

"""
modelAExample.py

A simple example: Creating a part.
"""

from abaqus import *
import testUtils
testUtils.setBackwardCompatibility()
from abaqusConstants import *
import sketch
import part

myModel = mdb.Model(name='Model A')

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

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))

for i in range(len(xyCoordsInner)-1):
    mySketch.Line(point1=xyCoordsInner[i],
        point2=xyCoordsInner[i+1])

for i in range(len(xyCoordsOuter)-1):
    mySketch.Line(point1=xyCoordsOuter[i],
        point2=xyCoordsOuter[i+1])

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

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

myViewport = session.Viewport(name='Viewport for Model A',
    origin=(10, 10), width=150, height=100)

myViewport.setValues(displayedObject=myPart)

myViewport.partDisplay.setValues(renderStyle=SHADED)

效果如下所示,

abaqus python创建surface abaqus怎么创建模型_开发语言

 

from abaqus import *

        此语句使脚本可以访问基本Abaqus对象。它还使用名为mdb的变量提供对默认模型数据库的访问。来自abaqusConstants import*的语句使Abaqus脚本接口定义的符号常量可用于脚本。

import sketch
import part

        这些语句提供对与草图和零件相关的对象的访问。草图和零件称为Python模块。脚本中的下一条语句如下图所示。您可以从右到左阅读此语句,如下所示:
        1.创建名为模型a的新模型。
        2.将新模型存储在模型数据库mdb中。
        3.将新模型分配给名为myModel的变量。

abaqus python创建surface abaqus怎么创建模型_力学_02

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

        这里创建一个名为“Sketch A”的草图对象。变量mySketch被分配给新草图。草图被放置在200个单位的正方形工作表上。注意:

        创建某些内容(eg.面向对象编程中的”object“)的命令称为构造函数,并以大写字母开头。前面写的关于Model和Sketch的命令就分别创建了Model objects 和 Sketch objects。

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])

这个循环在mySketch中创建字母“A”的内部轮廓。使用xyCoordsInner中顶点的X和Y坐标创建四条线,以定义每条线的起点和终点。

类似地,第二个循环创建“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)

此语句为会话中的模型A创建一个名为viewport的新视口。新视口将指定给变量myViewport。视口的原点位于(20,20),其宽度为150,高度为100。

myViewport.setValues(displayedObject=myPart)

Abaqus在新视口myViewport中显示新零件myPart。

myViewport.partDisplayOptions.setValues(renderStyle=SHADED)

此语句将myViewport中零件显示选项的渲染样式设置为“shaded(着色)”。因此,myPart将以着色渲染样式显示。

参考:

Abaqus Scripting User's Manual (v6.7)