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

Revitte Bir Bölge Planı “Plan Region” Oluşturma

Revit’te plan görünüşünün geri kalanı için kullanılan kesme düzleminden farklı bir yükseklikte bir kesme düzlemi …

Bir cevap yazın

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

Yardıma mı ihtiyacınız var? Chat with us
Bir görüşme başlatmak için lütfen önce gizlilik politikamızı kabul edin.