Dynamic Blocks

Dynamic Blocks

Reply
Valued Contributor
ryled
Posts: 69
Registered: ‎03-31-2014
Message 1 of 62 (632 Views)
Accepted Solution

Using Lookup Tables to Specify Visibility States

632 Views, 61 Replies
05-05-2014 11:02 AM

I know this has been addressed, I've been trying to understand forums explaining it but I am simply not getting it. 

 

Currently I am working on a weld dynamic block, I know that this has been done countless times but doing it for myself is for my own understanding.  I have attached where I am at in the drawing, with the block being 'Weld Symbol'.  If you open the drawing you can cycle through the visibility states which is pretty self explanatory to what I would like to accomplish.   I am attempting to get my lookup table to have me cycle through my visibility states to depict if:

A: The weld around symbol will be present.

B: What weld Symbol is used

C: If a opposite side weld symbol is used and if so which one.

D: If there is a note attached.

 

I also do all my printouts 'annotatively' so I have attached annotative text attributes to the drawing which and be filled out by double clicking on the block or left blank.  Currently I do not have the following but intend on adding when I have my visibilities working correctly.

-A move point for each break in the arrow

-A flip action to flip the side of the arrow

-A scale feature to scale all but the attribute text so it comes out according to desired size

-Basepoint/insertion point

-Everything placed correctly.

 

I don't wish anyone to do all those as I'm just going to do them myself anyways to understand.  I just need help understanding how to use my lookup table to display my visibility I wish.

 

If you display the current lookup table in the drawing you can see the approach I have attempted, but I do not have the ability to change the grayed out "Read Only" text to allow reverse lookup so I can use it when inserted.

 

I hope this is clear.

 

Thanks for the help!

Right on.  Good work so far.  I also appreciate your attitude of wanting to learn rather than have it done for you.

 

I outline the procedure I've used for multiple visibility states in this thread:

 

http://forums.autodesk.com/t5/Dynamic-Blocks/OOTB-Multiple-Visibility-States-SOLUTION/td-p/4961288

 

The reason that the 'Read Only' is grayed out is because you cannot have the same name for an individual 'lookup property' on more than one row and still 'allow reverse lookup'.  You really want to set it kind of the reverse of how you currently have it.  You need a lookup table for each of the lookup parameters.  That table needs to link some dynamic action with each of the individual lookup properties for that table.  Then you need an invisible lookup parameter with two linked tables.  One of the two tables uses the dynamic properties of the other lookup parameters as inputs, the second table links them to the individual visibility states.  To link two table to one lookup parameter, right click the lookup parameter on the tool palette, click actions and then the little '...' browse symbol.  Then use ADD so that you place two lookup tables at the same time.  Set bactionbarmode to 0 so you can see them, then make the 'Lookup Properties" on the right match on the two tables.

 

 

 

 

*Pro
Libbya
Posts: 1,114
Registered: ‎05-02-2007
Message 2 of 62 (630 Views)

Re: Using Lookup Tables to Specify Visibility States

05-05-2014 12:25 PM in reply to: ryled

Right on.  Good work so far.  I also appreciate your attitude of wanting to learn rather than have it done for you.

 

I outline the procedure I've used for multiple visibility states in this thread:

 

http://forums.autodesk.com/t5/Dynamic-Blocks/OOTB-Multiple-Visibility-States-SOLUTION/td-p/4961288

 

The reason that the 'Read Only' is grayed out is because you cannot have the same name for an individual 'lookup property' on more than one row and still 'allow reverse lookup'.  You really want to set it kind of the reverse of how you currently have it.  You need a lookup table for each of the lookup parameters.  That table needs to link some dynamic action with each of the individual lookup properties for that table.  Then you need an invisible lookup parameter with two linked tables.  One of the two tables uses the dynamic properties of the other lookup parameters as inputs, the second table links them to the individual visibility states.  To link two table to one lookup parameter, right click the lookup parameter on the tool palette, click actions and then the little '...' browse symbol.  Then use ADD so that you place two lookup tables at the same time.  Set bactionbarmode to 0 so you can see them, then make the 'Lookup Properties" on the right match on the two tables.

 

 

 

 

Distinguished Mentor
steven-g
Posts: 598
Registered: ‎05-11-2009
Message 3 of 62 (608 Views)

Re: Using Lookup Tables to Specify Visibility States

05-06-2014 08:29 AM in reply to: Libbya

Nice way of doing it, it is heavy on the visibility states but still nicely worked out. Here's a trick I sometimes use in various forms, no need for visibility states just one linear parameter for each symbol, then use a scale action to make the symbol full size or scale it way down to .00001, a lookup table gives the various configurations. I sometimes combine this with wipeouts and/or moving things about with a point parameter. In the lookup table the values are .00001 and not just zero.

Regards Steven Gray
Setting Out (Joinery Manufacturing)
Autocad 2013LT
Windows 7 professional
*Pro
Libbya
Posts: 1,114
Registered: ‎05-02-2007
Message 4 of 62 (604 Views)

Re: Using Lookup Tables to Specify Visibility States

05-06-2014 08:52 AM in reply to: steven-g

