Jump to content
Bill Tillman

Dynamic Block for Picket Fence

Recommended Posts

Bill Tillman

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

Share this post


Link to post
Share on other sites
iconeo
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

Share this post


Link to post
Share on other sites
Bill Tillman

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.

Share this post


Link to post
Share on other sites
markwheeler303

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.

Share this post


Link to post
Share on other sites
Bill Tillman

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.

Share this post


Link to post
Share on other sites
markwheeler303

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.

Share this post


Link to post
Share on other sites
BIGAL

There is a car parking DWG as a sample in CIV3d. It has some nice stuff like stretching between two ends. May be usefull. Bit like pickets but car park bays.

Parking Tools - Imperial.dwg

Share this post


Link to post
Share on other sites
markwheeler303

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

Share this post


Link to post
Share on other sites
markwheeler303

Here is your original Block, working from a centre point with adjustable width in 5 inch increments and adjustable height.

 

Now to figure out a way to add the intermediate posts... :)

Railing - Standard- First EDIT.dwg

Share this post


Link to post
Share on other sites
markwheeler303

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.

Share this post


Link to post
Share on other sites
Bill Tillman

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.

Share this post


Link to post
Share on other sites
Bill Tillman

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.

Share this post


Link to post
Share on other sites
markwheeler303

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.

Share this post


Link to post
Share on other sites
Bill Tillman

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

Share this post


Link to post
Share on other sites
markwheeler303

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.

Share this post


Link to post
Share on other sites
iconeo

It works ok, could be better if I put more time into it and added lookup tables.

 

To change the spindles to a center versus offset spacing change the "spacing" variable to "0".

 

Railing - iconeo.dwg

 

Thanks.

Share this post


Link to post
Share on other sites
iconeo

railing.dwg

 

Here is a parametric version of mine. Still not sure how to enter in number intervals in sequences into the double lookup to make it automatic.

 

Thanks.

Share this post


Link to post
Share on other sites
markwheeler303

Nice work iconeo, No need for incremental lengths. I love the thinking behind the array placement.

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

×