2 Replies Latest reply on Dec 12, 2016 4:15 AM by Francesco Giovinazzo

    IMMFeederSource Usage

      I am trying to to write a custom feeder tracing routine, but facing some issues.
      I am using the following ArcFM method:

      IMMFeederTracer.TraceFeeder(IGeometricNetwork, IMMFeederSource)

      MMFeederSource is simply initiated as new MMFeederSourceClass();.
      There does not seem to be any QI from IRow and IFeature to set the source.

      In the current form, the Feeder Manager starts but after a while throw an HResult 0x80044020 error.

      Any ideas how to initialize the feeder source?
      I could not find anything on the ArcFM Resource Center.

      Thanks in advance
      Ujjwal

        • Re: IMMFeederSource Usage

          OK...this is how it works.

          IGeometricNetwork pGN = null;

          IMMFeederSource MMFeederSrc = null;

          IMMEditFeederSource MMEditFeederSrc = null;

          IMMFeederTracer4 MMFeederTracer = null;

           

          MMFeederSrc = new MMFeederSourceClass();

          MMEditFeederSrc = new MMFeederSourceClass();

          MMFeederTracer = new MMFeederTracerClass();

           

          MMEditFeederSrc.FeederID = FeederName;

          MMFeederSrc = (IMMFeederSource)MMEditFeederSrc;

           

          //Trace the feeder

          MMFeederTracer.TraceFeeder(pGN, MMFeederSrc);

          Regards
          Ujjwal

            • Re: IMMFeederSource Usage
              Francesco Giovinazzo

              I just want to add that in my environment (10.2.1c) only specifiying the FeederID is not enough to make this work, you need to either retrieve the feeder source from the MMFeederExt extension or load the informations from the circuit sources table and manually feed the IMMEditFeederSource:

               

                          feederEdit.FeatureClassID =

                          feederEdit.FeederID =

                          feederEdit.FeederName =

                          feederEdit.JunctionEID =

                          feederEdit.OID =

                          feederEdit.RowOID =

                          feederEdit.SubstationID =

               

              After feeding all this informations, the trace works.