15回答

1收藏

xsteel技巧, 利用模板将焊接H型钢在材料表自动拆分为三块板

 

工程问答 工程问答 6912 人阅读 | 15 人回复 | 2008-07-07

焊接H型钢是用三块钢板拼接而成,在我以前的公司焊接H型钢的截面都是用BH表示,比如500*300*8*12的焊接H型钢,在创建界面的时候将 界面表示为BH500*300*8*12,这样在工厂加工的时候,一看到BH开头的界面就知道是焊接H型钢了,知道要用钢板拼接焊,至于三块板的具体大 小,则由工厂自己去拆分,这个不难吧,小学生都会拆分。
而有很多公司则要求在图纸上直接将焊接H型钢拆分成三块板,如果真用三块板去手工建模会非常麻烦,节点也不好用,所以在XSTEEL下一般都只在材料表里利用模板自动拆分。
关于这方面的教程网上有很多,但有些要么写的有所保留(做详图的小心眼啊。。。。。),要么做出来的模板不那么尽善尽美,下面讲讲我是如何利用模板自动拆分。
先来看看具体效果:
1.jpg




模板下的具体效果:


2.jpg



分为2个部分来讲解这个模板,行规则和数值域属性1、行规则:这里主要是利用了2个行规则,第一个行规则用来实现自动搜索焊接H型钢,并将焊接H型钢自动拆分为三块板,第二个行规则则是用来正常实现其余零件的材料表功能,关键是第一个行规则了。

3.jpg





这里使用了如下语句:
if (GetValue("CONTENTTYPE") == "PART"&&GetValue("PROFILE_TYPE") == "I"&&GetValue("PROFILE.SUBTYPE")=="对称焊缝") then
  Output()
else
  StepOut()
endif

GetValue("CONTENTTYPE") == "PART"                    表示搜索图纸中出现的全部零件
GetValue("PROFILE_TYPE") == "I"                             表示搜索所有截面类型为I的零件
GetValue("PROFILE.SUBTYPE")=="对称焊缝"         表示搜索所有截面图表类型为对称焊接的零件
&&                                                                                     表示“与”条件,及以上三个条件同时满足

可 能很多人在做模板自动拆分三块板的时候没用过“GetValue("PROFILE.SUBTYPE")=="对称焊缝" ”这个语句,这个语句使用前有 个条件,就是像我在文章开头说的,在建模最开始定义截面的时候要把需要焊接的H型钢在创建截面的时候严格按照XSTEEL规则操作,即将其截面类型定义为 “I截面”,将截面图表类型定位为“对称焊缝”。

你可以说,我可以利用“抛光”这个选项,比如我将需要拆分为三块板的型钢,在“抛光”里填上3;在需要拆分为四块板的箱型,在“抛光”里填上4,等等等等方法,“抛光”里每个数字都有专门的代表含义。你可以这么做,但比较啰唆点,不如把这工作交给电脑做快捷。





再来看看第二个行规则:


4.jpg




这个行规则使用如下语句:
if (GetValue("CONTENTTYPE") == "PART"&&GetValue("PROFILE.SUBTYPE")!="对称焊缝") then
  Output()
else
  StepOut()
endif

这 是我偷懒的写法,只搜索了不是对称焊缝的零件。其实这个搜索不是很严谨,因为本图中如果出现既是对称焊缝又是箱型的话,那么箱型钢就不会自动拆分了。这是 因为本人为了写教材求省事,不想那么去啰唆,所以只针对焊接H型钢这一种情况,其他的多种情况同时出现的话,你可以利用同样的方法将规则完善即可,做 XSTEEL的人一定要学会举一反三、自己探索,别老想着可以吃现成的,那样你永远不会进步。
2、数值域属性1)先来看看零件编号的数据值属性:

5.jpg



这里的公式我用了GetValue("PART_POS")+("-a"),同理,其他的数值域就是 GetValue("PART_POS")+("-b")、GetValue("PART_POS")+("-c"),这样拆分后的三块板编号就依次为 xxxx-a,xxxx-b,xxxx-c,分别表示翼缘和腹板。
2)再来看看截面部分的数值域属性:


