AutoCAD Dynamic Blocks :: Array With Option To Mirror Or Rotate Over Other Item
Aug 9, 2012
I've spent a day and a half coming up with a way to make this dynamic damper block work. Now, I need to fig out how to get every other blade to rotate 90°. I have attached a file with my block and an example of what I need to make it do. I’m running AUTOCAD 2009 LT if you need to know.
I am trying to create a block that has a stretch and array command, but I would also like to rotate each arrayed item indvidually. However I cannot select the rotate parameter as part of the array function, so the block end up only containing one rotate grip.
I have a block of a roof screen. What i want to do is to stretch it & have the slats on the front & also the supports on the rear array @ different intervals. The slats on the front would array every 6-1/2" (The slats are 5-1/2" wide with a 1" gap). The supports array every 4'-0". I have tried to do this multiple ways with mixed results. How to get my desired outcome. I am enclosing my block.
I have created a small dynamic block that manipulated some lines (attached). The properties table allows s1, b1, b2 and c to be modified. The white lines control the cyan and red.
The red-lines have an array within (green lines) which I want to lock to the blue line parametrically. The array may be dragged physically but thats not the point; its need to be automatic (Revit style).
I have been trying to get my 2D parametric model to work and am having trouble with the array.
I attach the model. When I alter the span in the properties palette, I want the array to follow. I do not want the grip to show as I eventually want to program the dimensions externally.I do not mind using AutoLisp or .net if I need to control the model using code.
I have been working on a dynamic block that need to look like the attached jpg. Basically it needs to be able to stretch up to 50'-0" but in ten foot segments (part size limits) +/- an additional but in 1 foot increments.
I've got two blocks that will either array or stretch. But have not been able to get it to match the actual requirements. I have attached my current block attempt. Also as you can see from the jpg, the support posts usually alternate as well and I haven't figured that out yet either .
I've been playing around with an incrementing block, and have figured that you can get an attribute block to report its position relative to its origin inside a block,and have it report that back. If you can do that and do formulas, you could then have that creating an incrementing number. If however you were to want to use such a block for counting stairs or alternatively counting car parking spaces, and want to get the spacing of the array just right, you seem to have no choice in the size of array other than when editing the block?
Attached is what I have simply created. No calculations, just reports the position in X, but shows the possibilities. Stretch the text out and you get more numbers.
Time consuming to create alternative is to have to define each number object individually and do a move action, based on something like an object being stretched (length of stretched object becomes part of a multiplication factor for a move action). See Numbers increasing block attached. More precise but takes a while to create, and is limited to the numbers shown.
I'm using a 2-2D recangles that are 5'x16" and 10'x16" and I am trying to figure out how to array this in one direction, to the left, but have the array on 5' increments. Also, within each rectangle I am needing text to show which size it is.
e.g. If I drag the array to the left more than 10' but less than 15' it will apply 15'.
I have been looking for about three days on how to do the array with-in the dynamic blocks, but have been very unsuccessful. What I am trying to do is make a TJI joist that you can have a look up table that is classified as 'offset' so that you can eventually strech the joists to standard spacing, and use the array to work. So that I dont have to have a ton / zero visibiliy states.
i work at a small structural firm and am about the most experienced cad user here, which isn't saying much. I have never wrote any LISP's or anything, but have created many dynamic blocks and have edited some programing my boss got from a previous employee for adding dropdown menus with blocks/layers/etc. Just so you know my level of knowledge when it comes to answering my question. Also I am limited to using 2009 but other co-workers have up to 2013 so i would like this to work for all users. And i have done a bit of research but based on everyone elses level of knowledge am finding a lot of conflicting info and solutions that, to me, are in another language.
So I have a table that is created using polylines and text. It's a funky shape and AutoCAD's tables are a pain for it. i have created a dynamic block where i can array the rows down and the columns left. The issue is, i would like the test to come with each row, but still be editable once the block is done. I have figured out if row one is composed of 5 columns of text put into a single attribute, it is fine. But once you use the array action, to say 3 rows (including now 3 sets of attributes) they are not editable. So what is the work around, if there is indeed a work around?
the two option i see are to only array the rows and columns and left the text outside that block and manually copy it done to how ever many rows the user needs.... Or to have 2 blocks come in together, one as described before, and the other which just arrays the text and then i explode it to edit each line.. but then if you later choose to addd another line you would be left with doing that manually anyway..
I'm attempting to use Excel to take data from a drawing and give me purchase and cut lists.
I have successfully pulled the overall measurement from my dwg, and inserted it into a workbook. What I'd like to do now is to have a count of how many times the array function went into effect. For example, attached is a file containing a block called platform. When stretched, it inserts toggles every 2'. When I export the information from my dwg, I'd like for the program to not only extract the length, but how many toggles were inserted for each platform.
I'm trying to create a block for angled handicapped parking stalls.
I used an array chained to a stretch in order to increase the number of stalls. It worked but for some reason it does not work in all of my visibility states. In some visibility states the array and stretch do not stretch together. The block should end with a stall but some end with a line and no stalls above it.
I attached a drawing with the blocks. The block named "STALLS-60-HANDI" it works correctly except in visibility state 9' and in "STALLS-60-4space Handi" it only works in visibility state 10'.
Started to play with dynamic blocks now got my head around stretch and tables but I'm looking to use the array command
this is what I want to try to achive
I have a dynamic block which has a array command in it so by simply pulling on the arrow the block will array horizontally giving me multiple items side by side
what I want to do is count the array example if I insert the block and and array to say 12 items side by side then I want to get the value 12 placed into a block attribute which is part of the dynamic block
I can then pull this data out of the drawing into spreadsheet so I can then create a purchase list of items
My immediate thought was to divide the the total length by the width of the item to get me a count but I don't know yet how to get this to work in the dynamic block
I've been trying to create a stair block that will automatically adjust the riser height to to suit the total vertical rise of the flight, but am having issues.
I drew two 'tread/riser' Plines, and constrained the daylights out of them. By stretching the grip for the 'Total Rise' constraint, the risers adjust nicely, while the treads remain at their desired 11" depth.
My problem is that when I try to create an array of the tread/riser, (using a linear parameter aligned with the slope of the stair) I can't get the 'column' width to change as the risers change height. Instead the value remains constant, and the arrayed copies don't connect with each other.
Any way either to fix this so that that the copies connect 'head-to-tail'?
I have created an elevation of a railing with stretch and array actions, however I have not been able to figure out how to center the array'd picket on the top rail. I've added a move action to the main picket in order to manually center after the railing has been stretched between the two posts...however I'd love to have this automatically centered.
(I originally thought I could have the main picket stretch at 0.5 (so it would be centered), then array in two directions, however there is no angle option on an array paramater).
1. Move the right piece so it ends at 3', 4', & 5'. 2. the move right hook and 'backing' to stretch/copy (or array) so it adds a hook to the right and fills in the backing.
so this means that a 3' gets 4 hooks, 4' gets 5 hooks and 5' gets 6 hooks.
3. the block as shown is the smallest configuration with 3 hooks.
I could just set up a visibility and draw each one at it's appropriate length but I'm trying to keep this simple block to a min size. If all else fails, that's the route I'll take.
I've tried a couple different configurations and I keep getting duplicates or the end piece doesn't move the correct distance.
It seems like this should be easy but it's not. I have a block with multiple components. I want them to array sequentially as I drag the grip. First one component, then the next, then the next. What I get is all 3 at once when I drag the grip far enough. I tried 3 separate linear parameters with their grips stacked but that didnt work either. What I have attached is a very simplified version of what I want, but I think once I get the concept it will be easy to elaborate on.
I'm currently creating blocks for our office library. One of these is a grille with some apposed blade dampers on it. I'm trying to set up an array that will duplicate the apposed blades as I change the length of the grille. However, it will only copy the blades in pairs, not singly one after the other. Ie, the blades are 100mm apart, and in a / pattern meaning that each instance of / or 'should' duplicate every 200mm. Except when I lengthen the block by 200mm it won't duplicate until I've gone double the distance (400) when it gives me both / and .
I have a block that when I extend it, a new 10' section is added. It will only add the 10' piece (array). What I am looking to do is find a way so that once I hit a total distance have it switch the part that it adds. So I have like a rail, I keep adding these 10' pieces and then once it hits 40' I want it to add the end piece which is different.
I've made this block . when i rotate the vertical line I need to add lines every 15° as you see in the image, i've seen that polar array is not possible in the dynamic blocks.
We have blocks of process valves. The valve body in layer "valve" and the ports in layer "pipe" The Lower port of the valve is for "fluid A", the upper port for "fluid B".
Now we want to dynamically choose the layers for both the lower port and (a different layer for) the upper port. Dynamically because the same valve can be used twice with completely different fluids / layers. Is there an attribute or dynamic parameter to do this?
I'm trying to create a window block with a grille. I've created the block and the horizontal grilles. What I'm having a hard time with is creating the vertical grilles. I would like to set up an array that would take the glass width, divide by 12, round up the value to get the number of vertical sections. Here's the code that I've figured out:
I have a simple block, I would like to do the following:
Type: Insert
Specify: Block Name
Click spot with cursor to have the block placed
Rotate the block for orientation
I know that if I use the Tool Pallets I can specify rotate on insert, but do not always want to use the Pallete. I also know I can assign a rotation parameter to the block so I can grip and rotate after insertion. Is there an easier way?
Attached is a dynamic block for a civil grid tick. It's my first time creating a dynamic block so it's probably not the most efficent use of the dynamic parameters etc.
I have it setup with 4 visibility states to allow the northing and easting attributes to "rotate" about the center of the grid tick, to give options for readablity and/or text overlap.
What I wanted to add was figure out how to make the individual attributes flip 180 degrees about a point (roughly the center of the attribute). Again this would be for readability.
At my last job, the CAD manager there had certain blocks which, upon insertion, automatically selected the rotate command. i.e., as soon as you click to place the block, it was free rotating.
I've search for the answer, but everything just tells me how to put the rotate command inside the dynamic block, but I don't know how to make it "auto-jump" to that immediately upon insertion.
I have a block that has a portion that needs to rotate up to 90 degrees. The problem is that it has parallel lines that create a bowtie when rotating. I've tried everything with constraints to get this block to work, but I just can't keep it from creating a bowtie when rotating.