Adding missing details on scan stl

Adding missing details on scan stl

ernie9TF2T
Contributor Contributor
831 Views
3 Replies
Message 1 of 4

Adding missing details on scan stl

ernie9TF2T
Contributor
Contributor

When scanning mechanical parts with deep holes the scanner for natural reasons can only capture the hole down to a certain depth . To recreate the missing information inserting a cylinder would be the obvious way to go from and this has been solved in a case on this forum. However the scanned part doesnt give the facegroups needed, maybe because the edges are not sharp as on a cad designed stl.

 

Attaching a cut part from a scan for anybody to come up with a solution,,

 

Best regards, 

0 Likes
832 Views
3 Replies
Replies (3)
Message 2 of 4

hfcandrew
Advisor
Advisor

Not exactly sure what you are asking but:

 

Edit > Generate Face Groups

 

And if that does not work then increase the triangle count > select a group you want > maybe 'Smooth Boundary' > generate your own face group.

0 Likes
Message 3 of 4

Anonymous
Not applicable

If, as Andrew suggested, playing with GenerateFaceGroups values doesn't work you might try to find the holes' centers computing slices:

 

- Your source mesh isn't aligned properly to the world planes. Alignig its bounding box to the origin gives that result:Ohne Titel.jpeg

Note the slight lefthand offset.

Think the top surface should be parallel to the grid. So do EDIT align with Source at SurfaceScribble and Destination at WorldOriginYUp. SurfaceScribble allows to draw a loop on a surface. The averaged normal of the included area will be used for alignment. So scribble a loop on the transparent ghost where you consider the object to be planar. (Sorry can't capture the scribble line in a screenshot):

Ohne Titel 2.jpeg

Now after rotating 180° and moving the base to the height of the grid, things look better:

Ohne Titel 3.jpeg

Time to find the holes:

Copy your object for each hole to detect. Keep only one copy visible. Run EDIT/PlaneCut and transform the cutting plane in Y until MM is able to fill the cut (in case of the upper hole):

Ohne Titel 5.jpeg

Go to SELECT and double click on the (green) group done by PlaneCut. Invert the selection hitting I and discard (shortcut X). This leaves a slice only:

Ohne Titel 6.jpeg

Now try the same on a different copy of your source on each hole. In your example this will work for the left and middle hole. At the right hole the scanning depth into the hole isn't deep enough. Fix this by doing a mesh repair using ANALYSIS/Inspector at HoleFillMode = SmoothFill. 

Now you can get a cut based on visual reconstruction:

Ohne Titel 8.jpeg

These cuts and discards of the source surface should result in several slices like this:

Ohne Titel 9.jpeg

Now run EDIT/CreatePivot on each slice. Set PlacementMode=SnapToBoundaryCenter and CoordinateFrame=WorldFrame. Double click the inside hole boundary to drop a pivot there. Doing this on each slice object:

Ohne Titel 10.jpeg

Now when we found the centres of the holes: Time to drill the source object. 

But wait, it's not watertight dues to the open boundaries inside its holes. 

You might trust ANALYSIS/Inspector to close these open boundaries but IMO you'll get better results capping the holes. Draw a closed selection loop around each hole 

Ohne Titel19.jpeg

and discard:

Ohne Titel.jpeg

After you did that on each hole select a seed selection on the main surface, hit E to expand to connected, then invert hitting I and discard (X).

This result run in ANALYSIS/Inspector to close all holes in a flat way.

Ohne Titel.jpegAnyway... having a watertight source object: 

Drop a MESHMIX/Primitives cylinder to empty space. Scale its dimensions to be the drill and generate as many holes to drill (the following screenshots are based on an Inspector Autorepair):

Ohne Titel 11.jpeg

EDIT/Align each cylinder to a pivot ( Source=CenterPoint, Destination=Pivot)

Ohne Titel 12.jpeg

You might need to scale the cylinders in Y to give them the needed length:

Ohne Titel 13.jpeg

Now activate all cylinders and combine them to a single object.

Activate the source mesh and the cylinders as a second object (LMB+Shift) and run EDIT/BooleanDifference:

Ohne Titel 16.jpeg

 

Message 4 of 4

hfcandrew
Advisor
Advisor

You're a god **** wizard MagWeb, a true Triangle Artisan.

0 Likes