It does not affect the visibility of the Attribute but only of the devDept.Eyeshot.AttributeReference. This allows to keep the Attribute visible when editing a BlockReference (with devDept.Eyeshot.EntityList.SetCurrent), so it can be selected and the Invisible property can be set to true or false without affecting its visibility on screen that would prevent to select it again. Then the devDept.Eyeshot.EntityList.SynchronizeAttributes will propagate the Invisible property to the AttributeReferences and make them invisible (after the current BlockReference is reset with devDept.Eyeshot.EntityList.ResetCurrentBlockReference).