/// <summary> /// Creates a transition fitting. /// </summary> /// <param name="curve1">The curve1.</param> /// <param name="curve2">The curve2.</param> /// <returns></returns> public static Fitting Transition(AbstractMEPCurve curve1, AbstractMEPCurve curve2) { Utils.Log(string.Format("Fitting.Transition started...", "")); CivilConnection.MEP.Connector s = null; CivilConnection.MEP.Connector e = null; bool found = false; foreach (CivilConnection.MEP.Connector c1 in curve1.Connectors()) { foreach (CivilConnection.MEP.Connector c2 in curve2.Connectors()) { if (c1.Domain == c2.Domain && c1.ConnectorType == c2.ConnectorType) { if (c1.Origin.IsAlmostEqualTo(c2.Origin)) { s = c1; e = c2; found = true; break; } } } if (found) { break; } } try { Utils.Log(string.Format("Fitting.Transition completed.", "")); return(new Fitting(s.InternalConnector, e.InternalConnector, "Transition")); } catch (Exception ex) { Utils.Log(string.Format("ERROR Fitting.Transition: {0}", ex.Message)); Utils.Log(string.Format("Fitting.Transition completed.", "")); return(new Fitting(s.InternalConnector, e.InternalConnector, "Connection")); } }
/// <summary> /// Connectors on the MEPCurve. /// </summary> /// <returns></returns> public CivilConnection.MEP.Connector[] Connectors() { Utils.Log(string.Format("AbstractMEPCurve.Connectors started...", "")); CivilConnection.MEP.Connector[] connectors = new CivilConnection.MEP.Connector[InternalMEPCurve.ConnectorManager.Connectors.Size]; int i = 0; foreach (Autodesk.Revit.DB.Connector c in InternalMEPCurve.ConnectorManager.Connectors) { connectors[i] = new CivilConnection.MEP.Connector(c); i = i + 1; } Utils.Log(string.Format("AbstractMEPCurve.Connectors completed.", "")); return(connectors); }
/// <summary> /// Connectorses this instance. /// </summary> /// <returns></returns> protected CivilConnection.MEP.Connector[] Connectors() { Utils.Log(string.Format("Fitting.Connectors started...", "")); Autodesk.Revit.DB.FamilyInstance fi = InternalElement as Autodesk.Revit.DB.FamilyInstance; CivilConnection.MEP.Connector[] connectors = new CivilConnection.MEP.Connector[fi.MEPModel.ConnectorManager.Connectors.Size]; int i = 0; foreach (Autodesk.Revit.DB.Connector c in fi.MEPModel.ConnectorManager.Connectors) { connectors[i] = new CivilConnection.MEP.Connector(c); i = i + 1; } Utils.Log(string.Format("Fitting.Connectors completed.", "")); return(connectors); }