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

Variable Scaling Block

11 REPLIES 11
SOLVED
Reply
Message 1 of 12
Morswood
2244 Views, 11 Replies

Variable Scaling Block

I have some free time on my hands towards the holidays so I'm trying to consolidate my company's blocks into a single database as we have one for each scale we use. I keep running into problems everywhere I turn.

 

In the attached picture, I'm trying to modify this existing 4' linear block. I need it to adjust the lengths of the ends, the circle size, and stretch the right line while maintaining the overall length of the block and the left line based on annotative scale, dimscale, etc. In my most successful attempt, I made the ends and the circle as annotative blocks within a block and used a bunch of constraints.

However, ACAD is so limiting in this regard and I couldn't constrain the right line to the circle's quadrant. I even placed a defpoints line in the circle block (so that it will scale with it.) This actually works fine until I make that block annotative. Then, the right line will either not adjust to the circle at all or the constraint will default to the center of the circle. Going into the master block, the constraints will no longer snap to the circle's block at all, but it still shows them there.

 

I've exhausted every idea I had and now I don't even know if it's possible.

11 REPLIES 11
Message 2 of 12
MMcCall402
in reply to: Morswood

Take the attached block for a test run.

 

The scaling of the circle and stretching of the right line is pretty straight forward, two actions using the same linear parameter and base point.  The two end lines are scaled with two more scale actions added to the linear parameter but each has its base point offset to be at the mid-point of the end lines.

Mark Mccall 
CAD Mangler



Hammer Land Engineering


Linkedin

Message 3 of 12
Morswood
in reply to: MMcCall402

Hey, thanks for getting back to me!

 

I appreciate the work you put in this. The design does work just fine. I just realized that I could've done this and edited the Distance when I was finished placing them, but your design is cleaner than mine, for certain. Is there any way to automate this further? I have of course done searches for stuff like this, but there doesn't yet seem to be a precedent for scaling only part of a block automatically.

Message 4 of 12
MMcCall402
in reply to: Morswood

I'm happy to help.

 

Not sure of any learning sources.  I've been doing it by trial and error, more errors, coming here with questions, seeing how others made blocks work and then figuring out how they did it.

 

One of the most enlightening things I learned was that the location, direction, and distance of actions can be different than the parameter that operates them.  In the example block for your situation there are two scale actions with a different scaling base point that the parameter's base point which makes the end lines scale from their mid-points.  Actions like Move can move in a different direction than the parameter and by a different amount based on a multiplier.  Keep the properties window available so you can see these additional options when you select an action.

 

What further automation were you thinking of?

Mark Mccall 
CAD Mangler



Hammer Land Engineering


Linkedin

Message 5 of 12
Morswood
in reply to: MMcCall402

Yeah, I didn't realize you could get so creative with a dynamic block while still keeping it clean.

 

Anyway, like I stated in my original post: I'm trying to figure out how to automatically scale them based on a chosen scale. More specifically, scaling them when invoked from a tool palette using the Dimscale auxiliary scaling, scaling them by Annotative, or something along those lines. That's what I meant about no precedence; I can't find anyone who's done scaling on only a part of a block in this way.

 

If not, then I suppose I can just make your dimension into a list dimension and work from there.

Message 6 of 12
MMcCall402
in reply to: Morswood

You can make the block annotative but then the entire block resizes as a whole to the new scale.

 

I've never tried to make a blocks dynamic values react to the current drawing scale.  Interesting thought.

 

I do know that dynamic blocks placed on a tool palette can have their dynamic values set on the tool palette's properties for that entry. So, you could put a dynamic block on a palette 5 times and with 5 different sets of values for its dynamic properties.

Mark Mccall 
CAD Mangler



Hammer Land Engineering


Linkedin

Message 7 of 12
Morswood
in reply to: MMcCall402

