参数化驱动与对象类型-Parametric Modeling and Item Type


这几天研究用Item Type的属性作为变量驱动参数化模型的问题,在优先社区上搜索了一下,有一个相关的帖子,我感觉一些细节也没有明确。所以,就看了一下细节。发现对于此问题,有三个要点。我首先在英文社区上回答了这个问题。但我感觉这个问题具有通性,所以,在此发到这里。

原英文贴回答如下:

https://communities.bentley.com/products/microstation/f/microstation-forum/143705/item-types-and-constraints

这个问题涉及到如下的应用:

1. 利用Item Type的定义建立参数化单元Parametric Cell的问题。通过这种方式建立的参数化单元,放置后自带item type属性,无需再次手工赋予单元item type定义。而且item type的属性会作为变量驱动单元的大小;

2.只是作为变量驱动本模型的模型,这种情况比较简单。

同时,这种应用涉及到两个重点:

1. 我们可以给某个模型对象,例如体,赋予多种Item Type,也就是一个物体既属于A类型,也可以同时属于B类型;

2. 但如果用在参数化单元里,而且作为参数化单元的整体type,只能选择一种,这种情况下,不是手工赋予,而是通过引用item type的属性作为变量来实现,下面会讲到。

下面,我们重点说其中的一种情况,就是利用Item type的属性作为变量驱动参数化单元的应用情况。这里有三个要点:

1. 无论是dgn文件(*.dgn),还是单元库文件(*.cel),在保存参数化单元方面都是一样的。文件结构也一样,重点是启动的Model的属性是否设置为参数化的单元。这是在放置的时候,是否认为这个Cell是个参数化单元的前提。

2. 在将来作为cell放置的model里定义变量时,如果采用了item type的属性作为变量。这时不需要再用传统的方式附加item type定义给一个具体的对象,因为这相当于放到了Cell的“内部”。只需要引用item type的属性作为变量,就完成了item type附加给整个参数化单元的操作,这也就是为何在英文贴里,用户手动附件了,在最终放置的时候,在属性框里有好几层。这也是为何在选择item type时,只能选一种,而且,在item type里只有有意义的属性才能变成变量来驱动参数化形体。例如,item type里有个ID属性,这种属性对于驱动形体是没有意义的。

3. 而至于item type的属性是否可以作为变量,则要看属性的设置,你需要设置为数字型,而且别忘记单位,这样才能够被变量识别,作为参数驱动形体。

注意以上三点就可以保证应用的正确,如下是放置的效果。