Hi Maren, John,
many thanks again!
@Maren: I now tested using the latest development version, and the "selected_nodes" extension now works for me. However, I found that the coordinates are not returned in sequential order (the order that defines the path), which is crucial for my purpose, but in some random order. The order is even slightly different with Inkscape 0.91 compared to the development version. I would therefore, for now, stick with the ExportXY plugin, which, thanks to John, can now be published under the GPL.
Thank you very much for the hint with the document scale setting – that completely solved the issue that the x values were off.
@John: Thousand thanks, this is perfect!
The extension stopped working with Inkscape 1.0 though, which I was able to fix to some extent. I changed "self.selected.iteritems()" to "self.selected.items()" and now get the values again, together with a number of deprecation warnings. I was unable to resolve these warnings for now (any help welcome, of course), but I included an ugly hack that turns these warnings off, so that at least the output is clear.
A very pleasant surprise was that with Inkscape 1.0, both x and y values returned by the script fully match those displayed in Inkscape (without the y axis being inverted or similar).
I attached the modified code to this email.
Best wishes, and thanks again, Jens
Am 03/11/2019 um 10:32 schrieb John Cliff:
Hi Jens,
Heard back from Neon22, hes very happy for it to be released under GPL. If you can add this to the top of the code you put in the paper:
# # curve xy co-ordinate export # Authors: # Jean Moreno <jean.moreno.fr@gmail.com mailto:jean.moreno.fr@gmail.com> # John Cliff <john.cliff@gmail.com mailto:john.cliff@gmail.com> # Neon22 https://github.com/Neon22?tab=repositories # # Copyright (C) 2011 Jean Moreno # Copyright (C) 2011 John Cliff # Copyright (C) 2011 Neon22 # # Released under GNU GPL v3, see https://www.gnu.org/licenses/gpl-3.0.en.html for details. #
obviously add your name to those lists since you've modified it.
Thanks
John
On Sat, Nov 2, 2019 at 3:21 PM Jens Lallensack <jens.lallensack@gmail.com mailto:jens.lallensack@gmail.com> wrote:
Hi John, wow, I certainly asked at the right place! Thank you so much for your efforts, it would be wonderful if it can be released under GPL. Best, Jens Am 02/11/2019 um 14:42 schrieb John Cliff: > Thought it looked familiar. I'm Simarilius in that thread, I supplied > the dodgy original version that Neon22 improved. > I'm happy for the code to be published, I based it off a blog post from > a now dead blog (wayback link is here: > http://web.archive.org/web/20141216062123/http://jumpnslide.tumblr.com/post/2557920924/how-to-use-inkscape-as-a-game-development-tool) > I have an email from that blog author Jean Moreno confirming he was > happy for the code to be modified/ released under GPL which I can > forward to you if you wish. > Neon22 that modified it doesn't appear to have been active on the forum > since 2013, but appears to have been active on Github and Inkscape.org > recently. I've just tried emailing them via the openscad forum, will let > you know if they reply. > > Cheers > > John > > On Sat, Nov 2, 2019 at 12:52 PM Jens Lallensack > <jens.lallensack@gmail.com <mailto:jens.lallensack@gmail.com> <mailto:jens.lallensack@gmail.com <mailto:jens.lallensack@gmail.com>>> wrote: > > > Hi John, > > thanks! > > This is the forum post with the improved version of the script: > http://www.inkscapeforum.com/viewtopic.php?t=8826#p32088 > > And here is the original version (same forum topic): > http://www.inkscapeforum.com/viewtopic.php?t=8826#p31912 > > Best wishes, > Jens > > > > > Am 02/11/2019 um 13:29 schrieb John Cliff: > > Whats the correct link for the forum post? you seem to have > linked the > > paper twice. > > > > Cheers > > > > John > > > > On Fri, Nov 1, 2019 at 2:38 PM Jens Lallensack > > <jens.lallensack@gmail.com <mailto:jens.lallensack@gmail.com> <mailto:jens.lallensack@gmail.com <mailto:jens.lallensack@gmail.com>> > <mailto:jens.lallensack@gmail.com <mailto:jens.lallensack@gmail.com> > <mailto:jens.lallensack@gmail.com <mailto:jens.lallensack@gmail.com>>>> wrote: > > > > > > Dear all, > > > > I am palaeontologist at the University of Bonn, Germany, > focusing on > > fossil dinosaur footprints and trackways. I regularly use > Inkscape for > > my research (for measuring, data extration, and drawing of > interpretive > > outlines), and have cited this software in several of my papers. > > > > I am currently working on a methodological paper on how to > analyze > > fossil footprints based on 3D models. The approach I will > present in > > this paper includes Inkscape as an important component. The > idea is to > > import raster images into Inkscape (different graphical 2D > > representations of the 3D model), align them into an image > stack, and > > draw interpretive outlines on a separate layer. I use the > Bezier curves > > tool to collect a number of landmark coordinates from the > separate > > footprints, which I then export to automatically calculate a > large > > number of measurements for statistical analysis. The paper is > to be > > published in a peer-revied journal (currently, I have the > Journal of > > Palaeontological Techniques in mind, > > https://www.jpaleontologicaltechniques.org/). > > > > I already used this method in a recent paper > > > (https://www.tandfonline.com/doi/abs/10.1080/02724634.2018.1512501) to > > rapidly collect measurements of a larger number of trackways. The > > aim of > > the new methodological paper is to improve this method and to > make it > > available to our comunity of footprint researchers. However, > there are > > two open issues/questions regarding Inkscape. I was wondering > if you > > could give me some advice here. > > > > Export of path node coordinates is, unfortunately, currently > possible > > only via a plugin, which adds an additional hitch (but I > understand > > that > > research is not the focus of Inkscape). Such a plugin was > posted on the > > Inkscape Forum in 2011, with improvements added by different > members > > > (https://www.tandfonline.com/doi/abs/10.1080/02724634.2018.1512501). I > > simplified the code so that it returns node coordinates only > (and not > > those of the handles), see code below. > > > > Now to my questions: > > > > 1) I need to cite the modified coord export script in my > paper, and > > make > > sure that it stays available. I assume that code published in > the forum > > is not automatically released under a free licence, and that > I cannot > > simply distribute the script together with the paper. A > possibility > > might be to post the modified script to the forum and provide > the link > > in the paper. This is only an option if the link remains > available > > for a > > longer time (I cannot modify the paper once published). What > would be > > the optimal way? > > > > 2) The coordinates given by the script need to be mirrored and > > translated to match the coordinates displayed within Inkscape > itself. I > > would need to improve the script so that this is done > automatically. > > I'm > > not into python scripting, but would try to figure this out. Any > > help/hints with this would be much appreciated. > > > > Thank you very much in advance. > > > > Kind regards, > > Jens Lallensack > > > > > > > > ----- xyexport.py ------- > > > > #!/usr/bin/env python > > > > import inkex > > import sys > > import simpletransform > > import cubicsuperpath > > > > class TemplateEffect(inkex.Effect): > > def __init__(self): > > inkex.Effect.__init__(self) > > def effect(self): > > for node in self.selected.iteritems(): > > output_all = output_nodes = "" > > for id, node in self.selected.iteritems(): > > if node.tag == inkex.addNS('path','svg'): > > output_all += "" > > output_nodes += "" > > simpletransform.fuseTransform(node) > > d = node.get('d') > > p = cubicsuperpath.parsePath(d) > > for subpath in p: > > for csp in subpath: > > output_nodes += str(csp[1][0]) > + "\t" + > > str(csp[1][1]) + "\n" > > sys.stderr.write(output_nodes) > > effect = TemplateEffect() > > effect.affect() > > _______________________________________________ > > Inkscape Devel mailing list -- > inkscape-devel@lists.inkscape.org <mailto:inkscape-devel@lists.inkscape.org> > <mailto:inkscape-devel@lists.inkscape.org <mailto:inkscape-devel@lists.inkscape.org>> > > <mailto:inkscape-devel@lists.inkscape.org <mailto:inkscape-devel@lists.inkscape.org> > <mailto:inkscape-devel@lists.inkscape.org <mailto:inkscape-devel@lists.inkscape.org>>> > > To unsubscribe send an email to > > inkscape-devel-leave@lists.inkscape.org <mailto:inkscape-devel-leave@lists.inkscape.org> > <mailto:inkscape-devel-leave@lists.inkscape.org <mailto:inkscape-devel-leave@lists.inkscape.org>> > > <mailto:inkscape-devel-leave@lists.inkscape.org <mailto:inkscape-devel-leave@lists.inkscape.org> > <mailto:inkscape-devel-leave@lists.inkscape.org <mailto:inkscape-devel-leave@lists.inkscape.org>>> > > >