Jump to content

Dynamic Block for Picket Fence


Bill Tillman

Recommended Posts

I've been toying around with dynamic blocks this weekend and I have a couple of good examples to work with. But I've become stumped with one for a picket fence. What I would like is to be able to stretch the top rail of the block and have it extend symmetrically in both directions and to fill in an array of the pickets at 4" o.c. and have this pattern centered in the middle of railing lengths. I've only been able to get it this far and can't seem to find information on how to get it right.

 

A warning to all. When I did searches on this I came across some examples which referenced picket fence dynamic block, but they require you to sign up for an account. As anyone surfing these days knows, signing up for anything can be dangerous so I only could see a limited amount of the tutorials.

 

I'm also confused about a few things when creating this block.

 

When I add the array it seems hell-bent on getting an offset for the rows, which I want to be 0 since I'm only going to need one row of pickets. The column offset seems to work as I need it, but then when I stretch the array action, it doesn't perform as I intended it to. Instead it draws the array and then depending on where I move the mouse pointer it lengths and shortens the length of the pickets, which I need to stay at a fixed length. Also, getting the array to work in both horizontal directions symmetrically is critical to the ease of use of this block.

 

Any advice would be appreciated.

Railing - Standard.dwg

Link to comment
Share on other sites

I've been toying around with dynamic blocks this weekend and I have a couple of good examples to work with. But I've become stumped with one for a picket fence. What I would like is to be able to stretch the top rail of the block and have it extend symmetrically in both directions and to fill in an array of the pickets at 4" o.c. and have this pattern centered in the middle of railing lengths. I've only been able to get it this far and can't seem to find information on how to get it right.

 

A warning to all. When I did searches on this I came across some examples which referenced picket fence dynamic block, but they require you to sign up for an account. As anyone surfing these days knows, signing up for anything can be dangerous so I only could see a limited amount of the tutorials.

 

I'm also confused about a few things when creating this block.

 

When I add the array it seems hell-bent on getting an offset for the rows, which I want to be 0 since I'm only going to need one row of pickets. The column offset seems to work as I need it, but then when I stretch the array action, it doesn't perform as I intended it to. Instead it draws the array and then depending on where I move the mouse pointer it lengths and shortens the length of the pickets, which I need to stay at a fixed length. Also, getting the array to work in both horizontal directions symmetrically is critical to the ease of use of this block.

 

Any advice would be appreciated.

So you would place this block midpoint between two upright posts and then stretch in one direction toward a post and have it fill the other side as well?

 

Sent from my Pixel 2 XL using Tapatalk

Link to comment
Share on other sites

Yes, that's the general idea. But would it be possible to have the array fill simultaneously when stretching the horizontal rails? And would it be possible to have vertical posts appear at 48" o.c. at the same time. I think I'm asking to much for a block. I have a LISP routine which does this but would like to use dynamic blocks to handle this on computers running LT.

Link to comment
Share on other sites

I have a few working examples of exactly this as I design balustrade on a daily basis. When i get home ill have a look and see what I can do to get this working properly.

 

Its a bit of a black art dynamic blocks but ive been playimg with them for years now and I'm happy to help.

Link to comment
Share on other sites

That would be very cool. I've been doing some more work today with another block for a sliding glass door unit and it'a awesome how a dynamic block can really speed things up. I'm curious if the all the pieces were in place, could a single pull on one of the grips not only stretch the top and bottom rails, but symmetrically place intermediate posts at 48" oc while at the same time placing the pickets symmetrically at 4" oc. The simpler I can make this to use the easier it will be to get the users to take advantage of it.

Link to comment
Share on other sites

I'm home and going having a play with your block now.

 

Yes, it is possible to have the block stretch linearly and array at set centers on one grip, although with two separate arrays at different centers I'm not sure, i'll give it a try. I generally make my blocks even more functional, but with work around's like different visibility states, look up tables and constraints, and have figured out a way to use fields to populate cut lists that dynamically update, along with dimensions and even hatches, all in one handy block. if you are interested I can share a few of the more complicated ones for you to have a look at. It's all in metric though, I'm Australian :)

 

It is also easily possible to change a stretch to midpoint and have it stretch evenly to both sides.

 

If you could give me a more detailed run down on exactly the functionality you would like I would be happy to help you build what you need. Dynamic blocks can be very tricky to get perfect, but once you do, nothing can save you more time than stretching a few grips to have an accurate and fast workshop drawing. I have over 1500 of them I use for my work, and the list grows every week. I hate doing things twice, if I can block it dynamically, I do it after about the 3rd time I have to draw something up manually.

