BoundaryDiscretizeGraphics on Example DXF

Dear All

I would like to identify points inside a structure defined by a CAD file.

To begin with the general idea was to load the CAD file:

helicopter = Import["ExampleData/helicopter.dxf.gz"]

and then use BoundaryDiscretizeGraphics on this

BoundaryDiscretizeGraphics[helicopter]

but the following error appear:

BoundaryMeshRegion::bcsm: There is a closed curve or surface that does not include all cells specified for a boundary. A boundary should consist of a single closed curve or surface. >>

What does this mean?

The general idea is then to detect the bounds of the object, and then sample the object and identify points inside the structure using the method RegionMember to detect whether the point is inside the object. Other ideas are welcome!

Hi,

I guess that the problem with this particular object is that it is made up of different disconnected parts. If you look closely at the image you will see that, e.g. the rotor is detached from the body of the helicopter. So the boundary is not a single closed surface.

ScreenShot2015-02-04at20.03.51.png

The error message just states the problem. The same thing with another 3d object works just fine:

BoundaryDiscretizeGraphics[ExampleData[{"Geometry3D", "SpaceShuttle"}]]

Cheers,

M.