private void Inspect(object sender, EventArgs e) { ICollection <ElementId> selectedIds = UIDocument.Selection.GetElementIds(); if (0 == selectedIds.Count) { this.richTextBoxInspectResult.AppendText("No selected items.\n"); } else { foreach (ElementId id in selectedIds) { if (FindSurfaceRevitPlugin.DirectShapeEngine.ContainDirectShape(id)) { DirectShapeBase dsb = FindSurfaceRevitPlugin.DirectShapeEngine.GetShape(id); switch (dsb.ShapeType) { case ShapeTypes.Plane: Write(dsb as DirectPlane); break; case ShapeTypes.Sphere: Write(dsb as DirectSphere); break; case ShapeTypes.Cylinder: Write(dsb as DirectCylinder); break; case ShapeTypes.Cone: Write(dsb as DirectCone); break; case ShapeTypes.Torus: Write(dsb as DirectTorus); break; } } } } }
/// <summary> /// Unhides the shape. /// </summary> /// <param name="name">The name of the shape</param> public void UnhideDirectShape(string name) { if (m_direct_shape_list.Any(x => x.Name == name) == false) { return; } DirectShapeBase ds = m_direct_shape_list.Find(x => x.Name == name); ds.Unhide(); }
/// <summary> /// Removes the shape. /// </summary> /// <param name="element_id">The element id of the shape</param> public void RemoveDirectShape(ElementId element_id) { if (m_direct_shape_list.Any(x => x.ElementId == element_id) == false) { return; } DirectShapeBase ds = m_direct_shape_list.Find(x => x.ElementId == element_id); m_direct_shape_list.Remove(ds); ds.Delete(); }
/// <summary> /// Removes the shape. /// </summary> /// <param name="name">The name of the shape</param> public void RemoveDirectShape(string name) { if (m_direct_shape_list.Any(x => x.Name == name) == false) { return; } DirectShapeBase ds = m_direct_shape_list.Find(x => x.Name == name); m_direct_shape_list.Remove(ds); ds.Delete(); }