Author Topic: Viewport Layers Set To "Frozen" Are Still Visible  (Read 10571 times)

0 Members and 1 Guest are viewing this topic.

MGorecki

  • Guest
Viewport Layers Set To "Frozen" Are Still Visible
« on: July 11, 2012, 07:00:10 PM »
I have only one layout in the drawing.  When the code runs, it adds a new layout to the drawing from a template.  A dialog pops up and asks which layers they want to see in the new layouts viewport.  It also asks which layers they do not want to see in all the other layouts viewports (because a new layer was added and if there are many more layouts it will freeze the selected layers in all the other viewports).  When the program is done running, the new layout looks great.  It shows the layers I want to see, but, the existing layout still looks lthe same.  The layers are all still visible, even though the layer manager says that the layers I told to freeze are frozen.  It's like it's just not finishing up and ending the last part.

Here's the code that's supposed to freeze all the selected layers in all the other layouts viewports:

Code - vb.net: [Select]
  1.     ' Freezes the selected layers in all other existing viewport layouts
  2.     Public Sub freezeOtherLayouts(ByVal pageNumber As Integer, ByVal layersToFreezeLayerIds As ObjectIdCollection)
  3.         Dim doc As Document = Application.DocumentManager.MdiActiveDocument
  4.         Dim db As Database = doc.Database
  5.         Dim ed As Editor = doc.Editor
  6.         Dim vp As Viewport = Nothing
  7.         Dim viewPortFound As Boolean
  8.         Dim freezeVPtrans As Transaction = db.TransactionManager.StartTransaction()
  9.  
  10.         Try
  11.             Dim myBT As BlockTable = db.BlockTableId.GetObject(OpenMode.ForRead)
  12.             For Each btrID As ObjectId In myBT
  13.                 Dim myBTR As BlockTableRecord = btrID.GetObject(OpenMode.ForRead)
  14.                 ' If the block table record is a layout
  15.                 If myBTR.IsLayout Then
  16.                     viewPortFound = False
  17.                     If Not myBTR.Name = "*Model_Space" Then
  18.                         Dim layOut As Layout = myBTR.LayoutId.GetObject(OpenMode.ForRead)
  19.                         ' If the layout is not the new layout
  20.                         If layOut.TabOrder <> pageNumber Then
  21.                             For Each id As ObjectId In myBTR
  22.                                 Dim obj As DBObject = id.GetObject(OpenMode.ForWrite)
  23.                                 ' If the object is a viewport (there is a model viewport which is found first, we want the second one)
  24.                                 If TypeOf obj Is Viewport And viewPortFound = True Then
  25.                                     Dim vpref As Viewport = DirectCast(obj, Viewport)
  26.                                     ' Selected Viewport for write.
  27.                                     vp = freezeVPtrans.GetObject(vpref.ObjectId, OpenMode.ForWrite)
  28.                                     Dim lt As LayerTable = freezeVPtrans.GetObject(db.LayerTableId, OpenMode.ForRead)
  29.                                     ' Freeze the selected layers in the viewports
  30.                                     vp.FreezeLayersInViewport(layersToFreezeLayerIds.GetEnumerator())
  31.                                     ed.Regen()
  32.                                     lt.Dispose()
  33.                                 End If
  34.                                 If TypeOf obj Is Viewport Then
  35.                                     viewPortFound = True
  36.                                 End If
  37.                             Next
  38.                         End If
  39.                     End If
  40.                 End If
  41.             Next
  42.         Catch
  43.             ed.WriteMessage("Error!")
  44.         Finally
  45.             freezeVPtrans.Commit()
  46.             freezeVPtrans.Dispose()
  47.         End Try
  48.     End Sub

I just don't understand why the layers I selected to freeze (in layersToFreezeLayerIds) is still visible when the layer manager for the viewport shows them frozen.

Thanks,
« Last Edit: July 12, 2012, 10:35:46 AM by MGorecki »