Link to comment
Share on other sites

Here's a Dynamic Block of an Aluminium Balustrade designed to fit between 2 fixed points ( Brick Piers usually) that has a large variety of functions that may be of interest to you.

 

Its in millimeters, but the standards are very close to Imperial, with 119 mm picket centers, 19mm pickets (3/4 inch) and 38mm Posts (1.5 Inch) etc.

 

The Block only works if certain hierarchies are observed.

 

1. Choose a Visibility State. 1 span, 2 spans or 3 spans

2. Choose an overall Handrail Length with the Triangular grip on the Plan view and if required drag the mid rail down 100 mm with a similar down facing grip ( on the mid rail at the top edge) to form a AL-02 design (optional)

3. Stretch out the triangular constraint grip (also on the Plan View) that divides the distance set with the first grip and places a node point on each equal division.

*Step 3, 4 and 5 Grips are on the Elevation view

4. Drag the square grip at the top center of each main post to divide node points (Shown as a green 'X') This sets all the main posts an equal distance.

5. Array out each set of balusters with the triangular grip on the base of each baluster, and then drag them with the square grip (on the centre point of the first baluster in each span) to even out the gaps on each end. I use maths for this value (it's quicker)

6. Drag the Triangular Grip on the Section View to set the Balustrade Height

Optionally you can lengthen the handrail and bottom rail on each end independently of the rest of the block if required with the triangular grips on the ends of each, (also in elevation view).

Regen the drawing and the cut list updates to reflect the geometry, including an accurate baluster count

 

If you want to change visibility states you need to reset the block and start over.

Almost everything is adjustable and it can be a bit confusing, but have a play with it and let me know if this is the sort of thing you are after.

 

This block could easily have been designed to stretch from a centre point also, in fact I have designed quite a few that do.

 

I have blocks like this for almost every design I do, including glass balustrade and privacy screens etc.

 

The font used is Helvetica, so the Dimension Text and Cut List Text may default to simplex and look screwy, if you want it to display correctly you need to install the entire Helvetica family of fonts, but you get the idea anyway.

 

Let me know how you go, it may seem crazy at first but it works well once you get the hang of it.

AL-01.dwg

Edited by markwheeler303
Link to comment
Share on other sites

Okay, so there's going to be some trade offs. If you need to array posts as well as pickets at the same time it can't be done from a central point from one grip, or even two. it can be done working from left to right though, with a few workarounds.

 

If you don't mind arraying in 48 inch increments you can do it from the center but it requires a quite few grips and some fiddling to get the overall length correct. Another method would be to attempt to array a post and a 5 inch picket array together, at 48 inches (you *may be able to array the pickets to suit inside that hopefully) then have a separate stretch for the overall length, which i'm not exactly sure would work.. trying now.

 

This is more fun than 3D rendering.. I'll keep at it until I have a semi elegant solution.

 

Also, if want a full explanation on how anything is done just let me know.

Link to comment
Share on other sites

Thanks markwheeler. I've got some time this evening once I get home to check this out. And yes, 3D rendering is very fun. I have a LISP routine that will do this thing with the pickets but several of our users are using LT this it's of not use to them. Oh well, back to the old drawing board, as we drafters say.

Link to comment
Share on other sites

I'm finally getting to check out your version of my original block. Looks really cool. But I would like to change the oc spacing of the array action from 5" to 4"...or whatever. I can't seem to figure that part out.

Link to comment
Share on other sites

Select the block, Hit Ctrl 1 on the keyboard and bring up the properties tab. In that tab find the array value and you can change it to any value you like. To permanently change it, open the block editor and select the actual stretch parameter, if the properties tab is open you can change it permanently in the actual block itself. You can also change the stretch length increments in the same way so the block works properly.

If the array size matches the stretch size it works mucg better.

Link to comment
Share on other sites

Thanks again. I seem to still have some issue with this block. I was able to change the array oc spacing from 5" to 4"...but then when I save the block and go back to the model space and stretch it, the railing does not stretch on the left side. The pickets fill in all right but the top and bottom rails only stretch to the right.

 

Anyway, I just kept testing things and now I have it working correctly for the 4" o.c. picket spacing. I had to shorten the lengths of the top and bottom rails and then adjust the stretch properties a little. But it's working like I need it. Now to get it working with some more fancy picket profiles...

Link to comment
Share on other sites

I noticed similar behavior, its a bug I'm sure, if you play around with it enough it starts working again. Sometimes you just need to delete the the actions and reassign them.

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...