← All bug reports

FS#2469Invisible switch fails partly at Block Reference with Attributes

Type
Bug
Status
Closed
Resolution
Not a bug
Category
QCAD (main)
Severity
Low
Priority
Low
Reported version
3.28.1
Operating system
All
Reported
2023-05-18 by Husky
Closed
2023-12-05 by andrew
Votes
1

A block with attributes inserted into Model_Space can't be made completely invisible with the invisible switch (Eye icon) in the block list. It works for entities but not on attributes.

Comments (1)

CVH 2023-05-18

In essence block.setFrozen(true/false)

Basically because the relation is upwards and not downwards.
Block References refer to the related Block id.
Block Attributes refer to the related Block Reference id.
Block Attributes are unrelated to the Attribute Definitions that served to create them.

HideAllBlocks, ShowAllBlocks and ToggleBlockVisibility only set the Block frozen property.
https://github.com/qcad/qcad/blob/master/scripts/Block/Block.js#L139
https://github.com/qcad/qcad/blob/master/scripts/Block/ToggleBlockVisibility/ToggleBlockVisibility.js#L34

Attribute Definitions and Block Attributes have another level of visibility:
The 'Invisible' property.
There is nothing as a Block References frozen/hidden/invisible property.

Remark also that in block edit mode the Block List icon does not reflect any change in visibility. The 'Hidden' property will change and the visibility but the 'Eye' icon in the block list remains as it was.

If the Block was hidden (=frozen) we get a transaction failure on inserting the Block (BI) but the Block Attributes are created based on the Attribute definitions.
This will create unassociated Attributes as there is no Block Reference to refer to.

Maybe intended or not but I vote for hiding/showing Block Attributes with their Block Reference.

Regards,
CVH

Closure comment

Attributes are entities that live outside of the block. This is a limitation of blocks and the DXF/DWG format.