I didn't know you could set a dynamic block up that way on a palette, although I'm sure I would've messed around and found it. I suppose that's a decent alternative, but I'm aiming for a single palette for each group of symbols; all wiring on one, all lights on another, etc.

 

I've tried fiddling around some more with it, but I still can't get it to even look at any scale variable. This may be one of those things that I just can't wrap my head around without buckling down to break it apart piece by piece thereby wasting whole days of my precious life on something that isn't even that inconvenient in comparison while everyone else in my life goes outside and has fun without me as I waste away in front of this cursed monitor trying to satisfy my insatiable curiosity and debilitating need to solve a problem, only to find out that it isn't even possible to do and figuring out how everything works.

Message 8 of 12
MMcCall402
in reply to: Morswood

I tried a different approach in the attached file.  Instead of going dynamic block, I went annotative.  I made the end line an annotative block and the circle and annotative block, then put those blocks inside the original block without any dynamic features.  Now the block has annotative pieces inside itself that resize based on the drawing scale/viewport scale.  The length of the middle line was handled with a wipeout inside the circle block that covers up the portion of the line within the circle.

Mark Mccall 
CAD Mangler



Hammer Land Engineering


Linkedin

Message 9 of 12
Morswood
in reply to: MMcCall402

I hope you had a great Thanksgiving!

 

I actually tried this myself. I gave up on it as I couldn't get everything to keep to the scale because it kept forgetting where it was supposed to be constrained. I see that you placed the wipeout in the circle's block and just made the middle line go under it, which is a great idea. The problem with this is that I need this circle to be transparent; I can't have it blocking parts of a floor plan.

 

However, upon googling wipeout I found something really out-of-the-box: there was a comment stating that the user's company had completely deprecated wipeout by simply using hatch above everything to be hidden and setting the print color to white. Since the background plot color will be whatever the paper color is (usually white or off-white), this makes it virtually unnoticeable.

If I draw a line in the circle's block, set it to white, and make the line weight at least what will be used, then it should do what I need with minimal effect to the floor plan, yes? This plan also has a problem, in that my company uses color to define plot line weight. I'll have to dig around a bit to make sure that this will actually work with our setup.

 

This may finally be exactly (or close enough to) what I was looking for. I'll get back to you as soon as I can.

Message 10 of 12
Morswood
in reply to: MMcCall402

Alright, the results are in and it works just how it's meant, as well as just as expected.

 

I found this post that detailed how to set the print colors to the correct setting. However, the only option I could find was for "color 255", which is apparently different from "white". That confused me for a bit, but simply setting the line itself to "255" fixed it. As far as line weight, I didn't actually have to adjust it at all. Also: it may be a bug, but on print preview you can see some peeking, but it doesn't plot.

 

Unfortunately, (as I meant earlier by "expected") this still means that there'll be a small erasure of floor plans or anything else underneath it, but hopefully it'll be small price to pay for automation. Either way, the problem appears to be solved with multiple possibilities. I'll need to actually use it in real-world to see if it holds up. Thanks for all of your help, also for teaching me neat stuff not pertaining to this.

Message 11 of 12
MMcCall402
in reply to: Morswood

Glad you found something workable.

 

 

I had another thought: Replace the circle and horizontal lines with a multileader style made with the circle block and have the leaders be the lines (with no arrows) and let the behavior of the annotative multileader take care of keeping the line out of the circle at different scales. I haven't had time to try it.

Mark Mccall 
CAD Mangler



Hammer Land Engineering


Linkedin

Message 12 of 12
Morswood
in reply to: MMcCall402

I just tried it. For posterity, you must make sure that the DIMASSOC variable is set to "2". Unfortunately, it didn't work on my end, but I may not be doing exactly what you had in mind. Once again, I can't make anything associate to a quadrant.

I guess that goes back to AutoCAD not knowing how to see one, especially on an annotative object. It just makes it so inconvenient.

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

Post to forums  

Autodesk Customer Advisory Groups


”Boost