DocScrutinizer05 changed the topic of #qi-hardware to: Copyleft hardware - http://qi-hardware.com | hardware hackers join here to discuss Ben NanoNote, atben / atusb 802.15.4 wireless, and other community driven hw projects | public logging at http://en.qi-hardware.com/irclogs and http://irclog.whitequark.org/qi-hardware
<qi-bot> [commit] Werner Almesberger: cameo/: new command write_gerber, for Gerber output (master) http://qi-hw.com/p/cae-tools/c7ff028
<qi-bot> [commit] Werner Almesberger: cameo/lang.l: require all commands followed by file name to end with whitespace (master) http://qi-hw.com/p/cae-tools/096b91e
<whitequark> how do these people come to the channel?..
<wpwrak> irc --list-channels | grep -i hardware
<DocScrutinizer05> did I miss something?
<DocScrutinizer05> ooh, "whice psu is better"
<DocScrutinizer05> exactly what wpwrak said
<DocScrutinizer05> wpwrak: btw kudos for the PCB shaping :-)
<DocScrutinizer05> you already mentioned the root question "can you use it?"
<DocScrutinizer05> rather " like to know if this is useful for you"
atommann has joined #qi-hardware
<DocScrutinizer05> seems DXF is a format eagle could import
<wpwrak> i hope he can handle gerber :) i don't know dxf. i could offer gnuplot, though. that's the easiest of them all :)
<whitequark> dxf, not really
<whitequark> importing into eagle is a pain overall
<DocScrutinizer05> whitequark: exactly my point
<DocScrutinizer05> whitequark: how would you import a PCB shape to eagle?
<DocScrutinizer05> tbh I don't even understand how the shape is defined inside eagle
Haswell has joined #qi-hardware
<DocScrutinizer05> I mean, I can draw wires and arcs, but how's that becoming the outer edges of the allowed PCB area for eagle?
<DocScrutinizer05> simply by traces not being allowed to cross wires, arcs etc?
<DocScrutinizer05> or even simpler by traces only being allowed on background color? then we could import bmp as well prolly
<whitequark> um, eagle does not have an allowed PCB area.
<whitequark> when you export it or process it into gerber, it just uses the widest extent of anything on the board
<whitequark> there's no "background color" and the traces can intersect if you so desire
<whitequark> if you mean the autorouter, i think you need to define corresponding keepout areas to make it stay clear.
<DocScrutinizer05> from eagle "help": >> ==Platinenumrisse und Plazierung festlegen== Gegebenenfalls die Leerplatine in Größe und Form verändern (MOVE, SPLIT).<<
<wpwrak> that sounds quite normal. e.g., in kicad, you have a specific layer for the board outline. eagle must have something very similar.
<whitequark> i don't speak german
<wpwrak> whitequark: weren't you learning that weird language ? :)
<whitequark> i kinda skipped on it
<whitequark> anyway, used GT
<DocScrutinizer05> wpwrak: I guess "layer" is the key word
<whitequark> eagle does have an outline layer and it has a rectangle by default there
<whitequark> the layer doesn't affect anything at all
<whitequark> some board houses like oshpark use it internally
<whitequark> i don't think eagle itself cares
<wpwrak> whitequark: you'll be sorry for it when those alternate histories come true :) well, or perhaps for skipping french. can't be so sure about which one will win.
<DocScrutinizer05> well, the autorouter must have an idea of where the PCB ends, no?
<wpwrak> there must be a cut, too .. :)
<whitequark> hm, not sure
<whitequark> ah, yes, the help says autorouter also respects
<whitequark> that
<wpwrak> the pcb outline is the only thing that defines the pcb outline. no traces, no pads, etc. so it must be there, somehow :)
<whitequark> i don't use autorouter, as it's evident
<DocScrutinizer05> so it's based on "pixels" in PCB outline layer?
<whitequark> lines
<whitequark> it's all vector
<wpwrak> in kicad, that's just a drawing. lines and arcs
<DocScrutinizer05> ok
<DocScrutinizer05> yes, like in eagle
<DocScrutinizer05> I picked the lines + arcs idea for my example of above from another board that works
<DocScrutinizer05> eagle help is for the bin
<DocScrutinizer05> :-S
<wpwrak> if all else fails, i just look things up in the source ;-)
<wpwrak> kinda the ultimate "help"
archang has joined #qi-hardware
<DocScrutinizer05> layer 20 "Dimension"
<DocScrutinizer05> gotta love eagle: http://wstaw.org/m/2015/03/16/plasma-desktopjj1895.png window switching, it fails on refresh/redraw
<DocScrutinizer05> sometimes
<whitequark> wait
<whitequark> is "Golden Delicious" a kind of apples?
<DocScrutinizer05> yes
<whitequark> lol
<DocScrutinizer05> actually green apples
<DocScrutinizer05> THE apple
<whitequark> they look yellow
<DocScrutinizer05> yellow-greenish
<whitequark> "The Golden Delicious is a cultivar of apple with a yellow color"
<whitequark> not just me
<DocScrutinizer05> they're not red as usual apples
<DocScrutinizer05> guess that's why they#re called/named "golden"
<DocScrutinizer05> http://en.wikipedia.org/wiki/Golden_Delicious has good pictures
<DocScrutinizer05> anyway
<DocScrutinizer05> wpwrak: we need to provide a way to actually import the stuff into eagle, otherwise it will again be "please send pencil sketch on napkin"
kristianpaul has joined #qi-hardware
kristianpaul has joined #qi-hardware
atommann has quit [Ping timeout: 246 seconds]
<DocScrutinizer05> /whois stallmanu
<DocScrutinizer05> err
kristianpaul has quit [Client Quit]
kristianpaul has joined #qi-hardware
kristianpaul has joined #qi-hardware
atommann has joined #qi-hardware
kristianpaul has quit [Quit: leaving]
kristianpaul has joined #qi-hardware
kristianpaul has quit [Client Quit]
kristianpaul has joined #qi-hardware
<DocScrutinizer05> wpwrak: added a arc: <wire x1="82.55" y1="43.18" x2="62.23" y2="22.86" width="0.4064" layer="20" curve="-266.304779"/> http://wstaw.org/m/2015/03/16/plasma-desktopnt1895.png
<DocScrutinizer05> I guess that should have been -270
<DocScrutinizer05> which is actually how I drawn it
<whitequark> nonono don't modify xml directly
<whitequark> what you should do is to make a "script"
<whitequark> which is what's accepted in the bar above the drawing area and also in .scr files
<DocScrutinizer05> whywhywhy when we have no better API ? :-)
<whitequark> we do, that's my point
<DocScrutinizer05> yeah, a script is prolly fine, as long as I can convince wpwrak to learn about the available commands and their syntax
<whitequark> the embedded help describes the scripting commansd pretty well
<whitequark> i worked extensively with both ulp and scr languages of eagle
<whitequark> they're surprisingly nonhorrible
<DocScrutinizer05> though non-comprehensive
<DocScrutinizer05> I completely agree with you, but I'd be willing to "convert" files even manually, for this one-shot
<whitequark> it's probably faster to generate the scr
<whitequark> for one, you don't have to parse and serialize xml
<DocScrutinizer05> lemme try a lil gimmick...
<whitequark> ... don't tell me you're going to inject that as a string using sed
<DocScrutinizer05> hehe I already thought about that, but not yet
<whitequark> ugh you're the worst
<DocScrutinizer05> but what motivated me for http://paste.opensuse.org/43156895 is pretty close to that and also somewhat related to sed
<DocScrutinizer05> tbh the xml looks astonishingly similar to what I think the wire command syntax will be
<DocScrutinizer05> hmm
<DocScrutinizer05> WIRE ['signal_name'] [width] [ROUND | FLAT] • [curve | @radius] •..
<DocScrutinizer05> • means coords iirc
<whitequark> yes
<whitequark> (1 1)
<whitequark> of this form
<whitequark> sometimes it accepts input in really strange form to make it uniformly fit • format
<whitequark> oh, i just remembered how exactly
<whitequark> usually • means (x y)
<whitequark> but sometimes • means (major minor) where major is the major grid spacing and minor is the minor (alt) one
<DocScrutinizer05> ugh
<whitequark> it is fucking beyond me who thought it is a good idea to reuse that syntax
<whitequark> but at least i'll save you some time
<DocScrutinizer05> :-)
<DocScrutinizer05> btw pre eagle6.x .brd files looked way more nasty ;-)
<DocScrutinizer05> binary crap
<whitequark> yeah
<DocScrutinizer05> anyway I guess it's rather trivial to convert whatever vector format drawing into eagle WIRE
<whitequark> not always
<whitequark> if it uses arcs and lines, yes
<whitequark> if it uses B-splines, then no
<DocScrutinizer05> yes
<DocScrutinizer05> that's what I assumed
<DocScrutinizer05> I hope wpwrak didn't use B-splines to describe teh shape of a 2.5D-scan
<DocScrutinizer05> ;-)
<whitequark> B-splines are nice
<whitequark> representing circles and ellipses exactly
<whitequark> especially NURBS surfaces. otherwise you're left with triangle crap like OpenSCAD
<DocScrutinizer05> yes, maybe. But I doubt I'll find splines in any vectoriced bmp
<DocScrutinizer05> I even doubt there will be arcs in there
<whitequark> hrm
<whitequark> well, I would probably use splines to avoid the "pixelation" effect
<whitequark> it's not like we're living inside minecraft
<DocScrutinizer05> wpwrak alrady did all the heavy lifting
<whitequark> do you even need bitmap tracing?
<whitequark> I would use calipers
<DocScrutinizer05> nah, the shape is pretty irregular
<whitequark> hm, maybe
<DocScrutinizer05> kudos to werner for that
<DocScrutinizer05> awesome work
<whitequark> what i would do is to use the edge detector in GIMP and then trace the resulting contour in inkscape
<DocScrutinizer05> also see latest commits at http://neo900.org/git/?p=misc
<whitequark> the former works surprisingly well, just used it today
<DocScrutinizer05> yes, that's what I meant by "vectorized bmp"
<whitequark> inkscape would produce a B-spline though
<DocScrutinizer05> anyway we're already there, courtesy wpwrak
<whitequark> since that is what svg uses
<DocScrutinizer05> OUCH!
<DocScrutinizer05> well, cool for inkscape and SVG, not cool for eagle
<DocScrutinizer05> I'm pretty sure wpwrak will only shrug about converting whatever thin red line in whatever format he got now, into a loooong sequence of adjacent (staight) WIRE commands aproximating the red line's shape for arbitrary precision
<DocScrutinizer05> I bet it's not even a question whether or not the length of each vector will be maximized
<DocScrutinizer05> actually the latter is extremely simple: when (x,y) == (x[-1],y[-1]) * n, simply replace old (x[-1],y[-1]) by new (x,y)
<DocScrutinizer05> err sorry, of course polar coords apply here
<DocScrutinizer05> so when (x,y) - (x[-1],y[-1]) == ( (x[-1],y[-1]) - (x[-2],y[-2]) ) * n, simply replace old (x[-1],y[-1]) by new (x,y)
<DocScrutinizer05> whitequark: ((scripts)) actually that's *exactly* what I suggested as "interchangeable eagle format" for Neo900 project
<DocScrutinizer05> whitequark: you know there are ULPs that can export whole eagle projects as a single huge script
<whitequark> yes
Haswell has quit [Quit: Saliendo]
<DocScrutinizer05> alas these ULP are a tad... bitrotten, would need some revisiting to add a few lacking (new?) command syntax details of eagle6
<DocScrutinizer05> and *really* great would be to directly access and read out the undo/redo buffer - I could bet on it containing complete plaintext commands. What a nice session log as well as obviously also a script
<whitequark> unlikely plaintext
<DocScrutinizer05> hmm, dunno
<whitequark> since you can't easily revert them
<whitequark> not much point in reparsing and such
<DocScrutinizer05> aah right
<DocScrutinizer05> nm
<whitequark> note that solvespace does something very similar
<whitequark> its savefiles are "forth" programs that recreate the environment from scratch
<whitequark> doesn't quite map to an undo/redo buffer--it just copies the entire savefile (in-memory) when you do anything
<whitequark> since it's small
<whitequark> but it's still neat
<DocScrutinizer05> well, I'm just musing about a theoretical approach: save to .brd/.sh after each single command, do diffs
<whitequark> that'd work. but what for?
<DocScrutinizer05> .sch
<DocScrutinizer05> for "patches"
<DocScrutinizer05> solving the "send a pencil sketch on a napkin please" problem
<DocScrutinizer05> wpwrak: OOOPS we need BOB too :-o
<DocScrutinizer05> not to same precision, but anyway we need some 3rd PCB shape
archang has quit [Quit: Konversation terminated!]
archang has joined #qi-hardware
archang has quit [Quit: Konversation terminated!]
archang has joined #qi-hardware
nicksydney has quit [Remote host closed the connection]
xiangfu has joined #qi-hardware
atommann has quit [Ping timeout: 256 seconds]
atommann has joined #qi-hardware
xiangfu has quit [Ping timeout: 264 seconds]
porchao has joined #qi-hardware
xiangfu has joined #qi-hardware
atommann has quit [Ping timeout: 245 seconds]
pcercuei has joined #qi-hardware
xiangfu has quit [Ping timeout: 250 seconds]
xiangfu has joined #qi-hardware
xiangfu has quit [Ping timeout: 272 seconds]
xiangfu has joined #qi-hardware
xiangfu has quit [Ping timeout: 240 seconds]
xiangfu has joined #qi-hardware
xiangfu has quit [Ping timeout: 255 seconds]
xiangfu has joined #qi-hardware
archang has quit [Ping timeout: 250 seconds]
xiangfu has quit [Remote host closed the connection]
wej has quit [Ping timeout: 245 seconds]
wej has joined #qi-hardware
fengling has joined #qi-hardware
wej has quit [Ping timeout: 250 seconds]
wej has joined #qi-hardware
wej has quit [Ping timeout: 245 seconds]
wej has joined #qi-hardware
sb0 has quit [Quit: Leaving]
wej has quit [Ping timeout: 250 seconds]
wej has joined #qi-hardware
<wpwrak> DocScrutinizer05: (b-splines) no, it's all list line segments. some 10+ k of them ;-) (either connected or unconnected, depending on where in the process you are)
Nik05 has quit [Remote host closed the connection]
Nik05 has joined #qi-hardware
wej has quit [Ping timeout: 245 seconds]
wej has joined #qi-hardware
<DocScrutinizer05> 10+k ? sounds like it could use some "smoothing"
<DocScrutinizer05> what do you think about providing a "script" that eagle could readily run?
<DocScrutinizer05> (I guess converting DXF to a script is what needs to get done anyway)
<wpwrak> dxf is pure horror. my "native" format is gnuplot. plot "foo.gp" with lines
<wpwrak> but i suspect that nik would not want to use a generated outline directly anyway, but rather adjust his existing design with it. also because some features depend on component shapes, which in some cases will be different anyway
<wpwrak> also, he may have item at a higher layer of abstracion there. arcs, etc.
<wpwrak> and anyway, what is this doing on #qi-hw ? :)
<DocScrutinizer05> there are no component dependant shapes. And I'd prefer the thing getting defined without manual tweaking
<DocScrutinizer05> (qi) I discussed stuff with whitequark
<DocScrutinizer05> when the DXF-whatever gets used to do manual shape edits then we have exactly same unfortunate situation we already got
<DocScrutinizer05> neglecting details since they are "too complicated" and supposedly "not needed" and adjusting dimensions to own expectations
<DocScrutinizer05> I don't care when instead of arcs a 3000 straight vectors approximate a curve
sb0 has joined #qi-hardware
<DocScrutinizer05> for the approximation I _know_ about how exact it is. Fitting an arc manually to match whatever mask/template will rsult in arbitrary errors again
<DocScrutinizer05> prolly I gotta do it myself
<DocScrutinizer05> convert to a script and import to eagle, that is
<whitequark> you can fit an arc to the same error as those 3000 straight segments
<whitequark> and it's not going to make eagle grind to a halt
<wpwrak> manual fitting is often remarkably accurate, especially if you have zoom :) also, you can deliberately introduce small deviations, e.g., to fit other patterns you need to consider (grid or such)
<whitequark> wpwrak: isn't dxf a fairly simple text based format?
<whitequark> or was that dwg?
<whitequark> i looked at export code for some of those and it was pretty trivial
<wpwrak> text-based but rather chaotic. not in the xml sense but rather in the "too many punch cards" sense
<wpwrak> and autocad were busy augmenting it. so the first step would be to find out which of those hundreds of possible commands you really need
<whitequark> ah, right
FDCX_ has quit [Remote host closed the connection]
wolfspraul has joined #qi-hardware
<DocScrutinizer51> hi wolfspraul :)
paul_ has joined #qi-hardware
sb0 has quit [Quit: Leaving]
wolfspraul has quit [Read error: Connection reset by peer]
pcercuei has quit [Ping timeout: 256 seconds]
pcercuei has joined #qi-hardware
wolfspraul has joined #qi-hardware
paul_ has quit [Quit: Leaving]
pcercuei has quit [Ping timeout: 265 seconds]
pcercuei has joined #qi-hardware
wolfspraul has quit [Ping timeout: 272 seconds]
fengling has quit [Ping timeout: 256 seconds]
wej has quit [Ping timeout: 250 seconds]
wej has joined #qi-hardware
pcercuei has quit [Ping timeout: 256 seconds]