www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-help/2012/12/22/18:46:25

X-Authentication-Warning: delorie.com: mail set sender to geda-help-bounces using -f
X-Recipient: geda-help AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=mail.ud03.udmedia.de; h=
message-id:date:from:mime-version:to:cc:subject:references
:in-reply-to:content-type:content-transfer-encoding; s=beta; bh=
PNopIvfKgjNCkrMv8TWjsag9RmR3vlJ0rch/cmMx9zU=; b=E26Wfd27K8L/qhZb
pxq6Wl8drcAr0/mgDPF8MNCc0I8JlPvWsjo/k79JwlrDAom3CI0e4Mgp9KFzjlqY
kv+a03dXlxcarjd84D3xg97fD6S/TCSx6/0sclqbbosAhvxFfzCz9/h0JnCSQJqQ
C1eJETXN6WeqvtB1PyBXmdQFals=
Message-ID: <50D645FF.2030901@jump-ing.de>
Date: Sun, 23 Dec 2012 00:45:03 +0100
From: Markus Hitter <mah AT jump-ing DOT de>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0
MIME-Version: 1.0
To: geda-help AT delorie DOT com
CC: joe M <joe9mail AT gmail DOT com>
Subject: Re: [geda-help] Adding voronoi regions to geda pcb
References: <CAHjjW15vWY_MV0O=dCtcQYWrXJ=w2O79dwL_BLo1MobKNoAhcQ AT mail DOT gmail DOT com>
In-Reply-To: <CAHjjW15vWY_MV0O=dCtcQYWrXJ=w2O79dwL_BLo1MobKNoAhcQ@mail.gmail.com>
Reply-To: geda-help AT delorie DOT com

Am 22.12.2012 22:58, schrieb joe M:

> I am wondering how hard it would to add voronoi regions to geda pcb
> gcode exporter.

Good question :-)

For my part, I'm interested in this, too, and I hacked this exporter 
quite a bit over the last two years. I also maintain Visolate 3, which 
produces G-code from Gerbers, using a 3D graphics card to generate the 
voronoi regions. Visolate is written in Java, in a flavour quite 
portable to C.

gEDA/pcb's G-code exporter traces track boundaries with potrace. potrace 
is B/W only. So, I think the biggest part would be to teach potrace to 
trace multicolour pictures. Or to find or write another tracer. potrace 
is quite good and fast at path optimisation; AFAIK it would even allow 
to export G-code using G5 (bezier curve).

The current tracing code starts in src/hid/gcode/gcode.c at line 600:

- Draw a PNG   (line 614..617)
- Convert this to a potrace bitmap (line 622..639)
- bm_to_pathlist()  (line 697)
- process_path()   (line 704)

That's it. Everything else there is non-essential code strayed in 
between for prettifying the G-code output.


Hope this answers the question,
Markus

-- 
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. (FH) Markus Hitter
http://www.jump-ing.de/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019