Issue 80627 - Setting dimension constraints to Draw objects
Summary: Setting dimension constraints to Draw objects
Status: CONFIRMED
Alias: None
Product: Draw
Classification: Application
Component: code (show other issues)
Version: OOo 2.2.1
Hardware: All All
: P3 Trivial with 2 votes (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL: http://www.geometryexpressions.com/de...
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-12 18:30 UTC by discoleo
Modified: 2013-02-07 22:43 UTC (History)
1 user (show)

See Also:
Issue Type: FEATURE
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description discoleo 2007-08-12 18:30:15 UTC
I would like to be able to set various constraints to the Draw objects. In this
way, one could easily construct complex graphics with minimal effort.

There should be position, length and angle constraints.

For an excellent demo showing the power of setting constraints, see
http://www.geometryexpressions.com/demos.php.

Please run all the 6 demos to have a better understanding of what I mean with
constraints.
Comment 1 Regina Henschel 2007-08-12 19:22:59 UTC
That would add features of "Dynamic Geometry Software" to Draw
(http://en.wikipedia.org/wiki/Interactive_geometry_software).
It's a valid feature request.

There are so many good DGS, that one might ask, whether OOo should get such
features. I personally think, some of the features would be really useful in
draw, for example bind a point to a line.
Comment 2 discoleo 2007-08-12 20:09:10 UTC
The primary reason for adding this functionality is to allow precision drawing.

Complex drawings contain multiple elements that need precise dimensions / positions.

This is especially troubling when one wants
  - to add a new object that has some defined dimensions based on
    existing objects
  - needs to modify / scale the initial drawing and upon this has to edit
    every object manually

Therefore, I believe this feature needs to be added to draw and is especially
important for technical drawings.

I already thought about some implementation details.

Basically, I believe that there are firstly 4 large groups of *"objects"* that
should have constraining properties:

OBJECTS
=======
  A.) POINTS
  B.) LINES
  C.) SEGMENTS
  D.) CIRCLES

Of course, any complex object can have built in constraints, but these are the
more fundamental ones.


A.) POINTS
==========
A point can be constrained as follows:
  1.) fixed position - aka its coordinates
  2.) defined position on a segment - e.g. middle of a segment
  3.) intersection of 2 other (non-point) objects
       - 2 lines [0 points if parallel, 1 point, undefined if same line]
       - 1 line + 1 circle [0, 1 or 2 points]
       - 2 circles [0, 1, 2 points or undefined]

B.) LINES
=========
Constraints to a line:
  1.) 2 points
  2.) 1 point + 1 angle to a reference line/segment
  3.) 1 point + tangent to a circle
      [0 or 2 lines, or 1 line IF point is on the circle]
  4.) tangent to 2 circles [0,1,2,3,4 lines depending on circles]

C. SEGMENT
==========
  1.) 2 points
  2.) 1 line + length of another segment
      [more advanced: length computed from various other segments]

D.) CIRCLES
===========
  1.) center point + radius length
      - special cases: center + tangent to line/segment;
      - segment as diameter
  2.) 3 non-collinear points
  3.) tangent to a line + 2 points on same side of line
  4.) tangent to 2 lines + 1 point [2 circles]
  5.) tangent to 3 lines [0, 2, 4 circles possible]

Not yet discussed:
ANGLES, TRIANGLES
Comment 3 discoleo 2007-08-12 21:35:20 UTC
Please run also the *Automatic Demo* on
http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/java/zirkel/doc_en/Demos/index.html
to see some further uses.
Comment 4 christian.guenther 2007-08-13 09:49:58 UTC
This is a feature.
Comment 5 discoleo 2007-10-06 13:12:43 UTC
Changed Summary to better reflect the feature request.