Toggle layer visibility

Hello,
I need one keyboard shortcut that toggles visibility of one of layers.
I paint and need to toggle on and off one layer below (layer with a reference picture, not one i paint on). with a shortcut painting process will be not break as with case click at icon.
tried to make toggle layer visibility with actions unfortunately with no success.
it is possibility to toggle active layer visibility by add shortcut in keyboard shortcuts preferences  but here it going not about active layer.
I have no experience with scripting.
thank you!

For this to work as written there can only be one layer in the document named 'Ref' otherwise it will toggle the top most layer with that name.
var targetID = getLayerIDByName('Ref');
if(undefined != targetID){
    if(getLayerVisibilityByID( targetID ) ){
        hideByName('Ref');
    }else{
        showByName('Ref');
function getLayerIDByName(name) {
    try{
    var ref = new ActionReference();
    ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "LyrI" ));
    ref.putName( charIDToTypeID( "Lyr " ), name );
    return executeActionGet(ref).getInteger(charIDToTypeID( "LyrI" ));
    }catch(e){}
function getLayerVisibilityByID( id ) {
    var ref = new ActionReference();
    ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "Vsbl" ));
    ref.putIdentifier( charIDToTypeID( "Lyr " ), id );
    return executeActionGet(ref).getBoolean(charIDToTypeID( "Vsbl" ));
