neophoible Posted August 29, 2013 Share Posted August 29, 2013 I came across an item that looked like a good victim for some simple dynamic block surgery. (It's not important, but if you want to know, it is a bolt used as an axle.) After developing the block, I noticed that the behavior was not quite as predictable as I would have expected. I did not bother with any constraints, only a couple of linear stretches. They are in the same direction, but one is in the middle, the other at one end. The middle one seems to behave as I would expect. When I enter a new value for the overall length, it updates by stretching the right end, and the left end stays put, as I would expect. However, if I drag the overall stretch, it does stretch the right end, but it also moves the object the same distance. Is there some principle of dynamic blocks that would predict this behavior? I'm doing this with vanilla AutoCAD 2012, but the DWG format is 2007, and the original drawing is from the early 90s. I've attached a DWG file with the block already inserted. Bolt Axle.dwg Quote Link to comment Share on other sites More sharing options...
Tuns Posted August 29, 2013 Share Posted August 29, 2013 When you stretch, if you choose an entire object, it moves the entire object as if you had used the "move" command. Is that what you mean? Quote Link to comment Share on other sites More sharing options...
steven-g Posted August 29, 2013 Share Posted August 29, 2013 It works as expected here. either the end stretches or the nut moves, but not the whole block. Quote Link to comment Share on other sites More sharing options...
Tuns Posted August 29, 2013 Share Posted August 29, 2013 It works for me too. That's why I assumed he was using the stretch command or something similar (if there's something similar that is). Quote Link to comment Share on other sites More sharing options...
Dana W Posted August 29, 2013 Share Posted August 29, 2013 I came across an item that looked like a good victim for some simple dynamic block surgery. (It's not important, but if you want to know, it is a bolt used as an axle.) After developing the block, I noticed that the behavior was not quite as predictable as I would have expected. I did not bother with any constraints, only a couple of linear stretches. They are in the same direction, but one is in the middle, the other at one end. The middle one seems to behave as I would expect. When I enter a new value for the overall length, it updates by stretching the right end, and the left end stays put, as I would expect. However, if I drag the overall stretch, it does stretch the right end, but it also moves the object the same distance. Is there some principle of dynamic blocks that would predict this behavior? I'm doing this with vanilla AutoCAD 2012, but the DWG format is 2007, and the original drawing is from the early 90s. I've attached a DWG file with the block already inserted. The stretch behavior depends on what portion of the geometry you included in the "Stretch Area" as you are setting up the parameter/action combo. What are you referring to when you say "drag the overall stretch"? When I drag either blue arrow, I see exactly what should happen. The end one stretches the right end of the bolt, and the middle one moves the nut along the bolt. In neither case does the left end move. Quote Link to comment Share on other sites More sharing options...
Dana W Posted August 29, 2013 Share Posted August 29, 2013 It works for me too. That's why I assumed he was using the stretch command or something similar (if there's something similar that is).Yeah, that is the only result I have ever gotten from using the stretch command. I never have figured out how to work it either. Quote Link to comment Share on other sites More sharing options...
neophoible Posted August 29, 2013 Author Share Posted August 29, 2013 Thanks for all the tries and replies. I'll address this one specifically: The stretch behavior depends on what portion of the geometry you included in the "Stretch Area" as you are setting up the parameter/action combo.I agree and was "sure" I was doing it correctly. And it sounds like I was right in this case. What are you referring to when you say "drag the overall stretch"?Yes, that was a bit confusing. Sorry. I meant when I grab the rightmost linear stretch grip, the one on the end, and drag it. It's supposed to change the overall length of the bolt, which it does, but in my case, it also moves the whole bolt that distance, like a combined stretch/move, except that the move does not have to be linear. It does not exhibit this behavior when I simply type in the new value, and thus not the end of the world for me. When I drag either blue arrow, I see exactly what should happen. The end one stretches the right end of the bolt, and the middle one moves the nut along the bolt. In neither case does the left end move.It sounds like the behavior on your system--and on everyone's but mine!--does it right, and the way I would expect. I would do a video demo if I knew how and had the time. Perhaps I haven't installed all of the SPs for 2012. But for now, I'd rather blame it on my system and see if I can get a new one. But, no, I know that's just wishful thinking. Still, I can dream, but the temptation is to curse...or to nap. Quote Link to comment Share on other sites More sharing options...
Dana W Posted August 29, 2013 Share Posted August 29, 2013 Yes, that was a bit confusing. Sorry. I meant when I grab the rightmost linear stretch grip, the one on the end, and drag it. It's supposed to change the overall length of the bolt, which it does, but in my case, it also moves the whole bolt that distance, like a combined stretch/move, except that the move does not have to be linear. It does not exhibit this behavior when I simply type in the new value, and thus not the end of the world for me.Do you have Drag & Drop enabled? Do you have Grips enabled within blocks? Maybe the blue arrow is right smack on top of a grip and the whole block gets selected. I never activate the grips within blocks. They tend to be a bit of a bother at times, thus the option to toggle them exists. Quote Link to comment Share on other sites More sharing options...
neophoible Posted August 30, 2013 Author Share Posted August 30, 2013 Do you have Drag & Drop enabled? Do you have Grips enabled within blocks? Maybe the blue arrow is right smack on top of a grip and the whole block gets selected. I never activate the grips within blocks. They tend to be a bit of a bother at times, thus the option to toggle them exists.OK, Dana W, you expert, you! I had no idea that you could double up with a grip like that. I was indeed picking on the corner grip, which not only invoked the dragging but also activated the dynamic linear stretch. Turning the block grips off sounds like a good idea. I decided to use a simple toggle found here:http://www.ellenfinkelstein.com/acadblog/toggling-the-display-of-grips-within-blocks/. I'm sure one of the LT guys could write a macro in DIESEL Quote Link to comment Share on other sites More sharing options...
steven-g Posted August 30, 2013 Share Posted August 30, 2013 Something like ^C^C$M=$(if,$(=,$(getvar,gripblock),1),gripblock;0;;,gripblock;1; Quote Link to comment Share on other sites More sharing options...
Tuns Posted August 30, 2013 Share Posted August 30, 2013 A macro for turning the grips on and off? Easy mode. Do you need one or were you just stating that it could be done? Steven beat me to it but yeah what he has. Quote Link to comment Share on other sites More sharing options...
neophoible Posted August 30, 2013 Author Share Posted August 30, 2013 A macro for turning the grips on and off? Easy mode. Do you need one or were you just stating that it could be done? Steven beat me to it but yeah what he has.I didn't quite finish the statement, did I? I was suggesting it for those who only have LT but would like to toggle the block grips. I personally prefer the AutoLISP version, as I can use it with just the keyboard, no messing around with buttons, etc. If you don't need the "G" shortcut for GROUP, then you can use it for such a purpose as this. Mind you, this is the first time I have ever noticed the need to turn off the block grips at all, so I have no idea how useful this is to anyone else. Quote Link to comment Share on other sites More sharing options...
Dana W Posted August 30, 2013 Share Posted August 30, 2013 OK, Dana W, you expert, you! I had no idea that you could double up with a grip like that. I was indeed picking on the corner grip, which not only invoked the dragging but also activated the dynamic linear stretch. Turning the block grips off sounds like a good idea. I decided to use a simple toggle found here:http://www.ellenfinkelstein.com/acadblog/toggling-the-display-of-grips-within-blocks/. I'm sure one of the LT guys could write a macro in DIESEL Heck, I didn't know that would happen either. It was mearely an educated guess that MAYBE it could happen. I have never found the need to have grips within blocks turned on, which is why the block worked as intended the first time for me. Apparently the click goes right through the stretch arrow to the grip right underneath it. I am guessing that in the future, you could place your action arrow somewhere away from where a grip might be so you could leave grips on in the blocks. Quote Link to comment Share on other sites More sharing options...
steven-g Posted August 30, 2013 Share Posted August 30, 2013 I didn't quite finish the statement, did I? I was suggesting it for those who only have LT but would like to toggle the block grips. I personally prefer the AutoLISP version, as I can use it with just the keyboard, no messing around with buttons, etc. If you don't need the "G" shortcut for GROUP, then you can use it for such a purpose as this. Mind you, this is the first time I have ever noticed the need to turn off the block grips at all, so I have no idea how useful this is to anyone else.The only draw back in LT is having to assign it to a double key combination "Ctrl+g" for example, and I have to admit I didn't know about the variable, so the macro will stay as it looks like it has possibilities. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.