Embedded parametric blocks

I have been on v14 for many years. But, I am not evaluating v22 for another company, to see if I can help automate some of their drawings, and justify their expense.

My efforts to view the videos or read tutorials on parametric have not uncovered some of the functionality I hope will be there. Specifically, I am hoping to include a daughter block into a parent block, and have a parameter in the parent block drive the size of the daughter block. For example, a cart that will base the size of the wheels on the size of the cart. I can figure out how the formula would work. But, I can't figure out how to get the daughter block to use a parameter from the parent. As I edit the parent block, BricsCAD will not let me edit the parameter value for the wheel diameter

Is what I want to do possible?

Also, is there an exhaustive manual on the use of parametric blocks? Using the command reference, I can find some info. But, I can't seem to find a single chapter that goes over all features of a parametric block. I know that user manuals have changed a great deal from when learned to use AutoCAD v10. So, perhaps this type of manual doesn't come anymore from the software vendor, and I should perhaps look for a 3rd party manual.

-Joe

Comments

  • "user manuals have changed a great deal from ..." whenever. You bet! Bricscad's Help has been dumbed down in the last year or so, stripped of explanations, to near uselessness, although with useful added ability to search the forum resource. I rely now on my saved copy of v18 offline help pdf and Grabowski's Customizing, which stopped at v20.
  • Regarding manuals, I also see that any time you try to access help, you must connect to the Bricsys web page. So, if your internet is down, you apparently don't have access to help. Is this correct?

    Locally, over the last few months, I have experienced significant pauses in my internet. And with the possibility of war looming, transatlantic cables are certainly a possible target. So, unless Bricsys gets servers in the U.S. to handle these things, I am a bit nervous about depending on the trans-atlantic internet connection to use Bricsys.

    -joe
  • Joe Dunfee
    edited May 2022
    I did find where I can download a PDF of the manual.
    https://help.bricsys.com/document?title=24_7/oldUI/where_can_i_find_offline_help_for_bricsys_24_7.html


    I corrected myself too soon... I thought that 24/7 text in the online help entry that I linked to above, referred to having access to the help file 24/7. I was wrong. You must have access to Bricsys' servers over the internet to use the help file.

    -Joe
  • @Joe Dunfee, Could you provide your drawing (or one that isn't sensitive) that has what you are trying to achieve as there might be a way round it?
    I know Jason Bourhill at CAD Concepts has done some pretty nifty things with parametrics.
    There was one I saw the other day that I think had if statements controlling the height & width of a rectangle in relation to a circle's size.
    If they are 3D constraints then I can't help but as they say, a picture paints a thousand words :-)
  • I corrected myself too soon... I thought that 24/7 text in the online help entry that I linked to above, referred to having access to the help file 24/7. I was wrong. You must have access to Bricsys' servers over the internet to use the help file.
  • Thank you for taking a look at this. My initial example was perhaps not the best. But, I decided it was OK to make something a lot closer to my actual usage. The company makes modular wall panels that can be locked together to make a wall as long as needed.

    Note that I am new to BricsCAD's parametric blocks. For some reason, I can't seem to change the thickness of the wall panel now. But my goal is to draw a wall panel in the plan view, and be able to change its width and thickness. Also, there is a lock on each side, to allow us to attach the panels together. I need this lock to change its thickness as well. By including it as a sub-block, I should also be able to get a count of how many of them there are, for my Bill of Material.

    See the attached dwg.
  • Thanks Joe for pointing out offline help is still available, and updated, tho no v22 yet.
    And different, much fuller, like before, than online, which mainly just lists button names which explain little, unless you already know! e.g. online PointCloudCropSolid (missing from offline).
  • @Joe Dunfee,I don't know if I have done what you require but the Panel now changes in thickness, but selecting one only shows one block, so do you have a way of counting blocks within blocks?
  • counting blocks within blocks?

    Did you google I have this request also but its a bit further down the to do list for a client.

    Start here http://www.lee-mac.com/nestedblockcounter.html?msclkid=8b66fb78d0de11ec86d4c73dae28cec4

  • The trick is to link the parameter within your component to one in the parent drawing. Once linked you can drive them from the parent parameter.

    In the mechanical browser you can right click on a component parameter and select the Link Parameter option to create the link for you. If the parameter doesn't already exist, then it will create it for you.


    Alternatively you can type the name of the parameter in the expression field of the component parameter to link them. I prefer to copy and paste the parameter name, as this avoids typo's.



    Attach a the updated drawing with the parameter links created. Also included a dynamic array that allows you to drive the number of panels.

    Regards,
    Jason Bourhill
    BricsCAD V22 Ultimate
    CAD Concepts
  • Thank you everyone for this. Especially Mr. Waight and Bourhill for their work. I was debating if an upgrade from v14 would be warranted. (Well, actually a purchase, since that is cheaper than upgrading.) The dynamic blocks are a substantial help. I think I can show cost justification to management for it now, because of the time savings.

    Yes, I can get a BOM that includes sub-blocks. I believe it is one of Lee Mac's programs. The one linked two messages above may be it. Though, I think it is more updated than the one I have used.

    -Joe
  • For BOM, I recommend that you experiment with DATAEXTRACTION. This allows you to extract information from your drawing(s) out to .CSV/.XLS, or link to a table on the drawing



    It's possible to include parameter settings in the extract, and it also will include nested blocks in the extract.

    It's also possible to set the table up so that it can be dynamically updated to changes on the drawing. To update the table following a change, you use the DATALINKUPDATE command.

    Attach an example based on your test wall.

    Note. the included .DXD file needs to be in the same folder as the drawing file. If this file is missing, then you won't be able to update the table.

    Regards,
    Jason Bourhill
    BricsCAD V22 Ultimate
    CAD Concepts
  • As I continue to work with this, I ran into an issue with arrays. It seems that when an associative array is used with parametric blocks, the parametric blocks are locked into the dimensions as they were when the array was created. I use the array to make the correct number of wall panels to fit the length of the wall. But I also need to allow for the thickness of the wall panels to change. So, I have two parameters to deal with. And perhaps this is creating the issue.

    I figured that a global parameter would control everything. Perhaps I am getting confused and not setting up the global variables properly. I had assumed that a parameter inside a block can reference any parameters in the parent drawing where it has been inserted. But, I am having difficulty finding anywhere that describes this. And I am not really able to follow what I am finding in the online manual.

    Regardless, perhaps the use of the associative array would be a limitation if I want to control the number of the items in the array with a formula, and also a parameter inside the block I am arraying. Is anyone familiar with this issue?

    -joe
  • Hi Joe,

    If you inspect the drawing that I attached with BOM table you will see that I have used arrays of your wall panel set to different thicknesses. So totally possible.

    Regards,
    Jason Bourhill
    BricsCAD V22 Ultimate
    CAD Concepts
  • Just a comment did something like this about 30 years ago pick 2 points and would insert blocks and add remainder as a shrunk block, this may be the way to go to avoid array problems. The easy part for me was the wall panels were fixed sizes. Like 600x100.

    Just a question this is a bit like glass wall panels that I wrote something for what happens on the ends ? You have a Vnotch now should the complete answer be to have end types also ? Maybe a smarter dynamic block with 2 visibilty states but on both ends.

    For quantities can read all the dynamic block properties, say 3 walls,

    3 x sq start
    42 x normal 600 panel
    1 x sq end 450
    1x sq end 456
    1x sq end 305
  • Hi Joe,
    If you inspect the drawing that I attached with BOM table you will see that I have used arrays of your wall panel set to different thicknesses. So totally possible.
    CAD Concepts

    I just was able to download and try out your drawing. When I select the array labeled "Dynamic Array of Panels", and change the lock thickness in the properties, the lines no longer stay parallel. Though, if I do the same thing to one of the single instances of the block above, it gets wider/thinner just find.

  • When I select the array labeled "Dynamic Array of Panels", and change the lock thickness in the properties, the lines no longer stay parallel.

    I can't repeat this issue. It would be useful to post the drawing that illustrates the problem.

    Regards,
    Jason Bourhill
    BricsCAD V22 Ultimate
    CAD Concepts
  • Jason, here is the same file you sent on May 15. However, I have edited one of the single blocks, and also the same block in an array, to show the different behavior.

    -Joe
  • Jason, here is the same file you sent on May 15. However, I have edited one of the single blocks, and also the same block in an array, to show the different behavior.

    -Joe

    Ok, this can happen when you make large changes to parameter values. It can cause things to break. Potentially this could be prevented by revisiting the constraints applied to the source block. I found if I change the values that the array arrangement then came right again.

    With parametric components you can use RESETBLOCK to reset the block to its initial parametric state.


    Regards,
    Jason Bourhill
    BricsCAD V22 Ultimate
    CAD Concepts
  • @Jason Bourhill Thank you for your help. That worked for me!
  • I did redefine the block, and the redefined version works, at least in your example. Though, for my own version made from scratch, I am still having difficulty with getting the sub-blocks to react to the thickness changes. I expect that I am having issues with parent/child relationships.

    I will wait until the company has decided to buy before I invest too much more effort. At the moment, I have a proof of concept I can demo for them. Hopefully, that will be sufficient motivation for the upgrade.
  • Joe Dunfee
    edited July 2022
    OK, tried to start from scratch again (perhaps the 4th or 5th time), and am stuck. In particular, I figured I would put all the dimensions of concern, as user parameters, in the main drawing. The blocks that need to adjust their sizes, are defined in the drawing, and I think they should somehow be able to share values to/from the main drawing parameters.

    I found an area in the help file, that would seem to talk about what I want to do. But, it only mentions the word without really saying how it gets accomplished.

    Link to parameter
    Links subcomponent parameter to the main level parameter.


    Keep in mind that I have the v22 demo set to function as the Lite version of BricsCAD. But, it seems to be the same "mechanical browser" regardless of if it is the Mechanical version or not.

    Is it possible, that linking parameters is not viable in the Lite version?

    See the attached drawing. I have two blocks. A corner panel, and a plain panel. I want both to be able to adjust their wall thickness to whatever is set at the top level drawing.

    -Joe
  • Hi Joe,

    I am running V22 Pro and was able to create the link.

    The attached screenshots are the Parameters & Constraints Palette and NOT the Mechanical Browser.

    I right mouse-clicked the parameter (first image) and when it copied it to the User Parameters section (second image), as it doesn't share the same name as the parameter you want to link to, I typed the parameter name (Chamber_Thickness) into the expression section and it works.

    Are you saying this isn't the case in the Lite version?

  • Thank you for your efforts. Right-clicking does not bring up any menu for me. I was able to type in the user parameter name, and it worked for individual blocks. I was also thinking I should avoid editing individual instances, and wanted that use parameter to be part of the block definition. But, that isn't possible. But, in my case, 4 corners is going to be constant, so editing some individual instances is OK.

    But, I ran into what may be a big problem. Once a block is used inside an array, that block is no longer listed in the list of blocks. And the Parameters manager, where it lists the array parameters, does not show the name of the block, or the block's parameters.

    I will go to BricsCAD support, and see if they may offer a solution. Though, I think I may be stuck.

    -Joe
  • Creation of Parametrics blocks requires a BricsCAD Pro license or greater. If you're running as BricsCAD Lite, then you won't have access to these tools.

    BricsCAD Lite users should still be able to utilise parametric blocks. i.e. they can use them, but not edit/create.

    Regards,
    Jason Bourhill
    BricsCAD V22 Ultimate
    CAD Concepts
  • Joe Dunfee
    edited July 2022
    The Demo version, when set to run Lite, DOES permit creating parametric blocks.