Page 1 of 1

Measuring 3D object parameters

Posted: Thu Jan 17, 2013 8:21 am
by eimixas
I have 3D dental scans (*.stl with many faces).
Need to measure various distance between teeths.

Did not find anything ready, so looking for open source software, and found CloudCompare.
It can open, show, rotate, measure single distance and it works stable.
Add points (Point List Picking) save it to file - that is quite good start.

I work with Visual C++ so programming is not a problem, and some knowledge about OpenGL.

May be somebody from develepers could advice/help if my goals are achievable:

A) User selects ~40-50 points or faces on mesh (like Point List Picking, but picking faces on mesh).
B) Modify picked points view (not square as it is now)
C) Some "function"/plugin caculates custom distances.
D) Draw few planes throw some of points (is painting done in OpenGL?).
E) Some "function" finds nearest face to some of points?

Thank you for help and answers

Re: Measuring 3D object parameters

Posted: Thu Jan 17, 2013 9:37 am
by daniel
I didn't understood everything but I'll try to answer as best as I can:

A) Triangle picking --> very easy (in fact it's already in the TODO list, I'll try to finish it soon).
B) What kind of shape do you think of?
C) If it's a very particular/custom function then yes it should be implemented as a plugin. Plugins are relatively easy to setup, the simple way is to adapt another plugin that has a similar workflow as what you intend to do.
D) Did you mean 'through' instead of 'throw'? This point is not very clear for me. Otherwise yes, painting is done in OpenGL (and there's already a plane primitive that takes care of everything, look at the 'Tools > Other > Plane orientation' tool applied on a point cloud for instance).
E) You'll have to develop it (maybe in the same plugin?)

Re: Measuring 3D object parameters

Posted: Thu Jan 17, 2013 12:07 pm
by eimixas
Thank you for reply

A) great
B) some kind of sphere or circle with customizable size (or let it be 3-4px) and titles turning on/of
C) i will look into plugins
D) yes, through :) I tryied "Tools > Other > Plane orientation" it is some kind of it. I had to pick 3 points, create new cloud and then Plane orientation.

But my goal is something like "pick 3 points, create plane", separate planes for separate every sets of 3 points,
After that i need to move that plane along its normal, for this i see you have nice parameters block for selected plane - i could add additional input for "shift in mm) - is it possible to make modifications in that "patameters block" with plugin, or will i need modify some of original code?

E) I will read descriptions and other stuff you have - it looks achievable :)

Re: Measuring 3D object parameters

Posted: Thu Jan 17, 2013 2:20 pm
by daniel
B) It's already possible to turn on/off titles. For the shape, we could make it optional (programmatically)
C) good luck ;)
D) I was suggesting the "Plane orientation tool" just to give an example of how plane primitives works and how they are displayed.
For what you want :
[*] you'll have to setup this workflow (3 points --> a plane --> 3 points --> a plane, etc.) in your plugin I guess
[*] moreover the properties block is not meant to 'modify' the objects (only to give information and to switch states of some display variables). Moreover if you want to apply algorithms on an object you have to actually modify its position (i.e. its coordinates) and not just modify the way it is displayed. You can either do it programmatically (once again, with your plugin typically) or use standard methods such as 'Edit > Apply transformation' (which is not very convenient, especially if you need to do this repeatedly).

Re: Measuring 3D object parameters

Posted: Wed Feb 06, 2013 2:31 pm
by eimixas
Hello,

is it possible to see "TODO" list and what is done? (about selecting faces and custom "shape" for selected point (A and B in my privious question))
I checked windows binnary - it is Janury 13.
I'l try to compile version from source- if there are any updates in sources only.

Thank you

Re: Measuring 3D object parameters

Posted: Wed Feb 06, 2013 3:23 pm
by daniel
The TODO list is a bit 'spread' over multiple places:
- the forum (there's an not so up-to-date list here: http://www.danielgm.net/cc/forum/viewto ... f=14&t=151 - I'll try to update it)
- the github 'requests' and 'issues' areas
- the very top of the 'history' file (for the hottest updates to come)

To do things properly, all tasks should be added to the 'requests/issues' sections of the github's page. It's possible to assign tasks to people and follow them once they are declared here. However, as this interface is almost new for CC, there's almost no entry at this time.

Re: Measuring 3D object parameters

Posted: Wed Feb 06, 2013 3:25 pm
by eimixas
Builded successfully from newest source code, but could not find how to turn on/off titles (of picked points)

Re: Measuring 3D object parameters

Posted: Wed Feb 06, 2013 4:02 pm
by daniel
Look at the method 'setDisplayedIn3D' of the 'cc2DLabel' object (in qCC_db). In practical as only the point 'title' is displayed in the 3D part, you can hide or show it this way.