1372826956:AAFe2Py65GSQkfGiRnXuOQ-eD9yXcwMv988

AutoLISP Kullanarak Tüm PDF Sermelerini “Underlay” Kaldırma (Geri Yükleme)

sekil-01

Aşağıdaki AutoLISP kodu çizimdeki tüm PDF sermelerini “underlay” kaldırma (geri yükleme) “unload” işlemini göstermektedir. Kod ilgili PDF serme “underlay” referanslarını güncellemeyi gerekli kılmakte olup; böylece AutoCAD model alandaki grafikleri güncelleyebilmektedir. Bu işlem için, PDF serme “underlay” referans tanımlarını elde etmeki çin, PdfDefinition.GetPersistentReactorIds API (AutoCAD Programlama Arayüzü “AutoCAD Programing Interface”) kullanılmaktadır.

[CommandMethod(“PdfUnload”)]static public void PdfUnload()

{

Document doc = Application.DocumentManager.MdiActiveDocument;

Database db = doc.Database;

Editor ed = doc.Editor;

using (Transaction Tx = db.TransactionManager.StartTransaction())

{

DBDictionary nod = Tx.GetObject(db.NamedObjectsDictionaryId,

OpenMode.ForRead) as DBDictionary;

string defDictKey = UnderlayDefinition.GetDictionaryKey(typeof(PdfDefinition));

if (!nod.Contains(defDictKey))

return;

DBDictionary pdfDict = Tx.GetObject(nod.GetAt(defDictKey),

OpenMode.ForWrite) as DBDictionary;

foreach (DBDictionaryEntry entry in pdfDict)

{

PdfDefinition entryObj = Tx.GetObject(entry.Value,

OpenMode.ForWrite) as PdfDefinition;

entryObj.Unload();

ObjectIdCollection collection = entryObj.GetPersistentReactorIds();

foreach (ObjectId id in collection)

{

DBObject temObject = Tx.GetObject(id, OpenMode.ForRead);

if (temObject is PdfReference)

{

PdfReference pdfref = temObject as PdfReference;

pdfref.UpgradeOpen();

pdfref.RecordGraphicsModified(true);

}

}

}

Tx.Commit();

}

}

 

Hakkında Sertan Türkan

AutoCAD Beyni

Bunu da Kontrol edin

2.1.3 – Bodrum Kat – İç Duvarlar

Bodrum katının dış ve iç duvarlarının son düzeni, aşağıdaki bodrum katının çiziminde gördüğünüz gibi olacaktır …

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.