Recommended Posts

Posted

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

 

 

 

Posted

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());
            }
        }

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...