Hi,
IMHO, even if it's totally feasible, it would require a little bit of programming, even to make it "the dirty way" (more on that later).
The open source Graphviz software (http://www.graphviz.org) is more likely to fit your needs, as it auto handles the graphical distribution of the elements based on a list of "connections" so it's very easy to script. There's even a sample of exactly what you're trying to achieve in the gallery (http://www.graphviz.org/Gallery/undirected/networkmap_twopi.html). Granted, it's a very complex network, resulting in a graphical mess ;)
About the dirty way : you could make a program in any language you're comfortable with, this way : 1) open your svg "baby" files (created within Inkscape) with a text editor, cut out everything else than the image itself (at the beginning and end of the files) and save them ("babyfile1.txt"). 2) in two other files ("header.txt" and "footer.txt"), copy / paste the svg preamble and footer, you've just cut from the "baby" files 3) create a program that writes to a text file : a) the content of header.txt b) for each baby image, b1) "<g id="mybabyfilexxx" transform="translate(x position,y position)">" b2) the content of your baby file (babyfile1.txt) b3) "</g>" c) the content of footer.txt
Dirty, messy, bad, shame-on-you, but it can work ;)
Regards, Ed
From: m.h.vandervelde@...155... Date: Sat, 5 Apr 2014 11:02:46 +0200 To: inkscape-user@lists.sourceforge.net Subject: Re: [Inkscape-user] Overlaying svg files from the commandline
What about using web technologies?
- Try libraries lie Raphael.js etc. to draw SVG ‘on the canvas’. It would require you, though, to copy the SVG from the source manually. You could even use jQuery’s DOM-manipulation.
or
- Use PHP to create the SVG files.
or
- Use HAML to create the SVG files (this should really be pretty easy, and you can try to gradually insert some Ruby for added ‘randomness'
or
- Use Ruby. But of course, that’s as much a programming language as Java and Python.
Maarten
On 05 Apr 2014, at 10:19, John Smith <lbalbalba@...155...> wrote:
On Sat, Apr 5, 2014 at 10:03 AM, Donn Ingle <donn.ingle@...155...> wrote:
I have tl;dr a bit, but it occurs to me that you need programatic control of a rather intricate visual layout. I would look into Cairo under Python control. You can then output images, pdfs or svgs as needed. You would have control over every last pixel and never have to touch a line of xml.
Hth.
Thanks. I looked at the Cairo website and the examples it has. But that solution requires more programming skills than I have; I might as well spend the time I will need to learn here on understanding xml and the svg format, and then merge the xml/svg files together. ;)
I found something similar with batik, but it looks like that would require me to learn java, so thats not my best bet either. https://xmlgraphics.apache.org/batik/
Thanks,
Regards,
John Smith.
Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user