How to export pipe using CustomExporter?

How to export pipe using CustomExporter?

techXMKH9
Contributor Contributor
1,145 Views
4 Replies
Message 1 of 5

How to export pipe using CustomExporter?

techXMKH9
Contributor
Contributor

I am a simple pipe in my Model and I am using CustomExporter to export the model into obj format.

But OnPolymesh is never triggered.

How can I export the pipe's geometry and material?

0 Likes
Accepted solutions (1)
1,146 Views
4 Replies
Replies (4)
Message 2 of 5

jeremytammik
Autodesk
Autodesk

This other post today reports a different problem, and proves that there is no problem of the kind you describe exporting pipe geometry:

 

https://forums.autodesk.com/t5/revit-api-forum/pipes-geometry-through-exportcontext/td-p/9071902

 

Are you sure you are running your custom exporter in a view that is set up to display pipes at all?

 

You may be running into a trivial issue with your view settings.

  



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 3 of 5

techXMKH9
Contributor
Contributor

I do not know what I'm doing wrong.

      CustomExporter expr_DA = new CustomExporter(document, new SentioExporter());
            expr_DA.IncludeGeometricObjects = false;
            expr_DA.ShouldStopOnError = false;
#if DEBUG2019 || RELEASE2019
            View3D view3D = Utils.Find3DView(document, "3D View 1");
            expr_DA.Export(view3D);
#endif
using Autodesk.Revit.DB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Solutionario.Sentio
{
    class SentioExporter : IExportContext
    {
        public void Finish()
        {
        }

        public bool IsCanceled()
        {
            return false;
        }

        public RenderNodeAction OnElementBegin(ElementId elementId)
        {
            return RenderNodeAction.Proceed;
        }

        public void OnElementEnd(ElementId elementId)
        {

        }

        public RenderNodeAction OnFaceBegin(FaceNode node)
        {
            return RenderNodeAction.Proceed;
        }

        public void OnFaceEnd(FaceNode node)
        {

        }

        public RenderNodeAction OnInstanceBegin(InstanceNode node)
        {
            return RenderNodeAction.Proceed;
        }

        public void OnInstanceEnd(InstanceNode node)
        {

        }

        public void OnLight(LightNode node)
        {

        }

        public RenderNodeAction OnLinkBegin(LinkNode node)
        {
            return RenderNodeAction.Proceed;
        }

        public void OnLinkEnd(LinkNode node)
        {

        }

        public void OnMaterial(MaterialNode node)
        {

        }

        public void OnPolymesh(PolymeshTopology node)
        {

        }

        public void OnRPC(RPCNode node)
        {

        }

        public RenderNodeAction OnViewBegin(ViewNode node)
        {
            return RenderNodeAction.Proceed;
        }

        public void OnViewEnd(ElementId elementId)
        {

        }

        public bool Start()
        {
            return true;
        }
    }
}

I've attached the model also. It has a view named "3D View 1".

0 Likes
Message 4 of 5

techXMKH9
Contributor
Contributor
Accepted solution

Since I am new to Revit, I didn't know that view's leveldetail has to be set to FINE to export pipe.

I hope it will help somebody save time.

Message 5 of 5

jeremytammik
Autodesk
Autodesk

Congratulations on solving this and thank you for letting us know!

 



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes