Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CAM Optimization: inner paths first #215

Open
jorgerobles opened this issue Mar 15, 2017 · 15 comments
Open

CAM Optimization: inner paths first #215

jorgerobles opened this issue Mar 15, 2017 · 15 comments

Comments

@jorgerobles
Copy link
Collaborator

Doing my daily bench test I've found paths seem not generated inner to outer. That would be a great addition since complex works require some heavy adjustment on LW.

escaleras.json.txt

@tbfleming any clues?

@tbfleming
Copy link
Member

Right now the cam's greedy optimizer doesn't pay attention to inner vs outer. If I add it then it will get horribly confused by things like this:

image

@jorgerobles
Copy link
Collaborator Author

Ok, I've managed to do manually. Good combination of filters are enough for now, thanks.

@tbfleming
Copy link
Member

I just released it wouldn't get confused. It'd break apart the paths at the intersections then reform them to do this if I add inner-to-outer:

image

@ghost
Copy link

ghost commented Mar 15, 2017 via email

@jorgerobles
Copy link
Collaborator Author

Just in the pic case, the paths could be on different operations if the behavior is not as desired.
Anyway, I don't know how much workload represents..

@dariuskt
Copy link

dariuskt commented Apr 5, 2018

this feature would be very valuable for me. i cut many parts with holes. that requires me to select everything by hand. that would be great default with no shortcomings i could see now. it does not need to be perfect and deal with all kinds of situations. simple order of closed contour inside other closed contour would cover 99.99% of situations for me.

@cojarbi
Copy link
Collaborator

cojarbi commented Apr 5, 2018 via email

@cprezzi
Copy link
Member

cprezzi commented Apr 5, 2018

As @cojarbi wrote, it's very easy to order features already on CAD side by either use layers or colors. If an automatic order will be implemented in the CAM, it must be possible to deactivate it for manual order.

@dariuskt
Copy link

I didn't realize at first that this ordering might not be desired in some cases. So I totally agree that it should be optionally enabled by user.

Using CAD to split machining operations also involves selecting many shapes by hand. So it does not solve the problem, it just moves it to another software. For example I cut a lot of letters and some of them has holes in them [qopadb..] so I need to select manually all the inside shapes to be cut in first operation before outside shapes can be cut. I'm cutting on a nail bed so cut out pieces falls down.

In the CAD vs CAM approach I think ability to solve this problems in CAD is a workaround for a time while CAM feature is implemented. IMHO CAD (Design) should not care about manufacturing and is not designed to address manufacturing problems. Design software helps to design the part. On the other hand CAM (Manufacturing) should address the common manufacturing problems and help to easily solve them. Cut ordering is manufacture process limitation and ideally should be solved in CAM. So this feature really belongs in CAM.

@jorgerobles
Copy link
Collaborator Author

@tbfleming will the (inner first) reordering of the paths (geometry) before passing to getLaserCutGcodeFromOp do something already?

@tbfleming
Copy link
Member

@jorgerobles I don't understand your question.

@jorgerobles
Copy link
Collaborator Author

Hmm.. well, I mean the cam function getLasercutgcodefromop receives the rawpaths on two parameters. Geometry, array with closed paths and array opengeometry. If we reorder the geometry array using a inner first algorithm, will the function process that way or will reducecampaths reorder again due jsclipper logics? Thanks!

@tbfleming
Copy link
Member

reduceCamPaths will need changes. Maybe an earlier function will mark inside-outside relationships and reduceCamPaths will obey the constraints while reordering.

@DataWorm
Copy link

Are there still plans to add this feature or is this a dead topic?

@harlock999
Copy link

I would not call it dead but we're all waiting for the next release from @easytarget that addresses a bunch of ageing NodeJS librariries. The way I do it in interim is using a DXF, I have two layers of different colors. I pick one layer color and run this one for inner cuts, then I pick the other one for outer cut. My branch also has an "unoptimized" path so it always starts with the first vertex of the polyline I got in the DXF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants