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

First steps into Dynamic blocks

2 REPLIES 2
Reply
Message 1 of 3
Anonymous
468 Views, 2 Replies

First steps into Dynamic blocks

I'm trying to add more flexibility into our company blocks.

We use these blocks to create P&ID drawings.

Attached all versions of one component (end station of spiral transportline).

 

I would like to become one block that covers following items :

- quantity of spiral lines (up to 6)

- Direction of spiral line (flip to all individual lines)

- Each spiral line can be provided with 4 types of drive (none as spare / bearing / motor / motor frequency controlled).

- TAG attributes that change with selected drive.

 

I'm struggling with different actions during my first approach.

 

1) I can stretch and array my geometry in order to solve the line quantity problem. Drive type can be changed by visibility for all at ones. But then I can't flip them individually and I can't change an individual specific drive type

 

I've sepparate the main geometry from the drive items -> stretch works fine. Array and flip can be used, but I can't change the drive type of the spiral lines. (You can't have more than one vicibility parameter ?!)

 

2) I would like to add the attributes in that way that all similar data can be changed with one action. (ex. M and PO of TS1 change to TS2).

 

I' trying with user parameter but is seems that this only works with numbers and I need a string to be filled in TS1 of TS2...)

 

Can somebody take a look to the attached drawing and put me in the good direction ?

 

Ones these issues are solved, I can cover most of all other blocks.

 

Thanks in advance

 

2 REPLIES 2
Message 2 of 3
Libbya
in reply to: Anonymous

I didn't take an in-depth look at your block, but I believe that all you are trying to accomplish can be done although it will require a very complex block.

 

You can only have one visibility parameter added per block.  The is a lisp routine called visibility-add-eng that allows you to add more visibility parameters, but it has not worked for several releases and the writer of the lisp has abandoned it.  When it did work, it was fairly prone to fatal errors and was a challenge to use on more complicated blocks.  Using double-lookups I sorted out a functional way to simulate multiple visibility parameters and have described that process in detail in several threads on this forum.  Here is the initial thread where I described the process.  

 

http://forums.autodesk.com/t5/dynamic-blocks/ootb-multiple-visibility-states-solution/m-p/4961288#M1...

 

You cannot array parameters.  Therefore, an array of items will all appear the same.  You cannot make an array and then change the visibility state of the individually arrayed items.  You can simulate that behavior, though, using lookups that switch between visibility states.

 

I would set the block up so that it arrays lineowork that you want to appear regardless of visibility state (array the 'spare' state).  Based on the length of the distance parameter that drives the array, use a double lookup to display single lookups that will select the visibility state of the individual motor locations (one single lookup per each).  Use the single lookups to control a 'bridge' double-lookup that displays the correct visibility state based on the selection of each of the single lookups.  

 

It seems that you want the option of up to 6 locations and those locations can each be switched to 4 states (spare, bearing, motor, frequency).  You will also need to add 1 state per each location for the state where nothing is showing (off).  The total block can be accomplished using 30 visibility states (6x5) and lookups to switch between them.

 

You can change user parameters to be 'String' rather than 'Real Number'.  Go to the parameters manager and use the 'Type' pulldown on the specific parameter.

Message 3 of 3
Libbya
in reply to: Libbya

My last post was incorrect.  Using the multi-vis procedure I linked above would not require 5x6 (30) visibility states, if you want to be able to switch all six potential locations to 5 states (off, spare, bearing, motor frequency) it will require 5^6 visibility states or 15,625...  If taking that approach, I would limit the number to 3 at max 5^3 (125).  You may be able to get away with reducing that a little even with that approach by using a distance/move for the 'bearing' option, etc.  If you are stuck on having 6 locations, that approach may not be feasible.  If you have 3 options per location that will still be 729 visibility states.  2 options that use visibility states per location results in 64 which I find manageable but I'm not sure how to get the number of choices down to 2.  

 

As alternate approaches, you could use lookups coupled to scale actions which reduce the linework down to a dot or use a combination of move and wipeout to hide the objects you don't want visible.

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

Post to forums  

”Boost

 

”Tips

 

”Services