#emc-devel | Logs for 2008-04-03

[00:13:19] <skunkworks> wow - we have a few open networks around here.
[00:13:37] <skunkworks> * skunkworks hugs his wpa
[00:20:43] <cradek> jepler: I suspect that gcode was generated programmatically
[00:34:05] <jepler> cradek: uh yeah
[00:34:33] <SWPadnos> I wonder if both of those reports are from Stuart
[00:34:46] <SWPadnos> the second one looks like it is due to the cinci reference
[00:35:02] <jepler> cradek: since I decided to rewrite my geometric primitives, i haven't managed to get line-line intersections right yet
[00:35:07] <jepler> * jepler smacks his forehead
[00:35:46] <SWPadnos> Y=mx+b
[00:36:13] <cradek> * cradek laughs quietly at jepler
[00:36:44] <cradek> jepler: I think I have all the cases (that I intended to handle) working in emc
[00:36:45] <jepler> I bet there's something wrong here near the code that computes the intersections of lines and lines
[00:37:05] <jepler> there are actually lines and lines of line-line intersection code
[00:37:05] <cradek> I think the next step is to make all the other cases error
[00:37:09] <jepler> * jepler sits in the corner and whimpers
[00:37:50] <SWPadnos> what'cha working on?
[00:38:18] <jepler> SWPadnos: I'm working on slightly more burly path offsetting; I had it mostly working, but then I decided to throw away my code and practically start over
[00:38:31] <SWPadnos> oh. uh, cool :)
[00:38:51] <cradek> it will kick ass if you get it working
[00:38:53] <SWPadnos> cvs up -R"last week" :)
[00:38:55] <jepler> http://emergent.unpy.net/index.cgi-files/sandbox/demo_comp.png
[00:39:00] <jepler> SWPadnos: yes, I do have version control and I did use it
[00:39:18] <jepler> here's a taste of what was working, except for a few bugs in intersection-finding ^^
[00:39:20] <SWPadnos> heh
[00:39:28] <SWPadnos> did I get the command line right? (more or less)
[00:39:43] <cradek> -D"week ago" I think
[00:39:47] <SWPadnos> ah
[00:39:56] <jepler> oh I'm using git so I have no idea how to get the old version back out :-P
[00:39:57] <SWPadnos> right, Date no Revision
[00:39:59] <SWPadnos> heh
[00:40:15] <SWPadnos> hmmm. so what are all those shapes showing me?
[00:40:28] <SWPadnos> ah, now I see
[00:40:38] <jepler> something like git checkout 4ee9da994ea82fa57847309c10bc411a3d37d63f
[00:40:57] <cradek> the funny thing is you're probably not kidding
[00:41:10] <SWPadnos> how many segments does it look ahead - still one?
[00:41:19] <SWPadnos> no, gotta be at least 2
[00:41:24] <jepler> SWPadnos: my code does a N^2 pass at the end to find loops
[00:41:29] <SWPadnos> oh, nice
[00:41:30] <cradek> so, all of them
[00:41:52] <jepler> you could tune it so that it preserves some maximum number, e.g., 100
[00:42:10] <cradek> that's the gpl program we all want to have
[00:42:11] <jepler> if you're scared of the squares (and rightly so)
[00:42:16] <SWPadnos> hmmm
[00:42:43] <cradek> jepler: can you use my test cases (they're in gcode)
[00:43:15] <jepler> cradek: with some effort; I might want them in the future
[00:43:28] <SWPadnos> I wonder if it would be very hard to make a sorted list of segments on the first pass through (un-offset) and then see if they intersect the tool shape based on distance / "hit-box" type math
[00:43:28] <cradek> ok
[00:43:32] <jepler> right now it just has hardcoded paths in C++
[00:44:18] <cradek> I'm convinced you could do smarter loop detection than N^2
[00:44:25] <jepler> aha
[00:44:36] <cradek> it would be based on sorting bounding boxes
[00:44:39] <jepler> if you don't see the problem in the code you're looking at, maybe it's on some line you're not looking at
[00:44:44] <SWPadnos> heh
[00:45:14] <SWPadnos> yes - sort for geometric features (position and shape), rather than G-code sequence
[00:46:43] <jepler> there's also a way to do it to pixel accuracy with opengl, but this window is too narrow to contain the full answer
[00:46:52] <jepler> in O(N)
[00:47:23] <cradek> pixel?
[00:47:30] <jepler> some fixed grid accuracy
[00:47:45] <cradek> I hope you don't have to resort to anything like that
[00:48:10] <cradek> I'd prefer "slow but right"
[00:48:34] <cradek> if I want to pocket a font and it takes an hour, I don't care one bit
[00:48:40] <SWPadnos> or fast but right - that's OK too
[00:49:20] <SWPadnos> openGL is fine for this, but the grid should be that of the highest resolution axis
[00:49:32] <SWPadnos> which would make the memory demand pretty high
[00:50:50] <cradek> bbl
[00:51:00] <jepler> you could probably use a coarse grid and arrange it so that there are false positives but never false negatives .. then sort it out with "mathematically exact" intersections where there may exist intersections
[00:51:00] <SWPadnos> see ya
[00:51:04] <jepler> but .. I'm not there yet
[00:51:08] <jepler> I have to write line-circle intersection again
[00:51:09] <SWPadnos> heh
[00:52:19] <jepler> I just realized something interesting.
[00:52:36] <jepler> finding the intersection of adjacent segments is just a special case of loop removal
[00:52:40] <jepler> I am what they call "the slow one"
[00:52:55] <SWPadnos> I hope not
[00:53:03] <SWPadnos> if so, then I'm the slug or something
[00:53:18] <jepler> har
[03:16:49] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[13:20:32] <skunkworks_> alex_joni: ray was on here last night wondering about how to test hardy
[13:52:54] <skunkworks_> Hey ray..
[13:53:27] <rayh> How you doing. Get out from under that last snow?
[13:54:05] <skunkworks_> NO snow here.
[13:54:13] <skunkworks_> We got the rain
[13:54:33] <rayh> We got some heavy snow.
[13:54:48] <SWPadnos> hmmm. I guess this weekend on't be so nice here
[13:54:51] <SWPadnos> won't
[13:55:19] <skunkworks_> here are the hardy packages that alex has been working on... You need to ask him about any issues.. I have only installed it once. http://dsplabs.cs.utt.ro/~juve/tempdebs/hardy/
[13:55:29] <rayh> It's probably headed your way, Steven
[13:55:48] <rayh> Ah thanks, skunkworks
[13:56:01] <skunkworks_> I have to get the foam and tubes down for the garage floor - pouring monday.
[13:57:49] <rayh> Ah. Don't work to hard.
[14:00:35] <skunkworks_> Ray: didn't you have a pdf on classic ladder - that you used in your classes?
[14:01:34] <rayh> Seems like it.
[14:02:23] <rayh> Thinking back it seems like it was a takeoff of the wiki page.
[14:03:06] <skunkworks_> ok
[14:03:27] <rayh> I'll see what I can find of it.
[14:04:32] <skunkworks_> This? http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Sample_HAL_And_ClassicLadder
[14:05:42] <rayh> Yes.
[14:06:48] <rayh> (more later) made a liar of me unless I get back to it.
[18:39:53] <cradek> I wonder if I knew what I was doing, near emccanon.cc:637
[18:40:28] <SWPadnos> the more important question may be "do you now know what you were doing there?"
[18:41:19] <cradek> I can't see that the save does anything meaningful
[18:42:08] <cradek> I'm considering whether/how to add a canon call THE_NEXT_MOVE_SHOULD_BE_SEQUENCE_NUMBER(int n) or something like that
[18:42:38] <SWPadnos> CVS must have different line numbers or something
[18:42:59] <SWPadnos> oh - maybe not
[20:23:49] <cradek> http://timeguy.com/cradek-files/emc/t3.png
[20:24:02] <cradek> I bet everyone is sick of these pictures
[20:24:43] <skunkworks_> No - they are cool
[20:24:57] <skunkworks_> are the colors - g1 vs g2,3?
[20:25:09] <cradek> yeah AXIS does that - not new
[20:25:20] <skunkworks_> huh - :)
[20:25:51] <cradek> they're so similar probably nobody ever noticed
[20:26:06] <cradek> I don't remember why I thought that was a good idea
[20:27:29] <skunkworks_> I don't notice those things right away.. it takes a few yeares
[20:29:30] <cradek> I wonder if most controls let you move only Z with ccomp on
[20:38:02] <skunkworks_> * skunkworks_ doesn't know..
[20:38:08] <skunkworks_> cutter comp is new to me.
[20:38:40] <BigJohnT> cradek: you mean jogging?
[20:39:18] <jepler> BigJohnT: no -- he is wondering if, with cutter comp on, a G1 that only moves Z acceptable
[20:39:27] <jepler> (because where exactly are you supposed to perform that Z motion?)
[20:39:34] <jepler> (at what X,Y position, that is)
[20:39:51] <BigJohnT> jepler: got it
[20:40:57] <cradek> * cradek cluelessly tries to normalize a length by adding 2*pi to it
[20:40:57] <BigJohnT> if your plunging down while cutting a pocket you have to use Z only
[20:41:50] <BigJohnT> my Analim does cuttercomp during canned cycles and it does Z only moves...
[23:10:17] <ve7it> ve7it is now known as LawrenceG