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

Allow negative tolerance and laser beam diameter. #48

Open
execuc opened this issue Jan 3, 2021 · 1 comment
Open

Allow negative tolerance and laser beam diameter. #48

execuc opened this issue Jan 3, 2021 · 1 comment

Comments

@execuc
Copy link
Owner

execuc commented Jan 3, 2021

From freecad forum user (https://forum.freecadweb.org/viewtopic.php?f=9&t=35635&start=10#p412835):

I see negative tolerances and laser diameter are forbidden there. However, I am making interlocking connections of steel, and order laser cutting at outsourcing company. Their software automatically considers laser ray diameter and we get (almost) exactly the same size as in DXFs. Moveover, some artifacts of cutting and oxide layer make part edges even a bit thicker than model, so I have to use a hammer to assemble them. This, definitely, is not the best manufacturing practice :? .

Thus if you could allow negative values there, this can expand scope of the Interlocking workbench usability. I suggest users will rarely set negative values by mistake, but if they will, there can be some checkbox to forbid it.

@keymon
Copy link

keymon commented Jan 6, 2021

I am working on a plywood CNC project, and I have a similar use case.

What I am doing is setting the laser size to 0.0, and add some Thickness tolerance of 0.0 and "slow width tolerance" positive. Then I reduce the size of the tabs.

Then I forked the project to allow customize the dog bone radius and shift #49

If not, to change that tolerance you only need to change this file:

diff --git a/panel/partmat.py b/panel/partmat.py
index 858ba6e..c18bf32 100644
--- a/panel/partmat.py
+++ b/panel/partmat.py
@@ -43,9 +43,9 @@ class Part(ParamWidget):
                                  WidgetValue(type=float, name="thickness", show_name="Thickness", widget=None,
                                              interval_value=[0.5, 3000.], decimals=2, step=0.5),
                                  WidgetValue(type=float, name="thickness_tolerance", show_name="Thickness tolerance",
-                                             widget=None, interval_value=[0., 30.], decimals=4, step=0.05),
+                                             widget=None, interval_value=[-30., 30.], decimals=4, step=0.05),
                                  WidgetValue(type=float, name="hole_width_tolerance", show_name="Slot width tolerance",
-                                             widget=None, interval_value=[0., 30.], decimals=4, step=0.05),
+                                             widget=None, interval_value=[-30., 30.], decimals=4, step=0.05),
                                  WidgetValue(type=float, name="laser_beam_diameter", show_name="Laser beam diameter",
                                              widget=None, interval_value=[0., 30.], decimals=4, step=0.05)])
 

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

2 participants