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.
Closure comment
Attributes are entities that live outside of the block. This is a limitation of blocks and the DXF/DWG format.
Comments (1)
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