首页/文章/ 详情

HyperMesh二次开发-谷歌小恐龙轻轻轻轻轻量化版

2月前浏览1275

       这是在遇到了电脑暂时无法连接网络的情况想着写下这篇文章。

所周知,谷歌浏览器有个断网后的小游戏,就是那个一致跳不到终点的小恐龙游戏,玩了一会儿遂萌生了用TCL语言实现这个小游戏的想法。

游戏界面如图所示。



通过按空格键控制字符跳跃,避开黑色方块障碍物。

可自定义“小恐龙”,可以输入任意字符来替换跳跃图标,更换字符后,通过Reset Game实现字符的更换。

游戏检测到碰撞后会提示游戏结束,可以点击Reset Game按钮重新开始游戏。

障碍物会以不同的速度移动,这就是出现残影的原因。

启动程序后,通过点击 Start Game开始游戏



回复关键字“小恐龙”获取下载链接。


这里关键就是画布组件。

我们可以基于画布组件干很多有意思的事情,比如画图🎨,查看图片,写字,编辑图片,高亮显示元素以提示用户,用于开发安全带插件的时候。

canvas的配置功能太多了,就不一一列举,下面是程序用到的canvas说明。




# 创建游戏画布canvas .qwe.c -width 200 -height 100 -bg whitepack .qwe.c -expand true -fill both


# 创建文字set dino [.qwe.c create text 20 $Game::dinoY -text "☻" -font {Arial 24}]


#创建矩形框set obstacle   [.qwe.c create rectangle $Game::obstacleX 80 [expr $Game::obstacleX+20] 100 -fill black]



#修改坐标.qwe.c coords $dino 20 $dinoY







来源:TodayCAEer
HyperMesh碰撞二次开发游戏控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-01
最近编辑:2月前
TodayCAEer
本科 签名征集中
获赞 17粉丝 24文章 231课程 0
点赞
收藏
作者推荐

模态工况创建工具与约束模态创建

