fridecailei 发表于 2013-8-13 10:38:46

(自编)批量完成螺栓连接

本帖最后由 fridecailei 于 2013-8-19 19:15 编辑

set Connector_Comp "Connector"
*collectorcreateonly components $Connector_Comp "" 32
*createmarkpanel comps 2"select comps"
set complist
set holelist ;
#生成孔圆心
set L
for {set i 0} {$i<$L} {incr i} {
      set W ];
      for{set j 1} {$j<$W} {incr j 1} {
                set center_cordinate ;
                *createpoint ;
      }
}
#生成螺栓
*createmark surfaces 1"displayed"
*maskentitymark surfaces 1 0


for {set layer 3} {$layer>=2} {incr layer -1} {
      *CE_GlobalSetInt "g_ce_spotvis"0
      *CE_GlobalSetInt "g_ce_seamvis"0
      *CE_GlobalSetInt "g_ce_areavis"0
      *CE_GlobalSetInt "g_ce_boltvis"1
      *CE_GlobalSetInt "g_ce_applymassvis"0
      *createmark points 1 displayed
      *createstringarray 5"link_elems_geom=elems" "link_rule=at_fe_realize" "relink_rule=none" "tol_flag=0" "tol=30.000000"
      *CE_ConnectorCreateByMark points 1 "bolt" $layer components 2 1 5
      *createmark connectors 1 displayed
      *createstringarray7"ce_configfile=D:/Program Files/Altair/12.0/hm/bin/win64/feconfig.cfg"\
          "ce_propertyscript=" "ce_notuseijk=1" "ce_connectivity=0" "ce_boltmindiameter=1.000000"\
          "ce_boltmaxdiameter=50.000000" "ce_systems=0"
      *CE_FE_RealizeWithDetails 1 "bolt" "nastran" 1001 52 0 30 1 7
      *CE_GlobalSetInt "g_ce_spotvis"1
      *CE_GlobalSetInt "g_ce_seamvis"1
      *CE_GlobalSetInt "g_ce_areavis"1
      *CE_GlobalSetInt "g_ce_boltvis"1
      *CE_GlobalSetInt "g_ce_applymassvis"1
      
      #合并节点
      *createmark elements 1"by collector name" $Connector_Comp
      *equivalence elements 1 0.1 0 0 0
      *createmark elements 1"by collector name" $Connector_Comp
      *equivalence elements 1 0.1 1 0 0
      #删除重复单元
      *createmark elements 1"displayed"
      *createmark elements 2
      *elementtestduplicates elements 1 2 1
      *deletemark elements 2
      
      #删除未realized单元
      *createmark connectors 2 displayed
      set ce_list [ hm_getmark connectors 2 ];
      foreach ce_id $ce_list {
            #set ce_fes [ hm_ce_getallfe $ce_id ];
            setce_state [ hm_ce_info $ce_id "state"];
            if {$ce_state !="realized" } {
                  *createmark connectors 1$ce_id
                *deletemark connectors 1
            }
      }
}
###

这是以前写的一个小程序,批量处理螺栓连接,只是个人的想法,有其他方法的可以交流交流;请批评与指正!
   

以一个示例说明:

首先建立三个COMPS(nastran模板)和如下的网格:
第二步:file----run----tcl/tk scripts,选择相应的tcl程序注意:在运行程序之前必须确认一下几方面的内容:然后选择上述三个COMPS最后螺栓生成

注意:此例连接单元为RBE2,所有连接孔必须在不同的component中,否者会报错!

图中的模型文件(*****必须用HM12才行*********:lol)


   






















790662872 发表于 2013-8-17 09:09:51

在下也有往这边学习的向往

fridecailei 发表于 2013-8-17 19:00:53

790662872 发表于 2013-8-17 09:09 static/image/common/back.gif
在下也有往这边学习的向往

这是在做白车身装配的时候,想到的,有时候需要一个项目来启发你的思维,完成一个小程序

蓝牙 发表于 2013-8-18 19:48:51

lz可否把算例的hm文件上传?

fridecailei 发表于 2013-8-19 14:21:57

蓝牙 发表于 2013-8-18 19:48
lz可否把算例的hm文件上传?

很简单的三个带孔板,板间距10mm

蓝牙 发表于 2013-8-19 17:33:06

fridecailei 发表于 2013-8-19 14:21 static/image/common/back.gif
很简单的三个带孔板,板间距10mm

我做过相似的连接,知道批处理的好处,如果有时间请lz上传hm,对于初学者,这可是一个标杆啊!
先谢了

lxc1990 发表于 2014-2-20 12:03:07

大神呀!

周生10086 发表于 2014-10-22 17:06:13

牛逼啊,要好好学习啊

asenstein 发表于 2014-10-25 10:13:52

高人无处不在

quanwang 发表于 2014-11-25 16:14:18

很不错的东西哦,谢谢。

surfin 发表于 2015-1-7 15:45:34

不错,一直想写这么一个程序

zhxar606 发表于 2015-2-4 11:28:59

能写命令,必然是高手啊

windfly522 发表于 2015-3-30 11:57:09

很好,谢谢分享:)

zhousy 发表于 2015-4-10 14:39:03

牛,学习啦

haima 发表于 2015-4-11 18:02:04

谢谢高手

modism 发表于 2015-4-12 16:37:54

厉害~~~~~~:)

liht1122 发表于 2015-4-14 17:22:44

可以开发任意层螺栓连接

zhangjingsjtu 发表于 2015-12-15 20:39:09

谢谢!!!

图腾424 发表于 2016-7-12 22:30:25

楼主 你好如果是实体和壳单元的螺钉连接这样还可以吗

太阳1991 发表于 2016-7-13 14:57:21

高手,厉害呀!
页: [1]
查看完整版本: (自编)批量完成螺栓连接