Suggestion: ability to mix absolute and relative coordinates
Posted: Wed Aug 14, 2019 3:42 pm
I have recently discovered QCAD which I really like.
However, I do have one suggestion that I believe will improve the software's useability - at least for me. That is to be able to mix one relative and one absolute coordinate when specifying a target point.
At present the software allows the specification of two absolute cordinates in the form of 'x,y' or two relative coordinates in the form of '@x,y'.
Sadly there appears to be no immediate way to mix them - that is to specify the first coordinate as an absolute value and the second, as a relative value or vice versa.
For example I would like to be able to specify a point whose absolute x-coordinate is '3000' and whose relative y-coordinate is '0'. This would be useful when creating a line or when moving or copying an entity to an absolute point horizontally, but a relative point vertically.
The existing method of using the '@' symbol could be made to work in this scenario if the syntax allowed one to specify for example: '3000,@0' to mean 'x = absolute 3000' and 'y = relative 0'. However, this would become contradictory if the input was reversed to: '@0,3000' which presently means that both of the specified coordinates are relative, not only the x-coordinate.
Perhaps to save changing the ,meaning of the existing well-known syntax, an additional prefix symbol could be added to mean 'relative', such as the '$' symbol. In this scheme, '$0,3000' would specify: 'x = relative 0' and 'y = absolute 3000' (not both as relative). And, '0,$3000' would specify: 'x = absolute 0' and 'y = relative 3000'. Although not needed in this convention, '$0,$3000' would specify: 'x = relative 0' and 'y = relative 3000', directly analogous to the existing '@0,3000'.
Perhaps this could be taken a step further by enabling the mixing of absolute and relative coordinates within arithmetical expressions. Although I cannot think of an immediate practical use, perhaps a syntax like: '100+$10,$20+130' could be legally evaluated.
What do other users think? Maybe I have missed a method of specifying this concept in some other way.
Best, Steve.
However, I do have one suggestion that I believe will improve the software's useability - at least for me. That is to be able to mix one relative and one absolute coordinate when specifying a target point.
At present the software allows the specification of two absolute cordinates in the form of 'x,y' or two relative coordinates in the form of '@x,y'.
Sadly there appears to be no immediate way to mix them - that is to specify the first coordinate as an absolute value and the second, as a relative value or vice versa.
For example I would like to be able to specify a point whose absolute x-coordinate is '3000' and whose relative y-coordinate is '0'. This would be useful when creating a line or when moving or copying an entity to an absolute point horizontally, but a relative point vertically.
The existing method of using the '@' symbol could be made to work in this scenario if the syntax allowed one to specify for example: '3000,@0' to mean 'x = absolute 3000' and 'y = relative 0'. However, this would become contradictory if the input was reversed to: '@0,3000' which presently means that both of the specified coordinates are relative, not only the x-coordinate.
Perhaps to save changing the ,meaning of the existing well-known syntax, an additional prefix symbol could be added to mean 'relative', such as the '$' symbol. In this scheme, '$0,3000' would specify: 'x = relative 0' and 'y = absolute 3000' (not both as relative). And, '0,$3000' would specify: 'x = absolute 0' and 'y = relative 3000'. Although not needed in this convention, '$0,$3000' would specify: 'x = relative 0' and 'y = relative 3000', directly analogous to the existing '@0,3000'.
Perhaps this could be taken a step further by enabling the mixing of absolute and relative coordinates within arithmetical expressions. Although I cannot think of an immediate practical use, perhaps a syntax like: '100+$10,$20+130' could be legally evaluated.
What do other users think? Maybe I have missed a method of specifying this concept in some other way.
Best, Steve.