Hyperworks自动化案例深度剖析:效率与质量的双重飞跃

自动化项目的可行性通常取决于投资回报率,您可以从制作脚本或工具所需的投入中获得回报。这种收益通常反映在一段较长的时间内,工具的使用频率以及它如何能够简化它所建立的相关任务。

计算机辅助工程(CAE)是一个严重依赖于计算系统及其性能的领域。这大大增加了自动化 - 帮助我们更快速地执行重复和耗时的任务。

如果我们真的不担心长期的投资回报率呢?如果我们专注于手头的任务 - 制定即时解决方案,并完成它们,而不必担心:(a)长期利益,(b)可重用性?       虽然长期ROI的相关性,CAE工程师在日常工作中遇到了很多暂时的问题 - 这些问题可以通过使用几行代码编写脚本来解决。

根据我个人的经验,我看到团队成员在一些场景下苦苦挣扎,几分钟后编写几行代码可能为他们节省了几个小时的工作时间。当然,这可能会或可能不会在将来有用,但嘿,我们仍然让我们的生活变得轻松!

这只是完全利用我们使用的计算能力 - 而且工作更智能。显然,学习一些编码和脚本有助于!

案例研究 - hypermesh

让我们来讨论一个CAE工程师常常会遇到的非常简单的情景:我们需要在一些FE组件(比如100+)之间创建大量的1D-rigid,


接近问题:

现在,我需要花费最少的时间(最好几分钟)来创建一个稳定的脚本,我可以使用它来减少此手动任务所需的时间。我们来回顾一下一些注意事项:

  • 预测组件中每个刚性的位置 - 太模糊,代码太多,需要考虑太多变量!
  • 选择要使用其节点创建刚体的元素 - 可能会减少在创建刚性面板中选择节点和选项的点击次数。
  • 重新加载刚性创建面板每次创建一个刚性,使事情发生得更快 - 它的可能性,让它循环!



现在完成了,我们可以开始编码!以下是简要中的算法:

  • 要求用户选择所需的元素
  • 从选定的元素中查找节点
  • 使用元素创建一个刚性
  • 循环回元素选择
  • 如果没有选择元素,请退出

以下是以下代码:

proc RigidCreateWithElements {} {	
    #initialising to something other than null, so that the loop starts#
	set selected_elem_ids 0	while {$selected_elem_ids!=""} {        #asking the user to select some elements as input#
		*createmarkpanel elems 1 "Select element(s) from both components"
        #Store selected element ids to a list#
		set selected_elem_ids [hm_getmark elems 1]        #checking if user has selected any elements at all#
		if {$selected_elem_ids==""} {            #if nothing is selected, continue to next iteration of the loop#
            #where the while condition exits the loop#
			tk_messageBox -message "Exiting rigid creation tool"
			continue;
		}        
        #Checking if a collector named "rigids" exists#
		if {[catch {*collectorcreateonly comps "Rigids" "" 7}]} {			#if collector already exists, make it current#
            *currentcollector component "Rigids"
		}		
        #getting list of all nodes from the selected elements#
		hm_createmark nodes 1 "by elem id" $selected_elem_ids
		set node_ids [hm_getmark nodes 1]        
        #creating the 1D-rigid#
        #1st node from the list is fed as the independent node id#
        #rest of them are supplied as dependent nodes#
		eval *createmark nodes 1 [lrange $node_ids 1 end]
		*rigidlinkwithset [lindex $node_ids 0] 1 0 123456

	}

}



结果看起来像这样:

640.webp (4).jpg

现在,您可以更轻松地快速创建任意数量的装备。虽然这是一个相当基本的应用程序,但可以稍后修改,稍后可能会在某些其他情况下找到使用。尝试编写这样的小脚本以最大限度地提高效率,甚至可以对让其他人更容易生活的业务产生兴趣。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空