TheMaster

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #1 on: July 11, 2012, 07:04:49 PM »
Is the existing layout with the newly-frozen layers being regenerated?

trembre

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #2 on: July 11, 2012, 09:12:40 PM »
 I wrote a batch "unfreezer" for viewport frozen layers years ago in VBA.  I don't know whether the same rules would apply, but the only way I could find to affect the state of layers frozen/thawed by viewport was by directly modifying the viewports relevant XData.  I'd have to dig out the code to get the specifics, but for the code to work I had to copy the original viewport, delete it from the drawing, delete the appropriate XData records from the copy, then re-create it. 

 Whether you'd have to be so clunky in .NET (or even VBA - all I know is it worked!), I wouldn't know, but the lack of any viewport XData modification stands out to me as a possible issue.

MexicanCustard

  • Swamp Rat
  • Posts: 705
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #3 on: July 12, 2012, 07:25:53 AM »
instead of ed.Regen() try vp.UpdateDisplay()
Revit 2019, AMEP 2019 64bit Win 10

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #4 on: July 12, 2012, 10:30:48 AM »
Hi Bullfrog, I have the "ed.Regen()" in the code after it freezes the layers in the viewport.

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #5 on: July 12, 2012, 10:34:37 AM »
Hello Mexican Custard, I tried that just now, but it doesn't make a difference.  Thanks though.

Delegate

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #6 on: July 12, 2012, 12:06:22 PM »
I did not have any problem getting the freezelayersinviewport to work and did not need vp.updatedisplay or ed.regen.

Try this code and see if it works on your computer - basically it freezes all layers in all viewports apart from the layout viewport. Then maybe we can see if the problem is elsewhere.

Code - C#: [Select]
  1. using System;
  2. using Autodesk.AutoCAD.Runtime;
  3. using Autodesk.AutoCAD.ApplicationServices;
  4. using Autodesk.AutoCAD.DatabaseServices;
  5. using Autodesk.AutoCAD.Geometry;
  6. using Autodesk.AutoCAD.EditorInput;
  7.  
  8. // This line is not mandatory, but improves loading performances
  9. [assembly: CommandClass(typeof(AutoCAD_CSharp_plug_in1.MyCommands))]
  10.  
  11. namespace AutoCAD_CSharp_plug_in1
  12. {
  13.  
  14.    
  15.     public class MyCommands
  16.     {
  17.        
  18.         [CommandMethod("MyGroup", "MyCommand", "MyCommandLocal", CommandFlags.Modal)]
  19.         public void MyCommand() // This method can have any name
  20.         {
  21.             Document acDoc = Application.DocumentManager.MdiActiveDocument;
  22.             Database acCurDb = acDoc.Database;
  23.             ObjectIdCollection ids = new ObjectIdCollection();
  24.             using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
  25.             {
  26.                 LayerTable acLyrTbl;
  27.                 acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId,OpenMode.ForRead) as LayerTable;
  28.                 foreach (ObjectId item in acLyrTbl)
  29.                 {
  30.                     ids.Add(item);
  31.                 }
  32.  
  33.                 BlockTableRecord btr = acTrans.GetObject(acCurDb.CurrentSpaceId, OpenMode.ForRead) as BlockTableRecord;
  34.                 RXClass VPClass = RXObject.GetClass(typeof(Viewport));
  35.                 foreach (ObjectId item in btr)
  36.                 {
  37.                     if (item.ObjectClass == VPClass)
  38.                     {
  39.                         Viewport vp = acTrans.GetObject(item, OpenMode.ForWrite) as Viewport;
  40.                         if (vp.Number != 1)
  41.                         {
  42.                             vp.FreezeLayersInViewport(ids.GetEnumerator());
  43.                         }                  
  44.                     }
  45.                 }                
  46.                 acTrans.Commit();
  47.             }
  48.  
  49.         }        
  50.  
  51.     }
  52.  
  53. }
  54.  
  55.  


MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #7 on: July 12, 2012, 01:43:22 PM »
Hi Delegate,
Thank you for the code to try.  It did freeze all the layers in the new layout, but it did not change the layer visibility in the first layout viewport.
Could something be wrong with the first layout?  Maybe with the viewport itself?  I heard about viewports needing to be activated (though I'm not sure how to do that) before they can be changed.

Thanks,
Mark

Delegate

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #8 on: July 12, 2012, 03:30:11 PM »
Hi

Sorry this maybe as written. I should have said I've got the blocktablerecord from the CurrentSpaceID  so will only work on the active layout unless you've changed it to loop through the layouts.

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #9 on: July 12, 2012, 04:19:59 PM »
I'm new to a lot of the VB.Net stuff, you'll have to explain:
RXClass VPClass = RXObject.GetClass(typeof(Viewport));

What is this and what does it do?  How can I use it?

Thanks,
Mark

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #10 on: July 12, 2012, 04:30:06 PM »
Ok I changed the code so that affects all layouts:
Code - vb.net: [Select]
  1.     Public Sub FreezeAllInVPs()
  2.         ' This method can have any name
  3.         Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
  4.         Dim acCurDb As Database = acDoc.Database
  5.         Dim ids As New ObjectIdCollection()
  6.         Dim viewPortFound As Boolean, pageNumber As Integer = 2
  7.  
  8.         Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
  9.             Dim acLyrTbl As LayerTable
  10.             acLyrTbl = TryCast(acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead), LayerTable)
  11.             For Each item As ObjectId In acLyrTbl
  12.                 ids.Add(item)
  13.             Next
  14.  
  15.             'Dim btr As BlockTableRecord = TryCast(acTrans.GetObject(acCurDb.CurrentSpaceId, OpenMode.ForRead), BlockTableRecord)
  16.             Dim myBT As BlockTable = acCurDb.BlockTableId.GetObject(OpenMode.ForRead)
  17.             For Each btrID As ObjectId In myBT
  18.                 Dim myBTR As BlockTableRecord = btrID.GetObject(OpenMode.ForRead)
  19.                 ' If the block table record is a layout
  20.                 If myBTR.IsLayout Then
  21.                     viewPortFound = False
  22.                     If Not myBTR.Name = "*Model_Space" Then
  23.                         Dim layOut As Layout = myBTR.LayoutId.GetObject(OpenMode.ForRead)
  24.                         ' If the layout is not the new layout
  25.                         If layOut.TabOrder <> pageNumber Then
  26.                             Dim VPClass As RXClass = RXObject.GetClass(GetType(Viewport))
  27.                             For Each item As ObjectId In myBTR
  28.                                 If item.ObjectClass = VPClass And viewPortFound = True Then
  29.                                     Dim vp As Viewport = TryCast(acTrans.GetObject(item, OpenMode.ForWrite), Viewport)
  30.                                     If vp.Number <> 1 Then
  31.                                         vp.FreezeLayersInViewport(ids.GetEnumerator())
  32.                                     End If
  33.                                 End If
  34.                                 If item.ObjectClass = VPClass Then
  35.                                     viewPortFound = True
  36.                                 End If
  37.                             Next
  38.                             acTrans.Commit()
  39.                         End If
  40.                     End If
  41.                 End If
  42.             Next
  43.         End Using
  44.     End Sub

In the new layout I had selected 2 layers to remain visible.  They were still visible, but when you double pick in the viewport and check the layer manager it shows that all layers have been frozen.
In the original layout, all layers were visible, but when I double picked in the viewport and checked the layer manager, it also showed that all layers were frozen.

Delegate

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #11 on: July 12, 2012, 05:03:00 PM »
I'm new to a lot of the VB.Net stuff, you'll have to explain:
RXClass VPClass = RXObject.GetClass(typeof(Viewport));

What is this and what does it do?  How can I use it?

Thanks,
Mark

Its just another way of checking the type - could be circle, polyline etc.  Your method typeof means you have to cast to object before checking though won't make much difference unless large amount of items involved.

