Community
Dynamic Blocks Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Dynamic block via lookup vs block table

5 REPLIES 5
Reply
Message 1 of 6
Greek2Me
1951 Views, 5 Replies

Dynamic block via lookup vs block table

I've begun working with several acad components at once to accomplish (for me) a rather ambitious library of dynamic blocks for Acad 2010 and newer. Various blocks will utilize anywhere from 8 to 12 visibility states each, light to moderate use of constraints and dimensions driven by either a lookup parameter or a block table (the crux of my issue). This table will need to accomodate a couple of dozen sizes, each with a half dozen dimensions, so quite a bit of information for every occurance of the block.  And a drawing could easily wind up containing a couple hundred of these assorted blocks! I really don't want to get far down the road and find out I picked the wrong method and it's just to unweildy for the average acad machine (say Windows 7 w/4GB ram?). So my primary question to the forum is regarding the preference of lookups or block tables (or possibly another approach entirely) for large amounts of data to control lots of blocks in a single drawing file.

 

I'm relatively new to parameters in general, and have just started working with lookups and tables. I've heard rumors that Block Tables can be a little "twitchy" and cause Acad to hang up, which leans me towards the lookup method.  I'm also concerned that, whichever way I go, each insertion will add yet another copy of an extensive data table.  At what point does this begin to impact machine performance? Does one method manage memory better than the other? I would rather not go to linking to external Excel files or something like that if I don't have to. It would sure be nice if I knew of a way to have one copy of the data in the drawing, from which all block occurances simultaneously draw their information. 

 

Before I commit and invest a lot of personal time in this project, can anybody give me their take on using lookups vs block tables, when to use each and if I'm starting off on the wrong foot to have more than just a handful of parameters in each block?  Going to have to make a decision soon, and really want to get going in the best direction early.

 

Much appreciate any input from newbies to experts.

 

Thanks in advance.

 

 

 

 

"Always remember: nothing difficult is ever easy."
5 REPLIES 5
Message 2 of 6
dmfrazier
in reply to: Greek2Me

Methinks thou dost worry too much! Smiley Wink

 

Assuming that either approach would get you the desired results for any particular DB, whether you choose Lookup table or Block Properties table probably makes no difference in terms of storage of information.  (Note that constraint parameters cannot be added to a Lookup table, so in those cases you will be forced to use a Block Properties table.)

 

"I've heard rumors that Block Tables can be a little "twitchy" and cause Acad to hang up..."

 

I suspect this has more to with errors in the tables rather than AutoCAD's inability to handle the data.

 

Get started on your simpler block definitions and do some testing to see how file size changes as you increase the number of inserts in a DWG file.  I think you will find that AutoCAD can handle it.

 

If a block gets complex enough to have "more than a handful of parameters", that may be a sign that you should break the definition up into more than one, but I think it's going to depend more on usability.  If there are lots of parameters, but all the user sees is a relatively short drop-down list from which s/he selects an option, it may be best to throw them all into one block.

 

That's my two cents (so far).

Message 3 of 6
Greek2Me
in reply to: dmfrazier

Thanks for your feedback, DM.

 

I'm not so much worried about the constraints, I think I can get a pretty powerful blocks that are averaging less than a dozen.  My concern primarily revolves around the fact that the table (whichever way I decide to go) will be substantial. If I have over two dozen size options with six or seven dimensions each, that generates a table array approaching 200 elements.  Now, insert this block into a drawing a hundred times or more... I guess the only way to know will be to try it.  I'm planning on doing that in my spare time (yeah, RIGHT!)

 

Still kinda hoping someone out there knows a way to put the table in ONCE and get all blocks/parameters to read from it rather than inserting the whole thing each time. If not, here goes!

 

RMc

"Always remember: nothing difficult is ever easy."
Message 4 of 6
dmfrazier
in reply to: Greek2Me

"Now, insert this block into a drawing a hundred times or more... Still kinda hoping someone out there knows a way to put the table in ONCE and get all blocks/parameters to read from it rather than inserting the whole thing each time."

 

This is an interesting question for which I've never seen an answer.  In the case of 'static" block definitions, I know that each insert references a single definition, so each additional insert adds relatively little to the file size.  AutoCAD only needs to keep track of the insert's unique properties, such as location, rotation, layer, etc.  When attribute definitions are added to a block definition, I think the same principle applies.  The values of the attributes are saved in the individual inserts, but the block and attribute definitions are not duplicated.  So, by extension, I would assume that blocks with parameters and actions and tables and constraints added would primarily increase the size of the one block definition, but each insert would still have a relatively small impact on the file size.

 

When you insert a DB with a Lookup or a Block table, I don't believe you are "inserting the whole thing each time".  Each new insert references the one table in the block definition, and only the selected properties are stored in the insert.

Message 5 of 6
steven-g
in reply to: Greek2Me

I use a block that contains amongst other things, one rotation, 3 visibility states, 25 lookups, 30 linear parameters with stretches/moves, and 70+ attributes.

Inserted into a blank drawing it weighs in at 200kb, doing a straight copy to get 80 blocks increases the file to 700, changing just one attribute value in groups of 8 (so I have 10 variations of just one attribute) increases the file size to 1.4Mb the time taken for a regen or save is noticable. Using a second attribute with 8 variations, so now I have 80 unique blocks but they are 99% the same, increases the size to 1.8Mb, but the problem I get is now is, a regen or save can take a minute.

It is a door block and for some projects I can have several hundred copies, the only issues I have are speed, and for that reason I split projects into manageable amounts, I try to use no more than 50 blocks in a single drawing just because I use regen a lot to keep the blocks up to date, so I split projects into floors or levels - and have a master drawing that xrefs them together that I can use to extract all the data in one go.

All I am trying to show is that Autocad can handle it, but there may be some drawbacks and you may need to adapt how you do things.

 

And learn to use purge regularly.

Message 6 of 6
Greek2Me
in reply to: steven-g

Hmmmmm... This is new (and USEFUL) information. It seems that I was unclear on the distinction between a block's "definition" and a block "instance".  I was assuming that every time I inserted, I added a fresh copy of a rather large table.  Do I take it that this is NOT so, but each subsequent insertion reads data from the original one (which defines the block within that drawing)? And that size and speed only become an issue when LOTS of parameters are included in the original definition (because they ARE duplicated with every copy)? Welcome news!

 

I'll begin developing a full blown block as soon as possible, but as I stated earlier, I wanted to be sure that I was getting started in a right initial direction. Far too many times I've had a great goal, but taken a wrong approach that resulted in many wasted hours and frustration. Sure appreciate the help I always find here!

 

Maranatha

 

RMc

"Always remember: nothing difficult is ever easy."

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

”Boost

 

”Tips

 

”Services