Hello everyone,
just a quick question about ability to "reset" clone of an object. When I create clones on an object, I can manipulate them at my will (to some extent). Namely, I can stretch them, rotate them and so on... Is there a way to undo these transformations and reset the clones to the current "image" of the original?
I realize that this sounds like a non-sense.. why did you modify the clones in the first place, right?! The answer is that I use Inkscape to annotate my plots generated by Matlab. Sometimes I replace Matlab's markers by mine: I create the marker and then clone it as needed. Now and then, it turns out despite my best efforts that it would be best to scale the whole plot.. maybe along the y-axis only... In this case the clones stretch, which is somethign I don't want. And since there are many clones (sometimes even thundreds) it is tedious to replace them again.
Thank you for any insights!!
Happy holidays!
David
On 12/16/05, David Soukal <david.soukal@...719...> wrote:
Hello everyone,
just a quick question about ability to "reset" clone of an object. When I create clones on an object, I can manipulate them at my will (to some extent). Namely, I can stretch them, rotate them and so on... Is there a way to undo these transformations and reset the clones to the current "image" of the original?
Yes:
- open Transform (Ctrl+Shift+M), Matrix tab
- click "Edit current matrix"
- click "Clear"
- click "Apply"
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
Yes:
open Transform (Ctrl+Shift+M), Matrix tab
click "Edit current matrix"
click "Clear"
click "Apply"
-- bulia byak
That's great! I missed that option of the transform dialog. The only problem remaining is that the "Clear" button undoes everything.
Is there a description of the interpretation of the matrix? I remember vaguely from my graphics course... Most notably: I do no want to reset the traslation & rotation.. only scaling...
THANKS!
David
On 12/16/05, David Soukal <david.soukal@...719...> wrote:
Is there a description of the interpretation of the matrix? I remember vaguely from my graphics course... Most notably: I do no want to reset the traslation & rotation.. only scaling...
Rotation and scaling are hard to disentangle. Translation is easy, however: it's the rightmost column that must be set to 0 to remove translation.
To remove only scaling, I _think_ (not tested) you need to reduce the two left columns proportionally so that A*D - B*C = 1. In any case, not easy to do manually, unfortunately.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
Some relevant math can be found here:
http://en.wikipedia.org/wiki/Transformation_matrix#Affine_transformations
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
bulia byak wrote:
On 12/16/05, David Soukal <david.soukal@...719...> wrote:
Is there a description of the interpretation of the matrix? I remember vaguely from my graphics course... Most notably: I do no want to reset the traslation & rotation.. only scaling...
Rotation and scaling are hard to disentangle. Translation is easy, however: it's the rightmost column that must be set to 0 to remove translation.
To remove only scaling, I _think_ (not tested) you need to reduce the two left columns proportionally so that A*D - B*C = 1. In any case, not easy to do manually, unfortunately.
--
Thanks again! I came across a different problem... When I select more than one of the clones and apply the transformation, then they (obviously) move to the same place... something not intended...
My problem is that I have MANY clones which would mean that I would have to manually select every one of them and reset matrix. This is almost as much work as redo the marking again..
I don't know whether it would be useful for anybody except me, but if the developers thought it is not a lot of work, perhaps a simple button "reset clones" (possibly with a small dialog about what to reset) would be great...
Anyway, I'll think about the problem and maybe create an external script from the examples on CVS.
THANKS!
David
David Soukal wrote:
My problem is that I have MANY clones which would mean that I would have to manually select every one of them and reset matrix. This is almost as much work as redo the marking again..
This sounds like a "fixed size clone" problem. You want the clones to move and rotate but not change their size (like when you set the width of a line).
We had this discussion a few days ago. I posted a comment that it would be nice to be able to "fix" certain aspects of an SVG object (like the line width) or to modify them proportionally.
Maybe this idea could be extended to clones or templates or libraries of objects which can be added but which should not scale.
A quick solution would be to write a script in Python or a similar language which reads the XML, fixes the values and writes the result back.
I apologize for missing this discussion... I am in the middle of writing my thesis so I am under pressure to finish :)
The idea of having a "reset" button is a quick fix but may be more thought-out solution would be in order.
Is there any work in progress or discussion about defining styles for objects? Something along the lines like paragraph style in Scribus and others? Would it even make sense? What attributes would be "styleable"?
David
Aaron Digulla wrote:
David Soukal wrote:
My problem is that I have MANY clones which would mean that I would have to manually select every one of them and reset matrix. This is almost as much work as redo the marking again..
This sounds like a "fixed size clone" problem. You want the clones to move and rotate but not change their size (like when you set the width of a line).
We had this discussion a few days ago. I posted a comment that it would be nice to be able to "fix" certain aspects of an SVG object (like the line width) or to modify them proportionally.
Maybe this idea could be extended to clones or templates or libraries of objects which can be added but which should not scale.
A quick solution would be to write a script in Python or a similar language which reads the XML, fixes the values and writes the result back.
participants (3)
-
Aaron Digulla
-
bulia byak
-
David Soukal