3D Surface - Face Selection (New feature) [Merged]

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Russ4262
Posts: 373
Joined: Sat Jun 30, 2018 3:22 pm

Re: 3D Surface - Face Selection (New feature)

Postby Russ4262 » Sat Feb 01, 2020 8:36 pm

Afternoon,
Wanted to let you all know I punched some more bug fixes to the PR. Currently version 8e. I am not worrying about updating the script at OP of this thread.

I am hopeful that we will see merger within a few weeks. Until then, I'll try to not break it. Nonetheless, I may continue adding features. I've got an idea for a clearing mode that will increase the offset by maybe 10% and raise the depth by about the same. This would allow for some of the circular paths that are co-planar at upper layers to be converted to G2 or G3 commands in the GCode. Nothing settled yet, just an idea.

Also kicking around an alternate approach to waterline that I may code up and test.

Also have a nice universal rotational improvement to the PathWB in the works in another branch that I may jump back to. And I can't forget to split off waterline from 3D Surface, if there is support for such.

Oh the possibilities....

Russ
chrisb
Posts: 22526
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D Surface - Face Selection (New feature)

Postby chrisb » Sat Feb 01, 2020 11:56 pm

Russ4262 wrote:
Sat Feb 01, 2020 8:36 pm
This would allow for some of the circular paths that are co-planar at upper layers to be converted to G2 or G3 commands in the GCode. Nothing settled yet, just an idea.
That would be really great, because my mill has very limited memory and no drip feed.
Russ4262
Posts: 373
Joined: Sat Jun 30, 2018 3:22 pm

Re: 3D Surface - Face Selection (New feature)

Postby Russ4262 » Sun Feb 02, 2020 4:01 am

Evening, Sir.
chrisb wrote:
Sat Feb 01, 2020 11:56 pm
Russ4262 wrote:
Sat Feb 01, 2020 8:36 pm
This would allow for some of the circular paths that are co-planar at upper layers to be converted to G2 or G3 commands in the GCode. Nothing settled yet, just an idea.
That would be really great, because my mill has very limited memory and no drip feed.

… Okay, you convinced me! A few taps on the keyboard this afternoon and now version 8g is almost ready to push to the PR! I may add it to the OP in this thread when I push it.
Version 8g will bring the use of G2 and G3 gcode commands in the new `Circular` and `CircularZigZag` cut patterns.

Time for bed, Ladies and Gents.
Jehovah's peace to all.

Russ
Attachments
surface-a.FCStd
Model file
(97.63 KiB) Downloaded 6 times
3D_Surface-Circular_with_NO_optimization.png
Circular pattern with no path optimization
3D_Surface-Circular_with_NO_optimization.png (246.07 KiB) Viewed 289 times
3D_Surface-Circular_with_CircularUseG2G2_and_OptimizeArcTransitions.png
Circular pattern with both, CircularUseG2G3 and OptimizeArcTransitions
3D_Surface-Circular_with_CircularUseG2G2_and_OptimizeArcTransitions.png (236.39 KiB) Viewed 289 times
3D_Surface-Circular_with_CircularUseG2G2_and_OptimizeArcTransitions_and_XminYmin_center_point.png
Circular pattern with both, CircularUseG2G3 and OptimizeArcTransitions. Also has CircularCenterAt set to XminYmin.
3D_Surface-Circular_with_CircularUseG2G2_and_OptimizeArcTransitions_and_XminYmin_center_point.png (217.2 KiB) Viewed 289 times
chrisb
Posts: 22526
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D Surface - Face Selection (New feature)

Postby chrisb » Sun Feb 02, 2020 7:06 am

Russ4262 wrote:
Sun Feb 02, 2020 4:01 am
I may add it to the OP in this thread when I push it.
No need, I canwait until the PR is merged

Time for bed, Ladies and Gents.
Sleep well!
Russ4262
Posts: 373
Joined: Sat Jun 30, 2018 3:22 pm

Re: 3D Surface - Face Selection (New feature)

Postby Russ4262 » Tue Feb 11, 2020 7:07 am

Morning All,

I'm tired and about to push version 9a to the open PR. This ain't your grandmother's 3D Surface! Meet the latest update to the versatile 3D Surface. The restructuring of the code is complete. The code is much easier to maintain and modify. It has also been consolidated, considering the multitude of changes that have been added. I might need to do some minor updates to fix bugs or tweak settings, but I think this version just might be the one!

The newest addition to the operation is an ever important `ProfileEdges` feature. And because it is 3D, it follows non-planar surfaces.

Enjoy and good night.
Russ.
Attachments
3D_Surface-Version 9a.png
3D_Surface-Version 9a.png (210.69 KiB) Viewed 198 times
3D_Surface-Version 9a - fcad.png
3D_Surface-Version 9a - fcad.png (209.04 KiB) Viewed 198 times
chrisb
Posts: 22526
Joined: Tue Mar 17, 2015 9:14 am

Re: 3D Surface - Face Selection (New feature)

