Easy image API?

25 views
Skip to first unread message

Sebastian Audet

unread,
Sep 20, 2011, 2:49:11 AM9/20/11
to Electric VLSI Editor
Trying to write a quick Beanshell/Jython script to print all the cells
in a library to png files.

Odd thing is it seems the best way to do this is by using classes in
the com.sun.electric.tools.ui package, which seem to define a bunch of
private internal classes just to draw some stuff on a 2D/3D canvas and
render an image out.

Is there perhaps a more straightforward, sane route to take? I suppose
I might have better luck with PostScript output, and just write a bash
script to do ps to png conversion...though it seemed like even that
was un-necessarily complex as it needed a bunch of VarContext stuff,
which, having just jumped into the source, I don't have a clue what
they are, or where to get one (properly).

Just looking for pointers, I might come up with a solution myself.

smaudet

unread,
Sep 22, 2012, 2:15:53 PM9/22/12
to electr...@googlegroups.com
Its been a while, I sorta let this problem get dusty. I'm working on it again, this time in Java (seems easier to get what I want done). If there already is some easy way to export all the cells in a library as a png, for example, I'd appreciate knowing. There may still be a problem with images being drawn directly from the screen; I'd like to avoid cycling all the cells, even programmatically, to do image exports.

If I come up with a fix, I'd like to contribute back to the community, I think better reporting skills would benefit the program.

My biggest question currently would be what sort of gui form it would be acceptable to utilize. Electric seems to be mainly done in Netbeans; If I were to use another toolkit for graphical layout management, would it be acceptable. I was rather hoping not to download Netbeans ... again ... after having uninstalled it.

Steven Rubin

unread,
Sep 24, 2012, 10:36:20 AM9/24/12
to electr...@googlegroups.com
There are a number of issues here that I can clarify.

First, Electric is not dependent on NetBeans at all. Sure, NetBeans can be used to do development, but so can Eclipse. You can also build Electric without any IDE, just using the command line.

Second, if you have changes to submit to Electric, the development team prefers that you EMail us about it directly, and we will be able to discuss with you the proper way to get these changes into the repository.

Third, Electric already has an automatic way to generate images from every cell in a library, but that image generator is PostScript. The PS output code has an option to produce a current set of PS files for every cell in a library. The code can even compare PS file dates with Electric cell dates, and rewrite the PS of cells that have changed since the PS was generated.

If you want to extend this code to PNG or some other format, it is doable. Yes, the internal code makes reference to many other classes in Electric. No, you don't have to worry about VarContext objects. They are used to define a path through the hierarchy. As you traverse down the circuit hierarchy, VarContext objects remember where you came from. This helps only in rare situations where there are parameterized cells. However, none of this is relevant when you are just printing individual cells.

   -Steven Rubin
--
You received this message because you are subscribed to the Google Groups "Electric VLSI Editor" group.
To view this discussion on the web visit https://groups.google.com/d/msg/electricvlsi/-/9ynnLNwMUVUJ.
To post to this group, send email to electr...@googlegroups.com.
To unsubscribe from this group, send email to electricvlsi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/electricvlsi?hl=en.
Reply all
Reply to author
Forward
0 new messages