Gmocappy question and idea about custom screen

More
14 Feb 2018 00:06 - 14 Feb 2018 00:10 #105847 by Grotius
@Update,

Okey all errors are gone.

Solution is very strange....... :evil:
The error's has to do with the "button release" handler signal.
I never had this issue before. Very, very strange. I don't know how this is possible.

I think it is a bug in the new linuxcnc joint version, the error is on all the button release handlers in the whole project.
Does not matter wich button you use.

I almost think : From axis import button_release

So i have deleted all the button release function's and problem is solved.

The multiple homing command error is still there. The errror : not in joint mode...
So i try to find a solution for this.

For the rest the funcionallity is amazing.
Last edit: 14 Feb 2018 00:10 by Grotius.

Please Log in or Create an account to join the conversation.

More
14 Feb 2018 01:30 - 14 Feb 2018 01:39 #105848 by Grotius
@Update:

Hi have started a test to add some plasma tool settings to a list that will be converted / uploaded / or configured into the gcode file.
So that can be handy for users that want to have a easy set up when they don't have the required plasma experience.
I will just expand the input section and will take a try to get this functional in python.



You can press the button Tool window. Then there pop up's a secondairy tool window.
In this window the settings will be a big list, users can click a setting for actual job.
So i think this will be handy.

Please don't look at the main window. This is far from finished. I must first take time for functionallity.
Attachments:
Last edit: 14 Feb 2018 01:39 by Grotius.

Please Log in or Create an account to join the conversation.

More
17 Feb 2018 21:37 - 17 Feb 2018 22:10 #106099 by Grotius
@Project update :

Okey i have tried dxf2gcode several times, also looked into the source code. For small files it go's guite good.
If i have a dxf around 800kb or 1mb, it's a problem for dxf2gcode to load. Also is has problem's to make output code.
In terminal i see error code related to postprocessor.

Then i changed the standard linux plasma sheetcam postprocessor. It is now completely set with variable g-code output to my linux screen selected plasma tool. I see i forgot the piercedelay time in the gcode. This works perfect ! Only problem is that the kerf width cannot be a variable g-code output so far as i know.

Okey now i am going to investegate a dxf to g-code python code for circle holes. It was posted here on the forum in the past.
I wonder if i can bring this code down to minimum requirements for glade and python. After that expand this code into a complete dxf to g-code conversion in fast speed output.
Problem after that is the inner and outher contour ofsett's and lead in's. But i wil give it a try.