You can delete the viewportfound parts now. The vp.number <> 1 takes care of that. Sure someone will correct that if wrong.

Move the acTrans.commit to be above the End Using statement - your commiting before finishing.

If still not working maybe look at the calling code where you create the new layout - is it fully commited to database before your operations on layers and viewports? Throw in a ed.regen and vp.updatedisplay just to double check that to.

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #12 on: July 12, 2012, 05:12:14 PM »
I removed the viewportFound parts, and now all layers get frozen in paperspace (can't see the title block or anything in ps) but the viewport layers are still visible.

Delegate

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #13 on: July 12, 2012, 05:31:17 PM »
Oh dear read this and ignore what i Saïd  :ugly:

http://forums.autodesk.com/t5/NET/Layouts-and-Viewports/td-p/3128748

Also some info about activating layouts .

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #14 on: July 16, 2012, 05:48:24 PM »
Ok, I can't believe it was so simple.  In a previous sub, I forgot to close a transaction (smacking head).  All fixed now, but thank you all for your helpful support.

Delegate

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #15 on: July 17, 2012, 05:46:48 AM »
Thats great. I was playing around with the concepts for my own learning and came across a few problems of my own!

When adding viewports the layout needs to be current to use Layout.On otherwise you just get a rectangle that does not function in the layout.  Is there a way to add viewports to multiple layouts without making the layout current?? just to prevent the user see the layouts flicker across the screen  :lmao:

Also I found Layout.GetViewports did not work for viewports added by programme  to existing layouts but only viewport added to a new layout added by programme!
Database.GetViewports picked them all up though!

I tried deep cloning the viewport to multiple layouts , which worked but is buggy and unstable build. So don't use the addviewport extension shown below!


Code - C#: [Select]
  1. using System;
  2. using Autodesk.AutoCAD.Runtime;
  3. using Autodesk.AutoCAD.ApplicationServices;
  4. using Autodesk.AutoCAD.DatabaseServices;
  5. using Autodesk.AutoCAD.Geometry;
  6. using Autodesk.AutoCAD.EditorInput;
  7.  
  8. // This line is not mandatory, but improves loading performances
  9. [assembly: CommandClass(typeof(AutoCAD_CSharp_plug_in1.MyCommands))]
  10.  
  11. namespace AutoCAD_CSharp_plug_in1
  12. {
  13.     public class MyCommands
  14.     {
  15.         [CommandMethod("MyGroup", "MyCommand", "MyCommandLocal", CommandFlags.Modal)]
  16.         public void MyCommand() // This method can have any name
  17.         {
  18.             //layout to be skipped variables
  19.             int pageNumber = 1;
  20.             string layouttobeskipped = "";
  21.  
  22.             Document acDoc = Application.DocumentManager.MdiActiveDocument;
  23.             Database acCurDb = acDoc.Database;
  24.             ObjectIdCollection ids = new ObjectIdCollection();
  25.             using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
  26.             {
  27.                 //Get ID of all layers for later freezing
  28.                 LayerTable acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead) as LayerTable;
  29.                 foreach (ObjectId item in acLyrTbl)
  30.                 {
  31.                     ids.Add(item);
  32.                 }
  33.  
  34.                 //Get layout dictionary
  35.                 DBDictionary dLayouts = acTrans.GetObject(acCurDb.LayoutDictionaryId, OpenMode.ForRead) as DBDictionary;
  36.  
  37.                 //Add New layouts for example testing
  38.                 LayoutManager LM = LayoutManager.Current;
  39.                 if (!dLayouts.Contains("New Layout"))
  40.                 {
  41.                     LM.CreateLayout("New Layout");
  42.                     LM.CreateLayout("New Layout2");
  43.                 }
  44.                 else
  45.                 {
  46.                     if (dLayouts.Contains("New Layout2"))
  47.                     {
  48.                         LM.CreateLayout("New Layout3");
  49.                         LM.CreateLayout("New Layout4");
  50.                     }
  51.                 }
  52.  
  53.                 //Add a viewport to each layout
  54.                 foreach (DBDictionaryEntry item in dLayouts)
  55.                 {
  56.                     Layout la = acTrans.GetObject(item.Value, OpenMode.ForRead) as Layout;
  57.                     //Gets name of layout to be skipped for later layer freezing
  58.                     if (la.TabOrder == pageNumber)
  59.                     {
  60.                         layouttobeskipped = la.LayoutName;
  61.                     }
  62.                     if (la.LayoutName != "Model")
  63.                     {
  64.                         //Add New Viewport
  65.                         acTrans.addviewport(la, acCurDb);
  66.                         la.Dispose();
  67.                     }
  68.                 }
  69.  
  70.                 //Sets layout to be skipped
  71.                 Layout laSKIP = acTrans.GetObject(LM.GetLayoutId(layouttobeskipped), OpenMode.ForRead) as Layout;
  72.                 ObjectId BTRIDLayoutskipped = laSKIP.BlockTableRecordId;
  73.  
  74.                 //Cycle through database.viewport collection
  75.                 ObjectIdCollection IDsVP = acCurDb.GetViewports(false);
  76.                 foreach (ObjectId id in IDsVP)
  77.                 {
  78.                     Viewport vp = acTrans.GetObject(id, OpenMode.ForWrite) as Viewport;
  79.                     //Ignore layoutskipped
  80.                     if (vp.BlockId != BTRIDLayoutskipped)
  81.                     {
  82.                         vp.FreezeLayersInViewport(ids.GetEnumerator());
  83.                         vp.UpdateDisplay();
  84.                     }
  85.                     vp.Dispose();
  86.                 }
  87.                 acDoc.Editor.Regen();
  88.                 LM.Dispose();
  89.                 acTrans.Commit();
  90.             }
  91.         }
  92.     }
  93.  
  94.     public static class myExtensions
  95.     {
  96.         public static void addviewport(this Transaction acTrans, Layout la, Database acCurDb)
  97.         {
  98.             using (LayoutManager LM = LayoutManager.Current)
  99.             {
  100.                 //Get database.viewports
  101.                 ObjectIdCollection DBVPids = acCurDb.GetViewports(true);
  102.  
  103.                 if (DBVPids.Count == 0)
  104.                 {
  105.                     //No initialised layouts - Make first layout current
  106.                     //viewport will be created - though need to check variable setting
  107.                     LM.CurrentLayout = la.LayoutName;
  108.                 }
  109.  
  110.                 //Check layout for viewports and clone if exists
  111.                 ObjectIdCollection IDsVP = la.GetViewports();
  112.                 Viewport VpNew = new Viewport();
  113.                 if (IDsVP.Count != 0 && IDsVP.Count != 1)
  114.                 {
  115.                     Viewport vp = acTrans.GetObject(IDsVP[1], OpenMode.ForRead) as Viewport;
  116.                     ObjectIdCollection ids = new ObjectIdCollection();
  117.                     ids.Add(vp.ObjectId);
  118.                     IdMapping IDMAP = new IdMapping();
  119.                     acCurDb.DeepCloneObjects(ids, la.BlockTableRecordId, IDMAP, false);
  120.                     ObjectIdCollection IDsVP2 = la.GetViewports();
  121.                     VpNew = acTrans.GetObject(IDsVP2[IDsVP.Count], OpenMode.ForWrite) as Viewport;
  122.  
  123.                 }
  124.  
  125.                 if (IDsVP.Count <= 1)
  126.                 {
  127.                     if (IDsVP.Count == 0)
  128.                     {
  129.                         //Layout not initialized
  130.                         la.UpgradeOpen();
  131.                         la.Initialize();
  132.                         la.DowngradeOpen();
  133.                     }
  134.                     //No viewports but layout initialized
  135.                     //Find a viewport and clone it in
  136.                     DBVPids = acCurDb.GetViewports(false);
  137.                     ObjectIdCollection ids = new ObjectIdCollection();
  138.                     ids.Add(DBVPids[1]);
  139.                     IdMapping IDMAP = new IdMapping();
  140.                     acCurDb.DeepCloneObjects(ids, la.BlockTableRecordId, IDMAP, false);
  141.                     IDsVP = la.GetViewports();
  142.                     VpNew = acTrans.GetObject(IDsVP[1], OpenMode.ForWrite) as Viewport;
  143.                 }
  144.                 //Example Viewport Settings
  145.                 VpNew.CenterPoint = new Point3d(100, 100, 0);
  146.                 VpNew.Width = 500;
  147.                 VpNew.Height = 100;
  148.                 VpNew.UpdateDisplay();
  149.                 VpNew.Dispose();
  150.             }
  151.         }
  152.     }
  153.  
  154. }

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #16 on: July 17, 2012, 11:13:11 AM »
I've never tried to create a viewport on a layout, much less multiple layouts, but it sounds like something I'll end up looking into.  If I find anything, I'll let you know.
The funny thing about my code now is that after it's done running the viewports all look great, in that I'm getting what I wanted visually, but the layer manager is still being goofy.  I can double pick in the viewport that shows layer X and layer Y visible, then open the layer manager and see a number of layers including layer X and layer Y to be frozen.  It's like something just didn't quite finish.  I can save the drawing, close it and re-open it and the layer manager and the viewports are all just fine.  Weird.
Well thanks again for the info you posted.  I'm going to check out your code:
Code - C#: [Select]
  1.  //Sets layout to be skipped
  2. Layout laSKIP = acTrans.GetObject(LM.GetLayoutId(layouttobeskipped), OpenMode.ForRead) as Layout;
  3. ObjectId BTRIDLayoutskipped = laSKIP.BlockTableRecordId;
  4. //Cycle through database.viewport collection  
  5. ObjectIdCollection IDsVP = acCurDb.GetViewports(false);
  6. foreach (ObjectId id in IDsVP)
  7. {
  8. Viewport vp = acTrans.GetObject(id, OpenMode.ForWrite) as Viewport;
  9. //Ignore layoutskipped
  10. if (vp.BlockId != BTRIDLayoutskipped)
  11. {
  12. vp.FreezeLayersInViewport(ids.GetEnumerator());
  13. vp.UpdateDisplay();
  14. }
  15. vp.Dispose();
  16. }
  17. acDoc.Editor.Regen();
  18. LM.Dispose();
  19. acTrans.Commit();

