首页/文章/ 详情

HyperMesh二次开发实例第一弹_批量创建实体球几何中心点

28天前浏览983

Hi!!大家好。

实在抱歉去年挖的坑还没补上今年又开一个,由于疫情影响在家中隔离,难得的时间,本来打算将ANSA软件的前处理讲解完成在更新后发布二次开发文章,我实在是太难(懒 )了,哈哈,不想继续写下去了换个新鲜话题,后期ANSA和HyperMesh后面在交叉更新。

今日分享案例为批量创建实体球points点。

在实际项目中,可能会存在产品部门同事提供数据不完全的情况下,譬如只提供有实体球,而未提供焊点points点,导致在做焊点装配的时候会无法选择,本次案例即为批量创建points点。

脚本同样的功能在ANSA中也有_ON COG



#######Create a spherical points##############

*createmarkpanel comps 1 "Please select comps"

#选择comps

set compsID_all [hm_getmark comps 1]

#获取compsID并赋值给compsID_all

foreach q $compsID_all {

#循环开始

set companame [hm_getcollectorname comps $q]

#获取comps name

*currentcollector components $companame

#将当前comps置为当前组

*createmark solid 1 "by comps"  $q

#选择comps的所有实体

set solid_ID [hm_getmark solid 1]

#获取实体球ID并赋值给solid_ID

foreach w $solid_ID {

#循环开始

hm_createmark solid 1 $w

#选择实体球

*findmark solids 1 113 1 lines 0 1

#查找到实体球的所有曲线

set lineID [lindex [hm_getmark line 1] 0]

#获取实体球的第一条曲线,并赋值给lineID

hm_createmark lines 1 $lineID

#选择曲线

*createbestcirclecenternode lines 1 1 1 0

#创建中心点,循环结束

}

}


冰心曾说,这世界若没有女人,至少要失去十分之五的“真”、十分之六的“善”、十分之七的“美”。今天是“三八”国际妇女节,愿每一位女性都能内心丰盈、脚步稳健,在美好的时光里,成为真正想要成为的自己。






来源:TodayCAEer
HyperMesh二次开发ANSA装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-14
最近编辑:28天前
TodayCAEer
本科 签名征集中
获赞 16粉丝 9文章 164课程 0
点赞
收藏
作者推荐

HyperMesh二次开发实例第二弹_视频讲解

hello今天文章主要内容是讲解上一期分享的脚本。本意是希望通过小例子讲解,让大家明白相关的函数用法,在实际编写过程中会遇到的问题,以及解决办法。由于,第一次录制HyperMesh二次开发相关的视频,虽然前面已经做了PPT,还是免不了在录制过程翻车了,真是槽点满满,啊哈哈哈哈。后面会根据程序的难易程度,来录制视频。程序太长了录制视频所花费的时间也会随之增加。现在把注意事项写出来:1、看十遍不如自己做一遍2、程序量大的时候,一定要写一部分测试一部分3、清理HyperMeesh命令行,使用clear命令;运行脚本文件,使用source{path}4、tcl语言对于空格很重视5、6、出现错误注意左下角的报错信息给大家留下一个小问题,如何让把赋予空材料的Comps提出来。1、将创建材料的语言改成不创建卡片类型,在材料浏览器,ShowOnly没有卡片的材料2、创建一个Assembly,增加一个if语句,只要创建了新材料就将本次循环的Comps放在所创建的装配中,会用到的函数*createmarkcomponents1"Comps"*assemblyaddmark1components1代码如下1setlocation[hm_getstringlocation"厚度位置材料位置以下划线区分从零计算"]2*createmarkpanelcomps1"select"3setCompName[hm_getmarkvaluecomps1name1]4setTlocation[lindex$location0]5setMlocation[lindex$location1]6*createmarkmaterials1"all"7setMATname[hm_getmarkvaluematerials1name1]8foreachq$CompName{9setcompID[hm_getvaluecompsname=$qdataname=id]10sett[stringrange[lindex[split$q"_"]$Tlocation]1end]11setmat[lindex[split$q"_"]$Mlocation]12if{[lsearch$MATname$mat]<=0}{13catch{*createentitymatscardimage=MAT1name=$mat}14}15setmatid[hm_getvaluematerialsname=$matdataname=id]16*createentitypropscardimage=PSHELLname=$q17setmaxID[hm_entitymaxsolveridprops]18*setvaluepropsid=$maxIDSTATUS=195=$t19*setvaluepropsid=$maxIDmaterialid="$matid"20*setvaluecompsid=$compIDpropertyid="$maxID"21}有问题欢迎在后台留言,您的分享是我创造的动力来源:TodayCAEer

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