ansys Workbench利用JavaScript脚本文件建模

2016-10-22  by:CAE仿真在线  来源:互联网

Workbench利用Jscript建模

Workbench在DesignModel中建模的脚本语言是Jscript,笔者印象当中所有软件的脚本语言都能够自己生成,ANSYS的Log文件,Abaqus的rpy文件,包括Office的VBA文件等。同样的DesignModel中的建模操作也可以写成脚本文件,其后缀是js,Jscript其实就是Java Script,只是略有区别。

在DM中建模后,写Js文件的方式如图1,写当前活动坐标内的建模脚本文件,当写完之后生成一个后缀.js的文件,通过Run Script即可以再次运行此文件。


图1

此次大致对Js脚本文件建模命令大致说一下,在DM中建立的模型如图2,形状较为复杂,几乎所有常用的操作都能在这个模型上体现。


图2

Jscript每建立一次草图,都是通过一个function完成的,具体内容包括坐标系的定义,草图名称定义,草图的点和线的建立,尺寸约束施加,最后返回函数值。

function plane1SketchesOnly (p)

{

p.Plane  =agb.GetActivePlane();

p.Origin = p.Plane.GetOrigin();

p.XAxis  =p.Plane.GetXAxis();

p.YAxis  =p.Plane.GetYAxis();

p.Sk1 = p.Plane.newSketch();

p.Sk1.Name = "Sketch1";

with (p.Sk1)

{

  p.Pt31 =ConstructionPoint(0, 0);

}

with (p.Plane)

{

 CoincidentCon(p.Pt31, 0, 0, p.Origin, 0, 0);

}

p.Plane.EvalDimCons();

return p;

第一行定义建立草图1的函数,后面的所有内容都在花括号里面,属于函数定义的内容。

第2~6行是坐标系等的定义,后面两行则是新建一个草图命名为sketch1.

第一个with()函数用来建立一个点,其中with函数的意义是限定作用区域,表示with函数里面的内容是作用于p.SK1的,这对程序的精简化有很大好处。

第二个with()函数用于限制建立的点,在Workbench里面建立的模型,通过尺寸约束来设置模型的尺寸,CoincidentCon表示两个元素相同,即建立的点坐标和原点坐标一致。

倒数第二行用于对建立的几何元素全部evalute一遍

最后一行函数返回值。

 

同样的,可以建立一个矩形草图。

function plane2SketchesOnly (p)

{

 

//Plane

p.Plane  =agb.GetActivePlane();

p.Origin = p.Plane.GetOrigin();

p.XAxis  =p.Plane.GetXAxis();

p.YAxis  =p.Plane.GetYAxis();

 

p.Sk2 = p.Plane.newSketch();

p.Sk2.Name = "Sketch2";

 

with (p.Sk2)

{

  p.Ln13 =Line(-10, -10, 10, -10);

  p.Ln14 =Line(10, -10, 10, 10);

  p.Ln15 =Line(10, 10, -10, 10);

  p.Ln16 =Line(-10, 10, -10, -10);

}

 

with (p.Plane)

{

 //Constraints

 HorizontalCon(p.Ln13);

 HorizontalCon(p.Ln15);

 VerticalCon(p.Ln14);

 VerticalCon(p.Ln16);

 CoincidentCon(p.Ln13.End, 10, -10,

p.Ln14.Base, 10, -10);

 CoincidentCon(p.Ln14.End, 10, 10,

p.Ln15.Base, 10, 10);

 CoincidentCon(p.Ln15.End, -10, 10,

p.Ln16.Base, -10, 10);

 CoincidentCon(p.Ln16.End, -10, -10,

p.Ln13.Base, -10, -10);

}

p.Plane.EvalDimCons(); //Final evaluate of alldimensions and constraints in plane

return p;

此段的第一个with函数建立四条边,后面的四个数是首位两端点的坐标。

第二个with函数是用HorizontalCon和HorizontalCon函数限制线的垂直和水平,后面的命令是限制线的尺寸。草图2形状如图3箭头处。


图3

同样,以及建立个草图,用于拉伸、旋转等操作。

var XYPlane = agb.GetXYPlane();

agb.SetActivePlane (XYPlane);

var ps1 = plane1SketchesOnly (new Object());

 

var plane2 = agb.PlaneFromPlane(XYPlane);

plane2.AddTransform(agc.XformZOffset,20);

agb.regen();

agb.SetActivePlane (plane2);

var ps2 = plane2SketchesOnly (new Object());

 

var plane3 = agb.PlaneFromPlane(plane2);

plane3.AddTransform(agc.XformZOffset, 20);

agb.regen();

agb.SetActivePlane (plane3);

var ps3 = plane3SketchesOnly (new Object());

 

var plane4 = agb.PlaneFromPlane(plane3);

plane4.AddTransform(agc.XformZOffset, 20);

agb.regen();

agb.SetActivePlane (plane4);

var ps4 = plane4SketchesOnly (new Object());

 

var YZPlane = agb.GetYZPlane();

agb.SetActivePlane (YZPlane );

var ps5 = planeYZSketchesOnly (new Object());

 

//Now, create Skin

var Skin1 = agb.Skin(agc.Add, agc.No, 0.0, 0.0);

Skin1.Name = "Point2OvalSkin"

Skin1.AddBaseObject(ps1.Sk1);

Skin1.AddBaseObject(ps2.Sk2);

Skin1.AddBaseObject(ps3.Sk3);

Skin1.AddBaseObject(ps4.Sk4);

agb.Regen(); //To insure model validity

 

//Next create aSweep

var Sweep1 = agb.Sweep(agc.Add, ps4.Sk4, ps5.Sk6, agc.AlignTangent,

0.25, 0.0, agc.No, 0.0, 0.0);

agb.Regen(); //To insure model validity

 

//Next create aRevolve

var Rev1 = agb.Revolve(agc.Add,ps5.Sk7, ps5.YAxis, agc.DirNormal,

360.0, 0.0, agc.Yes, 1.0, 1.0);

agb.Regen(); //To insure model validity

 

//Finally cut ahole using Extrude

var Extrude1 = agb.Extrude(agc.Cut, ps5.Sk5, agc.DirSymmetric,

agc.ExtentThruAll, 0.0, agc.ExtentFixed, 0.0,agc.No, 0.0, 0.0);

agb.Regen(); //To insure model validity

这些函数的使用在帮助文档写的非常详细,使用起来也很方便。

 



开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:ansys Workbench利用JavaScript脚本文件建模 Ansys有限元培训 Ansys workbench培训 ansys视频教程 ansys workbench教程 ansys APDL经典教程 ansys资料下载 ansys技术咨询 ansys基础知识 ansys代做 Fluent、CFX流体分析 HFSS电磁分析 Abaqus培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com