模态工具的二次开发性价比不高,本身手动来做就比较简单,两分钟能解决的问题,就算是压缩在10秒内,意义也不大的,但是开发的工作量反倒不少,所以在开发的时候尽量考虑多一点。自由模态工况比较简单,指定频率范围、或者指定阶数,也可以混合使用,而后创建工况卡片就OK了。但是对于需要约束模态就比较麻烦了,比如车身的蓄电池支架模态,这就需要在车上截取指定范围内的模型,并约束边界的节点。或者约束指定位置的节点,然后renumber为指定的ID,手动来做这就比较麻烦了。所以开发了界面如图所示,也是跟着的ANSA的风格写了一个一样的,并添加了截取模型的功能,输入中心坐标以及截取方向以及对应的距离,即可完成模型截取与约束。以及节点renumber的功能,用于约束指定节点,进一步减少用户操作。但是这次不是演示程序的使用,而是介绍下约束模态的分析工况创建。从老版本过渡到新版本的时候,需要注意模态工况有些许变化,工况将通过LoadStepInputs创建。1.Create>LoadStepInputs.2.SetConfigtype,selectRealEigenvalueextraction.3.ForType,selectEIGRL.下面是详细的约束模态分析工况创建步骤。在开始之前,请将本教程中使用的文件复制到工作目录。·channel_brkt_modal.hm要使用OptiStruct完成模态分析模型的设置,您需要定义一个包含METHOD和SPC语句的模态SUBCASE。图1.1、启动HyperMesh并设置OptiStruct用户配置文件一.启动HyperMesh。此时将打开“UserProfile”对话框。二.选择OptiStruct,然后单击OK。这将加载用户配置文件。它包括适当的模板、宏菜单和导入读取器,将HyperMesh的功能缩减到与生成OptiStruct模型相关的功能。2、打开模型一.单击“File>Open>Model”。二.选择保存到工作目录中的channel_brkt_modal.hm文件。三.单击“Open”。channel_brkt_modal.hm数据库将加载到当前HyperMesh会话中,替换现有数据。3、设置模型3.1查看和编辑材料,此步骤可以从模型浏览器中完成。一.在“模型浏览器”中,展开“Material”文件夹以显示模型中的两种材料。二.单击aluminum。材料条目将显示在实体编辑器中。三.对于RHO,输入2.7e-9。四.重复步骤1至3,为钢材的RHO输入7.9e-9。3.2创建modalLoadStepInput这可以使用“LoadStepInputs”创建子面板来完成。一.在“模型浏览器”中,右键单击并选择“Create>LoadStepInputs”。二.对于Name(名称),输入modal。三.设置配置类型,选择RealEigenvalueextraction.。四.对于“Type”,请选择“EIGRL”。五.对于ND,请输入10。ND指定要提取的模式数。图2.3.3创建约束LoadCollector一.在ModelBrowser中,右键单击并选择Create>LoadCollector。二.对于Name(名称),输入constraints。三.将“CardImage”设置为“None”。3.4创建约束OptiStructSPC一.在ModelBrowser中展开Component文件夹。二.单击通道组件旁边的geometry图标以打开几何图形显示。三.单击工具栏中的“IsometricView”图标。您将沿着通道底表面周围的线条在节点上创建SPC约束,如下图所示。图3.在通道上应用约束四.单击“BCs>Create>Constraints”以打开“Constraints”面板。五.将实体选择器切换到lines。六.在通道底部表面的上选择线。切换到透明元素模式,可以清楚地看到所选的线条,如下图所示::图4.七.激活自由度(DOF)1到6。o选择的自由度将受到约束,而没有选择的自由度将是自由的。o自由度1、2和3是x、y和z的平移自由度。o自由度4、5和6是x、y和z旋转自由度。八.对于size=,输入10。九.单击create>return退出面板。3.5映射约束在此步骤中使用LoadonGeom面板。一.在Analysis页面中,单击“loadongeom”。二.单击loadcols,然后选择约束。三.单击“select”,完成loadcollector的选择。四.单击maploads。约束与几何线关联的每个节点。五.单击“return”退出面板。3.6定义加载步骤在此步骤中使用LoadStepEntityEditor。定义loadstep用于引用载荷、约束和模态collector。一.在“模型浏览器”中,右键单击并选择“Create>LoadStep”。二.对于Name(名称),输入normal_modes。三.对于“Analysistype”,请选择“Normalmodes”。四.对于METHOD(STRUCT),选择modal。五.对于SPC,选择loadcollectorconstraints。3.7定义结果文件的格式在控制卡片面板中,使用OUTPUT卡为AltairH3D和HyperMesh.res格式添加两个输出请求。一.单击Setup>Create>ControlCards以打开ControlCards面板。二.单击next转到controlcards的下一面板菜单。三.选择控制卡片OUTPUT。请注意,在卡片图像中,一个OUTPUT行设置为默认值。这指定OptiStruct将结果输出到HyperMesh命令文件。四.单击默认值,然后从弹出菜单中选择H3D。五.对于number_of_outputs=,输入2。第二行OUTPUT行出现在卡片中。六.再次单击默认值,然后选择HM作为第二种输出类型。这指定OptiStruct将结果输出到H3D文件和.res文件,可以在HyperViewPlayer中查看。此外,还会输出HTML报告文件,并在其中嵌入H3D文件。七.单击return以返回到“控制卡片”面板。注:OUTPUT按钮为绿色。这表明卡片被导出到OptiStruct输入文件。八.单击return退出面板。4、提交作业一.在“Analysis”页面中,单击“OptiStruct”面板。图5.访问OptiStruct面板二.点击saveas。三.在saveas对话框中,指定写入OptiStruct模型文件的位置,并输入modal_analysis作为文件名。对于OptiStruct求解器模型,建议使用.fem扩展名。四.点击保存。输入文件字段显示在“另存为”对话框中指定的文件名和位置。五.将导出选项切换开关设置为all。六.将运行选项切换开关设置为analysis。七.将内存选项切换设置为memorydefault。八.单击“OptiStruct”以启动OptiStruct作业。如果作业成功,新的结果文件应该在modal_analysis.fem所在的目录中。Fem是刚刚导出的。modal_analysis.out文件是查找错误消息的好地方,如果存在任何错误,文件中的错误信息可以帮助调试模型。来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