Jump to content

Recommended Posts

mynameisbrent

Hello all!

 

Let me first say that I've been looking through some of the threads on this forum and am blown away by the knowledge and creativity some of you possess. It's ridiculous the things you guys are able to do with AutoCAD.

 

With that said, I'm hoping someone can help me solve a difficult problem I've been having. I've never created dynamic blocks and am learning as I go. I've scoured the internet looking for the answer for my needs and have experimented for hours but am still left without a working block.

 

--A quick note before I begin, I'm using AutoCAD LT 2016 for all of this--

 

 

What I'm trying to do is create a dynamic solar panel block that can accomplish three things:

 

1. Dynamically fill a distance (up to 310' for fire code) with solar panels

 

2. Have three visibility states representing different angles for the solar panels

 

3. Have a solar panel counter that is visible within the properties but doesn't actually show up in the model

 

Bonus: Dynamically fill an area with solar panels with the same requirements

 

 

So far I've been able to accomplish #1 and #2 but to a limited degree. I can fill a distance just fine but if I change visibility states, the length is reset back to it's original. I need to be able to change visibility states without the length going away.

 

#3 is the real problem. I have tried dozens of Attribute Definition combinations but can't seem to find one that works.

 

The bonus would be nice to accomplish and I was able to do so with some success but didn't try to implement the visibility states or counter given the difficulty I've found just trying to make the lengthening block.

 

 

I'm sure there are those of you that could create my block in no time at all and while I do appreciate that, what I'm really wanting is to learn what mistakes I'm making and how to do fix them myself. I've attached both the block that I've made as well as a file (posted on this very forum) that essentially recreates what I'm trying to accomplish (with a few tweaks e.g. I'm limited to using architectural units and I don't want a visible counter).

 

Any help or direction would be greatly appreciated!

 

chairtest.dwg

Fixed Solar Module 1.dwg

Share this post


Link to post
Share on other sites
steven-g

As they say a picture is worth a thousand words, so attached is a block that hopefully does what you want. It would take forever to try and describe the slight adjustments. Your block is well done, just a few simple changes, but it is things that you pick up by practicing.

The fact that swapping between visibility states results in your array going back to the starting point is that you have used 3 linear parameters, one for each visibility state, this isn't neccessary, a single linear parameter can be used so long as it is visible in all three states, you only need to select different objects that are visible, but all the objects are included in the same selection set. (I hope that makes sense).

To get a count I used an attribute that contains a formula and set it's visibility property to invisible. I had to adjust the length of your linear parameter, Architectural units are fine but not very accurate at reporting distances (your linear parameter was actually 4'-11 4/64" and a bit!!).

I hope this works as you want, if you need help understanding any of the points please ask, I know how frustrating it can be figuring out what is what in dynamic blocks.

Fixed Solar Module 1(2).dwg

Share this post


Link to post
Share on other sites
Bassadone

Hi Steven-g,

 

Your solution sounds like what I'm looking for; I wonder you wouldn't mind elaborating on the formula?

 

I have a dynamic block with an array (on a linear parameter) and I want a way of counting the number of iterations of the block.

 

I think your formula would at least count the number of iterations per block insert, although in an ideal world I'd like to be able to quickly calculate the total number of visible blocks (all the insertions of the block and their iterations).

Share this post


Link to post
Share on other sites
Bassadone

My last post was referring to this comment... not sure if you'll get notified of this post if I don't reply directly! :)

Share this post


Link to post
Share on other sites
steven-g

The formula in the original post, is used to find how many objects are in the array, the linear parameter "distance1" was 1' 7-23/64" longer than the array offset? and the resulting length is just divided by the array offset. You just just have to find the correct numbers by measuring or using the properties toolpalette. To find the values for all blocks in the drawing you will need to use ATTEXT, or if you use full Autocad I think Dataextraction will do it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×