Grasshopper

algorithmic modeling for Rhino

If you have any suggestions for additional Volvox functions, please write them down here.

Views: 1541

Replies to This Discussion

Hello Mateusz,

i believe load and save components need a boolean toggle. Since point clouds are somwhat heavy, it will make easier the changing of the inputs and then trigger save or load.

i haven't had the time yet to test the plugin extensively with my wip project, so the next days i probably will come with more ideas.

Btw have you seen this?

best

alex

Hi, yea i know PCL but afaik this library is more about computer vision than laser scanning. Anyway, we try to develop some stuff on our own :) It is possible to create custom components for Volvox as it is showed in Developer example.. so if anyone feels like getting PCL to work, its possible to merge it seamlessly with Volvox (and I would be glad to help with that).

I know the perks of Load/Save operations... currenly we're working on multithreading and it seems promising. Assuming you're reading from SSD drive, string parsing takes 90% of time... so with string parsing split into multiple threads it is quite fast now (also doesnt freeze the gh gui). 

EDIT: It takes 3,5 sec to load 4.5 kk points with multiple threads.

pcl could be useful for processing and editing of point clouds (segmentation by object etc) coming from laser scanning. lots of ideas there to explore for your development.

3,1 min for 30million points. still good!

It doesn't scale linearly... here's an example of a bit bigger point cloud being loaded.

Almost 100 kk points in less than 4 minutes (with colors)... thats 6GB of text.

I have to split it into point clouds of 10 kk points cause of .NET object size limit.

+1

More specific controls for editing the cloud itself; Either an Inverted Box Crop or a straight Brep Cut.

hello nick,

having read your group comment, i thought maybe the cloud expression component could help you get rid of irrelevant to the floor elements.

best

alex

Brep Cut... u have any spare cpu farm or what ? That would take ages literally. Anyway I will try it out once we're done with other stuff which we're working on currently.

Exactly as Alex says - Inverted box is totally achievable with expression component, this is the general expression :

If((x<1) and (x > 2) and (y<3) and (y>4) and (z<5) and (z >6), 1, 0)

Untested, might not work. 123456 are box coordinates (box x min, box x max, box y min... etc). The box is 1x1x1 placed in 1,3,5 point with its bottom front left corner :)

Ofc we're taking into consideration doing some boolean logic, but it's not the top priority at the moment.

Another option would be to use mesh compare (box is the mesh) where you measure distance to the mesh. It returns signed distance, so u can use Cull cloud from user data tab and specify that you want to leave/cull points with value smaller or larger than 0.

Haha thanks guys.

Yes I don't need brep, I just used several boxes simultaneously to same effect as brep. I think i was trying to do too much in gh anyway (staying in comfort zone), cloudcompare and meshlabs ended up doing the trick. I will continue to experiment with it, because its already been very helpful, and i'm well aware i've only scratched the surface..

Have you seen the CloudCompare components ? You can basically automate CloudCompare with Volvox, just take a look at the CC command line mode. 

http://www.cloudcompare.org/doc/wiki/index.php?title=Command_line_mode

When something goes wrong with the load component, it seems to freeze the gh/rhino UI in a weird way. Would be nice if 'esc' actually got you out of that.

(While trying to figure out what was going on, the component finally unfroze everything after 5 minutes)

Also, dunno if it already exists or if there's an alternate way of doing so, but if its non-trivial, been wishing there was a way to preview pointclouds as they appear in rhino (tiny tiny dots), as opposed to the bulky way they preview natively in grasshopper

Hello Vongsawat,

i believe what you are after is done through the following

You use the load component found in volvox engine tab with cloud engineX component.

you can choose to load a small portion of the cloud (with the % input). Also engineX component informs you how much it has loaded so far and also in case something is not right, you can Boolean toggle the load to stop.

One safeplay practice is to save you definition with load toggle set to false, so that you trigger loading manually, once the definition has loaded. If not this component does like to be interrupted without the toggle, so Rhino crashes.

The normal load component surely takes some time to lad the cloud. It is just that i does not inform you where you at, nor you have the option to abort.

best

alex

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service