6.jpg





使用语句如下:
("PL")+int(GetValue("FLANGE_THICKNESS_U"))+("x")+int(GetValue("FLANGE_WIDTH_U"))

(" ")            表示将内容转换成字符显示
int( )          表示将取整,否则GetValue( ) 得出的数据会带有小数,比如PL8.0*250.0
GetValue("FLANGE_THICKNESS_U")和GetValue("FLANGE_WIDTH_U")      表示取上翼缘的板厚和板宽

GetValue("FLANGE_LENGTH_B")      表示取上翼缘的长度

这样就完成了自动拆板的处理,这部分关键是使用int函数,我看到有些人不会处理如何小数,所以出来都是带了小数点,效果很不好。
其他的域属性都是常规做法,不啰唆了。
以 上就是焊接H型钢自动模板拆分的详细做法,你还可以引申为自动拆分焊接箱型、十字型等等。模板的功能很强大,关键是你要 能想到,利用模板还把材料表可以自动实现箱型隔板电渣焊衬垫块统计、箱型通长衬垫板统计、厚板的Z向要求自动添加等等功能,以后有空会将此部分写成教程。

[ 本帖最后由 qingyun 于 2008-7-7 15:25 编辑 ]

点评

不错哦,进来之前我还以为是网上到处能看到的那个教程呢  发表于 2010-9-19 13:05

评分

参与人数 1金币 +2 收起 理由
qdzc123 + 2

查看全部评分

回答|共 15 个

qingyun

qingyun 发表于 2008-7-7 15:32:20 | 显示全部楼层

一起学习一下,呵呵

[ 本帖最后由 qingyun 于 2008-7-7 15:58 编辑 ]

joeymega

joeymega 发表于 2008-7-27 16:59:47 | 显示全部楼层

好复杂哦,慢慢吸收一下~~

giftsmaxwang

giftsmaxwang 发表于 2008-8-6 18:33:13 | 显示全部楼层

好教程,谢谢楼主提供
向楼主致敬

lizd98

lizd98 发表于 2008-8-10 18:09:55 | 显示全部楼层

我用熟练了再来搞

giftsmaxwang

giftsmaxwang 发表于 2008-9-13 09:28:25 | 显示全部楼层

精典,谢谢楼主提供的这么好的资料,

向楼主的高风亮节学习!!!!!!!!

giftsmaxwang

giftsmaxwang 发表于 2008-9-13 09:29:41 | 显示全部楼层

楼主不知道能不能在板的零件图中体现出,切割的米数啊,比如用数控切割!!!!!!!!

feieryouxi

feieryouxi 发表于 2009-2-3 15:11:01 | 显示全部楼层

谢谢了
回去好哈研究一下

重阳

重阳 发表于 2009-2-16 19:20:07 | 显示全部楼层

1# qingyun
好东西,我正在找,谢谢了

mufeng235

mufeng235 发表于 2009-3-15 17:09:07 | 显示全部楼层

不错。。受益中

wolfsley

wolfsley 发表于 2009-11-27 22:50:50 | 显示全部楼层

学习了,谢谢分享经验。

wangdeguo

wangdeguo 发表于 2012-2-15 13:53:57 | 显示全部楼层

楼主,共同学习。请加QQ 284098745.。一起探讨

solkou5

solkou5 发表于 2012-2-23 11:55:31 | 显示全部楼层

挺不错的,只是我还是初学者

ceprofession

ceprofession 发表于 2012-6-17 14:11:08 | 显示全部楼层

直接把模板贴出来好了,

ceprofession

ceprofession 发表于 2012-6-17 14:11:19 | 显示全部楼层

直接把模板贴出来好了,

ceprofession

ceprofession 发表于 2012-6-17 14:11:28 | 显示全部楼层

直接把模板贴出来好了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

郑重声明:本站属技术交流,非赢利性网站。
本站言论纯属发表者个人意见,与“建筑在线”立场无关。
涉及政治言论一律删除,请所有会员注意. 本站资源由会员从网上收集整理所得,版权属于原作者。
本站所有资源是进行学习和科研测试之用,请在下载后24小时删除
本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权
请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!