Bill Tillman Posted November 26, 2017 Share Posted November 26, 2017 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 Quote Link to comment Share on other sites More sharing options...
iconeo Posted November 26, 2017 Share Posted November 26, 2017 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 Quote Link to comment Share on other sites More sharing options...
Bill Tillman Posted November 27, 2017 Author Share Posted November 27, 2017 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. Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted November 27, 2017 Share Posted November 27, 2017 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. Quote Link to comment Share on other sites More sharing options...
Bill Tillman Posted November 28, 2017 Author Share Posted November 28, 2017 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. Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted November 28, 2017 Share Posted November 28, 2017 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. Quote Link to comment Share on other sites More sharing options...
BIGAL Posted November 28, 2017 Share Posted November 28, 2017 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 Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted November 28, 2017 Share Posted November 28, 2017 (edited) 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 November 28, 2017 by markwheeler303 Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted November 28, 2017 Share Posted November 28, 2017 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 Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted November 28, 2017 Share Posted November 28, 2017 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. Quote Link to comment Share on other sites More sharing options...
Bill Tillman Posted November 29, 2017 Author Share Posted November 29, 2017 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. Quote Link to comment Share on other sites More sharing options...
Bill Tillman Posted December 3, 2017 Author Share Posted December 3, 2017 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. Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted December 3, 2017 Share Posted December 3, 2017 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. Quote Link to comment Share on other sites More sharing options...
Bill Tillman Posted December 3, 2017 Author Share Posted December 3, 2017 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... Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted December 3, 2017 Share Posted December 3, 2017 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. Quote Link to comment Share on other sites More sharing options...
iconeo Posted December 5, 2017 Share Posted December 5, 2017 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. Quote Link to comment Share on other sites More sharing options...
iconeo Posted December 8, 2017 Share Posted December 8, 2017 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. Quote Link to comment Share on other sites More sharing options...
markwheeler303 Posted December 9, 2017 Share Posted December 9, 2017 Nice work iconeo, No need for incremental lengths. I love the thinking behind the array placement. 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.