Jump to content

Blocks with multiple attributes


MrButtonmush

Recommended Posts

Hi Guys, got a question regarding the application of multiple attributes in a block.

 

In space planning I make a lot of blocks with a text code in them that I apply a rotation to so it can be rotated on plan to always be the right way up.

 

i.e. a simple hatched rectangle representing a desk with the word "desk" in it.

 

I would populate a plan but some will be vertical, some diagonal and some horizontal so the rotation allows me to set all the text the way I want it.

 

Now I have also started to apply an array on a linear attribute so I can run a string of desks.

 

Unfortunately, applying this to a block as detailed above allows me to run a string of desks that all have the text in but they all rotate around the initial blocks text rotation point.

 

Can the two features be applied so once the array is run, the text in each block can be rotated individually?

 

Sorry if not clear lol!

Link to comment
Share on other sites

Have you tried making the rotation first and then the array, I tried a sample and that works, even adjusting the array after the rotate causes the text to realign indiviually, but this could be due to a difference in how your block is constructed. If you can post a copy of the block it would be easier to answer (though it may not be possible!)

Link to comment
Share on other sites

Try not making the array associative. When you first create the array look in the command line prompt and of of the options is associative. change that option to no and see if it helps.

Link to comment
Share on other sites

I have blocks that have text I rotate. I did an array just like steven-g and they all still work after I explode the array. Just make sure you don't lock your text in the attribute definition. Then you will be able to move the text to where you need it.

Link to comment
Share on other sites

Have you tried making the rotation first and then the array, I tried a sample and that works, even adjusting the array after the rotate causes the text to realign indiviually, but this could be due to a difference in how your block is constructed. If you can post a copy of the block it would be easier to answer (though it may not be possible!)

 

I did do it that way around yes. Block attached.

Drawing2.dwg

Link to comment
Share on other sites

PS. Some of the latter replies seem to imply using a block that only has the rotation value and then using an array on the block. That is not what I am asking about if that is what you mean.

Link to comment
Share on other sites

If there is confusion, you should restate the question in a different way and illustrate what you mean so that they will understand.

Link to comment
Share on other sites

Not really, if I only had the one rotation attribute in the block and then used an array on it the title of my thread wouldn't be Blocks with multiple attributes.

Link to comment
Share on other sites

Sometimes you need to help others help you. Sometimes people just don't interpret things correctly and you need to clarify. Just saying.

Link to comment
Share on other sites

Are you tactfully saying people don't read things properly lol. On a serious note though, it must be possible to make this work. I tried using the chaining option in the attribute properties but no combination made any difference!

I'll admit though that perhaps the better definition would be can I have a block with multiple dynamic attributes

Link to comment
Share on other sites

Are you tactfully saying people don't read things properly lol.

 

Sorry if not clear lol!

 

Even you acknowledged it.

 

Honestly, I didn't realize that the array was being applied within the block. I, and others, thought you were applying the array to the block after insertion and your use of the term attribute can mislead also as the annotation is not an attribute. Sorry I can't help you with that. I don't do much with dynamic blocks.

Link to comment
Share on other sites

Not really, if I only had the one rotation attribute in the block and then used an array on it the title of my thread wouldn't be Blocks with multiple attributes.

 

Actually it was plenty confusing... then again im easily confused.

 

Using terms like action and annotation as opposed to using attribute to describe an annotation might have helped me... but probably not... im kinda green

 

 

From apperance you cant do what you are trying to do because of the way the array works. It basically arrays dumb geometry. This is why you cant array attributes, but you can array annotations.

 

There are a couple approaches i might take if i were in your shoes. I would either use the array command, or i would create another block and and nest your rotate block in that one and make it array. The problem is that for one that you want the array in the block and the other would still require you exploding the array block.

 

I think the best way to simulate what you want to do is to use visibility states. I would set up your common angles in visibility states and just use those instead of rotating.

Link to comment
Share on other sites

As a rider to this, i have seen visibility states chained with arrays and you could do this with your block and get your rotation that way. you would basically have to guess at the largest array that you imagine you would encounter and set up that many visibility states each with their own annotation rotation action associated with it. So i think your block as you desire is doable, though not quite simply and it would take more time and experience than i have at the moment.

Link to comment
Share on other sites

array.jpgI should also have said that after adjusting the array grip, you will need to regen the drawing, I tried your block the image on the left had the rotation applied after the array, the image on the right works by either performing the rotation first and then the array, or by just moving the array grip slightly (even clicking twice -not double click- on the array grip and then using regen worked for me). If I have misunderstood your problem then maybe an image showing what you want would help. However if you want each desk in the array to be independent, then the answer is no, that is not possible without having separate blocks. You could create a dynamic nested block so that the array worked on a dynamic block and after arraying then explode the result into individual blocks, and so goes the guessing game. As RobDraw says sometimes you need to give more help to get more help.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...