#emc | Logs for 2008-02-23

[14:04:46] <BigJohnT_> Hi alex_joni
[16:03:05] <tomp> fenn: do you use brlcad? how did you fix GLIBC_2.4 on dapper? i get this err msg ./mged: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by /usr/brlcad/lib/libpng.so.1)
[16:14:39] <archivist> jmkasunich, nice item
[16:17:01] <jmkasunich> that was interesting to make
[16:18:57] <tomp> hmm, gene h. posted same glibc problem
[16:19:33] <archivist> jmkasunich, whats it for, controlled force?
[16:19:42] <jmkasunich> http://jmkasunich.com/pics/DSC00564.JPG
[16:19:54] <jmkasunich> rat-trap powered vehicle, for an engineering week contest
[16:20:20] <jmkasunich> high torque at start, then lower to sustain it - like a three speed transmission in a car
[16:20:41] <archivist> exactly what a fusee does
[16:20:47] <jmkasunich> the exact opposite actually
[16:21:06] <jmkasunich> but same principle
[16:21:26] <jmkasunich> for a real fusee you'd just start winding at the fat end
[16:22:13] <archivist> did you compensate for the varying spring force as well
[16:22:20] <jmkasunich> not really
[16:22:34] <jmkasunich> spring force is highest at the start, which is what I wanted anyway
[16:23:01] <jmkasunich> I didn't get very scientific when calculating the shape
[16:23:14] <jmkasunich> I guess a real fusee is a hyperboloid or something like that?
[16:23:52] <archivist> I did paste some pages with the calcs somewhere
[16:23:56] <jmkasunich> I just used three diameters, such that 1/3 of the trap travel was used in the first 6 feet of travel, then next third was used over 12 feet, and the rest was used over 20 feet, then blended the diameters
[16:24:42] <fenn> tomp: i use debian, never run into that problem (libc6-i686 2.7-5)
[16:25:10] <tomp> oh not ubuntu
[16:25:12] <tomp> thx
[16:26:46] <tomp> jmkasunich: the fusee is like the 'chinese windlass' in that it's a class of 'differential windlass' , may yield some more info that way
[16:28:11] <archivist> www.archivist.info/rawlings
[16:29:42] <jmkasunich> hmm, looks like there are two ways to calculate it
[16:29:58] <jmkasunich> the writer assumes the fusee is of constant pitch, and the barrel is not
[16:30:12] <jmkasunich> I suppose you could make the barrel constant pitch and vary the fusee pitch instead
[16:30:34] <jmkasunich> the former would be much easier on a manual machine, EMC could do either one
[16:30:45] <archivist> barrel is normally smooth and fusee fixed pitch
[16:31:27] <jmkasunich> ah, so the barrel winds up variable pitch as the chain winds onto it, but there is no groove
[16:31:47] <archivist> yes
[16:32:47] <archivist> www.archivist.info/clock/P3282910.JPG
[16:33:23] <jmkasunich> three of em in there?
[16:33:31] <archivist> yup
[16:33:58] <jmkasunich> why chain? lasts longer than string I assume... wire too stiff?
[16:34:18] <jmkasunich> chain seems incredibly labor intensive
[16:34:36] <archivist> never string, gut lline or wire or chain in older clocks
[16:35:11] <archivist> yes chain no longer made afaik
[16:35:28] <archivist> at that size
[16:36:04] <jmkasunich> I used wire for mine - 30AWG (abotu 0.010") thermocouple wire - thermocouple wire alloy is stronger than copper
[16:36:56] <jmkasunich> if I can figure out how to capture video with my cheapo webcam I'm going to make another and youtube it
[16:37:37] <archivist> I need to do that as well for my machine vision
[16:38:19] <tomp> resource: fishing wire, for muskies is stranded and meant to be wound on a spool, find at a good bait shop
[16:38:43] <archivist> the docs for some of these camera apps are *****
[16:41:09] <archivist> jmkasunich, I installed/compiled xawtv to grab images
[16:41:41] <archivist> cant do streaming yet or dont know how to
[16:41:46] <jmkasunich> I'm considering cheating - my linux box is too far from the lathe, so I might try my windows laptop
[16:41:59] <jmkasunich> dunno if it will have easier to use camera support
[16:42:49] <archivist> when in emc I only have linux boxes live
[16:43:05] <archivist> no cheating allowed
[17:34:42] <archivist> oo I need a quick and dirty python script to show a jped repeatedly, I have near continuous jpeg storage from the webcam
[17:35:01] <fenn> like something you can glom onto axis?
[17:35:23] <archivist> eventually yes
[17:35:38] <JymmmEMC> I believe you can stream jpg or png's , just dont remember which
[17:36:25] <JymmmEMC> one example http://dn.codegear.com/article/20378
[17:36:41] <archivist> probably learning /dev/video0 as well to get direct data
[17:37:17] <JymmmEMC> I belive the jpg has to be interleaved mode, but there are some apps that cna do that for you.
[17:39:07] <JymmmEMC> http://crschmidt.net/blog/archives/34/trafficcam-version-3/
[17:41:01] <JymmmEMC> archivist Does your camera have a way to overwrite the existing pic?
[17:41:20] <archivist> yes its doing that
[17:41:36] <JymmmEMC> then you just need the viewer to refresh
[17:42:11] <archivist> Ive done that as a web app
[17:44:45] <fenn> i wonder why xv is not a dependency of python imaging library
[17:44:52] <skunkworks> jmkasunich: very cool fusee
[17:53:30] <archivist> fenn heh I see we have to patch/mod python to use another viewer from a google
[17:55:12] <archivist> seems to have been removed as a non free!!
[17:55:25] <archivist> leaving a bug
[17:56:29] <fenn> pooh
[17:56:57] <fenn> so, a work around is link xv to display from ImageMagick
[18:01:47] <archivist> or i found another method using wx , but dunno how to get that going !
[18:02:20] <archivist_emc> fenn http://www.velocityreviews.com/forums/t353096-display-of-jpeg-images-from-python.html
[18:06:12] <fenn> yuck
[18:08:11] <archivist> I wonder if the libs axis are using could be used
[18:09:59] <jmkasunich> I think axis uses opengl - great for 3d visualization, not suitable for jpegs
[18:10:23] <archivist_emc> sfdfkfg
[18:10:46] <jmkasunich> cat on the keyboard?
[18:11:09] <archivist_emc> polite swearing :))
[18:11:19] <skinny77cncpuppy> lol I love it when that happens , the cat anyway
[18:11:31] <archivist_emc> I need a new cat
[18:15:36] <jmkasunich> new ones are more energenic keyboard dancers I hear
[18:15:50] <jmkasunich> my old one can't jump that high
[18:21:33] <archivist> http://icanhascheezburger.files.wordpress.com/2008/02/funny-pictures-kitten-laptop-hungry.jpg
[18:24:01] <micges> what is "jogwheel" ?
[18:24:17] <micges> cant translate it
[18:24:58] <alex_joni> micges: a wheel used for jogging the machine
[18:25:32] <micges> like in manual lathe
[18:25:33] <micges> ?
[18:25:56] <alex_joni> yes.. only electrically coupled
[18:26:34] <micges> and what is backlash ?
[18:26:44] <jmkasunich> like this: http://www.anderswallin.net/wp-content/2006_11jog/jog1.jpg
[18:27:57] <jmkasunich> backlash is the lost motion when an axis reverses
[18:28:40] <micges> lost motion = lost position ?
[18:28:43] <archivist> also known as play
[18:28:53] <jmkasunich> imagine a manual machine with a worn screw
[18:29:02] <archivist> clearance in screws
[18:29:04] <jmkasunich> when you are turning one way, the screw pushes the nut
[18:29:24] <jmkasunich> when you go the other way, the screw pulls the nut, but you have to turn the screw some distance before the nut begins to move
[18:30:01] <micges> understand, thanks
[18:32:08] <micges> archivist: I dont know many words in technical english ;P
[18:35:11] <micges> but Im learning
[18:37:34] <BigJohnT> in python using import emc, is there a way to see what the config directory is?
[18:39:30] <archivist> micges, you know a lot more english than we know polish :)
[18:40:41] <micges> I can teach you :)
[18:40:54] <fenn> BigJohnT: emc.nmlfile
[18:41:34] <fenn> BigJohnT: a good way to larn the capabilities of a python object is help(object), like help(emc)
[18:42:16] <BigJohnT> fenn: thanks, I'll look at it when I get home.
[18:42:28] <BigJohnT> * BigJohnT making notes for later
[18:43:22] <micges> archivist: backlash = "luz śruby"
[18:43:41] <BigJohnT> so with python open in a terminal you type help(emc)?
[18:43:56] <fenn> yep
[18:44:02] <BigJohnT> ok thanks
[18:51:53] <micges> tomp2: around ?
[19:03:38] <tomp> micges: hello
[19:05:38] <tomp> in the py-gl animations (like puma.hal/puma.py) how big is 1.0? ( seems every geometrci primitive has very small dimensions )
[19:05:48] <tomp> geometric
[19:07:34] <tomp> or, how do you just ignore real size and work with relative values?
[19:10:06] <jmkasunich> units are arbitrary
[19:11:09] <jmkasunich> I would assume some convenient unit, such as 1.0 = 1 inch
[19:11:36] <jmkasunich> you'll have to move the camera position to make sense - I don't recall the details of that
[19:12:32] <tomp> ok, thx, am trying to simulate a new machine for work, has an A axis mounted on end of Z to roll a part around X axis ( nice app you guys built )
[19:14:10] <fenn> tomp: the whole scene gets scaled by the "size" parameter to main()
[19:15:01] <tomp> didnt see the size parm... in the .py or the .hal
[19:17:23] <tomp> haha i put a pedestal under the puma, and the arm waves right into the block
[19:21:30] <micges> tomp: now you know why I use M code to set speed not F ?
[19:21:53] <micges> becouse that allow to change speed while running
[19:23:07] <tomp> no, i dont understand that. it seems that the adpative feed changes F while running
[19:23:49] <tomp> adaptive
[19:24:26] <tomp> i will look at the wiki again
[19:28:13] <alex_joni> micges: there is also feed override in the GUI (which you can set from 0 to 5-600%)
[19:28:26] <alex_joni> that also allows you to change feed while moving
[19:28:46] <alex_joni> say you put speed 100mm/min, then you can during the program run increase it to 200..
[19:30:08] <micges> I know I was using feed override to control speed of laser until now that I must implement speed correction
[19:30:38] <alex_joni> you can also use spindle speed for laser power
[19:30:41] <micges> speed correction now in my laser is: X 100% Y 86%
[19:30:53] <alex_joni> and spindle speed override if you want to increase the power later..
[19:31:40] <micges> I want to use this soon
[19:32:03] <micges> when we find signals to control power of own laser :)
[19:32:31] <micges> control power is easy to do
[19:32:44] <micges> speed isn't
[19:33:14] <tomp> controlling power wont control kerf size changes due to elliptic beam.
[19:34:07] <tomp> oh, maybe controlling power wont make elliptic beam round, but would chg kerf in different directions to x axis
[19:34:19] <micges> tomp: yes, kerf size is controlled only by speed and Z height of beam
[19:34:36] <tomp> z height? is cone?
[19:34:59] <micges> wait
[19:35:04] <micges> (dict)
[19:35:55] <alex_joni> yes, cone (focus distance..)
[19:36:05] <tomp> ok,
[19:37:01] <tomp> i think alex was saying that power control can have same benefit. either method can make a consistant slot width.
[19:38:55] <micges> Z height is height of throttle above material
[19:39:37] <tomp> yes, Dallur's Torch Height Control works with that problem
[19:39:54] <micges> yes
[19:40:31] <micges> we created own version of THC 2 month ago
[19:40:54] <tomp> i am also interested in a 'gap control' device. That is the general name for such controls in english (if you wish to look in books).
[19:41:31] <micges> ok
[19:42:00] <tomp> for me, i am interested in obróbka elektroerozyjna :)
[19:44:09] <micges> now Im correcting independly speed of axes, and height above material along with move direction
[19:44:45] <micges> mean that Z is different when move X and different when move Y
[19:45:12] <tomp> i see your math uses F[base_vel], and varies it according to individual axis velocity. I see you use a user Mcode (maybe M112?) to set a value. I dont see where you change the F during the program.
[19:45:32] <tomp> any small example?
[19:45:37] <micges> Im going to read some texts on gap control
[19:45:45] <micges> wait
[19:45:55] <micges> (generating example)
[19:47:43] <micges> first line of code is F[base_vel]
[19:50:20] <tomp> alex_joni: my Axis panel has 0 to 100% FOVR, I think we have to edit and compile a special version to get other bounds. Fenn spotted the code yesterday that limits it.
[19:50:24] <micges> http://www.pastebin.org/20936
[19:51:16] <micges> tomp: FOVR bounds are controlled in ini file
[19:51:53] <tomp> got the pastebin & thanks for the info on FOVR
[19:52:29] <micges> ok
[19:52:33] <alex_joni> tomp: same for Spindle override
[19:52:42] <alex_joni> but for spindle you can set min and max settings
[19:52:53] <alex_joni> (wouldn't want the operator to reduce spindle speed to 0 ;)
[19:53:28] <micges> example: ignore M66 code and G4
[19:53:42] <micges> tomp: this is my laser file
[19:53:48] <micges> base_vel is 2000
[19:54:03] <tomp> ok, just looking now in my editor, yes F2000 is base vel
[19:54:27] <micges> let say that 2000 is max phisical vel of my machine
[19:54:39] <tomp> ok
[19:55:38] <micges> tomp: wrong example
[19:55:40] <micges> wait 1 min
[19:58:04] <micges> http://www.pastebin.org/20937
[19:59:39] <micges> now there is line 13 - settings burnig speed
[19:59:50] <tomp> ok, i see M112 in there
[19:59:56] <tomp> line 13
[20:00:33] <micges> after M112 AF is 0,4
[20:00:39] <micges> and everithing is ok
[20:01:34] <tomp> after M52 P1 ? that is when everything is ok?
[20:02:08] <tomp> sorry,
[20:02:15] <tomp> after M112
[20:04:34] <micges> yes
[20:04:47] <micges> this code works fine
[20:05:33] <tomp> ok, but.... while the code runs you do not alter the feedrate?
[20:06:13] <micges> describe
[20:06:59] <tomp> after you start the program, do you put your hands in your pockets until it is done? :-)
[20:07:16] <micges> hehe
[20:07:54] <tomp> if so, then the value F (2000) and the value [argv1 of 800] are constants
[20:08:40] <tomp> the hal component can vary according to angle, but these 2 are constant
[20:09:33] <fenn> m112 is just a substitute for the way F is normally used
[20:10:48] <micges> after setting corrections to X:100% and y90% hal comp say: in direction X AF is 0,4 [800] and in direction Y AF is 0,36 [720]
[20:11:11] <alex_joni> I think micges uses F as the max machine speed, and M112 as the actual F speed
[20:11:33] <tomp> yes
[20:11:37] <micges> yes that is
[20:12:19] <micges> also my axis when changing current speed execute same code as in M112
[20:14:27] <micges> anyone know how to record video from X in ubuntu >?
[20:15:52] <BigJohnT_> when starting up emc from a terminal it reports "Machine configuration directory is 'the path'
[20:16:09] <BigJohnT_> that appears to come from INI_DIR
[20:16:53] <BigJohnT_> I've looked at the python help(emc) but don't see anthing there as to what I might use to get the "INI_DIR"
[20:17:01] <BigJohnT_> any more clues?
[20:18:12] <fenn> micges: try xvidcap
[20:18:46] <micges> ok
[20:18:50] <tomp> micges: i agree now,the M112 is needed. there may be other ways (like a gui) to get that mid-range value into the system, but something besides F is needed.
[20:18:51] <fenn> BigJohnT_: just strip the filename off of nmlfile
[20:19:29] <BigJohnT_> fenn: let me see if I can figure that out
[20:21:22] <fenn> emc.nmlfile.split('/')[:-1]
[20:21:53] <fenn> er.. gotta put it back together after that
[20:24:11] <fenn> string = '/'
[20:24:15] <micges> fenn: cant find xvidcap in synaptic
[20:24:21] <fenn> for chunk in emc.nmlfile.split('/')[:-1]: string += chunk + '/'
[20:24:33] <BigJohnT_> where do I find the emc.nmlfile info?
[20:24:46] <BigJohnT_> never mind
[20:24:51] <BigJohnT_> got it
[20:24:57] <BigJohnT_> thanks fenn
[20:25:36] <micges> fenn: found it at SF
[20:27:17] <alex_joni> micges: http://emergent.unpy.net/01196105360
[20:27:39] <tomp> thx alex, was goin nuts lookin for that
[20:29:28] <micges> that is good
[20:30:22] <tomp> micges: xvidcap is very easy but does not capture opengl well ( for example: the puma demo, or the AXIS window ), but jepler's method will. read his notes, he had to use MESA
[20:31:03] <tomp> me goes back to new machine simul8r
[20:31:43] <BigJohnT_> fenn: emc.nmlfile.rsplit('/',1)[0]+'/' gives me what I want and I don't have to reassemble it, thanks
[20:31:55] <micges> ok
[20:32:23] <fenn> xvidcap might work if you point LD_LIBRARY_PATH to a software opengl
[20:37:46] <BigJohnT_> bbl
[20:39:02] <micges> fenn: do you know about any big improvements or new function in axis ?
[20:39:42] <micges> I want to add modification to AXIS that allow to use my module
[20:40:00] <micges> but they are BIG changes..
[20:40:27] <fenn> uh, what are you asking?
[20:41:32] <micges> ee nothing :)
[20:42:59] <micges> bbl
[20:43:43] <micges> (reading docs)
[20:50:03] <tomp> the py openGL stuff is fun :) http://imagebin.org/14258
[20:50:37] <tomp> now to anim8 it with hal
[20:52:14] <archivist> heh I want to play wih that as well keep up the good work, hint add a rotary table :) on the left
[20:52:38] <alex_joni> tomp: it looks .. umm.. proffesional?
[20:53:02] <tomp> not my fault :)
[21:23:06] <Hugomatic> I hope you don't mind a tool compensation question: When I use G43, I can specify directly the length compensation using H, regardless of my tool table file. However, when I use G41 and G42, I have to specify the tool table pocket using D. Do I understand this correctly? It seems odd, I'd like to specify the radius comp in my gcode, without the tool table. thanks
[21:24:54] <alex_joni> you can use G43.1 iirc
[21:25:31] <Hugomatic> alex_joni: thanks, I will look into it
[21:26:14] <Hugomatic> alex_joni: did you mean G41.1 and G42.1? I'm happy with G43 as it is.
[21:30:00] <alex_joni> http://www.linuxcnc.org/docview/html//gcode_main.html#sub:G40,-G41,-G42:
[21:30:29] <Hugomatic> alex_joni: G42.1: Dynamic Cutter Radius Compensation Exactly what I was looking for :). Thanks again
[21:30:35] <alex_joni> np
[21:33:14] <cradek> G43 does use the tool table. I think you mean G43.1.
[21:39:45] <Hugomatic> cradek: I am very confused. I was using the tool table thinking I was specifying mm offsets. thanks
[22:42:51] <micges> cradek: can you describe why in function resume there is call to ensure_mode with 2 parameters (AUTO, MDI) ?
[22:45:33] <micges> in code of AXIS ofcourse
[23:09:35] <Hugomatic> Hi, I'm playing around with G41.1 and G43.1 dynamic compensations. I like them better than the tool table, but I miss the 3D tool cylinder shapes you get in Axis when using the normal G41 and G42. Is there a way to get them when using dynamic compensation?
[23:09:48] <sambo> sambo is now known as sambo73
[23:18:18] <micges> good night
[23:18:50] <BigJohnT_> good night
[23:20:22] <alex_joni> good night
[23:23:48] <BigJohnT_> * BigJohnT_ has the X and Y axis moving now woohoo!
[23:24:47] <alex_joni> nice
[23:24:55] <alex_joni> BigJohnT_: remember pics ;)
[23:25:29] <BigJohnT_> but it looks like a Rube Goldberg creation at this time!
[23:25:47] <alex_joni> even better
[23:26:06] <BigJohnT_> one moment
[23:42:33] <BigJohnT_> http://i47.photobucket.com/albums/f163/johnplctech/Plasma%20Cutter/Plasma009.jpg
[23:43:14] <BigJohnT_> I messed up the Y tops so I used C clamps to temp the belt down...
[23:43:36] <BigJohnT_> it's narrow for testing, it will be 4' x 4' when done
[23:43:39] <alex_joni> you should emphasize the stuff you did right :P
[23:43:50] <BigJohnT_> I'm not selling it LOL
[23:44:07] <alex_joni> looks good btw
[23:44:12] <alex_joni> (a bit small for my taste)
[23:44:13] <jlmjvm> Hugomatic:you can get them both
[23:44:14] <BigJohnT_> thanks
[23:44:56] <BigJohnT_> not lacking much to finish the X axis completly then off to Z axis land
[23:45:19] <jlmjvm> looking good BigJohnT
[23:45:20] <alex_joni> how big will it be when done?
[23:45:26] <BigJohnT_> not too many CNC plasma machines you can pick up and walk off with
[23:45:51] <BigJohnT_> 1219.2 x 1219.2 alex
[23:46:12] <jlmjvm> i saw a small plasma cutter at tractor supply,thought about making 1
[23:46:33] <BigJohnT_> actually 1270 x 1270
[23:46:43] <BigJohnT_> 50" x 50"
[23:47:02] <BigJohnT_> tractor supply one of my favorite places
[23:47:28] <alex_joni> nice
[23:47:53] <jlmjvm> i like it too,lots of handy stuff there
[23:47:58] <BigJohnT_> jlmjvm: I've got a couple of things part way done to your progam... not ready for prime time yet lol
[23:48:06] <BigJohnT_> thanks alex
[23:48:09] <jlmjvm> cool
[23:49:19] <skinny77cncpuppy> I'd thought of using my mill with an adjustable "boom arm" to hold plasma gun over a small table instead of dedicated unit
[23:50:14] <BigJohnT_> that's been done before
[23:50:30] <jlmjvm> now thats an idea
[23:50:38] <BigJohnT_> unless you have lots of Y travel you are kinda limited
[23:50:58] <skinny77cncpuppy> Yeah it's Y limited but draws better than I do
[23:51:58] <BigJohnT_> I second that, trying to cut freehand with a plasma is somewhat comical
[23:52:21] <jlmjvm> i wish you hadnt said that,now i am seeing a bolt on plasma cutter for my boss
[23:53:20] <BigJohnT_> yes, you just bolt it on to the T slots and use the knee to adjust the tip clearance and your off and running
[23:53:41] <BigJohnT_> a piece of unistrut works nice
[23:53:43] <skinny77cncpuppy> Definately, Now I haven't done it it's lower priority but with a swivel plate at the mount and expandable boom you can index anywhere
[23:54:15] <skinny77cncpuppy> Just jog in x or y to align an edge ...
[23:54:18] <BigJohnT_> just make sure your material is parallel to your table...
[23:54:21] <BigJohnT_> yep
[23:54:23] <skinny77cncpuppy> yp
[23:54:47] <skinny77cncpuppy> Low $ !
[23:55:31] <jlmjvm> low $ is my middle name
[23:56:27] <BigJohnT_> I would do it on my mill but it's not near my fab shop and it's too heavy to move...
[23:58:42] <skinny77cncpuppy> Heck a small relay could parallel with the gun trigger doesn't need to be high tech
[23:59:26] <BigJohnT_> a string on the trigger works too...