Message 1 of 10

Not applicable
05-10-2018
06:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
I'm trying to use a trick of transactions. I remove everything from the wall and check the intersection of the edge of the wall and the line from the side of the room. But I have an error when working with
ICollection <ElementId> generatingElementIds = wall.GetGeneratingElementIds (edges [0]);
An unhandled exception of type 'System.AccessViolationException' occurred in RevitDBAPI.dll
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
What am I doing wrong?
SetComparisonResult intersectionPoint = SetComparisonResult.Disjoint; using (Transaction ff=new Transaction(doc,"Get intersections")) { ff.Start(); using (SubTransaction deleteTransaction = new SubTransaction(doc)) { deleteTransaction.Start(); if (idsFamilyInstance.Count > 0) { ICollection<Autodesk.Revit.DB.ElementId> deletedIdSet = new List<ElementId>(); deletedIdSet = doc.Delete(idsFamilyInstance); if (0 == deletedIdSet.Count) { throw new Exception("Deleting the selected elements in Revit failed."); } } doc.Regenerate(); Options optionswall = new Options(); optionswall.ComputeReferences = true; GeometryElement geometryElement = wall.get_Geometry(optionswall); foreach (GeometryObject geometry in geometryElement) { Solid geomSolidwall = geometry as Solid; // Get the faces foreach (Face face in geomSolidwall.Faces) { // doc.Regenerate(); intersectionPoint = face.Intersect(line); if (intersectionPoint != SetComparisonResult.Disjoint) { break; } } } deleteTransaction.RollBack(); doc.Regenerate(); } ff.Commit(); } if (intersectionPoint != SetComparisonResult.Disjoint) { ICollection<ElementId> generatingElementIds = wall.GetGeneratingElementIds(edges[0]); foreach (ElementId generatingElementId in generatingElementIds) { Element wallfromgenerating = doc.GetElement(generatingElementId); if (wallfromgenerating is FamilyInstance) { } }
Solved! Go to Solution.