.net - Autocad C# delete layout viewports -


can me create c# code delete viewport in layouts.

i've tried code delete viewport, compiles no problem, doesn't delete viewport, not sure doing wrong here.

thanks

public class class1 { [commandmethod("haha")]

    public static void createmodelviewports()     {         document doc = application.documentmanager.mdiactivedocument;         database db = doc.database;         using (transaction trans = db.transactionmanager.starttransaction())         {             var viewporttable = (viewporttable)trans.getobject(db.viewporttableid, openmode.forwrite);             foreach (objectid id in viewporttable)             {                 var viewport = (viewporttablerecord)trans.getobject(id, openmode.forread);                 // delete active viewport                      viewport.upgradeopen();                     viewport.erase();              }              trans.commit();         }     }  } 

you erasing viewporttablerecord not viewport.

you need blocktablerecordid layout want erase viewports. iterate through every objectid in blocktablerecord see if viewport. can delete them

so if want delete viewports in current layout (you must in paper space work, because doesn't check)

[commandmethod("goo")]     public static void test()     {         database db = application.documentmanager.mdiactivedocument.database;         using (transaction trans = db.transactionmanager.starttransaction())         {             layoutmanager lm = layoutmanager.current;             string currentlo = lm.currentlayout;             dbdictionary layoutdict = trans.getobject(db.layoutdictionaryid, openmode.forread) dbdictionary;             layout currentlo = trans.getobject((objectid)layoutdict[currentlo], openmode.forread) layout;             blocktablerecord blktblrec = trans.getobject(currentlo.blocktablerecordid, openmode.forread) blocktablerecord;             foreach (objectid id in blktblrec)             {                 viewport vp = trans.getobject(id, openmode.forread) viewport;                 if (vp != null)                 {                     vp.upgradeopen();                     vp.erase();                 }             }             trans.commit();         }     } 

Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -