Binding external references

By Virupaksha Aithal
API “Database.BindXrefs” can be used to bind the resolved external references. Below code shows the sample code to use “BindXrefs” API.

[CommandMethod("BX")]
public void BindXrefs()
{
    Document doc = Application.DocumentManager.MdiActiveDocument;
    Database db = doc.Database;
 
    ObjectIdCollection xrefCollection = new ObjectIdCollection();
 
    using (XrefGraph xg = db.GetHostDwgXrefGraph(false))
    {
        int numOfNodes = xg.NumNodes;
        for (int cnt = 0; cnt < xg.NumNodes; cnt++)
        {
            XrefGraphNode xNode = xg.GetXrefNode(cnt)
                                                as XrefGraphNode;
            if (!xNode.Database.Filename.Equals(db.Filename))
            {
                if (xNode.XrefStatus == XrefStatus.Resolved)
                {
                    xrefCollection.Add(xNode.BlockTableRecordId);
                }
            }
        }
    }
 
    if(xrefCollection.Count != 0)
        db.BindXrefs(xrefCollection, true);
 
}

Comments

5 responses to “Binding external references”

  1. What class do I have to invite
    ObjectIdCollection xrefCollection = new ObjectIdCollection();
    Was für Klasse muss ich da laden

  2. badziewiak Avatar
    badziewiak

    Autodesk.AutoCAD.DatabaseServices from acdbmgd.dll.

  3. Thank you but that is loaded
    Danke das ist aber geladen

  4. badziewiak Avatar
    badziewiak

    using Autodesk.AutoCAD.DatabaseServices;

    ObjectIdCollection xrefCollection = new ObjectIdCollection();
    or
    Autodesk.AutoCAD.DatabaseServices.ObjectIdCollection xrefCollection = new Autodesk.AutoCAD.DatabaseServices.ObjectIdCollection();

  5. No. Unfortunately this is not even
    Danke
    Nein geht leider auch nicht

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading