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

Enhancement suggestion: Required orientation #15

Open
servant74 opened this issue Feb 11, 2016 · 8 comments
Open

Enhancement suggestion: Required orientation #15

servant74 opened this issue Feb 11, 2016 · 8 comments

Comments

@servant74
Copy link

I would like to suggest allowing some parts to be marked to have a 'grain' direction, as well as the stock piece.

This would allow cutting, say plywood, so the grain is going in the 'correct' direction for the part.

This is important in woodworking to keep the grain right, but also in patterned stock of any kind (wall paper for example).

Thank you for the consideration.

@cojarbi
Copy link

cojarbi commented Feb 11, 2016

+1 for this.

@Neon22
Copy link

Neon22 commented Feb 12, 2016

This might be more easily defined as marking some parts to not be rotated when fitting.
Then you'd mark all of the ones you wanted to be in the same direction to stay there. And its up to you to orient the grain of the wood with the correct initial orientation of those pieces.

If marking parts is tricky then how about two groups of parts. One that can be reoriented and one that cannot.

There are several other reasons for maintaining orientation when fitting. so its a more general solution

@servant74
Copy link
Author

servant74 commented Feb 12, 2016 via email

@Jack000
Copy link
Owner

Jack000 commented Feb 22, 2016

so I think this is do-able, but I'm a bit concerned about adding complexity to the UX. Maybe the marking could be a config button that then allows you to mark the un-rotatable pieces.

@servant74
Copy link
Author

servant74 commented Feb 22, 2016 via email

@HJuup
Copy link

HJuup commented Jun 5, 2017

Interesting discussion.
In metal sheet industry the requirements are somewhat more complex compared to the wood-grain issue.
Metal sheet proces is as follows: Sheet metal is cut (lasered or punched) Next step is bending on a press brake. For the press-brake it is important that the grain (molecular structure) is in the same direction for all identical parts in the nest. That is a prerequisition to have a consistent bend during the complete batch. In most cases it does not matter if grain is along or perpendicular to bending axis.
Now back to nesting and rotations: Commercial nesting software often has an option to select allowable rotations of a part. Most of the time this is set per part to (0 or 180) or to (90 or 270). This will ensure grain directions for identical parts to be the same. However it does not always produce the best material utilisation. It can be the case that a part (which is set to 0 or 180) will fit better if it were set to (90 or 270) and would result in a better utilisation.
I've not seen commercial nesting software that does provide the option per part: try (0 or 180) and try (90 or 270)
An approach to a solution might be to bluntly try all the possible combinations and find out which one has the best result. Say there are 20 sets of identical parts, one wants to test 2 sets of orientations. This results in 2^20 = over a milion combinations to test for... Sounds like a huge numbercruncher will be needed.
Is there a smart approach to solve this problem?

@servant74
Copy link
Author

Hjuup, to get a good fit, normally you don't need to get a 'perfect' fit. Taking a selection of differnt sized pieces allows 'good' use of material. -- You might just take an arbitrary 40 or 80 parts (or select some other number, larger or smaller) and you will get a 'good' fit for those parts. If there is more room left, add a few more parts and re-run the fit algorithm. If there are big 'holes', add little parts. ...

Just some thoughts.

@cptX
Copy link

cptX commented Jan 12, 2019

I think the following are necessary for real environment uses:

  1. Have a way to mark orientation on the original piece
  2. Preserving orientation information during processing
  3. Showing orientation after finishing processing
  4. Ability to set orientation constrains per piece
  5. Ability to rotate text shown on a piece with the piece itself (text could include orientation information or other information, eg. labels, dimensions etc)

As I have suggested in other issues it would be great if every object was a group and the algorithm was using the whole group as an object not only it's outline.

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

6 participants