Yes, I've used that method as well.  My OCD doesn't care for the remaining dots on the plan set - see the OFF state.  A reasonable solution is to simultaneously scale and move the remaining dot to on top of or behind other linework in the block, but that's a similar amount of work as the method I use for 'clean' multiple visibility states.

Distinguished Mentor
steven-g
Posts: 598
Registered: ‎05-11-2009
Message 5 of 62 (600 Views)

Re: Using Lookup Tables to Specify Visibility States

05-06-2014 09:11 AM in reply to: Libbya

Thats why I would tend to combine things with a move action, and then move and scale probably to the end of the arrow in a case like this, or slide them in and out behind a wipeout. I really like the method you use but as you say in the other post once you get to a few more combinations the number of visibility states could get to a very high number (and if you turn all the visibility states off the block vanishes).

Regards Steven Gray
Setting Out (Joinery Manufacturing)
Autocad 2013LT
Windows 7 professional
*Pro
Libbya
Posts: 1,114
Registered: ‎05-02-2007
Message 6 of 62 (592 Views)

Re: Using Lookup Tables to Specify Visibility States

05-06-2014 10:34 AM in reply to: steven-g

I agree, the number of vis states does get overwhelming fairly quickly.  You can avoid the option of the block disappearing, tho.  See the attached.  In that block, I used additional lookups that do not have the OFF option.  Those lookups become visible, taking the place of the 'normal' lookup, when the other two options are set to OFF.

Valued Contributor
ryled
Posts: 69
Registered: ‎03-31-2014
Message 7 of 62 (500 Views)

Re: Using Lookup Tables to Specify Visibility States

06-09-2014 08:42 AM in reply to: Libbya

Thank you both for taking the time to help me with this.  I know its been a while but other things came up and this had to be pushed to the side.  I was able to use your other forum Libbya and create the visibility states I desired. 

 

I have attached where I currently am with the symbol.  I have two things left in question.

 

One, how do I remove the custom option from the four look-up tables that I am using for my visibilities. 

 

The other is with the arrow head.  The arrowhead here is actually a leader with no text.  I did this so the arrow head would grow properly annotatively.  However after shifting the landing, and scaling the object when you change scales the leader breaks from the joint point.  I've been trying by switching move points to different parameters attempting to always make its base at the joint point but, being annotative it seems to move.  I was wondering if anyone would have any ideas, or if it would be better to draw the arrowhead and scale it with the drawing.

 

Thanks

*Pro
Libbya
Posts: 1,114
Registered: ‎05-02-2007
Message 8 of 62 (495 Views)

Re: Using Lookup Tables to Specify Visibility States

06-09-2014 09:39 AM in reply to: ryled

Congrats on getting as far as you have with this.  It is a complicated block that you are attempting.

 

As your blocks become more and more complicated it becomes ever more important to rename parameters and actions so that you can come back to the block in the future and edit it without needing to figure it all out again.  I like to set bactionbarmode to 0 and place all the actions in organized positions as well.  

 

I have found that the lookup input parameters do not need any actions associated with them.  E.g., you can ditch the move action associated with the Weld Move position parameter and it will work fine.  Similarly, the invisible circles can be removed.

 

If a basepoint parameter is present in a block, then the annotation scaling is done in reference to the basepoint.  In lieu of a basepoint parameter being present in the block the scaling is done relative the origin in the block.  My recommendation would be to ditch the leader.  Create a block that is the leader arrow and with the point of the arrow at the origin and make that block annotative.  Insert that block into your weld symbol block and associate the various dynamic properties to it.  That should solve your arrow issue.  

 

To get rid of the 'custom' option in the lookups, you need to make sure that the default positions of the input parameters correspond to the default visibility state of the block.  In other words, with a default visibility state of 'fillet', the x position of each of the input parameters should be 0.   See attached file.     

 

 

*Pro
Libbya
Posts: 1,114
Registered: ‎05-02-2007
Message 9 of 62 (492 Views)

Re: Using Lookup Tables to Specify Visibility States

06-09-2014 09:48 AM in reply to: Libbya

Also, WRT the 'custom' option, it is also effective to change the 'Custom' Lookup Property so that the <unmatched> row has the same name as the default row.  In other words, where it says 'Custom' right above 'Allow Reverse Lookup' you can change it to 'Fillet'.  You would want to change it in both linked Lookup Tables.

Valued Contributor
ryled
Posts: 69
Registered: ‎03-31-2014
Message 10 of 62 (480 Views)

Re: Using Lookup Tables to Specify Visibility States

06-10-2014 08:14 AM in reply to: Libbya

Libbya,

 

Thank you for the help.  I have attached an updated drawing of the weld symbol.  Only thing I did not change was deleting the invisible circles and move actions associated.  I will do that later.  I was able to remove the custom and renamed all of the actions. 

 

Currently I am having trouble with the arrow block, I've yet to make an annotative block, but I believe I did everything correctly.  I changed the block to annotative, put the arrowhead on origin 0,0,0 along with a basepoint.  However whenever I insert the block the actual entity comes out far away from my cursor for insert point.  I do not know the reason for this, perhaps I created the block incorrectly. 

 

Also, should I make this entire block have the basepoint as the tip of the arrowhead and at the origin 0,0,0?

 

Thanks again!

Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.