I can't upload the pdf that contained images so here is just the text...
"Wes" wrote in message
news:6053171@discussion.autodesk.com...
wrote in message news:6020645@discussion.autodesk.com...
I see the community is very enthousiastic!
I've been watching this for a while now. I agree something should be done.
I'm tired of reading about non-locked attributes not moving in dynamic
blocks. So I'll take the first step. Here are my guidelines. Lets us it as a
start & dial it in. Please don't flame!
Dynamic Block Creation & Handling Guidelines
Use these guidelines when creating new dynamic blocks. Following these will
insure our blocks are easy to use & have a familiar setup.
When creating a new block, create it in an environment similar to where the
block will be used. That way bylayer line types, colors, even dimension
styles are present. Depending on how the block is to be used, the way it is
achieved off maters. Most of the current dynamic blocks have been saved
using the wblock or write block command. This stock AutoCAD command
saves the block definition to its own file. If you need to edit the block,
insert
it into another drawing, make the changes & wblock to overwrite the block
definition.
Saving the blocks to individual files makes it easy to insert into another
drawing. The dynamic
properties will be ready to use without exploding after insertion.
Insertion method is important! The recommended insertion method would be to
use the insert command.By using the insert command, the user has the ability
to select multiple
options, at the time of insertion. For example, if the block already exists
in the drawing, but the definition was updated.
If a copy / paste function is used to insert the dynamic block the existing
definition will be used automatically.
When creating dynamic blocks
· Select a naming convention to save all dynamic blocks with. Could
be helpful in organization. I currently have 1 file with all of my blocks to
create & test in. Then I wblock them out for individual use & tool palettes.
· Try to use the base point parameter @ 0,0,0 if possible.
· Try to keep all of the geometry on layer 0 if possible, so that
the properties can be Bylayer.
· After adding parameters & actions please rename them something
relative to the block.
i. The parameter name is what is
specified in the properties dialog box.
ii. The description field for a parameter
is like a tool tip when the block is being modified by the drafter.
· Hide all unused grips for parameters.
· Do not show parameters that are not to be used thru the properties
dialog box.
· Rename actions the same as the parameter name, helps anyone in the
future when it comes to editing the block. For example, if the parameter is
"length" then the stretch action should be named "stretch length". Please
group the actions away from the geometry for clarity.
· Try to use the same parameters across multiple vis-states. If you
do so, when the user is switching between vis-states the parameter doesn't
reset.
· Understand the process of the lookup table. You can manipulate
multiple parameters at once with them.
· To chain or not to chain. Chaining a parameter to another simply
allows the actions of "parameter 1" to work if "parameter 2" modifies
"parameter 1".
i. Be careful when trying to use the
rotate, flip & move actions on the entire block. If parameters that are
chained are included in the selection set, you will get undesired results.
· Add extra parameters without actions if you feel it will be a
benefit for the user or for the possibility of a field to be linked to it.
i. Add an overall parameter to help add
up spacing.
ii. Name the vis-states & lookups
something relative, like size or spacing, so they can be used in formulas.
· If you are going to include attributes in the block, make sure
they are locked. Otherwise they will not respond in any way to the dynamic
properties of the block.
· If using attributes, assign a move, rotate, scale actions to just
that geometry to allow for it to be manipulated separate from the block
geometry. That way the block will not require exploding.
· Attributes & vis-states do not play nice with one another yet. For
example, if you have a block with attribute1 on vis-state1 & attribute2 on
vis-state2. When you try to edit the attributes through the eattedit command
(double click), the attribute prompts & values will be screwed up. It is
still possible, but the drafter would need to use the attedit command to
edit the attributes.
· Nesting blocks within a dynamic block can lead to issues. If a
user re-inserts the dynamic block & overwrites the block definition, the
dynamic block may lose its dynamic properties. AutoCAD is trying to redefine
all of the blocks it is inserting & basically gets in an endless loop. I
would suggest limiting the blocks or try not to use any. Nesting a dynamic
block within a dynamic block works well if a routine is to be created for
the handling of that block.
· Dynamic blocks will lose all of their parameters if they are not
uniformly scaled. Setting them back will solve the issue.
· Stay away from align parameters & multi-line attributes with
annotative text. Currently they do not play nice with the dynamic properties
in the blocks. These are known bugs with AutoCAD.
· Understand resetblock, batman & attsync commands. The erase block
& reinsert method works the best!
· Having a good understanding of fields will help you layout naming
conventions for parameters & actions. Creating blocks that count up spacing
never hurts! White screen, sometimes when dealing with a dynamic block with
a lot of parameters & vis-states, our monitor will go white or AutoCAD will
say it stopped responding. Give it time, it will come back. Go grab a coffee
or soda.
When manipulating dynamic blocks in a drawing
· Understand what parameters the block includes. So actions may
already exist in the block you are about to modify.
i. Fields will stop responding to the
blocks if the blocks are not uniformly scaled. By mirroring & rotating
blocks, AutoCAD automatically forces some to have a negative geometry scale
in the properties dialog box. Be careful!
· Fields require a regen to update. If there are formulas containing
fields themselves, a regen will be required for every level of nesting.
· For rebar detailing dynamic blocks, make sure the insertion point
is located inside the polyline required to create the takeoff report. The
rebar report routines only add the quantities up for all of the blocks
inside the polyline boundary.
· For rebar detailing dynamic blocks, make sure to include the block
to define the polyline boundary & which pour area it belongs to.
Exceptions!
If fields are to be used inside of attributes, there are 2 ways of creating
the dynamic block. It basically comes down to how the block will be
inserted.
Using the insert command
Link the attributes in block editor while defining the block. Use the
blockplaceholder field or link to other objects. If this block is inserted
into other drawings it will initially populate all of the fields with
"####".
Not to worry, once the user has modified a parameter, stretch a grip, the
fields will all evaluate themselves & update correctly. If this block is
brought into a drawing using the copy / paste method, some of the fields
will go to "####" & never resolve themselves.
Using the copy / paste method
Link the attributes after the block is created. Do not include the field in
the attribute value when creating the block. Once you have finished the
block, insert it into a drawing. Edit the attribute thru the enhanced
attribute editor, (double-click) go to the value & insert the fields. Now
when you copy it around it will give the correct values. For example, link a
dynamic parameter to an attribute. The field will reference itself. If this
block is brought into another drawing using the insert command, all of the
attributes need to be redefined. If the block is going onto a tool palette,
save it as a separate drawing. That way the field codes stay intact. The
block will require an explode when you insert it into other drawings, but
his can be done at the time of insertion.
Fields use an object id to associate a field code to. AutoCAD assigns every
object an object id. When you copy a block around a drawing, they may all be
the same block, but they have different object ids. Trail & error will
basically be the best teacher.