ian
2016-03-14 08:07:55 UTC
Hello,
Gerbv is great, thanks for all your work on it. This is a bountied
request for a command line feature that exports images aligned and
centered based on all layers, but allows some layers to be disabled (not
rendered) and used for alignment only. Alternately it could load all
layers at once and export individual images.
There's a couple open source scripts that use gerbv to render PCBs.
Gerblook is a python script at github. I also have a nasty PHP version
in our dangerousprototypes github that we use at dirtypcbs.com. Both of
these scripts have a workaround to deal with gerbv's image exports that
is really taxing on the server.
The problem is that when you select only one layer for export, gerbv
sizes and centers the exported image around only that layer. We need to
export each layer and then composite them into an image. On many many
gerbers there is silk, outlines, etc that are not the same size on each
layer. If we just export each layer the images do not align when we make
the composite.
Our workaround is to render all layers in each image exported, with one
layer set to color and all others set to alpha transparency. This is
effective, but it is increasingly common to have extremely complex
silkscreens that take 60+ seconds to render. Since the silk is enabled
for each image exported (but transparent), we're seeing 800+ second
rendering times on a really power server for many gerbers we process.
What would simplify our work flow is to have a mode/feature that
specifies layers to be used for alignment and centering only without
rendering them.
I profess ignorance if this is actually possible. It is not clear to me
if the import and rendering processes are separated enough to actually
see a speed increase. If the compute intensive part is rendering lots of
alpha layers during image export then the ability to include but not
render layers would help a lot. If the processing time is mostly in
loading the layers on each pass then it would be better to have a
feature that loads all the layers from one shell command and export an
image of each based on the complete set.
I don't want to set a specific bounty because I understand there may be
several factors that make this more difficult. I'd offer at least $500,
more if anyone wants to discuss it at a more detailed level.
Thank you and best regards,
Ian
Gerbv is great, thanks for all your work on it. This is a bountied
request for a command line feature that exports images aligned and
centered based on all layers, but allows some layers to be disabled (not
rendered) and used for alignment only. Alternately it could load all
layers at once and export individual images.
There's a couple open source scripts that use gerbv to render PCBs.
Gerblook is a python script at github. I also have a nasty PHP version
in our dangerousprototypes github that we use at dirtypcbs.com. Both of
these scripts have a workaround to deal with gerbv's image exports that
is really taxing on the server.
The problem is that when you select only one layer for export, gerbv
sizes and centers the exported image around only that layer. We need to
export each layer and then composite them into an image. On many many
gerbers there is silk, outlines, etc that are not the same size on each
layer. If we just export each layer the images do not align when we make
the composite.
Our workaround is to render all layers in each image exported, with one
layer set to color and all others set to alpha transparency. This is
effective, but it is increasingly common to have extremely complex
silkscreens that take 60+ seconds to render. Since the silk is enabled
for each image exported (but transparent), we're seeing 800+ second
rendering times on a really power server for many gerbers we process.
What would simplify our work flow is to have a mode/feature that
specifies layers to be used for alignment and centering only without
rendering them.
I profess ignorance if this is actually possible. It is not clear to me
if the import and rendering processes are separated enough to actually
see a speed increase. If the compute intensive part is rendering lots of
alpha layers during image export then the ability to include but not
render layers would help a lot. If the processing time is mostly in
loading the layers on each pass then it would be better to have a
feature that loads all the layers from one shell command and export an
image of each based on the complete set.
I don't want to set a specific bounty because I understand there may be
several factors that make this more difficult. I'd offer at least $500,
more if anyone wants to discuss it at a more detailed level.
Thank you and best regards,
Ian