Postby chrisb » Tue Feb 11, 2020 7:54 am

See me in awe!
User avatar
freman
Posts: 939
Joined: Tue Nov 27, 2018 10:30 pm

Re: 3D Surface - Face Selection (New feature)

Postby freman » Tue Feb 11, 2020 9:03 am

Wow , this is maturing into something really useful. Congratulations.

Now obviously not trying to knock what you've already done but find further improvements, how about the following.

I see in that screenshot the upper surface is not getting fully cleared. This is typically a problem in the 2.5D tools as well and is to some extent helped by dog-bone dressup in a limited way.

The basic problem seems to be that 2.5D tools have no knowledge of the 3D model so do not know what is outside an edge. They are unable know if they are in a corner pocket or surrounded by air or waste stock material which can freely be run into to fully machine a surface.

Does a similar problem exist for 3D surface, or is there a way you could have an option ( or automatically ) over-run by the tool radius to ensure all a surface gets cut. In particular, I'm looking at the little pointy bridge behind the triangular notch. The upper surface is effectively split in two when in fact it is a continuous surface. Is there a way to deal with that , or do you inherit the same problem of not knowing the model itself?

Dealing with vertical planar and non planar surfaces is great. ( I've just submitted a PR to allow negative boundaryDressups which provides a work around for this on 2.5D but you still need to know the trick and it's more work than it should be ).

Anyway great stuff. This tool is a major step forward for FC.
User avatar
dubstar-04
Posts: 455
Joined: Mon Mar 04, 2013 8:41 pm
Location: Manchester, UK
Contact:

Re: 3D Surface - Face Selection (New feature)

Postby dubstar-04 » Tue Feb 11, 2020 11:10 am

Russ4262 wrote:
Tue Feb 11, 2020 7:07 am
Morning All,

I'm tired and about to push version 9a to the open PR. This ain't your grandmother's 3D Surface! Meet the latest update to the versatile 3D Surface. The restructuring of the code is complete. The code is much easier to maintain and modify. It has also been consolidated, considering the multitude of changes that have been added. I might need to do some minor updates to fix bugs or tweak settings, but I think this version just might be the one!

The newest addition to the operation is an ever important `ProfileEdges` feature. And because it is 3D, it follows non-planar surfaces.

Enjoy and good night.
Russ.
I'm actually standing and clapping!
Russ4262
Posts: 373
Joined: Sat Jun 30, 2018 3:22 pm

Re: 3D Surface - Face Selection (New feature)

Postby Russ4262 » Tue Feb 11, 2020 12:44 pm

Morning Sir.
freman wrote:
Tue Feb 11, 2020 9:03 am
...
Does a similar problem exist for 3D surface, or is there a way you could have an option ( or automatically ) over-run by the tool radius to ensure all a surface gets cut. In particular, I'm looking at the little pointy bridge behind the triangular notch. The upper surface is effectively split in two when in fact it is a continuous surface. Is there a way to deal with that , or do you inherit the same problem of not knowing the model itself?
...

A part of the new face-selection features added includes a `BoundaryAdjustment` and `RespectBoundary` properties. To cut the corners, turn off the latter, or manually set the former to counteract the respected boundary. See attached images.

Yes, the new features include methods to construct a full picture of the `Job` geometry: Model and Stock; and specific faces to avoid if they have been identified! See attached images.

Thanks for the inquiry. I appreciate the technical experience commentary.

The first and last pics show the phantom geometry that is constructed so as to make the cutter `Job` geometry aware. This model is used to check travel paths for optimization so the cutter doesn't collide with solid material that is not a part of the operation.

The middle pic is the same operation as previously posted, but with the new `RespectBoundary` set to False. This results in the lovely over-run that will clear the edges of the larger face.

Have fun!

Russ
Attachments
drilltest_1.FCStd
model file with phantom Job geometry included
(152.3 KiB) Downloaded 4 times
3D_Surface-Version 9a - safeSTL.png
3D_Surface-Version 9a - safeSTL.png (155.23 KiB) Viewed 142 times
3D_Surface-Version 9a - Respect boundary is False.png
3D_Surface-Version 9a - Respect boundary is False.png (222.61 KiB) Viewed 142 times
3D_Surface-Version 9a - model-aware.png
3D_Surface-Version 9a - model-aware.png (189.6 KiB) Viewed 142 times
Russ4262
Posts: 373
Joined: Sat Jun 30, 2018 3:22 pm

Re: 3D Surface - Face Selection (New feature)

Postby Russ4262 » Tue Feb 11, 2020 4:40 pm

I can already see a couple bugs that needs to be corrected.
  • I see the hexagonal extrusion does not have a profile path around it.
  • I see the profile around the through hole on the right side does have an extrusion, but I think the intended behavior with the current settings should push the profile farther into the hole, creating an overhang like that on the outside perimeter of the model.

Hmmm.
:arrow: Back to the drawing board, pencil, eraser, drafting square and hot cocoa in hand... :?
Well, it's a start anyhow. :)

Russ