我设计了一个组件(主组件),该主组件包含一个子组件,子组件是一个管接头(由一个圆形法兰fl.prt和一根管guan.prt构成,法兰尺寸固定,管的长度、外径、壁厚可变,管接头长为L,管长变量名为A,管外径为D,管壁厚为T,A=L-10),
1.首先设计管,建模后,令管长变量为A。
编写程序:
input
A
"输入管长A"
D
"输入管外径D"
T
"输入管壁厚T"
end input
2.设计法兰,尺寸固定。圆形。
3.装配管接头gjt.asm。编写程序如下:
input
L
"输入管接头长L"
end input
......略
execute part guan
A=L-10
D=21
T=2.8
//在这个管接头组件中管的外径和壁厚固定为21和2.8,长度A随管接头组件的长度而变化,即A=L-10
end execute
4.装配主组件ZZJ.ASM。主组件中包含上面的管接头,作为主组件的子组件。由于主组件也有一个高度,这个高度是一个变量H,编写程序如下
input
H
"输入主组件高度H"
end input
......略
//在这个主组件中,管接头子组件的长度L固定为120
execute assm gjt
L=120
end execute
5.主组件全部装配完毕后,程序也编完了,pro/e3.0并未提示错误。按照我原先预想的结果应该是:再生主组件后,只需要输入主组件的高度H,那么管接头便可以接收到主组件传过去的120长度值,子组件管接头不再提示输入A D T三个变量。
可事实上,当我再生主组件后,提示输入主组件高度属于我预想之内情况外,子组件管接头也提示输入A D T三个变量,这是我不希望得到的结果。
我知道,在用pro/e设计的组件中,主组件和子零件子组件间传递参数用execute语句块,而且为逐层驱动。单独再生管接头子组件只需要输入管接头的长度,管的外径和壁厚不用再输入了,因为在设计管接头组件时的execute语句筷作用了。而在再生主组件时,管接头却又提出要输入管长A、管外径D、管壁厚T,与我预想的不一样,不知问题出在哪里?敬请高手赐教!先表谢意!