Beispiel #1
0
        /// <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"));
            }
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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);
        }