public static Element RequestAnalysisResultInstanceSelection(UIDocument doc, string message, dynElementSettings settings) { try { View view = doc.ActiveView as View; SpatialFieldManager sfm = SpatialFieldManager.GetSpatialFieldManager(view); Element AnalysisResult; if (sfm != null) { sfm.GetRegisteredResults(); Selection choices = doc.Selection; choices.Elements.Clear(); //MessageBox.Show(message); settings.Bench.Log(message); Reference fsRef = doc.Selection.PickObject(ObjectType.Element); if (fsRef != null) { AnalysisResult = doc.Document.get_Element(fsRef.ElementId) as Element; if (AnalysisResult != null) { return(AnalysisResult); } else { return(null); } } else { return(null); } } else { return(null); } } catch (Exception ex) { settings.Bench.Log(ex.Message); return(null); } }
public static Face RequestFaceSelection(UIDocument doc, string message, dynElementSettings settings) { try { Face f = null; Selection choices = doc.Selection; choices.Elements.Clear(); //MessageBox.Show(message); settings.Bench.Log(message); //create some geometry options so that we computer references Autodesk.Revit.DB.Options opts = new Options(); opts.ComputeReferences = true; opts.DetailLevel = DetailLevels.Medium; opts.IncludeNonVisibleObjects = false; Reference faceRef = doc.Selection.PickObject(ObjectType.Face); if (faceRef != null) { //the suggested new method didn't exist in API? f = faceRef.GeometryObject as Face; GeometryElement geom = faceRef.Element.get_Geometry(opts); foreach (GeometryObject geob in geom.Objects) { Solid faceSolid = geob as Solid; if (faceSolid != null) { foreach (Face testFace in faceSolid.Faces) { if (testFace.Area == f.Area) { f = testFace; } } } } } return(f); } catch (Exception ex) { settings.Bench.Log(ex.Message); return(null); } }
public static FamilyInstance RequestFamilyInstanceSelection(UIDocument doc, string message, dynElementSettings settings) { try { FamilyInstance fi = null; Selection choices = doc.Selection; choices.Elements.Clear(); //MessageBox.Show(message); settings.Bench.Log(message); Reference fsRef = doc.Selection.PickObject(ObjectType.Element); if (fsRef != null) { fi = doc.Document.get_Element(fsRef.ElementId) as FamilyInstance; if (fi != null) { return(fi); } else { return(null); } } else { return(null); } } catch (Exception ex) { settings.Bench.Log(ex.Message); return(null); } }
public static Curve RequestModelCurveSelection(UIDocument doc, string message, dynElementSettings settings) { try { ModelCurve c = null; Curve cv = null; Selection choices = doc.Selection; choices.Elements.Clear(); //MessageBox.Show(message); dynElementSettings.SharedInstance.Bench.Log(message); Reference curveRef = doc.Selection.PickObject(ObjectType.Element); //c = curveRef.Element as ModelCurve; c = dynElementSettings.SharedInstance.Revit.ActiveUIDocument.Document.GetElement(curveRef) as ModelCurve; if (c != null) { cv = c.GeometryCurve; } return(cv); } catch (Exception ex) { settings.Bench.Log(ex.Message); return(null); } }