How can I import Drone created data into Revit?


#1

If i survey an area with a drone, is there any way, to load in the 3d model into revit, with colors?
The 3d model can be converted into any given format.


#2

Autodesk Recap to rcp/rcs? Dynamo is not really geared for dealing with pointclouds.


#3

Im not talking about PointClouds. Im talking about the automatic generated 3dmodel from the drone (Ex Pix4D).


#4

Ok, I guess I answered to quickly! :slight_smile: There is certainly some ways to import the geometry, but I’m not sure about colors. For just the geometry you could import a .obj file for instance by using the meshtoolkit package and then converting it to dynamo mesh and directshape possibly.


#5

No, this will only import the OBJ file, but the color will come out solid:slight_smile:


#6

Think we would need an example set of files to answer this for you.


#7

looks like it is the same question as here

and it seems to be the same solution we end up with… there is no material to set, since it is a picture there is attached to the material. In other words, any generic material is the solution.


#8

Is the Pix4D file a .obj? I don’t know if Remake can read obj it if it only works with photos, but I hear there is a Remake->Revit workflow via an export (or two?) but I’m not sure what that is as I don’t have the software on my system.


#9

But as i recall, the materiale in revit can be a picture, so if it would be possible, to generate the drone picture as a material, it should be possible?


#10

Pix4D generates an obj file automatically, if you sets it to export the mesh


#11

You should have written that this was a problem coherent to the other problem so @JacobSmall and others would know that there was testing material available. It is important to reveal as much as possible especially when it is already present elsewhere in the forum :slight_smile:


#12

I’ve been able to achieve this, but it’s fairly complicated!

Main Problems…

  1. Although the vertex information is stored in a (non binary) .obj, the material definition of is stored as a separate .mtl/image file.
  2. Even if you get hold of the colour information, the API doesn’t allow you to define render appearance colours for materials ***EDIT - The Revit 2018.1 API now does - http://thebuildingcoder.typepad.com/blog/2017/08/revit-20181-and-the-visual-materials-api.html

Solutions…

  1. Using Meshlab you can open the obj and essentially “bake” the colour information from the texture image onto the mesh. If you then export the mesh as a non binary PLY this gives you a text file containing a list of vertices (as XYZs) and their colours (as RBGa values), as well as a list of vertex triplets for creating mesh triangles.

By slicing up this text file in the right way using dynamo you can derive all the geometric and colour data you need to recreate the mesh. You could create surfaces in dynamo and import a direct shape but I had better results using an adaptive component family.

  1. Solving the render appearance issue was much more long winded. As it’s not possible to define the render colour using the API my solution was to ensure I had a materials library of as many colours a possible and devise a way to match the colours defined in the data to the nearest one in my library.

I started by creating a RAL colour material library (it seemed as good a set of colour as any), and from some previous work I knew that the best way to find the closest RGB value from a set list is to convert RGB values to XYZ values, creating a set of points and finding the point which is closest the input point.

As you can imagine there’s a fair amount of processing involved, so I tend to run 3k faces at a time.

Here are a couple of examples of meshes of people I’ve created using photogrammetry an turned into Revit families using this process

You can also use a similar technique to import point cloud data (best to reduce the density first in something like cloud compare) as fully renderable objects…


OBJ file into revit
#13

Hi Alex,

Your workflow is verry interresting and impressive. So far i have not been able to create a colored mesh.

Would you be willing to share your Dynamo script?

Regards, Wouter


#14

Hi Wouter,

Here’s a dynamo file showing how the colour matching bit works, the other components are just manipulation of the text from a .ply file and using the result to place 3-point adaptive components.

Closest Colour Match Demo.dyn (65.2 KB)

Regards,

Alex


#15

If you try to load the mesh as it comes from Pix4D, Revit probably is not going to be able to handle that number of triangles. However, you can try the following:

As mentioned in this thread, I would go through MeshLab to decimate the mesh. From here, it is possible to save the .obj as .dxf. You can import this in revit and convert it into a Topography. Now, you can apply a material to the topo. In the material appearance load the orthomosaic (.tif) from Pix4D, but the image needs to be mirrored to look right in revit.

Also, Meshtoolkit can convert the .obj into .sat that you can load in a conceptual mass, but it won’t have any color.

Hope it helps.


#16

Hi all,

First off - Happy New Year!

And thanx for your example Alex… i am looking into this!

Regards, Wouter