PDA

View Full Version : Rotate not playing nicely with the Stretch command



pbrumberg
2007-01-18, 06:22 PM
My rotate is messing with the stretch commands again! I'm trying to create this block to drop on a foundation plan to indicate a single bay of concrete slab control joints. I had it done and it was simple and working. Then I realized that I only had equal spacings in each direction available and that may not always work.

So I added a couple more visibility states and need to add a rotate (so I can change which direction the increased spacings are running). I've tried adding the rotate action to the block with the rotate command including the stretch action and without it including the stretch action. It's worked out so that when i do include the stretch action within the rotate selection set the block at least retains it's orthogonal direction when stretching after the rotate. If I do not include the stretch actions in the rotate, the block stretches at odd angles after the rotate.

The problem with the orthogonal stretch (which I'm attaching) is that it stretches in the perpendicular direction. In other words, if you rotate the block 90 degrees, then try to stretch up, the block stretches out to the left; if you try to stretch left, the block stretches down. If you stretch first and rotate you don't have the problem. I've tried numerous different combinations and have been unsuccessful.

Anyone have any insight?

Chris.N
2007-01-18, 06:38 PM
:confused:

ok, it's got me beat for the moment... sorry.

Rico
2007-01-18, 06:45 PM
:confused:

ok, it's got me beat for the moment... sorry.
Ditto that .....

the only thing I can see is that you're using the XY parameter and those are generally a lot more finicky when combined with rotates ....

But I'm sure there's a way to make it all work .........

pbrumberg
2007-01-18, 06:59 PM
Thanks guys. I know I can remove the rotate action/parameter set and after inserting the d-block actually rotate the block when necessary. I'm going to keep playing with it to see if I can make it work. I'm about out of ideas though - I've tried just about everything I can think to try. I'll let you know if I figure it out - if you have a chance to playaround with it, let me know if you figure anything out.

I still love the old "don't include another action within the selection of another command." That old stand by seems to work about 80% of time... until it doesn't and then you're completely confused. haha.

Chris.N
2007-01-22, 07:15 PM
ok, untill we can figure out out to get these parameters to play nice together, how about some work-around suggestions if using Toolpalettes:


turn on block rotation prompting
embed the base "stretchy" block inside a block with your flip and rotate parameters, once you have the block positioned as desired, you can explode and modify as needed.
that's all i can come up with at the moment...
:beer:

pbrumberg
2007-01-22, 08:22 PM
Chris & Rico

I've been trying to figure out how to make this block work with the x/y parameter instead using linear parameters. I had a brainstorm and wanted to run it past you to see what you think (before I put a bunch of work into the block).

What if I use a single linear parameter on the diagonal to stretch a single linear parameter in both the x and y directions (and then assign the corner stretches and moves accordingly to each of those parameters). Here's the problem I see. If I do it this way and must set up the x and the y parameters as "chain actions", then I think the rotate and the flip may have some serious implications on the linear stretch. Is there a way to stretch another parameter without them being a "chain action"? Or do you see this as not being an issue?

Actually - I thought it would be just as easy to try this myself. Turns out that a linear parameter does all sorts of weird stuff (not like stretch linearly) when you turn on chain actions and stretch it with a linear parameter (or a polar stretch) on the diagonal. Check this out and see what you think (no rotate even applied yet - just trying to work out the stretch without using the xy parameter). I was hoping that by stretching a two linear parameters with one polar one (the block named Control_Joints4 in the drawing), that the linear parameters would stretch only along their axis - apparently that's not the way it works. It really is interesting though. Have a look.

Chris.N
2007-01-22, 08:40 PM
without looking at it (sorry, will later) i would can the diagonal parameter idea. instead, replace the 'xy' w/ 2 linear parameters ending at the same point. i've seen someone else do that and it works identical to how you want the block to operate anyway. place them at the top side and the right side. they should also work with the rotate then.

Rico
2007-01-22, 08:49 PM
Chris & Rico

I've been trying to figure out how to make this block work with the x/y parameter instead using linear parameters. I had a brainstorm and wanted to run it past you to see what you think (before I put a bunch of work into the block).

What if I use a single linear parameter on the diagonal to stretch a single linear parameter in both the x and y directions (and then assign the corner stretches and moves accordingly to each of those parameters). Here's the problem I see. If I do it this way and must set up the x and the y parameters as "chain actions", then I think the rotate and the flip may have some serious implications on the linear stretch. Is there a way to stretch another parameter without them being a "chain action"? Or do you see this as not being an issue?

Actually - I thought it would be just as easy to try this myself. Turns out that a linear parameter does all sorts of weird stuff (not like stretch linearly) when you turn on chain actions and stretch it with a linear parameter (or a polar stretch) on the diagonal. Check this out and see what you think (no rotate even applied yet - just trying to work out the stretch without using the xy parameter). I was hoping that by stretching a two linear parameters with one polar one (the block named Control_Joints4 in the drawing), that the linear parameters would stretch only along their axis - apparently that's not the way it works. It really is interesting though. Have a look.
No it doesn't work that way. Or any way you have listed, unfortunately. To stretch an object in 2 directions you need one of two things:

1) a parameter (linear) going in each direction (X & Y)