The python file is named dxf2holes.py see also attachment.
It is a good example how to filter dxf files and save them as g-code.
It is the first step to cam program. This program is bases on Tkinker (graphic's), so i will make a basic dxf to gcode
integrated in the linuxcnc program. A nice widget to execute external python programs in linuxcnc is to add :
#in top section of program 
import runpy
#in loop section of program
runpy.run_path("/home/grotius/linuxcncreverse/nc_files/holecircle.py")

I used upper trick with dxf2gcode. It was openening, loading dxf file, making output g-code in linuxcnc without seeing the dxf2gcode program itself.
Attachments:
Last edit: 17 Feb 2018 22:10 by Grotius.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
17 Feb 2018 22:37 #106104 by rodw

This works perfect ! Only problem is that the kerf width cannot be a variable g-code output so far as i know.

I don't really know enough about gcode or tools but couldn't you set a tool table entry using G10 and then set tool compensation using G41/G42?

Please Log in or Create an account to join the conversation.

More
17 Feb 2018 22:50 - 17 Feb 2018 23:05 #106106 by Grotius
@Hi Rodw my friend,

In may thread's here on the linuxcnc forum i see you are specialist !!
I hearded you want to build a downdraft wood stove.
Maybe i can advise you. www.mha-net.org/visit-with-peter-van-den-berg-part-ii/
This wood stove's i build before i started with cnc machine's. Now i look older hihi.




G-code is for me also not my strongest teeth. hihi.
G40, G41 and G42 - Cutter Radius Compensation

Details:
To turn cutter radius compensation off, program: G40. It is OK to turn compensation off when it is already off.

Cutter radius compensation may be performed only if the XY-plane is active.

To turn cutter radius compensation on left (i.e., the cutter stays to the left of the programmed path when the tool radius is positive), program: G41 D~. To turn cutter radius compensation on right (i.e., the cutter stays to the right of the programmed path when the tool radius is positive), program: G42 D~. The D word is optional; if there is no D word, the radius of the tool currently in the spindle will be used. If used, the D number should normally be the slot number of the tool in the spindle, although this is not required. It is OK for the D number to be zero; a radius value of zero will be used.

G41 and G42 can be qualified by a P-word. This will override the value of the diameter of the tool (if any) given in the current tool table entry. It is an error if:

    The D number is not an integer, is negative or is larger than the number of carousel slots;
    The XY-plane is not active;
    Cutter radius compensation is commanded to turn on when it is already on.

The behavior of the machining system when cutter radius compensation is ON is described in the chapter on Cutter Compensation. Notice the importance of programming valid entry and exit moves.

Note: The tool offsets must have been applied with a G43 H~ for compensation to work.

Source : www.tormach.com/g40_g41_g42.html

Yes, this can be integrated also in the sheetcam postprocessor. I will try it tommorrow
If it works.
Last edit: 17 Feb 2018 23:05 by Grotius.

Please Log in or Create an account to join the conversation.

More
17 Feb 2018 23:49 #106108 by rodw
Sorry, I forgot to link to the LinuxCNC docs linuxcnc.org/docs/devel/html/gcode/tool-compensation.html

So when are you adding a wood fired powder coating oven to your product lineup?

You have given me an idea for pid based control of wood fired oven using LinuxCNC and a spare analog input on my 7i76e. Here's the prototype

The difficulty is sourcing the particular type of wood in use as the closest trees are about 700km from home... Transporting a 400kg table to the camp site may also be a problem...

I have only learnt what I know by trying to read every thread on this forum.

Going off topic for a moment, I am having a renewed push complete my table and built a cover for one of the gantry ends yesterday. The part was bigger than my tiny pan brake so it was hard to fold and buckled a bit but it will do the job. I clearly need a Grotius press brake! Its been about 12 months since the first laser cut part arrived.



On the subject of downdrafts, yes I have designed a hopper to go under the machine to attach a fan to

I think I need about 3000 M3 per hour air flow for a 1200mm x 1300mm table and trying to decide between using a cheap axial fan or doing it properly with a centrifugal fan with external motor. I'm also toying with the idea of using an air ram to split it into two zones to reduce the air flow required and hopefully the noise.

My external offsets experiments and cutting in general are on hold until I get the physical part of my build completed!
Attachments:

Please Log in or Create an account to join the conversation.

More
23 Feb 2018 22:47 - 23 Feb 2018 23:32 #106417 by Grotius
@Rodw,

Thanks for the pic's. Is your wife happy with plasma in the garage?
The gantry cover is alway's difficult to design and to produce. You did a quite good job !
On the bending line that is not quite good, you can add a trick if you don't have a press brake,
if you kerf this inside with a machine and a disk on the line, it will make a straight line while bending.

I have 2 automated air pressure hydraulic pumpset's of 50 ton 800 bar cilinders on my factory. They are not used anymore but look very nice. If you make some heavey steel part's together you have a simple press brake. But i think you need more space in the garage then.

About the exhaust gas remover / fan.
I think on your machine it will work what you have designed. It depends on your air flow motor.
Section's will be combined with removable plasma waste material. Mostly designed at sections about 1m.

Here i have a document for safety about plasma gasses, it passes a translation to english online : safe working with plasma gasses and other important things

@project update :

Tonight i made a python code for moving the machine in a position over 5 axis based on the speed value of the screen speed mdi widget. So i think this is nice.

I first had a tuple error in terminal startup. So i was searching for tuple and python code on google.
The code looks quite simple after all, i had to solve this with a + sign.
def on_b_go_position_pressed(self, widget, data=None):   
        self.entry1 = self.widgets.b_go_label
        self.x = float(self.entry1.get_text())
        self.command.mode(linuxcnc.MODE_MDI)
        self.command.wait_complete()
        #this is a tuple example, see http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch13s03.html
        command = "G01 B{0}".format(self.x) + "F{0}".format(self.widgets.program_speed.get_value())            
        self.command.mdi(command)
        print " goto position "   
        
    def on_goto_xyzab_position_pressed(self, widget, data=None):   
        self.entry1 = self.widgets.x_go_label
        self.entry2 = self.widgets.y_go_label
        self.entry3 = self.widgets.z_go_label
        self.entry4 = self.widgets.a_go_label
        self.entry5 = self.widgets.b_go_label
        
        self.x = float(self.entry1.get_text())
        self.y = float(self.entry2.get_text())
        self.z = float(self.entry3.get_text())
        self.a = float(self.entry4.get_text())
        self.b = float(self.entry5.get_text())
       
        self.command.mode(linuxcnc.MODE_MDI)
        self.command.wait_complete()
        #this is a tuple example, see http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch13s03.html
        command = "G01 X{0}".format(self.x) + "Y{0}".format(self.y) + "Z{0}".format(self.z) + "A{0}".format(self.a) + "B{0}".format(self.b) + "F{0}".format(self.widgets.program_speed.get_value())            
        self.command.mdi(command)
        print " goto xyzab position "   

The code is for 5 separate axis button's to move in a textbox entered position and for all axis entered position.


Advantage is if i expand this with a plasma start macro, you can cut steel in different shapes, except circular trough only distance input's. It's the beginning of a paramatric shape library.
Attachments:
Last edit: 23 Feb 2018 23:32 by Grotius.

Please Log in or Create an account to join the conversation.

More
24 Feb 2018 01:57 #106419 by rodw

Thanks for the pic's. Is your wife happy with plasma in the garage?


Not too happy and one of the reasons I want to finish it off is to make more room.

Thanks for the comments about the cover and downdraft. I have grooved ally plate before with a circular saw to bend it. I will probably remake the cover and get someone to fold it properly. Its only 1.6mm aluminium so my tiny little pan brake folds it OK, but it is just 100 mm too short to do the job properly. I have not had much time to do any more to my machine.

Please Log in or Create an account to join the conversation.

More
09 Mar 2018 19:25 #107168 by Grotius
@Project update,

I have now some experience with the touch screen and Ubuntu.

At this moment i have to solve a few item's in my custom screen design and python code.

I have a 4 question's at the moment.

Question 1.
When i simulate a g-code and press pause the machine stops moving. Okey at that moment i want to simulate a torch or spindle restart.
This is not possible when in auto mode. Is there a tiny trick to make this possible. I also try this in the axis program. Result is the same.


Question 2.
When i change color's to the speedcontrol widget for example red to green, when program is running i sometimes get a error : Bad drawable pixmap.... It describes also there is a program bug.
Also the speedcontrol widget update is different from hal value when pressing.
I solved this problem by adding a secundairy update sequence. I would say the python code of speedcontrol.py should do this for you.

Question 3.
A python code for converting dxf to gcode for files over 1mb. And the theory about how the inner and outher offset's are progammed in pyton.

Question 4.
How to start up linuxcnc in terminal with ubuntu? This i will also google.

Please Log in or Create an account to join the conversation.

More
09 Mar 2018 20:09 #107170 by Todd Zuercher
For Q4, Just typing linuxcnc at the command prompt will start the config picker, then choose the config and start it. Typing linuxcnc -l will start the last config opened immediately. And linuxcnc "path to your ini file" will start a config directly. (such as; linuxcnc ~/linuxcnc/configs/sim.axis/axis.ini)

Please Log in or Create an account to join the conversation.

Time to create page: 0.319 seconds
Powered by Kunena Forum