本示例将练习以下4个方面内容:
●创建汽车后备箱盖开启机构。
●为模型附加H3D格式图形文件。
●使用MotionSolve进行机构运动学分析。
●使用HyperView查看求解结果。
练习中使用的模型如图3-19所示。图3-20显示了将要创建的四杆机构。表3-4列出了模型中构件定位点坐标。
图3-19 汽车后备箱盖模型
图3-20 汽车后备箱盖四杆机构简图
表3-4 模型中构件定位点坐标
在练习开始前,复制chap03目录下的motion_curve.csv、Point_Import.tcl、point_data.csv、trunk.hm和trunklid.hm文件到工作文件夹中。
STEP 01 创建几何点
(1)启动MotionView。
(2)右击Model-Reference工具栏中的Point按钮。
(3)在弹出的Add Point or PointPair对话框中的Label文本框中输入Point A,在Variable文本框中输入p_A,指定点类型为Single。
Label用来帮助用户辨别不同的对象,Variable将提供给MoitionSolve以识别不同的对象。当然,在AddPoint or PointPair对话框中可以使用默认的名称。PointPair用来创建以总体坐标系中X-Z平面为对称面的两个对称点。
(4)单击OK按钮,弹出Point面板。
(5)输入Point A的坐标值X、Y和Z。
(6)重复步骤(3)~(5),创建点B~I。注意,在Add Point or PointPair对话框中设置每个点的Label和Variable。单击Apply按钮可以一次创建多个几何点。Data Summary对话框将显示所有已创建的几何点,同时在该对话框中可以修改几何点的坐标值。
(7)上述点也可通过Point_Import.tcl脚本创建。创建步骤如下:
1)启动MotionView。
2)在View菜单下选择Command Window命令。
3)在命令窗口区域右击选择File→Load File命令。
4)选择并打开工作路径下的Point_Import.tcl。
5)在弹出的Source file对话框中选择point_data.csv。
从视窗控制面板将视图转换为Lft视图,如图3-21所示。
图3-21 已创建坐标点的分布
STEP 02 创建几何体
汽车后备箱盖开启机构由4个刚性杆连接而成:ground、input、coupler和follower。在默认情况下,MotionView将自动创建ground,本步将介绍如何创建input、coupler和follower。
(1)右击Model-Reference工具栏中的Body按钮,弹出Add Body or BodyPair对话框。
(2)在Label文本框中输入Input link,使用默认的Variable名称。
(3)单击OK按钮,进入Body面板。
(4)单击Properties标签,输入几何体属性,如图3-22所示。
图3-22 Body面板(步骤4)
(5)激活CM Coordinates标签,选中Use center of mass coordinate system选项。在Origin按钮下单击Point按钮,此时Point按钮将被浅蓝色方框包围,表明Point处于激活状态。
(6)再次单击Point按钮,在弹出的Select a Point对话框中选择Point G。或者在图形区拖动鼠标左键直至出现G,释放鼠标,即可选择Point G。使用默认方向orient two axes。
上面提及的两种方法可以应用到其他实体选择操作中,如几何体、铰等。在选择大地(Ground Body)或全局坐标原点(Global Origin)时,可以单击图形区的全局坐标系符号。
(7)重复步骤(1)~(6),创建刚性杆Follower和Coupler。分别指定质量及转动惯量为
(8)分别指定B和D为刚性杆Follower和Coupler的质心。
STEP 03 添加显示图形
MotionView中的图形分为3类:隐式图形(Implicit)、基本图形(Primitive)和外部图形(external)。
●Implicit指创建Point、Body、Joint等对象时在MotionView中生成的图标。它们只在建模过程中帮助用户确认操作正确与否,在运行仿真过程动画时不显示。
●Primitive指圆柱、立方体、球体等基本图形,在运行仿真过程动画时显示。
●External指外部导入图形。MotionView的Import CAD or FE菜单能够将CAD文件及有限元文件转换成MotionView可以识别的.h3d格式文件。同时,用户可将.g文件、ADAMS的.shl文件以及wavefront的.obj文件直接输入到MotionView中。
(1)打开所有的隐式图形(Implicit)。
1)在Model菜单中选择ImplicitGraphics命令,弹出Implicit Graphics Settings对话框,如图3-23所示。
2)激活所有Visible复选框。
图3-23 Implicit Graphics Settings对话框
3)单击Close按钮,关闭Implicit Graphics Settings对话框。
隐式图形的状态(图形显示或隐藏)不会保存在当前的模型文件中。MotionView在以下几种情况中使用默认设置:
●在其他窗口中创建一个新的模型。
●启动一个新的会话。
●载入一个已有的.mdl或.mvw模型到新的会话中。
(2)为了更好地观察四杆机构,需要在模型中添加基本图形。
(3)右击Model-Reference工具栏中的Graphic按钮,弹出Add Graphic orGraphicPair对话框。
(4)指定图形名称(Label)和变量名(Variable),可以使用默认名称。
(5)在Type下拉菜单中选择Cylinder并单击OK按钮,进入Graphic面板。
(6)在Connectivity标签中双击Body按钮,在SelectaBody列表中选择Follower,并单击OK按钮。此时,新建的图形与Follower相关联。
(7)单击Origin下的Point按钮,指定圆柱的原点。
(8)选择Point A。
(9)单击Direction下的Point按钮。
(10)选择Point C。
(11)在Propertie标签中的Radius 1文本框中输入2。
(12)重复步骤(2)~(11),根据表3-5,为余下的Bodies创建图形。
表3-5 图形参数
STEP 04 添加外部图形
MotionView可通过HyperMesh将CATIA、IGES、STL、VDAFS、Pro/E及UG等格式的模型转换成MotionView识别的文件以生成更加逼真的图形。本步使用这种转换功能将一个HyperMesh格式的汽车后备箱盖文件转换成H3D格式文件,同时使用locator points功能将转换成功的H3D模型定位到MotionView模型中。
locator points:指H3D图形文件坐标系上的3个几何点。H3D图形文件与MotionView模型文件匹配时,这3个几何点与MotionView模型的3个点对应,实现自动定位、自动定向和自动放缩。对于HyperMesh文件,可以使用节点编号代替几何点坐标。
(1)在Tools菜单中选择Import CAD or FE,弹出Import CAD or FE对话框。
(2)激活Import CAD or Finite Element Model Only选项。
(3)在Input File栏中选择HyperMesh。
(4)单击Input File右侧的“文件浏览”按钮,选择trunklid.hm作为输入文件。
(5)单击OutputFile右侧的“文件浏览”按钮,指定输出的H3D格式文件名为trunklid.h3d。
(6)单击Locator Points前的“+”,展开定位点选项。
(7)选中Node Ids单选按钮,分别输入1、2和3,代表HyperMesh文件中的Node1、Node2和Node3,如图3-24所示。
(8)单击OK按钮,开始模型转换。
(9)Import CAD or FE程序将在后台运行Hyper Mesh,并将HyperMesh格式文件转换成H3D文件。
(10)单击OK按钮,转换结束后,将提示转换成功信息“Import was a Success!”。
图3-24 定位点设置
(11)按照步骤(1)~(10)将trunk.hm转换为trunk.h3d。
STEP 05 输入H3D文件
(1)右击Model-Reference工具栏中的Point按钮 ,根据表3-6创建3个几何点。
表3-6 几何点参数
(2)在模型浏览树中单击Graphics文件夹下的g_trunklid。
(3)在Connectivity标签中双击Body按钮,在Select a Body下拉列表中选择Follower并单击OK按钮。
(4)进入Location标签,在该标签中设定H3D图形文件的位置、方向与比例。
接下来,将H3D模型的定位点匹配到MotionView模型相应的几何点上,进行trunklid.h3d模型位置调整。
(5)将调整方法切换成Auto Position and Orient。
(6)根据图3-25匹配定位点。
图3-25 定位点匹配
(7)单击fit按钮 ,查看后备箱盖是否正确地装配到Motion View中。
(8)类似地,在模型浏览树中选择g_trunk,设置Body为Ground Body,本步不需调整定位点。
注:在HyperView动画处理窗口中,使用Add Object工具也可以添加H3D图形。
STEP 06 创建旋转副
汽车后备箱盖开启机构由4个旋转副连接而成,旋转副分别位于点A、C、E和F上,方向平行于全局坐标系Y轴。
(1)右击Model-Constraint工具栏中的Joint按钮,弹出Add Joint or JointPair对话框。(www.daowen.com)
(2)在Label文本框中输入Ground-Follower,使用默认的变量名。
(3)在Type中旋转Revolute Joint。
(4)单击OK按钮,进入Joint面板。
(5)在Connectivity标签中单击Body1按钮,此时Body1按钮被浅蓝色方框包围。
(6)在图形区按住鼠标左键滑过总体坐标系图标直至显示Ground Body,释放鼠标左键。此时Bodies面板中的Ground Body已被选作Body1,而浅蓝色方框移动到Body2按钮,Body2处于激活状态。
(7)单击Body2按钮,弹出Select a Body对话框。
(8)在模型树左侧区域选择Bodies文件夹。
(9)在右侧区域选择Follower。
(10)单击OK按钮,返回Connectivity标签。
(11)在Origin下单击Point按钮两次,弹出Select a Point对话框。
(12)选择Point A作为旋转副的原点,单击OK按钮。
(13)在Alignment Axis下指定旋转副的方向。单击Point左侧的下三角符号并选择Vector。
(14)选择Global Y作为旋转副方向。
(15)重复步骤(1)~(14),根据表3-7创建余下的旋转副。
表3-7 四杆机构中相关约束副参数
STEP 07 指定机构运动
机构的驱动约束可由Linear、Expression或Curve三种方式定义。本例中将使用一条曲线作为机构驱动输入。
(1)右击Model-Reference工具栏中的Curves按钮,弹出Add Curves对话框。
(2)为新创建的曲线指定名称(Label)和变量名(Variable),或直接使用默认值。
(3)单击OK按钮,进入Curves面板。
(4)选择2D Cartesian和x,然后单击“文件浏览”按钮,弹出Select a file对话框。
(5)选择工作文件夹下的motion_curve.csv。
(6)保留默认值,即Type:Unknown,Request:Block 1,Component:Column 1。
(7)选中y单选按钮,注意到此时motion_curve.csv文件已被选择。
(8)指定y轴数据为Type:Unknown,Request:Block 1,Component:Column 2。
(9)单击Show Curve按钮可以预览曲线,如图3-26所示。
图3-26 曲线预览
(10)右击Model-Constraint工具栏中的Motions按钮,弹出Add Motion or MotionPair对话框。
(11)为新的驱动指定名称(Label)和变量名(Variable)。
(12)单击OK按钮,进入Motion面板。
注:这种使用曲线来指定机构运动关系的方法也可用来指定其他约束(如Force、Spring、Damper、Bushing等)的属性。
(13)在Connectivity标签中单击Joint按钮两次,弹出Select a Joint对话框。
(14)从模型树中选择名为Input-Ground的旋转副。
(15)在Properties标签中单击Linear右侧的下三角符号,选择Curve。
(16)单击Curve按钮两次,弹出Select a Curve对话框。
(17)从模型树中选择已创建的曲线并单击OK按钮。
STEP 08 创建输出请求
创建结果输出有以下3种方式:
●使用Body、Point和Marker默认的结果输出。
●直接查询Force、Bushing和Springle-damper对象结果输出。
●创建基于上述对象输出项目的数学表达式进行结果输出。
在本步骤中将创建两物体间的相对位移输出,使用数学表达式创建Input Link质心G相对全局坐标系的位移输出。
(1)右击Model-General工具栏中的Outputs按钮,弹出Add Output对话框。
(2)为新创建的输出指定名称(Label)和变量名(Variable),也可使用默认值。
(3)单击OK按钮,进入Output面板。
(4)创建两物体上两点之间的位移输出,选择Displacement。
1)Body 1和Body 2分别选择Input Link和Ground Body。
2)Pt on Body1和Pt on Body2分别选择Point I和Global Origin。
3)记录两点间的位移(一点相对另一点的位移)。
(5)创建另一个输出:Input Link质心G在全局坐标系X方向的位移输出。
1)右击工具栏中的Outputs按钮。
2)使用默认的名称和变量名。
3)单击OK按钮。
4)在Properties标签中选择Expressions,如图3-27所示。
图3-27 Output面板
5)单击F2文本框,此时激活fx按钮,单击fx按钮,弹出Expression Building()对话框,如图3-28所示。
6)在Motion标签中单击DX按钮。
7)将光标置于DX后的括号内。
8)在Properties标签中,打开模型树Bodies/Ground Body/cm。
9)选择idstring,如图3-29所示。
图3-28 Expression Building对话框
图3-29 模型树
10)单击Add按钮。
11)添加一个逗号(,)以分割下一个表达式。
12)在Properties标签中,打开模型树Bodies/Input link/Marker CM。
13)选择idstring。
14)单击Add按钮。
(6)编辑窗口中的表达式与下列表达式相一致。
'DX({B_Ground.cm.idstring},{b_0.cm.idstring})'
(7)单击OK按钮。
注:上述表达式中变量名b_0代表input link。如果在创建input link时指定了不同的变量名,那么要使用这个指定的变量名来代替上式中的b_0。所有表达式均要求写在符号``之间,该符号前后都不能有任何字母、空格以及数字等字符,否则MotionView会显示图3-30所示的错误信息。该符号与键盘中的~键为同一按键,而不是引号键。
图3-30 报错信息
(8)如需检查模型错误,则可进入Tools菜单选择Check Model命令。
模型中所有的错误将在Message Log中列出。如果检查模型自由度,则可选择Tools→Options命令,进入Check Model选项,选中Degrees of Freedom复选框。
STEP 09 使用MotionSolve求解模型
MotionSolve可以进行多体系统的静力学、准静力学、运动学及动力学分析。它集成于MotionView中,MotionSolve的输入文件是由MotionView创建的XML格式文件。本步将使用MotionSolve进行汽车后备箱盖开启机构的运动学分析。
(1)单击工具栏中的Run按钮。
(2)在Run面板中,单击Check按钮检查模型是否存在错误。
(3)在Main标签中,设置Sim Type为Transient。
(4)在Save as文本框中指定求解器输出文件为trunk_fourbar.xml。
(5)选中Export MDL snapshot复选框。
(6)选中Simulation Parameters标签,指定仿真终止时间End Time为5,Print interval为0.01。在默认情况下MotionView使用second作为时间单位。用户可以通过Forms面板修改单位制。
注:只有运动学仿真结果取决于输出间隔(print interval),动力学仿真结果不依赖于输出间隔,因为积分器不会改变仿真步长去匹配输出步,相反积分器会提供插值结果进行输出。
(7)在Main标签中单击Run按钮求解模型。
STEP 10 在同一页面中查看仿真动画和结果曲线
(1)求解结束后,Animate和Plot按钮被激活,如图3-31所示。
图3-31 Run面板
(2)单击Animate按钮,将载入第二个窗口(HyperView),并自动加载动画结果。
(3)单击工具栏中的Start/Pause Animation按钮,播放动画。
(4)再次单击Start/Pause Animation按钮 ,停止播放。
(5)单击Plot按钮,将在同一页面中载入第三个窗口(HyperGraph),并自动加载数据结果。
(6)设置X轴数据类型为Time。
(7)根据表3-8设置Y轴数据。
(8)单击Apply按钮,Point I的位移曲线显示在窗口3中,如图3-32所示。
表3-8 输出数据相关参数
图3-32 仿真结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。