dwg import option - SetLayerSelection doesn't work

dwg import option - SetLayerSelection doesn't work

Eri.Myalitsin
Contributor Contributor
870 Views
1 Reply
Message 1 of 2

dwg import option - SetLayerSelection doesn't work

Eri.Myalitsin
Contributor
Contributor

Hello everyone,

I am trying to set the dwg's layers to import into Revit by using 'SetLayerSelection'.

But it doesn't work with the following code:

 

// DWG Import Options
DWGImportOptions dwgImportOption = new DWGImportOptions();
ICollection<string> layerSelection = new List<string>() { "layername" };

 

dwgImportOption.ColorMode = Autodesk.Revit.DB.ImportColorMode.BlackAndWhite;
dwgImportOption.CustomScale = 0.0;
dwgImportOption.Unit = Autodesk.Revit.DB.ImportUnit.Millimeter;
dwgImportOption.OrientToView = true;
dwgImportOption.Placement = Autodesk.Revit.DB.ImportPlacement.Origin;
dwgImportOption.ThisViewOnly = false;
dwgImportOption.SetLayerSelection( layerSelection );

 

I would highly appreciate if you could support me.

Thank you.

0 Likes
Accepted solutions (1)
871 Views
1 Reply
Reply (1)
Message 2 of 2

Eri.Myalitsin
Contributor
Contributor
Accepted solution

 

There was the same problem as mentioned on this article:

http://thebuildingcoder.typepad.com/blog/2015/12/au-ioc-banks-and-not-to-delete-while-iterating.html

 

error.jpg

 

The following code made the error:

 

// View in current document
FilteredElementCollector coll = new FilteredElementCollector(doc);
coll.OfClass(typeof(View));

foreach(Element e in coll)
{     			
    if (e.Name == "Z0")
    {
        View view = e as View;
        imported = doc.Import(m_fileName, dwgImportOption, view, out elementId);
    }
}

Solution was like this:

 

 

// View in current document
FilteredElementCollector coll = new FilteredElementCollector(doc);
var viewIds = coll.OfClass(typeof(View)).ToElementIds();

foreach(var id in viewIds)
{
    var view = doc.GetElement(id) as View;
    if (view.Name == "Z0")
    {
        imported = doc.Import(m_fileName, dwgImportOption, view, out elementId);
    }
}

 

0 Likes