#emc-devel | Logs for 2008-01-09

[14:49:36] <cradek_> /usr/local/src/emc2.trunk/scripts/emc: line 481: [: missing `]'
[14:50:03] <cradek_> someone misspelled "-a"
[14:50:18] <cradek_> cradek_ is now known as cradek
[14:50:47] <skunkworks> that was probably me somehow
[14:58:57] <jepler> cradek: hm
[14:58:59] <jepler> did you fix it for me yet?
[14:59:06] <cradek> nope
[15:00:07] <jepler> CIA-20: haloooooo?
[15:00:33] <jepler> cradek: should be fixed now
[15:00:38] <jepler> of course I still didn't test it :-P
[15:00:48] <cradek> haha
[15:00:54] <cradek> thanks
[15:21:39] <cradek> hmm, the velocity display is bogus for short moves
[15:25:36] <cradek> wonder if it's a sim-only problem - the code seems right enough
[15:26:51] <alex_joni> how bugus?
[15:28:14] <cradek> it even goes negative
[15:28:31] <cradek> I'm building for realtime... if it's sim-only I don't really care
[15:29:34] <jepler> surely there's a sqrt() in there -- how can it be negative?
[15:29:54] <cradek> I don't see how it can be negative...
[15:30:03] <cradek> the actual motion is pretty smooth
[15:30:45] <SWPadnos> when you make an arc, there's an i term. that would give a negative sqrt
[15:30:47] <SWPadnos> :)
[15:30:55] <jepler> har
[15:31:00] <cradek> gee thanks
[15:31:24] <jepler> newvel = maxnewvel = -0.5 * tc->maxaccel * tc->cycle_time +
[15:31:24] <jepler> tc->maxaccel * pmSqrt(discr);
[15:31:35] <cradek> if you're an EE you'd use a J term in your arc
[15:31:43] <SWPadnos> I can use either ;)
[15:31:53] <jepler> I can't use either
[15:32:39] <SWPadnos> we had a guy named Jay Courant in an EE course - people always got excited when the professor would talk about current density in a conductor (represented by J)
[15:33:32] <jepler> of course just below if newvel <= 0, newvel = 0
[15:33:37] <jepler> so that can't be it
[15:34:02] <SWPadnos> how is the velocity picked up by AXIS? (status?)
[15:34:12] <cradek> yes
[15:34:39] <SWPadnos> ok, so it shouldn't be a race condition with AXIS reading the value before the calculation is done
[15:35:29] <cradek> hmm, it may only go down to -0.0000
[15:35:49] <cradek> hahahahaha
[15:36:05] <SWPadnos> ?
[15:36:16] <cradek> http://timeguy.com/cradek-files/emc/trashcans.png
[15:36:44] <cradek> something seems not quite right about these icons
[15:36:47] <jepler> harharhar
[15:36:57] <SWPadnos> indeed
[15:37:15] <SWPadnos> they could have at least made soem of them full
[15:37:25] <cradek> well dang, it's wrong in realtime too
[15:38:32] <cradek> and I'm pretty sure it's not just -0
[15:41:12] <jepler> yes I captured various negative values
[15:41:56] <jepler> not very big in magnitude
[15:41:57] <jepler> -4.98030156878e-09
[15:41:57] <jepler> -4.98030157036e-09
[15:41:57] <jepler> -4.98030156241e-09
[15:41:57] <jepler> -5.04038497353e-09
[15:42:00] <jepler> -5.04038498092e-09
[15:42:02] <jepler> -5.72469052371e-09
[15:42:26] <jepler> here's the program I used, just ran it while smallmoves.ngc was running. http://pastebin.ca/848190
[15:43:12] <cradek> there's a hal param motion.current-vel
[15:43:30] <cradek> for .0015 moves in sim/axis it shows -0.038 about 1/4 the time
[15:43:32] <jepler> oh well I didn't think of that
[15:44:09] <jepler> huh I'm not getting any numbers that big
[15:44:21] <cradek> depends heavily on the length of the moves
[15:44:50] <jepler> I used .002 from trashcan
[15:44:54] <jepler> the trashcan pastebin
[15:44:57] <jepler> er not pastebin
[15:44:58] <jepler> you know what I mean
[15:45:06] <cradek> change it to .0015
[15:45:18] <SWPadnos> is is SCALE dependent?
[15:45:23] <jepler> oh yeah big difference
[15:45:23] <jepler> -0.1
[15:45:23] <jepler> -0.0999999929152
[15:45:23] <jepler> -0.0999999023879
[15:45:30] <SWPadnos> or PID/deadband?
[15:45:31] <jepler> (changing to .001)
[15:45:37] <jepler> SWPadnos: I doubt it, this doesn't use feedback values at all
[15:45:51] <SWPadnos> hmmm
[15:46:09] <SWPadnos> good point
[15:55:02] <cradek> huh, nexttc->currentvel is sure negative
[15:55:08] <cradek> (sometimes)
[15:56:53] <cradek> bleh
[15:59:35] <jepler> seems like it, er, shouldn't be?
[16:00:13] <cradek> nexttc->reqvel = nexttc->feed_override > 0.0 ?
[16:00:13] <cradek> ((tc->vel_at_blend_start - primary_vel) / nexttc->feed_override) :
[16:00:16] <cradek> 0.0;
[16:01:32] <SWPadnos> FO seems inverted there (based only on that code snippet)
[16:01:51] <alex_joni> seems right to me?
[16:02:07] <cradek> * cradek looks desperately for comments near the code that he probably wrote
[16:02:30] <SWPadnos> vel / FO means FO must have been inverted somewhere, or FO>1 means slower feed
[16:02:34] <SWPadnos> or I need more coffee
[16:02:43] <SWPadnos> err - slower accel
[16:02:47] <alex_joni> it's fo>0 not >1
[16:02:50] <alex_joni> and the fo is 0..1
[16:03:02] <cradek> I bet vel_at_blend_start doesn't get set here
[16:03:03] <alex_joni> hrmm.. that would mean * fo
[16:03:05] <SWPadnos> FO can't go past 1?
[16:03:11] <SWPadnos> like 125%
[16:03:21] <alex_joni> I meant it's 1 for 100%
[16:03:26] <alex_joni> it can go higher
[16:03:36] <SWPadnos> right - that's why I said it looks inverted :)
[20:02:20] <skunkworks> if I install all the debs from /experimental/gutsy.. can I csv trunk and build it?
[20:04:01] <jepler> you'd need additional packages -- the "build deps"
[20:04:51] <skunkworks> like normal sudo apt-get build-dep emc2
[20:05:49] <skunkworks> (just follow the wiki directions)
[20:05:58] <jepler> well not exactly -- that only works if you have a debian source repository with the ".dsc file" in it. Instead you'll have to read debian/control.in and guess at what packages you need based on the Build-Depends line.
[20:06:15] <jepler> or if there's a .dsc file in the experimental/gutsy directory, follow that instead of control.in.
[20:06:54] <skunkworks> this motherboard I got - dapper doesn't see the network card or video.. so I thought I would try gutsy
[20:07:05] <skunkworks> Ok - I will see what I can screw up.
[20:07:11] <skunkworks> thanks
[20:08:15] <SWPadnos> (possibly) quick question:
[20:08:50] <SWPadnos> if you load a file that needs translation into AXIS (such as DXF, image, STL - whatever), does AXIS re-run the filter if you hit "reload", or does it reload the generated G-code?
[20:09:01] <cradek> reruns the filter
[20:09:05] <SWPadnos> cool. thanks
[20:09:14] <cradek> but other things that cause a reload (like touch off) do not run it again
[20:09:28] <SWPadnos> oh - does touch-off reload the file?
[20:09:33] <SWPadnos> that seems strange
[20:09:35] <cradek> i.e. it's what you want :-)
[20:09:36] <jepler> it regenerates the preview
[20:09:40] <cradek> it reinterprets it
[20:09:41] <jepler> based on the same ngc file
[20:09:44] <SWPadnos> heh - excellent :)
[20:09:50] <fenn> should i edit lyx files with a text editor? lyx 1.4 puts in thousands of lines of crap
[20:09:54] <jepler> because presumably changing the offset has affected where your mill will be milled
[20:09:58] <fenn> (when exporting 1.3)
[20:10:05] <jepler> fenn: unfortunate, isn't it?
[20:10:13] <jepler> unfortunately I don't have a better suggestion than to use 1.3.6 or whatever is on dapper
[20:10:17] <cradek> * cradek makes a gesture at lyx
[20:10:42] <jepler> indeed
[20:11:39] <SWPadnos> ok - gotta run. bbl
[20:11:49] <SWPadnos> (time to send out that $50k invoice - w00t! :) )
[20:11:51] <jepler> if somebody's got a proposal, I'm all for switching to a different document preparation system. well, unless it's one I like even less than lyx.
[20:11:57] <jepler> haha w00t indeed
[20:12:04] <cradek> handwritten LaTeX?
[20:12:06] <cradek> handwritten html?
[20:12:13] <cradek> * cradek proposes all sorts of things
[20:12:17] <SWPadnos> OOO
[20:12:19] <SWPadnos> bye!
[20:12:28] <jepler> bzzt on both of those, because you can't get decent pdf from handwritten html, or decent html from handwritten latex
[20:12:38] <jepler> bzzt on ooo because .. well .. you gotta be kidding me
[20:12:40] <cradek> it's hopeless then
[20:13:16] <cradek> text: you can print it at 80x66 chars/page, or surround it with <PRE> for html
[20:13:20] <jepler> (ooo fails the "are diffs even marginally useful" test)
[20:14:24] <cradek> * cradek tries and fails to care about printing documentation
[20:14:32] <fenn> uh, docbook was hot shit a few years ago (and still seems pretty good to me)
[20:14:51] <jepler> cradek: it's inexplicable in my mind but apparently many people care about that
[20:15:26] <jepler> fenn: I don't have much experience with docbook, but what I had was negative. (of course, lyx was involved too)
[20:15:46] <jepler> in theory you can use lyx to prepare docbook documents, but in practice lyx 1.3 always wrote badly damaged ones
[20:15:50] <jepler> for me
[20:30:23] <CIA-20> EMC: 03fenn 07TRUNK * 10emc2/docs/src/gcode/main.lyx: m62-m66 not realtime blurb
[20:31:51] <CIA-20> EMC: 03fenn 07TRUNK * 10emc2/docs/src/gcode/main.lyx: thinko
[20:32:41] <skunkworks> does anyone know of a nec pre-test?
[20:33:12] <fenn> for becoming an electrician?
[20:33:20] <skunkworks> yes
[20:33:26] <skunkworks> free?
[20:33:45] <fenn> not i
[20:34:26] <fenn> there are a lot of building codes that vary by state or even county
[20:35:18] <skunkworks> It is 'National' electrical code
[20:35:31] <skunkworks> ;)
[20:35:57] <fenn> yep all i'm saying is, check to be sure local codes are the same as nec
[20:54:09] <skunkworks> another stupid question.. what was the command to install a deb where it also automagically installed the missing packages?
[20:54:27] <cradek> man dpkg?
[20:54:32] <skunkworks> oh - thanks
[20:54:45] <skunkworks> Windows doesn't have man
[20:54:47] <skunkworks> :)
[20:55:59] <cradek> actually I don't see it in there
[20:58:16] <jepler> skunkworks: I am told that after dpkg -i mumble.deb, 'apt-get -f upgrade' will install the needed packages
[22:10:09] <alex_joni> jepler: that's a nice trick
[22:10:34] <skunkworks> that worked btw.. but I needed the computer :(
[22:15:15] <skunkworks> cradek: is the viper what you worked on for the 5 axis kins?
[22:19:36] <skunkworks> yikes - that is one hell of a machine.
[22:33:11] <micges> polish translation half done tommorow I will finished
[22:43:29] <alex_joni> micges: short question :)
[22:43:38] <alex_joni> what filter do you use to load dxf's?
[22:43:51] <alex_joni> I noticed the filename in the screenshot you pasted ends in a dxf
[22:49:19] <micges> my own :)
[22:49:37] <alex_joni> I somehow guessed that :P
[22:50:17] <alex_joni> gpl? :P
[22:50:44] <micges> :)
[22:52:15] <micges> no gpl
[22:52:47] <micges> but I GPL'ED it soon :)
[22:53:16] <micges> now Its heavy tighed to AXIS
[22:53:47] <alex_joni> well.. then it's gpl by definition ;)
[22:53:57] <cradek> if it's something you will release as GPL we could consider distributing it with emc2/axis
[22:54:05] <cradek> many people ask about dxf input
[22:55:24] <micges> I know that :)
[22:55:36] <SWPadnos> is it true that in some form or another, there are g-code filters for dxf, stl, and images?
[22:55:53] <SWPadnos> (and of course python programs, which aren't too common in the 3D CAD realm ;) )
[22:56:00] <micges> for now It will not run without my AXIS :)
[22:56:05] <micges> be patient :)
[22:56:47] <alex_joni> SWPadnos: didn't understand that
[22:57:02] <cradek> same here
[22:57:18] <SWPadnos> err - I guess I was asking whether all those programs exist, regardles of whether they're included or well-configured with EMC
[22:57:43] <SWPadnos> I'm reasonably sure I've seen references to all three, but I think image-to-gcode is the only one that's preconfigured
[22:57:52] <SWPadnos> in some configs
[22:57:56] <alex_joni> right
[22:58:03] <alex_joni> the others are not distributed with emc2
[22:58:17] <alex_joni> I don't know of a dxf2ngc under GPL or similar
[22:58:23] <SWPadnos> hmmm
[22:58:28] <SWPadnos> is RELAIZE?
[22:58:33] <SWPadnos> err - REALIZE
[22:58:37] <alex_joni> there is ACE, and a couple of free but not Free programs
[22:58:42] <SWPadnos> ok
[22:58:44] <alex_joni> you need Acad to run realize
[22:58:45] <cradek> it is GPL but runs inside autocad
[22:58:48] <SWPadnos> ah - right
[22:58:53] <cradek> unfortunately
[22:59:13] <cradek> I mean it's great for me but crap for most everyone else
[22:59:16] <SWPadnos> heh
[22:59:27] <SWPadnos> great for anyone who has the correct version(s) of ACAD
[22:59:28] <alex_joni> I think I saw some free acad alternatives
[22:59:42] <alex_joni> I mean.. alternatives that support acad lisp extensions
[22:59:42] <cradek> pretty sure it works up through modern ones
[22:59:45] <SWPadnos> all we need is a standalone autolisp interpreter :)
[22:59:55] <alex_joni> SWPadnos: and a dxf parser
[22:59:59] <cradek> lisp is lisp. getting the dxf data into it is the problem
[23:00:06] <alex_joni> there is a thing called dxflib iirc
[23:00:17] <cradek> yeah, it's c++ and inscrutable
[23:00:21] <micges> my prog is preety advanced :P
[23:00:30] <alex_joni> http://www.ribbonsoft.com/dxflib.html
[23:00:39] <SWPadnos> but we can't tell until you release the code ;)
[23:01:56] <alex_joni> wtf
[23:02:15] <micges> http://imagebin.org/12922
[23:02:17] <alex_joni> dxflib: dxflib Professional, EUR 149 *
[23:02:18] <alex_joni> (~USD 220)
[23:02:29] <SWPadnos> it's dual-licensed
[23:02:41] <SWPadnos> GPL for GPL projects, paid fee for closed-source licenses
[23:03:49] <alex_joni> ah, ok
[23:04:47] <micges> This is my DXF converter
[23:06:17] <alex_joni> micges: we'll wait for the code to be released (and translated :P)
[23:08:13] <cradek> huh, dxflib looks very useful
[23:08:46] <cradek> the biggest reason I haven't ported REALIZE is that qcad doesn't do polylines
[23:09:13] <SWPadnos> I didn't notice if dxflib supported polylines
[23:09:17] <cradek> I think any dxf->gcode that doesn't work with polylines (that can represent an entire contour) is pretty much going to suck
[23:09:21] <cradek> yes it seems to
[23:09:31] <SWPadnos> it seems it wouldn't, since that's what qcad uses for dxf import
[23:09:49] <cradek> void Test_CreationClass::addPolyline(const DL_PolylineData& data) {
[23:09:57] <SWPadnos> cool
[23:14:36] <cradek> well lookie at that, dxflib just works
[23:15:04] <cradek> there is a test program with stub callbacks that just print the important data
[23:15:18] <SWPadnos> cool
[23:16:08] <cradek> http://pastebin.ca/848746
[23:16:43] <cradek> this is really everything REALIZE uses
[23:17:03] <cradek> polyline flags=1 means it is closed
[23:17:07] <alex_joni> hmm.. sounds like a job for a porting :)
[23:17:39] <SWPadnos> is that a test or a binary DXF? (are both possible?)
[23:17:42] <SWPadnos> text
[23:17:48] <skunkworks> would you make a gui similar to jeplers image to gcode?
[23:17:58] <cradek> this one is text, I can try binary
[23:18:04] <micges> goodnight all
[23:18:07] <SWPadnos> night
[23:18:10] <cradek> but, I have never seen anyone use a binary dxf
[23:18:14] <cradek> micges: bye
[23:18:18] <SWPadnos> ok
[23:19:04] <alex_joni> goodnight micges
[23:19:24] <cradek> chris@rover:~/Desktop/dxflib-$ ./test ~/B.DXF
[23:19:24] <cradek> Reading file /home/chris/B.DXF...
[23:19:24] <cradek> DXF read error: Line: 1
[23:19:24] <cradek> DXF read error: trying to fix..
[23:19:28] <cradek> the answer is no
[23:19:50] <SWPadnos> ok
[23:19:57] <cradek> but I think that doesn't matter
[23:20:02] <cradek> have you seen binary dxfs in the wild?
[23:20:13] <SWPadnos> it seems as though a text processing library should be easy, but who knows
[23:20:16] <alex_joni> there are lots of converters that read dxf's (even binary I think)
[23:20:25] <SWPadnos> I don't think so, but I haven't seen many dxf files at all
[23:20:51] <cradek> the devil is in the details of dxf reading
[23:21:11] <cradek> it's easy to read a small subset of dxf, sometimes easy to read enough for what you need
[23:21:34] <SWPadnos> is the spec published or just "well-known"?
[23:21:40] <cradek> but someone has a block, or a lightweight polyline, or paper space, or whatever - it throws you
[23:21:44] <cradek> it's published
[23:22:01] <cradek> but, it's fluid. it closely represents acad's internal data storage format and always has
[23:22:14] <cradek> it's pretty much an ascii dump of the lisp structures
[23:22:53] <cradek> too bad they didn't just dump the lisp, but they wanted people to be able to read it with 10 INPUT A$
[23:23:30] <SWPadnos> too bad they used lisp in the first place :)
[23:23:35] <cradek> :-P
[23:23:56] <alex_joni> do they still use lisp?
[23:23:59] <alex_joni> * alex_joni wonders
[23:24:06] <cradek> not sure
[23:24:08] <SWPadnos> I suppose I should try to learn some lisp before I say things like that though :)
[23:24:10] <cradek> lisp and/or VB
[23:24:52] <alex_joni> cradek: sure doesn't look like VB
[23:25:31] <cradek> I think they allow both now
[23:26:24] <cradek> well now I have another project.
[23:27:27] <cradek> but still, qcad doesn't do plines, ick
[23:28:40] <cradek> -rwxr--r-- 1 chris chris 3396 2008-01-09 23:19 /home/chris/B.DXF
[23:28:41] <cradek> -rwxr--r-- 1 chris chris 5651 2008-01-09 23:14 /home/chris/T.DXF
[23:28:49] <cradek> strange. I expected a LOT more space saving
[23:29:33] <alex_joni> maybe for large files
[23:29:42] <alex_joni> might be lots of header/overhead
[23:29:49] <cradek> true