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

Stuffing _7.dxf with _12.dxf #16

Open
9swampy opened this issue Aug 15, 2021 · 7 comments
Open

Stuffing _7.dxf with _12.dxf #16

9swampy opened this issue Aug 15, 2021 · 7 comments

Comments

@9swampy
Copy link

9swampy commented Aug 15, 2021

Curious why you've added the C part to the DXF samples. Have you done any work to understand why the following happens (using some more of the sample shapes you've included):

image

The full donut I've added and the original DeepNest and the Port are quite happy to place the smaller parts in the hole, but the C part you had never gets filled.

// returned data only contains outer nfp, we have to account for any holes separately in the synchronous portion

Noting the comment about holes in Background.cs (and the limitations of the C++ import) shouldn't the hole in the C shape be serviced by the OuterNfp?

@9swampy
Copy link
Author

9swampy commented Aug 23, 2021

Reworked the example to:
image

First placement of the donut returns SheetNfp of:
image

First placement of donut done. First part 12 returns FinalNfp of
image
plus
image

The second is selected to place the first part 12.

Resetting the Nest to:
image

First placement SheetNfp can place part 7:
image

Second placement returns a single candidate Nfp of:
image

Which means it's the C++ Minkowski.Dll that's failing. That's a shame because C++ is way out of my comfort zone...

Any chance the ClipperNfp alternative would fare any better?

9swampy added a commit to 9swampy/DeepNestSharp that referenced this issue Aug 23, 2021
@fel88
Copy link
Owner

fel88 commented Aug 24, 2021

Sorry I didn't catch.. Does this problem also exist in the original DeepNest project?

@9swampy
Copy link
Author

9swampy commented Aug 24, 2021 via email

@fel88
Copy link
Owner

fel88 commented Aug 24, 2021

Actually, C++ portion of code is just a wrapper for the boost polygons convolve operation. I'll try to add a feature to choose C++/C# pure implementation.
https://www.boost.org/doc/libs/1_76_0/libs/polygon/doc/gtl_minkowski_tutorial.htm

fel88 added a commit that referenced this issue Aug 24, 2021
@fel88
Copy link
Owner

fel88 commented Aug 24, 2021

Now it can work without Minkowski.dll
image

@9swampy
Copy link
Author

9swampy commented Aug 30, 2021

Clipper fares no better unfortunately but losing the C++ dependency altogether is an interesting proposition; revealed a bug in the caching I put in though (just as well you didn't adapt that bit) but simply isn't performant without the caching. Can confirm it seems to generate more invalid nests - but I'm not yet convinced that that's purely down to Clipper.

@petrasvestartas re original DeepNest C# Port #34 and @dharani811
re C# port how did that conversation progress since 2018? Hi @dorkmo you've been using this port since then too?

@dorkmo
Copy link

dorkmo commented Sep 1, 2021

Havent been nesting lately :( wish i was able to help

9swampy added a commit to 9swampy/DeepNestSharp that referenced this issue Sep 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants