Summary: This is the list of wishes to improve Blocks. That suggestions can make blocks closer to the concept of families in Revit in my opinion.

Description: Here is the list of wishes to improve Blocks. Some of them are repeated in other wish publications, but also there are new ones:

- allow block attributes and block parameters to be linked in the DIESEL function references or add a new conditional function to a field formula. It will be great improvement in creating parametric dynamic blocks, especially by using conditionals. There is the only one way to write conditional statements by DIESEL expressions:
$(if, expr, dotrue [, dofalse])
But you can link attribute inside the statement by field expression only once (for example, “%[\AcObjProp Object(%[\_ObjId 2573780640304]%).TextString \f "%tc1"]%”) and it turns into the value after finishing writing the expression because the link disappears immediately. Maybe it will be better to create another field conditional formula that would allow to link attribute values by field.
It is unclear why Revit has that possibility to write formulas inside the family parameters with the links but not AutoCAD.
- add Roundup and Roundown arithmetical functions into fields
- add the possibility to control parameters of nested dynamic blocks by parameters of a parent block. The same functionality is present in Revit: when you create a family that includes the nested one, you can control each parameter of nested families by adding the reference to the parameters of a parent family.
- add a multiple visibility for dynamic blocks. As an example on how to resolve it, I can suggest to add the reference to a nested dynamic blocks (the previous proposal). For example, I want to change 5 different objects by a visibility parameter and also I want to change each object’s shape by the second visibility parameter. The first solution that comes to my mind – I’m going to create 5 blocks of each object that contains each visibility parameter. Then I insert them into a parent block as the nested one, control it’s visibility by a parent’s visibility parameter (show a nested block that I would like to see), and create a parent parameter (look-up or visibility parameter – it’s up to the developers), which I reference to the nested block’s visibility parameters. It will be a very natural solution in my opinion. Of course, there are two solutions of it that you can find in the Internet (the LISP script and the look-up parameter sets), but they are only “crutches” – it will be great to have it as a native feature.
- add the possibility to insert fields into parameter expressions and constraint parameters in Parameter Manager dialog box. That will allow to insert data from attributes and object properties (mainly length value).
- please, enhance the constraint parameters because they are very unstable so you can create only simple parametric blocks. Every time you use it, you shall be very careful, because you can break your dynamic block – sometimes geometry is changing unpredictable. Also it behaves unpredictable when you use it combining with general block parameters
- add the possibility to add collinear constraint to a sideline of a polyline. This allows you to create constraints between a side of polyline and reference line (something similar is present in Revit, when you trim a line to a reference plane and lock it)
- there is a lack of functionality when you use Array action – you can’t manipulate its step value. It will be great improvement if this possibility is added. For example, that will allow to create prefabricated reinforcing meshes where you can change its spacing between steel rods.
- please, fix the next bug: when you change an initial value of an attribute, it hasn’t been replaced after calling Synchronize Attributes command. Also it doesn’t work when you change the initial value through the Block Attribute Manager (for that reason, the BATTMAN command seems to be pointless). The only way is to change the attribute’s tag name, save block, synchronize attributes, then enter the Block Editor again, return a tag name, save and synchronize the second time. But it wastes a lot of time.
- add the possibility to switch block definitions of a block instance through the Property window like switching family types in Revit.
- it would be great to add some sort of block types for each block definition (like family types in Revit)
- there are some problems with hatches when you add into dynamic blocks. Associative hatches are unstable – they work well in a very beginning, but after few manipulations with the dynamic block’s geometry, there is a chance that the hatch might turn into a regular one. It will be great if that functionality is improved.
- enhance view lists of blocks in the next dialog boxes: Insert Block, Rename, Edit block definition, Design Center etc. Add the list tree view UI type where all blocks are grouped by a first letter (or repeated first number of letters) and placed into folders that are sorted by alphabetic order. So you can click on particular folder and select the necessary one. It is so difficult to navigate and find the necessary one when you have hundreds of blocks.
- make it possible to use grips when dynamic blocks that are attached to multileaders
- also make it possible to use grips and have access for editing attribute values when dynamic blocks are placed in schedule cells
- there is an issue with a drawing file: when you insert a big amount of dynamic blocks in a drawing (especially parametric blocks), it slows down the file’s performance significantly. So it limits the usage of dynamic blocks.

Product and Feature: AutoCAD - Blocks

Submitted By: artifex-ag796083 on 09/18/2022