Maybe that will help with the layer freeze and layer manager.

Jeff H

  • Needs a day job
  • Posts: 6150
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #17 on: July 17, 2012, 07:51:30 PM »
I know or was told that it was a confirmed bug when a LayerTableRecord IsHidden was true and you set it to false it would not show back in the UI.
 
There might be someway to refresh the manager, but to see if it is a similar problem, after running your code add a new layer then see if the layer manager updates.
 
 

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #18 on: July 18, 2012, 11:03:57 AM »
Hi Jeff,
I was able to add a layer, but the layers manager didn't change the fozen/thawed layers.
I tried a new test morning.  My code launches AutoCad 2010 (I'm using Visual Studio 2010 and the 2010 objectARX) and after running the program the layers are as I described.  So I launched the same drawing in AutoCad 2008 and ran the same program.  There was no issue at all with the layer manager and frozen/thawed layers.  In AutoCad 2008, the frozen layers were frozen and the thawed layers were thawed.

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #19 on: July 18, 2012, 11:11:17 AM »
I just tested it in AutoCad 2012 and it worked great.  The layer manager showed the correct forzen and thawed layers for all the viewports.  Have you heard of this kind of bug in AutoCad 2010?

MGorecki

  • Guest
Re: Viewport Layers Set To "Frozen" Are Still Visible
« Reply #20 on: July 20, 2012, 05:51:46 PM »
Ok, just installed the Service Pack 2 for AutoCad 2010.  That fixed the Layer Manager freeze/thaw issue.