[ZWCad 2019] Zamrożenie wszystkich warstw oprócz aktywnej


Rekomendowane odpowiedzi

Witam,

 

Jestem świeżo po migracji ze starego Autocada na ZwCAD 2019 Pro. Większość rzeczy już ogarnąłem, ale nie działa mi jedna z aplikacji, których często używałem. Miałem napisanego (nie przeze mnie, taki mądry nie jestem :) ) takiego lispa:

(defun c:F ()
(command "-layer" "f" "*" "")
)
 

I po wciśnięciu komendy "f" zamrażało mi wszystkie warstwy poza aktywną. Niestety obecnie to nie działa. 

 

Pytanie:

- czy jest jakaś inna forma zamrożenia (chodzi mi właśnie o zamrożenie, nie zablokowanie) wszystkich warstw poza aktywną? 

- czy można tego lispa jakoś zmodyfikować? 

 

I jeszcze pytania z innej beczki: gdzie dodaje się ścieżkę do aktywowania dodatkowego katalogu z szablonami kreskowań? 

 

 

z góry dzięki za pomoc

Marcin

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

W c# mogłoby być tak:

 		/// <summary>
        /// Zamraża wszystkie warstwy oprócz aktywnej
        /// </summary>
        public static void Frezealllate()
        {
            try
            {
                // Get the current document and database
                zza.Document acDoc = zza.Application.DocumentManager.MdiActiveDocument;
                zzd.Database db = acDoc.Database;

                // Start a transaction
                using (zzd.Transaction acTrans = db.TransactionManager.StartTransaction())
                {
                    // Open the Layer table for read
                    zzd.LayerTable TablicaWarstw;
                    TablicaWarstw = acTrans.GetObject(db.LayerTableId,
                                                    zzd.OpenMode.ForRead) as zzd.LayerTable;                 


                    foreach (zzd.ObjectId warstwa in TablicaWarstw)
                    {
                        zzd.LayerTableRecord acLyrTblRec;
                        acLyrTblRec = acTrans.GetObject(warstwa, zzd.OpenMode.ForWrite) as zzd.LayerTableRecord;
                        if (warstwa != db.Clayer)
                        {                            
                            acLyrTblRec.IsFrozen = true;
                        }
                        
                    }

                    // Save the changes and dispose of the transaction
                    acTrans.Commit();
                }
            }
            catch (System.Exception ex)
            {               
                zza.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(ex.ToString());
            }
        }

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie