Supplemental From Shape (2D) machining order
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Supplemental From Shape (2D) machining order
I'm looking to laser cut a gasket (input as 2D DXF) by exporting gcode to an Arduino+Protoneer GRBL controller.
Is there a way to re-order the entity selection in PathShape so inner geometry is cut before the perimeter?
It's not entirely clear to me how the machining order is determined as it doesn't match the logical sequence of naming. The perimeter of the gasket is the last named PathShape but first to be cut, which is undesirable.
A secondary challenge is how to turn on (M3 S255) and off (M3 S0, or M5) the laser between each Shape.
Any tips gratefully received. (I've had great success resolving problems from prior posts...thank you in advance)
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/Canada (en_CA)
Is there a way to re-order the entity selection in PathShape so inner geometry is cut before the perimeter?
It's not entirely clear to me how the machining order is determined as it doesn't match the logical sequence of naming. The perimeter of the gasket is the last named PathShape but first to be cut, which is undesirable.
A secondary challenge is how to turn on (M3 S255) and off (M3 S0, or M5) the laser between each Shape.
Any tips gratefully received. (I've had great success resolving problems from prior posts...thank you in advance)
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/Canada (en_CA)
- Attachments
-
- Gasket_from_Shape.FCStd
- (26.12 KiB) Downloaded 49 times
-
- PathShape_Custom.jpg (289 KiB) Viewed 2087 times
Re: Supplemental From Shape (2D) machining order
Did you try to set the StartPoint property?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
-
- Posts: 258
- Joined: Sat Nov 14, 2020 9:16 pm
- Location: Bargara, Queensland, Australia UTC+10
Re: Supplemental From Shape (2D) machining order
One easy to implement solution is to create each shape path separately, i.e., select a shape, apply 'from shape' to that and create a separate Custom operation from that . Create the Custom operations in the order you wish to cut them. They will then post-process in the required order.mn00n wrote: ↑Fri May 07, 2021 9:05 pm I'm looking to laser cut a gasket (input as 2D DXF) by exporting gcode to an Arduino+Protoneer GRBL controller.
Is there a way to re-order the entity selection in PathShape so inner geometry is cut before the perimeter?
I
A secondary challenge is how to turn on (M3 S255) and off (M3 S0, or M5) the laser between each Shape.
As to applying the M3 , M5, it is probably simplest to add them manually when you do the Inspect g-code prior to pasting the code into the Custom operation. Because of the separate operations it will still post between shapes. Are you adding feed commands at that time anyway?
OS: Ubuntu 20.04.2 LTS (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.24825 (Git) AppImage
Build type: Release
Branch: master
Hash: ccc4151b3020969450325466e385850783795325
Python version: 3.9.2
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.1
Locale: English/Australia (en_AU)
Re: Supplemental From Shape (2D) machining order
Splitting the PathShapes into two separate Operations does the trick, allowing the perimeter to be ordered last. Good tip, thank you.
Looks like the jtech post-processor is intended for laser cutting, providing on-off control. Will give that a try.
Looks like the jtech post-processor is intended for laser cutting, providing on-off control. Will give that a try.
Re: Supplemental From Shape (2D) machining order
I tried moving the start point and this influences the cutting order.
Are there guidelines for choosing an appropriate start point?
Are there guidelines for choosing an appropriate start point?
-
- Posts: 258
- Joined: Sat Nov 14, 2020 9:16 pm
- Location: Bargara, Queensland, Australia UTC+10
Re: Supplemental From Shape (2D) machining order
The first part you probably already do ?
Select your PathShape in the object tree
Select "Navigation styles" to CAD
Place the Cursor over the start point you prefer,(shown by the black arrow head in the image below; Pick a point on the most central shape; you will see the co-ordinates in the status bar at the bottom of the screen. Note the X, Y values and enter them in the Data Tab - Path - Start Point fields. They do not have to be totally accurate but should be close. You will see on the produced final path that it goes to the point you enter then adjusts to the actual path line before feeding along the path line.
Select 'Use Start Point' true
Then in the 'Sort Abscissa' and 'Nearest K' enter "0" (zero) , although 'Nearest K =1 ' also seems to work.
These parameters limit the range from which the path can choose the next object to process. In your case this will select from the centre outward, I cannot be sure it will do this for every case but should.
This still leaves you needing to insert the M3, M5 commands in a combined shape file.
Re: Supplemental From Shape (2D) machining order
I've taken your design and employed a slightly different approach.
I went into the Part workbench and extruded each of your shapes one by one. I then used the Cut function to combine them into the final body.
Then in the Path workbench I created a new job using my grbl_laser post-processor which I've been tinkering around with for a while. I then created two profile operations: the first to cut the holes and the second to cut the outside of the part. I've attached my modified project, a sample output gcode (had to add a .txt extension to that to attach it) and the pre-processor.
A few things to note:
1) the tool I used is a bit of nonsense but is OK for a proof-of-concept
2) I set the operation to only generate one pass by setting the step down to be the same as the material thickness. You may need more in practice. To achieve this just make the step down the appropriate fraction of the material thickness.
I hope this proves of some use to you.
I went into the Part workbench and extruded each of your shapes one by one. I then used the Cut function to combine them into the final body.
Then in the Path workbench I created a new job using my grbl_laser post-processor which I've been tinkering around with for a while. I then created two profile operations: the first to cut the holes and the second to cut the outside of the part. I've attached my modified project, a sample output gcode (had to add a .txt extension to that to attach it) and the pre-processor.
A few things to note:
1) the tool I used is a bit of nonsense but is OK for a proof-of-concept
2) I set the operation to only generate one pass by setting the step down to be the same as the material thickness. You may need more in practice. To achieve this just make the step down the appropriate fraction of the material thickness.
I hope this proves of some use to you.
- Attachments
-
- Gasket_from_Shape_Modded.FCStd
- Modified project file
- (47.87 KiB) Downloaded 48 times
-
- laser-test.nc.txt
- Sample gcode output
- (1.9 KiB) Downloaded 46 times
-
- The body created in Part WB
- part.png (17.01 KiB) Viewed 1912 times
-
- grbl_laser_post.py
- The post-processor
- (18.19 KiB) Downloaded 51 times
Re: Supplemental From Shape (2D) machining order
Thanks Paula - top marks, greatly appreciated...mission accomplished!
(I ought to invest in a larger laser cutter though)
(I ought to invest in a larger laser cutter though)
- Attachments
-
- Gasket_laser.jpg (882.33 KiB) Viewed 1869 times
-
- Posts: 991
- Joined: Wed Mar 27, 2019 10:45 am
Re: Supplemental From Shape (2D) machining order
Is this the part where someone suggests that the PathWB be able to distinguish layers from a 2D dxf file created either through Draft or imported?
Probably not.
Super glad you could manage to solve your issue.
Regarding the PostProcessor you can modify or use every Z retract as a flag for M4 M5. (Or M3 in your case apparently)
Probably not.
Super glad you could manage to solve your issue.
Regarding the PostProcessor you can modify or use every Z retract as a flag for M4 M5. (Or M3 in your case apparently)
Re: Supplemental From Shape (2D) machining order
Really impressed by the support available in the Path community. As a novice I can't offer much to resolve problems but hopefully this thread might help someone in the future.
I'll have to learn the basics of Python having now looked at the grbl_laser_post.py post processor file, but it works with the NEJE mini laser cutter retro-fitted with Arduino+Protoneer hardware.
I'll have to learn the basics of Python having now looked at the grbl_laser_post.py post processor file, but it works with the NEJE mini laser cutter retro-fitted with Arduino+Protoneer hardware.
- Attachments
-
- NEJE_modified.jpg (215.31 KiB) Viewed 1821 times