LinuxCNC Features - a kind of NGCGUI

More
05 Jun 2013 23:41 - 15 Jun 2013 00:13 #35287 by Nick
New results :)

I've made a hack to solve keypress problem. This hack handles keypress.
keyname = gtk.gdk.keyval_name(event.keyval)
		
		#self.treeview.emit("expand-collapse-cursor-row", True, True, False)
		selection = self.treeview.get_selection()
		(model, pathlist) = selection.get_selected_rows()
		path = pathlist[0] if len(pathlist) > 0 else None 
		
		if keyname == "Up" : 
			if path :
				rect = self.treeview.get_cell_area(path, self.col_value) 
				path = self.treeview.get_path_at_pos(rect[0],rect[1]-1)
				if path :
					path = path[0]
					self.treeview.set_cursor(path, focus_column=self.col_value, start_editing=False)
					return True
		if keyname == "Down" :
			if path :
				rect = self.treeview.get_cell_area(path, self.col_value) 
				path = self.treeview.get_path_at_pos(rect[0],rect[1]+rect[3]+1)
				if path :
					path = path[0]
					self.treeview.set_cursor(path, focus_column=self.col_value, start_editing=False)
					return True
		if keyname == "Left" : 
			if path!= None :
				self.treeview.collapse_row(path)
				return True			
		if keyname == "Right" : 
			if path!= None :
				self.treeview.expand_row(path,False)
				return True
		if keyname == "Return" : 
			if path!= None :
				iter = model.get_iter(path)
				self.treeview.set_cursor_on_cell(path, focus_column=self.col_value, focus_cell=self.cell_value, start_editing=True)
				return True
I had to make a hack for moving elements up and down because somebody (probably top level window) handles "cursor-moved" event... :huh:

Almost the last thing is drag and drop. It works in standalone mode, but after embedding into axis, right after drag is started somebody steels Focus from treeview - so it wont accept drag-drop event, or even drag-move (only drag-failed, which does not give any info about position of fail) :(
<gtk.gdk.Event at 0x8cdb980: GDK_MOTION_NOTIFY x=115.00, y=16.00> <gtk.TreeView object at 0x8a66914 (GtkTreeView at 0x8abe1a8)>
<gtk.gdk.Event at 0x8cdb980: GDK_LEAVE_NOTIFY x=0.00, y=0.00, mode=GDK_CROSSING_GTK_GRAB> <gtk.TreeView object at 0x8a66914 (GtkTreeView at 0x8abe1a8)>
<gtk.gdk.Event at 0x8cdb980: GDK_LEAVE_NOTIFY x=0.00, y=0.00, mode=GDK_CROSSING_GTK_GRAB> <gtk.TreeView object at 0x8a66914 (GtkTreeView at 0x8abe1a8)>
<gtk.gdk.Event at 0x8cdb980: GDK_LEAVE_NOTIFY x=0.00, y=0.00, mode=GDK_CROSSING_GTK_GRAB> <gtk.TreeView object at 0x8a66914 (GtkTreeView at 0x8abe1a8)>
<gtk.gdk.Event at 0x8cdb980: GDK_GRAB_BROKEN> <gtk.TreeView object at 0x8a66914 (GtkTreeView at 0x8abe1a8)>
Last edit: 15 Jun 2013 00:13 by Nick.

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

More
08 Jun 2013 02:10 - 08 Jun 2013 02:11 #35424 by Nick
I've "solved" drag/drop problem by adding navigation buttons :)
But it could be much easier to use drag/drop...

Features are almost ready for the first tests :)

Last edit: 08 Jun 2013 02:11 by Nick.

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

More
15 Jun 2013 00:53 #35643 by Nick
A lot of work have been done since last time and now we have Probing subroutines.
Including finding center of the hole, cube, finding tool's diameter. All subs are highly customisable.
Latest demo:

Unfortunately I do not have a working machine nearby righ now. It'll be awesome if somebody would be able to test it on the hardware.

PS Features now can run as a standalone application, dealing with axis throught axis-remote so it can be run-in-place without installing. just run
python features.py --ini=<path to your LinuxCNC ini file>.

The following user(s) said Thank You: bjames28

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

More
15 Jun 2013 06:21 #35656 by andypugh
That looks great, though I have little idea what is going on :-)

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

More
15 Jun 2013 21:19 #35681 by Nick
Haha :)
You are right, probably I would not get anything from that video if I did not made it by myself :).

Here's a small tutorial showing features of LinuxCNC Features :).
PS sorry for my English, it leaves much to be desired.

The following user(s) said Thank You: Zahnrad Kopf

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

More
15 Jun 2013 23:53 #35685 by Zahnrad Kopf
Nick, your English is fine and your skill is even better. And your contribution is appreciated by this newbie.

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

More
16 Jun 2013 00:24 #35688 by Rick G

Here's a small tutorial showing features of LinuxCNC Features


Did this fail to get attached?

Rick G

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

More
16 Jun 2013 00:26 #35689 by cmorley
It's there Rick.

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

More
16 Jun 2013 04:31 #35696 by Nick
Thinking further of Lathe subroutines...

I have no experience working with them...
Are there any standard subroutines for lathe machining?

What about multipass cutting?

Is there something like G71 that I've found in HAAS lathe manual in LinuxCNC?
Attachments:

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

More
16 Jun 2013 05:00 - 16 Jun 2013 16:54 #35697 by Rick G

have no experience working with them...
Are there any standard subroutines for lathe machining?

What about multipass cutting?

Is there something like G71 that I've found in HAAS lathe manual in LinuxCNC?


John, Arceye and others have posted some great ones in the ngcgui section. Inside taper, Outside taper, Inside diameter, outside diameter. Multi pass. profile cutting etc.
In fact some of us use ngcgui for over 90% of what we do on a lathe.

Hey Chris,
I can see them now on my home office computer, but earlier today they did not show up on a work computer. Odd.
Probably because I do not have Flash player installed there.

Rick G
Last edit: 16 Jun 2013 16:54 by Rick G.

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

Time to create page: 0.117 seconds
Powered by Kunena Forum