Visio Guy

Visio Discussions => General Visio => Topic started by: kelme90 on October 24, 2016, 04:10:24 PM

Title: Shapes on Multiple Layers Won't Hide
Post by: kelme90 on October 24, 2016, 04:10:24 PM
I have an shape on multiple layers (say, for example, an "Instruments" layer as well as an "Electrical" layer). When I uncheck the "visible" for one layer (say, Instruments), the shape doesn't hide.

If I uncheck both Instruments and Electrical, it will hide correctly. Or, if I remove a layer designation (e.g., make it no longer part of Electrical) and hide the other layer, it disappears as it should.

I looked in ShapeSheets; the "Layer Membership" is "0;9", indicating it's part of two layers (as I want it to be). Is there any way to designate that if 0 AND/OR 9 is hidden, the shape should be hidden?

Thanks.
Title: Re: Shapes on Multiple Layers Won't Hide
Post by: wapperdude on October 24, 2016, 05:39:18 PM
Not directly.  The layers are global.  If the layer is visible, all members of that layer are visible.

But, you can edit the shapesheet for those shapes with multiple layer membership.  At the top of the geometry section, you can enter an IF condition that will control shape visibility based upon layer status. 

Alternatively, you can edit the page shapesheet, create a User-defined cell(s), that provide conditional response to a variety of layer combinations.  Then, each multi-layer shape could reference the appropriate User-defined result.  That way, the equations only need  be defined once.

Wapperdude
Title: Re: Shapes on Multiple Layers Won't Hide
Post by: kelme90 on October 31, 2016, 02:15:16 PM
Thanks!
Title: Re: Shapes on Multiple Layers Won't Hide
Post by: wapperdude on October 31, 2016, 10:57:57 PM
Attached is a shapesheet solution.  It only requires modifying the shape(s) with multiple layer membership.

Conditional logic testing uses the Lookup fcn to determine which multi-layers the shape belongs to.  A single, formula entry in the User defined section of the shapesheet is sufficient.  Results of the test are pushed into the Geometry.NoShow and the Misc HideText cells using setf fcn.  The key is getting the layer definitions down.  Note, the formula could be broken down into smaller pieces, whose results could be combined.  As the example only tested two membership layers, the approach is reasonably understandable.

Enjoy.
Wapperdude