function hideByName(name) {
    var desc = new ActionDescriptor();
        var list = new ActionList();
            var ref = new ActionReference();
            ref.putName( charIDToTypeID('Lyr '), name );
        list.putReference( ref );
    desc.putList( charIDToTypeID('null'), list );
    executeAction( charIDToTypeID('Hd  '), desc, DialogModes.NO );
function showByName(name) {
    var desc = new ActionDescriptor();
        var list = new ActionList();
            var ref = new ActionReference();
            ref.putName( charIDToTypeID('Lyr '), name );
        list.putReference( ref );
    desc.putList( charIDToTypeID('null'), list );
    executeAction( charIDToTypeID('Shw '), desc, DialogModes.NO );

Similar Messages

  • Using hyperlink to toggle layer visibility?

    Okay, I've got a few threads going in other forums on this, and I'm getting a little frustrated with retyping it all, so I'm going to try to be brief... if you have any questions on what I'm trying to do, sorry for being vague, just ask and I'll try to clarify (I know, I hate posts that don't give enough info to work from).
    OKay... I work with surveillance systems, and for one customer, I'm taking existing PDFs they have of site floorplans, loading them into Ilustrator CS5, adding icons and text showing camera locations and fields-of-view, then exporting to PDF, loading that into Acrobat Pro X, and adding a hyperlink to each camera icon that when clicked, will open a window with a still capture from that camera, so they can see what the view is "supposed" to look like.
    This works fairly well, and the client is happy with it... there's just one annoyance: every click produces a dialog box warning about opening an external program, and in newer versions of Reader, there's no "Don't display this again" checkbox.  A way around this would be great, but I had a better idea:
    I'm already creating layers in Illustrator: one for the floor plan, a second for the camera icons, a third for the text, and a fourth blank one so I can "swap out" the underlying floor/camera info without losing the hyperlinks (anywhere from 16 to 30, depending on the site).
    I had the idea that what I could do, is add a separate layer for each camera's sample image, which would allow me to add the image directly to the document, and have it just appear over the floor plan, rather than loading in a separate app.  Then I could have the image layers start out invisible, and toggle the visibility by clicking the camera icon.
    So I found this article that describes changing layer visibility from a hyperlink: http://help.adobe.com/en_US/Acrobat/9.0/Professional/WS58a04a822e3e50102bd615109794195ff-7 c5b.w.html
    It... sort of works.  I can create a link that will show a hidden layer... but not re-hide it.  I created a separate link that would hide it... but not show it.  Not really suitable - I'd like to have the same link toggle the layer on/off (heck, it would pretty much have to, or you KNOW the end users will get confused). 
    And the whole process seems a little clunky, at least from the above instructions.  Is there a better way to do this in Acrobat X?  Maybe a way to do it all within Illustrator?  Hope I'm clear enough about what I'm trying to achieve.
    If all else fails, is there a way to get rid of the $&^@*#!!! external program warning popup??
    Thanks, all!

    Forget that help page example, it's only practicable if you're setting a very simple pattern of layers.
    Instead, you should look at the JavaScript commands to control the visibility of individual layers, referencing them by their stacking order or name.
    For example this snippet will turn on the layer called "camera1":
    var ocgArray = this.getOCGs();
    for (var i=0; i < ocgArray.length; i++) {
      if (ocgArray[i].name=="camera1") ocgArray[i].state = true;
    You can easily extend this idea by creating a document-level function in the PDF, and calling that function from your links. For example if all your camera layers are named "camera1","camera2", etc. and you have a doc-level function like this:
    function showCamLayer(theName) {
      var ocgArray = this.getOCGs();
      for (var i=0; i < ocgArray.length; i++) {
        if (ocgArray[i].name.substr(0,6) == "camera") ocgArray[i].state = false;
        if (ocgArray[i].name == theName) ocgArray[i].state = true;
    then you can set your links to "run a JavaScript" and enter a single-line command such as showCamLayer("camera4")

  • Widget for toggling layer visibility

    It would be very useful to have widget for creating a button which toggles on/off visibility of some Muse layer(s) on the page.
    Possible application: show/hide some notes/help on the page etc.
    Thanks.

    What about a toggle button for showing/hiding accessibility features on the page? Alt text, meta titles, descriptions, changes to high contrast, enlarges text, etc...

  • Win shortcut for toggling Layer visibility

    Alt+click on Eye Icon turns Layers on/off.  But if you show one layer to edit it, then do the reverse, it doesn't turn all hidden Layers back on again.   Am I missing something or is there a better way to do this?  Some of my documents contain a LOT of layers.
    Thanks,
    Nancy O.

    Glad there was something out there, Nancy. I basically fidgeted around Google because I needed to know as well.
    R_Kelly got me curious about Morris' site and I found a script that allows me to bring up recent files, checkmark the ones I want and open them all in one click. "Open Recent Files". Adobe Photoshop Scripts | Trevor Morris Photographics
    So a thanks and a Like to R_Kelly!

  • Saving layer visibility as views does not work - CS5 for Windows

    I've read about it multiple places, even watched a video where it supposedly works. But when I toggle layer visibility and save as a new view, it doesn't seem to work.
    Here's the video: http://layersmagazine.com/illustrator-different-views.html
    Any ideas?

    Layer Visibility Variables – A short introduction
    1. Open a new document and name Layer 1 "Cyan"
    2. Add three main layers and name them "Magenta", "Yellow" and "Black"
    3. On each layer draw a shape and colour it according to the Layer's name.
    4. Save the file as "My_first_Variables.ai"
    5. Target Layer "Cyan" (click the circle at the right hand of the Layer's name)
    6. At the bottom of the Variables Palette click the Make Visibility Dynamic button
    Now you've created your first Layers Visibility Variable. Continue with
    7. Target Layer "Magenta" and click the Make Visibility Dynamic button in the Variables Palette
    8. Target Layer "Yellow" and click the Make Visibility Dynamic button in the Variables Palette
    9. Target Layer "Black" and click the Make Visibility Dynamic button in the Variables Palette
    Done. You have created four Layers Visibility Variables. The next step is to define the Data Sets:
    1. Layers Palette: Show Layer "Cyan" and hide all other layers
    2. Variables Palette: Click the Capture Data Set button (the camera icon)
    3. Layers Palette: Show Layer "Magenta" and hide all other layers. Now in the Variables Palette the first Data Set becomes italic indicating that you can create an new Data Set. So click the Capture Data Set button to define Data Set 2.
    4. Layers Palette: Show Layer "Yellow" and hide all other layers
    5. Variables Palette: Click the Capture Data Set button to create Data Set 3
    6. Show Layer "Black" and hide all other layers. Click the Capture Data Set button to create Data Set 4
    7. Show all layers and click the Capture Data Set button to create Data Set 5
    Done. You have created five Data Sets. Just play around by toggling them in the Variables Palette (Next/Previous Data Set button or via Popup menu/Flyout menu) and see one feature among other things: The Variables Palette as a remote control of the Layers Palette. If you like, rename the Data Sets according to the Layers names for instance.
    Now it's time to create some simple Save/Export actions in order to Batch save/export Layers as single files. For example:
    Export as PSD
    1. Open any file
    2. Actions Palette: Create new action and name it "Export Layers as PSD"
    3. File > Export as PSD. Choose any destination folder, the desired options in the Photoshop Options dialog and hit Enter
    4. Click the Stop Recording button in the Actions Palette and disable the Show dialog icon (on the left hand of the action's name)
    Save as PDF
    1. Open any file
    2. Actions Palette: Create new action and name it "Save Layers as PDF"
    3. File > Save as PDF. Choose any destination folder, the desired options in the PDF Options dialog and hit Enter
    4. Click the Stop Recording button in the Actions Palette and disable the Show dialog icon (on the left hand of the action's name)
    Now start the Batch command:
    1. Switch to the original "My_first_Variables.ai"
    2. Actions Palette Flyout menu: Batch
    3. In the Play Area choose the Export Layers as PSD action
    4. Choose Data Sets as the source
    5. In the Destination Area enable the Override Action Export Commands option and choose any destination folder
    6. Choose an option for the File name and hit Enter to start the Batch
    Done. All four Layers plus the fifth Data Set have been exported as single Photoshop files. Repeat the Batch with the Save Layers as PDF action (don't forget to enable the Override Action Save Commands) and, of course, create your own actions, experiment with other file formats, figure out some harmless bugs especially in conjunction with the PDF compatible AI format when placing in InDesign.

  • "Toggle mask visibility" shortcut?

    Is there a keyboard shortcut for "Toggle mask visibility"? I can do this by ALT-clicking on the layer's mask, but I would like to assign a shortcut for this on a button on my Wacom Intuos 4 drawing tablet. So far I haven't found a menu shortcut for it, nor have I found a way to add my own (Edit-Keyboard shortcuts) as the function isn't listed there.

    There are some big difference between  (Alt+Click) on the Layer's Layer Mask Icon in the Layer palette. There does not have to be a current target the cursor position sets the target. And (Alt-Click) is a toggle.   An Action step "Select mask channel is quite different.  If nothing is targeted. If the top layer has a layer mask it will become the Photoshop target and be displayed grayscale in the image window.  If there is a currently targeted layer that has a layer mask that layer's layer mask will become the Photoshop target and it will be displayed grayscale in the image window. For any other document state that step will fail with an error message like its  not a currently available option.  The step is also not a toggle.
    To tell the truth I do understand why the op ask the question.  For the toggle requires a mouse position and a click.  With their Wacom Intuos4 they can set a express key to Alt.  The tablet may even be come configured the way. When they press the express and click the pen it will be a toggled.  In Any case there needs to be a mouse position and a click to set the target weather they use the (Alt-Click) toggle or they use an action to display a Layer mask in the image window grayscale.  Something has to target a layer with a layer mask.  In an action that state may exist as a result of prior steps.  An action with "Select mask channel"  as the first step can easily fail for the current Photoshop target may not a the requited layer mask.

  • Need scripting help to toggle OCG visibility

    I need the ability to toggle the visibility of OCGs in a PDF file. Does anyone have a script example of how to do it? I would like to use a button to toggle between visible or hidden. Below is a fence diagram which my boss would like me to make so that the sections can be hidden to reveal the section behind. I know I can do this from the Layers panel but he wants it to be by a button.

    Thanks, George,
    I looked at the page you referenced. I'm still not sure how one would go about writing the Javascript. I'm planning on having a small version of the diagram in outline form as below. For each circle I need to have an if/else statement which would say something like If visibility of layer x is true; set it to false; else if visibility of layer x is false; set it to true so that different configuration could be revealed by clicking on the numbers.
    Any help would be greatly appreciated.

  • Toggle Group Visibility while sorting results in error

    I have a custom website in which we have embedded SQL Server Reporting Services reports.  
    The report in question has 3 nested row groups.  The parent group is always shown, but the 2 child groups default to hidden and have their visibility toggled by the parent group.  This works fine by itself.
    There are several columns for which we've enabled Interactive Sorting.  This also works fine by itself.  
    The problem occurs when the user sorts a column first, then toggles the visibility of the child groups.  Toggling the groups before sorting works fine for some reason.  The Error only occurs when sorting, then toggling visibility.
    The error is a reporting services error.  It says 
    The value for parameter 'SortItem' is not specified. It is either missing from the function call, or it is set to null. (rsMissingParameter) Get
    Online Help
    There is no parameter in the report called "SortItem", so this seems to be some internal error which is triggered from this specific sequence of events.
    Additionally, this error only occurs when the report is embedded in the custom website.  This error does not occur when running the report in the standard reporting server website or in Visual Studio.  
    Any ideas on how to fix this?

    Hi Jahbreeze,
    Thank you for your question.
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated. 
    Thank you for your understanding and support.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • Interactive PDF file with layer visibility issue.

    I have created an interactive PDF file in InDesign CC and added buttons in Acrobat CC. The buttons reveal layers with the layer visibility action under properties. The problem is that Reader takes 3-4 seconds to show the layer in full screen mode and flickers in any other view.

    For that kind of volume and unattended operation, you want InDesign Server – which is the server/high volume edition of INDD.
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Thu, 3 Nov 2011 06:58:07 -0700
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: How do I create an interactive PDF file with variable data
    Re: How do I create an interactive PDF file with variable data
    created by Ti26E31DSxxx<http://forums.adobe.com/people/Ti26E31DSxxx> in PDF Language and Specifications - View the full discussion<http://forums.adobe.com/message/4005459#4005459

  • Newbie q: rollover using layer visibility?

    Forgive the newbie question, I'm new to Fireworks (having used instead Photoshop and Golive since Golive 1.0).
    I have a layered Photoshop document I've brought into Fireworks (and the various layers have been organised into layer groups). I have series of bitmap graphic objects that I want the user to point at, and click on. What I want is to have a different bitmap graphic show when the user rolls over it (the graphics are gray text: point at a word and it turns white)
    The page, as it stands, has a single base layer where the bitmap items are gray and then, on top of this base layer, an individual layer for each graphic, but white this time (in register, of course, over their non-rolled over counterparts in the base layer). I've drawn slices over each text item, and I was hoping that I could use states (a new concept for me), along with layer visibility, to have a nice rollover behaviour.
    I had thought I could make a new state, then turn on visibility of a layer, and use that new state as the basis of a Swap Image rollover behaviour (or, when that didn't work, a Simple rollover behaviour). I'm not having any success, any layer that I make visible in one state, then becomes visible in the other state.
    The way I used to do this was to export two graphics from Photoshop for a rollover (one for mouseout, one for mousein), and to build the rollover behaviour that way. I'm pretty sure that Fireworks will do this too, but I'm really hoping that it's become more efficient than that, as I was building rollovers this way quite a long time ago! (anyone remember the Apple Media Tool?).
    I've read quite a bit about States, Layers and Pages in several tutorial websites (Adobe and others), and I'm afraid that I'm still not straight on how to achieve what I'm looking for. Can anyone help me out?
    Cheers!
    Chas

    That's great!
    Been using photoshop for a while and never noticed that Fill... menu item!
    Brilliantly simple and simply brilliant. There's a few actions I'll need to amend now.
    Thanks you so much for the speedy response

  • Save Layer Visibility Settings

    So, I have an Illustrator CS5 file with 30 different layers of artwork that I've been using to create PDF city maps.  Is there a way that I can save layer visibility settings for each map? i.e. For one map, I want these 8 layers to be visible, for another, I want 6 other layers to be visible (and so on).
    I'm also using sublayers but I'm just wondering if there's a script or something that will remember certain layer visibility settings. Artboards?
    Thanks

    You might try using View>New View. It will entail going through and setting each map as you would like by turning on and off the layers you want and then save that view with a distinctive name. Then you can use the saved views to act as Layer Comps.

  • Save layer visibility states into new PDF

    Hi there,
    I have a document that is a floorplan of a building. I have created color layers to highlight specific rooms (e.g. Office 1, Office 2, Women's/Men's room, Storage room, etc.). I would like to save the PDF (overwrite or as a new PDF) with certain layers turned on so that the next time it is opened (by me or a client), the highlighted rooms are still showing. I found a somewhat convoluted way of doing this in Acrobat using Bookmarks and tying a "Set layer visibility" Action to it, but I am not sure how to go about doing it in Reader. Or should I look into creating a button or JavaScript in Acrobat so that it can complete the same tasks in Reader?
    Thank you for your help,
    Serge

    You might try using View>New View. It will entail going through and setting each map as you would like by turning on and off the layers you want and then save that view with a distinctive name. Then you can use the saved views to act as Layer Comps.

  • InDesign button changes layer visibility?

    Hi all,
    I'm in InDesign CS4. I want to produce an 8-page PDF online publication that contains a tutorial about InDesign (what else?!)
    Also, imagine a JavaScript Button object on the bottom of each page that, when clicked, shows a layer of graphics for Windows screenshots, and when clicked again, shows a layer of Mac OS X screenshots.
    So the text stays the same, but the button would change between accompanying Mac or Windows screenshots. How cool would that be?!
    I see in the button panel, that I can choose from things like close, exit, goto anchor, next page, previous page, URL, movie, sound, view zoom...
    But can the button be made to hide or show a layer of graphics in the PDF (assuming an Acrobat version at least v6 or newer).
    Does that have to be done in Acrobat Pro? Can it be done at all?
    Mike Witherell in Maryland

    Mike,
    Layer visibility changes can only be done within Acrobat.
    Show/Hide fields can be done within ID.
    Yes, if you screw up a button in ID, you can change it in InDesign, but I warn you, the interface for buttons in Acrobat is much different than ID and even the most simple button action becomes very complicated in Acrobat.

  • Layer Visibility Javascript

    Hi,
    I am working on a model of a dovetailed drawer. It is a simple model, but it must be made to show different design options - to be able to switch them back and forth.
    I have tried to use Daniel Beardsley's "Build Your Own Car Prototype" as a template for my own presentation. All seemed to go fairly smoothly until it came time to swap the Layer Visibility code around to my own needs.
    I want the user to be able to choose between three different deisgn options and so I put each mesh on a separate layer. However, I do not get the effect I am seeking. The console returns:
    TypeError: context3D.LayerManager has no properties
    2:AcroForm:Button2:Annot5:MouseUp:Action1
    How can I set this up correctly?
    - David

    Thank you very much, Daniel, for your further input.
    I have changed the document as you suggested, however it did not work for me. Perhaps I omitted something vital.
    Looking over the layers.js carefully I see that at the top a number of methods are named in the Layer Object Constructor, and that at the bottom a number of functions are offered as options for the user of the script. It would seem to me that the functions use these methods to make changes in the layers of the 3D object via its source code.
    Considering the above, it seems best to me that I use the functions offered and then define the variable and its properties as you suggest. Editing Layers.js like this:
    // The following functions can be called by any PDF document
    // that includes this file as part of its 3D Annotation JavaScript.
    // the rest of the code in this file (above) is private and can only
    // be accessed via the layersManager.
    var layersManager = new LayersManagerObject(4);
    function addPartToLayer( partName, layerIndex )
    layersManager.addPartToLayer( partName, layerIndex );
    layersManager.addPartToLayer( "Bottom", 0 );
    layersManager.addPartToLayer( "Straight01", 1 );
    layersManager.addPartToLayer( "DeepU02", 2 );
    layersManager.addPartToLayer( "Crescent03", 3 );
    function displayLayer( layerIndex )
    layersManager.displayLayer( layerIndex );
    layersManager.displayLayer( 0 );
    layersManager.displayLayer( 1 );
    layersManager.displayLayer( 2 );
    layersManager.displayLayer( 3 );
    Then set up the button to "displayLayer":
    var context3D = getAnnots3D(0)[0].context3D;
    context3D.layersManager.displayLayer( 1 );
    Unfortunately this does not seem to work either, but instead returns an error that "function is not a function" . . . :(
    - David

  • Layer Visibility Overrides

    I'm having an issue with InDesign's Layer Visibility Options when importing a PSD file. I use the layer visibility option upon import of the PSD and shut off the layers I do not want showing. But then if I edit the PSD and add an additional layer, the file updates in InDesign and turns on every single layer again. Is there a way around this? It makes the layer options kind of useless to me.

    When I import the PSD into InDesign CS3, I make sure it says to preserve the layer overrides, but if I end up adding a new layer to the PSD, when it updates in InDesign the layer override goes haywire and shows all the layers.

Maybe you are looking for