2) an XY Parameter with a stretch (or array depending on what you want)

I've attached my version of your question with a semi true / mostly false answer. As you can see, it IS possible to re-create a pseudo polar stretch, but the problem is that the grip will always be behind because the stretches are not aligned with each other ..... wow ... that is incredibly vague if I re-read it but it makes sense ..... sort of ... anyway, have a look see and play around with it.

Mine is OUTSIDE of the boxes.

PS - You CAN array the block and stretch it using an XY parameter .. there ios no question that it'll work doing that ... but including a rotate in that action set is what's gonna throw things off ....

The whole scenario certainly begs more research and play time .....

Rico
2007-01-22, 08:50 PM
without looking at it (sorry, will later) i would can the diagonal parameter idea. instead, replace the 'xy' w/ 2 linear parameters ending at the same point. i've seen someone else do that and it works identical to how you want the block to operate anyway. place them at the top side and the right side. they should also work with the rotate then.
I've done something like that before ....... i'm gonna go find it .....

Rico
2007-01-22, 09:03 PM
I've done something like that before ....... i'm gonna go find it .....
This was one of my first test blocks where I played with stretches and rotates ... not sure it'll shed any new light on anything .... but this is how I learned what neededto be done for the rotates to be done ceorrectly ...

I had to separate it from the monster DB file it was embedded in ... hehe ... 192 blocks in one drawing ....

pbrumberg
2007-01-23, 01:46 PM
Rico - I see what you did with using the single parameter on the diagonal and changing the overrides for the stretch/move actions. The beauty of the block in use is the ability to drag it from one column centerline intersection to a column line intersection in the opposite corner and have the joints be correctly layed out. So unfortunately in this case having the parameter not stay in the center of that corner diamond doesn't quite get what I'm looking for.

The good news is that the way I did it with the xy parameter works (except for the rotate). I am using it for now. I will keep playing and see what I come up with - if I find any work around I'll be sure to report back.

Thanks again for all your input. It's much appreciated. I definitely have learned something from your block (didn't realize you could constrain a movement to something other than being in line with the linear parameter). I'm hoping I can use that to make my block do what I want without using the xy parameter.

Rico
2007-01-23, 02:03 PM
Rico - I see what you did with using the single parameter on the diagonal and changing the overrides for the stretch/move actions. (*snip*) So unfortunately in this case having the parameter not stay in the center of that corner diamond doesn't quite get what I'm looking for.
Exactly. Unfortunately, it's a limitation of DBs at this time. Maybe it's a wish list item for a future release?


The good news is that the way I did it with the xy parameter works (except for the rotate). I am using it for now. I will keep playing and see what I come up with - if I find any work around I'll be sure to report back.
Yeah. I mean, it'd be nice to have the ability to dynamically rotate the block, but inputing the rotate command manually isn't all that bad, is it? It's what we did BEFORE DBs. ;) And, for now, you've got a perfectly working version of your block (just without the automated rotate). I don't think the rotate is THAT huge of a deal in this case.


Thanks again for all your input. It's much appreciated. I definitely have learned something from your block (didn't realize you could constrain a movement to something other than being in line with the linear parameter). I'm hoping I can use that to make my block do what I want without using the xy parameter.
The experiments continue onwards!