I regularly use inkscape as a quick'n dirty "kind of 2d cad tool" for specific purposes that are usually not well supported in traditional CAD tools either - inkscape is nice in that it not only provides the geometric shapes and precise control over position and dimension, but also gradients and some creative tools.
I often need to place objects on the drawing on very precise locations specified relative to the center of the page and the center of the objects and with precise dimensions (specified numerically). However, because of the lack of a flexible system for specifying the origin of the objects and page coordinate systems this always turns into a math contest. Not impossible, but not exactly painless and rather error prone. If only this feature were present inkscape would be the PERFECT tool for my use case.
So here's my question: is this something that can be solved by an extension (e.g. something that automatically attaches a coordinate transform to an object - I'm just thinking out loud without much knowledge about inkscape internals of course)? Or does it need changes to the core? I would find it hard to believe that no one has asked for such feature before, so perhaps there's a fundamental reason why this is not available yet? Thanks for any insights.
With simple functions do you mean inputting simple formulas (arithmetic expressions)? If so, then yes I use it all the time. If there's something more advanced available (like e.g. a placeholder that automatically gets the width of the last selected object in such formula), I'd appreciate (a link to) some explanation.
But even with the formulas it's painful to put the center of a rectangle with - say - width, height = (12500um, 14000um) on coordinate (4500um, -6700um) with (0,0) being the middle of the page (one has to compensate for the location of 0,0 on the page and compensate for width and height of the rectangle). Add to that that the original technical drawings I have to start from sometimes have additional mirroring and rotation compared to what I have to make of it, and things get even more complicated. And of course it's not always rectangles but other shapes as well. And when I later want to resize a shape a bit I have to recalculate the center coordinates based on new width and height. (No big deal for a single rectangle, but often I'm dealing with many objects and things get hopelessly tedious).
I realize it's not the standard use case for inkscape, but making what seem like "simple modifications" in such applications is painful.
Any chance you are using the Transforms dialog with relative moves? I would probably place a guide with its origin at the page center and move an object relative from that point.
Actually, what I could do is to first center an object on the page with the alignment/distribute tools, then use arithmetic in the x and y position edit boxes to move it to the correct spot. After resizing, I should then first re-center the object on the page, then again move the correct spot with the x and y position arithmetic. That should indeed make some things easier already. Thanks for that tip!
Keep in mind that there is a "snap to object center setting". Plus, the transforms dialog scales from the center and has a relative checkbox, so formulae are not needed in the numeric entry areas.
I think there is feature request created back in 2012 asking for Inkscape to allow arbitrary setting of coordinate origin. It is accepted but seems not high on list of thinks to do.
It is really paintfull depending on fixed coordinate origin. You always have to recalculate coordinates if precision drawing is needed.
I regularly use inkscape as a quick'n dirty "kind of 2d cad tool" for specific purposes that are usually not well supported in traditional CAD tools either - inkscape is nice in that it not only provides the geometric shapes and precise control over position and dimension, but also gradients and some creative tools.
I often need to place objects on the drawing on very precise locations specified relative to the center of the page and the center of the objects and with precise dimensions (specified numerically). However, because of the lack of a flexible system for specifying the origin of the objects and page coordinate systems this always turns into a math contest. Not impossible, but not exactly painless and rather error prone. If only this feature were present inkscape would be the PERFECT tool for my use case.
So here's my question: is this something that can be solved by an extension (e.g. something that automatically attaches a coordinate transform to an object - I'm just thinking out loud without much knowledge about inkscape internals of course)? Or does it need changes to the core? I would find it hard to believe that no one has asked for such feature before, so perhaps there's a fundamental reason why this is not available yet? Thanks for any insights.
There are a few inquiries regarding anchor points, but not as many on coordinate systems.
I presume you are using Inkscape's ability to put simple functions into the numeric entry fields? That's a real timesaver.
With simple functions do you mean inputting simple formulas (arithmetic expressions)? If so, then yes I use it all the time. If there's something more advanced available (like e.g. a placeholder that automatically gets the width of the last selected object in such formula), I'd appreciate (a link to) some explanation.
But even with the formulas it's painful to put the center of a rectangle with - say - width, height = (12500um, 14000um) on coordinate (4500um, -6700um) with (0,0) being the middle of the page (one has to compensate for the location of 0,0 on the page and compensate for width and height of the rectangle). Add to that that the original technical drawings I have to start from sometimes have additional mirroring and rotation compared to what I have to make of it, and things get even more complicated. And of course it's not always rectangles but other shapes as well. And when I later want to resize a shape a bit I have to recalculate the center coordinates based on new width and height. (No big deal for a single rectangle, but often I'm dealing with many objects and things get hopelessly tedious).
I realize it's not the standard use case for inkscape, but making what seem like "simple modifications" in such applications is painful.
I see.
Any chance you are using the Transforms dialog with relative moves? I would probably place a guide with its origin at the page center and move an object relative from that point.
Actually, what I could do is to first center an object on the page with the alignment/distribute tools, then use arithmetic in the x and y position edit boxes to move it to the correct spot. After resizing, I should then first re-center the object on the page, then again move the correct spot with the x and y position arithmetic. That should indeed make some things easier already. Thanks for that tip!
Keep in mind that there is a "snap to object center setting". Plus, the transforms dialog scales from the center and has a relative checkbox, so formulae are not needed in the numeric entry areas.
I think there is feature request created back in 2012 asking for Inkscape to allow arbitrary setting of coordinate origin. It is accepted but seems not high on list of thinks to do.
It is really paintfull depending on fixed coordinate origin. You always have to recalculate coordinates if precision drawing is needed.