Thoughts on exporting Colored Points

Hi everyone,

I created a script that colours points in the Dynamo Space as end result. I coloured these points with the Geometry.Color.ByGeometryColor node:

I would like to export these points to external software/formats. However I don’t really know which way to go there, should I export these colored points directly into a Revit view? Or should I create a png-file?

I am really interested to hear how you guys would approach this.

Those are both valid options.

I’ve found that a Revit family consisting of a small sphere with an instance parameter for material can be quite useful for alot of stuff that design teams need or want to communicate.

For the image file PNGs work. You’ll have to decide if what view type you’d want to work with - plans may communicate thing one way, but perhaps a plan/elevations/sections set could be more useful? I believe that tif could be utilized if you want to add layers to perhaps incorporate some degree of elevations data into a plan view. There is a LOT you can do there if you’re really into it.

Another option to consider is exporting the colored points to a PTX file (easy as it’s just writing text). My data set is likely quite a bit different from yours, but once you’re out into that file you can utilize it as you would any other point cloud file.

My first thought for Revit was a detail family with a colour parameter but that’d soon clog up your model if you’ve got 100s of them?

I thought this sounded mildly fun so I had a go. :smiley:

If you go down the Revit route can you share your graph pls?

Would a png always have the exact right scale… and would it be more difficult to update?

Just another thought… a png is a raster… Would a vector format be better if you go down this route?

Oh and you don’t specify what external software… You could always export the info to excel and use it as a database?

1 Like

This Twitter thread of mine might surprise you. Simple families are rather efficient, thanks to family instancing. It’s the complex instances which create an impact.

That was up to 26807 instances with varying parameters for length width and height.

And this is 80k instances with color coding for visibility. At this point my system could have used some more RAM (I have Revit configured for a max of 8gb because I support everyone in the accounts I work with, not just people with super computers), but likely could scale up even further.

While PNG is a Raster, you could store the scale information in the file’s meta data, or with TIFF you could add a layer of information into the file (geo TIFFs are Easter information used to store topography after all).

2 Likes

Aside from the cool post and useful information…

I want a corndog now but you can’t buy them here so I’d have to make one!! Arrrgh! :rage: *FakeRage

1 Like

If it makes you feel better, now I want one too but can’t procure one (or the stuff to make one) as everything is closed because of the snowstorm hitting the Boston area…

Maybe I’ll make a corn dog optimization graph for generative design instead…

2 Likes

Hahah!! Do it!! You have to do that!

Hi @JacobSmall and @Alien ,

Thanks for the feedback and the possible implementations. I also talked to a colleague about this and we found out it’s surprisingly simple to convert points from the Dynamo Workspace into the .pts format, so we settled on that :smiley: .

//

For other people also wanting to do this conversion, this is the format/ way to do it:

  • Extract the X Y and Z-values from the points and replace the “,” (comma) with “.” (dot).
  • Decide what color you want for each dot, then fill in the Alpha (brightness), and the RGB values. For example: red is 255 255 0 0.
  • Join all these values together and split each of them with a space.
  • Export all these strings into a .csv-file and rename this file to a .pts-file.
  • Done :smiley: .

Possible end result for 1 point:

20.42214 1.54312 5.10491 255 255 0 0

2 Likes

Well done! Note that you may want to add the reflectivity value as well (how much light bounces off the point, between 0 and 255) as this is required for and/or expected by some applications.

PTX is also an option, as it has some header info as well as ‘where in the world you took the measurement’ - or a site - included in the definition. These are also pretty easy to work out from your Revit file.

A more complete write up of the file format can be found on Paul Bourke’s excellent web site here: ptx plain text data format.

His entire site is a absolute treasure trove of content relevant to (or at least adjacent to) stuff that power Dynamo users may want to know, including but not limited to: how to tile non-periodic images on a plane; non-distorted UV mapping of spherical surfaces; stereoscopic imaging; dome projection techniques; and more.

It’s been a personal reference of mine since ~2005. I highly recommend bookmarking it.

1 Like

Very interesting! I’ll be sure to check out the website in more detail soon

what you are aiming for
This is just a part of what you have plannend i think
:grinning:

I am almost finished working on a tool to automatically verify a 3D-model against a corresponding pointcloud(s).

1 Like