使用Layout来自动配置装配

使用 Layout 模式下的表格可以方便地配置装配。通过在 Layout 模式下定义参数然后使 Layout 和装配里的所有部件关联(Declare),Layout 既可以控制部件的尺寸,也可以控制在装配里使用部件的哪一个 Instance。

在下面这个例子里,一根管道被装配到一个大舱室的排泄口上(只显示管道的一小截和舱壁的一小块)。这个装配具有三种不同的配置:

1. 管道的内径和舱壁上的孔径是互相独立的,如果两个直径不一样,则需要在它们之间安装一个变径接头;
2. 变径接头上沿和下沿的螺栓孔的数量可以变化;
3. 管道可以是不同长度的直管道,也可以是一段具有不同弯曲半径和角度的弯管。

你可以试图在顶层装配里建立很多复杂的关系式来达到设计意图,但更简单的办法是在 Layout 模式下建立一个简单而清晰的参数表格,然后 Layout 里的参数将被用于装配里的零部件。图1和图2是装配的可能配置之一以及它所对应的 Layout 表格里的参数值。

ami243a

Figure 1

ami243b

Figure 2


操作过程
    第一步要分别建立每一个部件。首先建立图3所示的壁板。壁板的中间开一个大孔,四周为螺栓孔的阵列(Pattern),注意建立关系式以保证螺栓孔的中心到大孔的边缘的距离保持恒定。大孔的直径和螺栓孔的数目随后将由 Layout 参数控制。

    ami243c

    Figure 3


    下一个要建立的零件是管道。首先建立有螺栓孔的下沿,注意建立关系式以边沿的宽度恒定(不因管道孔径的改变而改变),并保证螺栓孔能位于边缘的中间并均匀分布,然后拉伸出直管道并旋转出不同角度的弯管。随后,管道的直径、螺栓孔的数目、直管道的长度、弯管的半径和角度等都将由 Layout 里的参数来控制。下一步要做的是分别为直管和弯管建立 Instance ,分别建立 Straight 和 Angle 两个 Instance,一个有直管特征而没有弯管特征,一个有弯管特征而没有直管特征,Generic 零件和两个 Instance 分别见图4、图5和图6。要获得关于建立装配族表的更多帮助,参阅 Creating Family Table Driven Assemblies.

    ami243d

    Figure 4

    ami243e

    Figure 5

    ami243f

    Figure 6


    最后要建立的部件是变径接头。如果壁板上的孔的直径和管道的直径不相同则需要增加这个零件。首先,隔开一段距离分别建立上下两个边缘,和管道里的情况一样,要使用关系式来约束边缘的宽度和螺栓孔的位置。最后建立中间截面为样条曲线的旋转体。接头的上下中间的两个孔的直径、螺栓孔的数量等参数都将由 Layout 里的参数控制。完成后的变径接头如图7所示。

    ami243g

    Figure 7


    完成部件的建立后,下一步就要开始建立装配。首先建立管道和变径接头的装配。首先装入变径接头,然后使用 Align 和 Mate 约束装配管道,最后在孔阵列的第一个孔上装配螺栓和螺母,并使用 Reference Pattern 来阵列螺栓和螺母。管道装配如图8所示。究竟在这个装配里使用那一种管道,随后我们将根据 Layout 里的参数来编写一个装配程序来控制。

    ami243h

    Figure 8


    下一步要建立顶层装配。首先装入壁板,然后使用 Align 和 Mate 约束装入管道子装配,接着在螺栓孔阵列里的第一个孔上装入螺栓和螺母,并使用 Reference Pattern 阵列螺栓螺母。(注意螺栓和螺母只能参考壁板,而不能参考变径接头,因为变径接头不会在所有的装配配置里出现,螺栓有可能因找不到参考而失败。) 抑制管道子装配,使用相同的方法装入管道零件。装好管道零件后,恢复管道子装配。结果得到的装配如图9所示。基于 Layout 的参数编写一段装配程序,以确保装配只取两者之一,如果壁板的孔径和管道的内径相等,则使用管道零件,否则使用管道子装配。这段程序还壳控制使用管道的哪一个 Instance (直管还是弯管)。

    ami243i

    Figure 9


    在建立零件和装配以后,接着建立 Layout。进入 Layout 模式,从 Layout 菜单选择 Table 建立一个表格。此例中的表格具有2列和10行,第一列包含参数的介绍,第二列包含用于控制装配的参数。建立参数并把它们放到第二列表格中,前面加一个"&"字符,这表示该列将显示参数的值得。随后,你只要简单地修改参数的值就可以改变装配的配置了。表格如图10所示,注意 PIPE_STRAIGHT 参数必须被设置为"yes/no"类型,而其它参数为 "number" 类型。

    ami243j

    Figure 10


    下一步骤要使用 Declare 命令宣告零部件和 Layout 的关系。打开零部件,在 Part 菜单下选择 Declare ,然后从 DECLARE 菜单选择 Declare Layout ,选择 Layout 的名称。通过以上操作,你将可以在零件层次上使用 Layout 的参数。在你使 Layout 和每一个零件都互相关联以后,建立以下关系式。以下等式左边将被特定的尺寸符号代替。

    Pipe
    Diameter of Center Hole in Flange = PIPE_HOLE_DIA
    Number of Bolt Holes in Flange = PIPE_BOLT_HOLES
    Length of Straight Extrusion = PIPE_STRAIGHT_LENGTH
    Bent Pipe Bend Radius = PIPE_BEND_RADIUS
    Bent Pipe Bend Angle = PIPE_BEND_ANGLE

    Reducer
    Diameter of Center Hole in Top Flange = PIPE_HOLE_DIA
    Number of Bolt Holes in Top Flange = PIPE_BOLT_HOLES
    Diameter of Center Hole in Bottom Flange = PLATE_HOLE_DIA
    Number of Bolt Holes in Bottom Flange = PLATE_BOLT_HOLES

    Plate
    Diameter of Center Hole in Plate = PLATE_HOLE_DIA
    Number of Bolt Holes in Plate = PLATE_BOLT_HOLES

    Note: Parameter names correspond to the names created in the layout.


    建立好关系式后,零部件的尺寸将自动更新。最后的步骤是建立装配和子装配层次的程序来控制那个零部件将被装到装配里。在管道装配里,建立一段程序以控制使用管道零件的哪一个 Instance 。在程序的关系式区域里增加以下行:

    IF PIPE_STRAIGHT
    PIPE_TYPE = "STRAIGHT"
    ELSE
    PIPE_TYPE = "ANGLE"
    ENDIF

    这里 PIPE_STRAIGHT 是一个 Layout 里的 true/false 参数。接着,找到程序里添加管道零件的部分,并把第一行的 ADD PART PIPE 改为 ADD PART (PIPE_TYPE),这两处修改将保证你在 Reducer 装配里装入合适的 Instance。


    最后,你需要建立顶层装配的程序。这个程序将决定需要装入管道子装配还是管道零件,而不是两者同时需要。如果需要装入管道,程序将决定需要装入管道的哪一个 Instance 。在程序的关系式区域增加以下几行:

    IF PIPE_STRAIGHT
    PIPE_TYPE = "STRAIGHT"
    ELSE
    PIPE_TYPE = "ANGLE"
    ENDIF

    增加这一部分后,把 ADD PART PIPE 行改为 ADD PART (PIPE_TYPE),另外,把增加管道零件的部分放到一个 IF 条件里,这样在不需要 Reducer 装配的时候,你可以只装配进 PIPE 零件。改完后的程序如下:

    IF PIPE_HOLE_DIA == PLATE_HOLE_DIA
    ADD PART (PIPE_TYPE)
    INTERNAL COMPONENT ID 7
    PARENTS = 1 (#1)
    END ADD
    ENDIF

    注意在 IF 语句里使用了两个连续的等号,单个等号将使其中一个的值和另一个的值相等,而不是只检查它们是否相等。最后,把增加 Reducer 部件的部分放到一个 IF 条件里。如下所示:

    IF PIPE_HOLE_DIA != PLATE_HOLE_DIA
    ADD SUBASSEMBLY REDUCER
    INTERNAL COMPONENT ID 102
    PARENTS = 1 (#1)
    END ADD
    ENDIF

    注意对于不同的装配和零部件,以上的零部件 ID 号可能不同。


    现在排泄口的装配可以简单地通过修改 Layout 里的表格里的参数来改变了。使用 Layout 的目的是消除零部件之间的外部参考,所有控制装配的参数都非常明了地放在一起,选择和修改都非常方便。以下图11到图16为三种不同的参数设置以及根据这些设置获得的装配。你只需要简单地修改表格里的参数并重新生成装配,整个装配都将自动更新,而无需手工替换任何零件或修改尺寸的值。

    很重要的一点是有些参数的值是不相关的,例如,如果你使用了直管,则 Bend angle 参数和 bend radius 参数都没有意义。

    ami243k

    Figure 11

    ami243l

    Figure 12

    ami243m

    Figure 13

    ami243n

    Figure 14

    ami243o

    Figure 15

    ami243p

    Figure 16