How to do 3D feature detection?

Started by
7 comments, last by cadjunkie 9 years, 2 months ago

I was wondering if anyone knows of any companies or products that can do 3D feature detection. I’m looking for any 3rd party software that I could license to do the heavy lifting for me.

As an example of what I’m looking for see the image below. The 3D shape is made up of triangles. The information that I have about the shape includes the locations of all the vertices, the faces for each triangle and their normals. What I would like to be able to do is detect interesting features about this 3D shape such as:

· Where is the center location of the circular hole on the top face

· Where is the midpoint of any “straight” edge on this shape

shape.jpg

Do you know of any software tools that might be able to help me?

Advertisement

I would venture most 3D modeling applications would do this. Blender, for example, if you select the vertices that make up the ring, then choose median point for the 3D cursor, will select your median point for all the vertices. You have access to pretty much any information you could want regarding the object. I don't have a ton of experience of Maya, but from what I've used, it has all the same features. It's just a matter of leaning how to access the features/information you want.

Beginner here <- please take any opinions with grain of salt

Reading the post, I don't think that's what they want. The tools can start with a 3D model, and when you select points you can operate on them.

Some of it looks like he is looking for constructive geometry libraries: add a box, subtract a cylinder, and retain knowledge that the removed points come from a box object and a cylinderobject.

Other parts look like he wants object registration and object identification: observe the pattern of points is basically a circle and identify it, observe the pattern of straight edges and identify it, observe the pattern of a negative cylinder and identify it, observe the pattern of a box some internal modifications and identify it.

frob is correct. I am looking for a library/algorithm that I can use to do object identification based on patterns detectable from vertices in my geometry. I do not have equations for boxes, cylinders etc that may or may not have been used to construct the final shape. I only the the vertex positions and the connectivity graph telling me how the vertices are connected to one another to form the shape.

Have a look at Seimen's Parasolid. it's an industry standard CAD kernel used in most of the 3D applications you've heard of.. its licensed by the company I work for, for example. You can do things like feature recognition, healing, simplification. have a Google for 'Parasolid Jumpstart Kit'. Bear in mind it probably costs a shitload..

I work directly with Parasolid and if it has feature recognition capabilities, I've never seen them. I know that other CAD packages such as Solidworks have tools to do that, but those tools may only exist within the CAD program and not within the geometry kernel itself.

This is actually a big area of research in the CAD world because there are standards such as IGES and STEP that just give B-spline geometry but no "feature" information. We call them "dumb bodies" because they don't tell you anything about how they were created. However, B-spline geometry can give you clues as to what certain shapes are. For example, a NURBS curve might be a circular edge based on how the control points relate to each other. But in this case, you have a curve you can test and not a string of vertices.

I'm sure that simple features such as holes, bosses, etc. can be extracted from the point data but it would be somewhat more involved. For example, the triangle vertices on a circular edge will have some roundoff error so you'll have to tolerance that, etc. I don't know offhand of any software tools that do this kind of thing that don't cost an arm and a leg.

Thanks I'll take a look at the Parasolid Jumpstart Kit
Cadjunkie sounds knowledgeable.. Made me remember that the two guys behind me are the feature recognition guys.. I just paint and intersect triangles lol

Hey @mynameisnafe, what company do you work for? What do you guys use Parasolid for?

This topic is closed to new replies.

Advertisement