Parametric Array issues -including block count problems

Joe Dunfee
edited July 2019 in 2D Drafting

I am testing out v19 to see if the new array options can be made to work for my situtaion. Specifically, I am working for a firm that makes chambers from panels that lock together. In my test, I drew a line to represent one wall, and then added a block to one end, to illustrate the panel. Then, I created an array of the block along the path, giving "measure" as the option. In this case, the panels are 36" wide.

I can change, the line length, and the number of wall panels will adapt. However, when I use explorer to see how many of the wall panel blocks exist, it is not correct. In the attached example, Explorer shows that there are 2 of them, when there are 4 in the drawing. If I explode the array, it says that there are 5 of this block.

What is going on?

Another question relates to how many blocks are arrayed along the path. It seems that you are only offered the option of having as many blocks as needed to fully fill the line. If I recall correctly, in Autodesk's dynamic block arrays, you had the option of using a formula to allow you to choose only as many whole pieces would fit. In my situation, an odd-sized custom panel would fill in the empty space. Another situation where this may be useful, is if you have an array of holes. Obviously, half a hole is not useful. Is there any way to accomplish something like that using the features into BricsCAD?

-Joeimageimageimage

Comments

  • Joe Dunfee
    edited July 2019

    Note that the multiple lines of the image should only have been one of them. It is something that I can't figure out how to make go away using the forum browser.

  • Roy Klein Gebbinck
    edited July 2019

    Regarding the modeling:
    I would create a parametric panel component, nest that in a fixed panel component, and finally create a wall component with an array of fixed panels and a single parametric panel (which in case of an exact fit would have the same width as a fixed panel). You would indeed have to use some formulas to control things, but this should be doable.

    Regarding the block count:
    The _ExpBlocks panel shows unique references of blocks. If a block reference 'A' occurs twice in block definition 'B' and there are 5 references of 'B', the total count of 'A' would be 2 and not 5*2=10.
    And in BricsCAD an associative array is an anonymous block containing references of another anonymous block which contains the items selected for the array. Which explains why the 'Wall Panel' block has 1 reference (at least that's what I get in V18).

    You may be able to use the _BmBom command (I think only available if you have a Mech License in V19) to count the (sub) components. But I have never tested this command with a model with an associative array.

    To get a 'true' total block count you can use my BKG_CountBlocks. But that program was designed for 'normal' blocks and xrefs. It will only count parametric components if they (still) are xrefs.

  • @Roy Klein Gebbinck said:
    To get a 'true' total block count you can use my BKG_CountBlocks. But that program was designed for 'normal' blocks and xrefs. It will only count parametric components if they (still) are xrefs.

    I will probably go that route, and just explode the arrays and parametric blocks, down to where the panels are their own blocks. Then, use your program.

    Thanks for the insight.
    -Joe

  • Roy Klein Gebbinck
    edited July 2019

    Block count:
    To use BKG_CountBlocks you do not have to explode the associative array. The program does process the contents of the anonymous blocks that make up the array.
    But BKG_CountBlocks is not the ideal tool for a workflow that combines static blocks with parametric components. When you change a parametric component, the result is an anonymous block definition and the program does not count those. As already mentioned: only components that are xrefs will be counted.

    Modeling:
    The suggestion I have made is actually problematic. In V18 creating an associative array from components means those components are no longer recognized as such. But maybe this has improved in V19.

  • Modeling:
    Your best bet may be to not use associative arrays, and just use the _ArrayClassic command instead. This would be less complex and more flexible, plus you can then use the _BmBom command to count your components.
    See the attached example.