[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: looking for drawing program to inscribe a square in a circle and label items



On Friday, January 19, 2018 10:50:11 PM Dan Hitt wrote:
> So, something like xfig, except that it should have geometrically
> describable grouping or linking options.  (You can glue objects
> together with xfig, but afaik not link them loosely, like through a
> point of tangency.)
> 
> I.e., if i draw two primitives (like a square and a circle), then it
> should be possible to demand that they stay tangent, or that the
> corners of the square be on the cricle (inscription), and these
> relations will continue to hold if one primitive or the other is
> resized or scaled or moved (and the relations should be recorded as
> some kind of constraints in the file format).
> 
> Maybe some kind of svg editor is capable of doing this?

(I'm not familiar with xfig, maybe it is somewhat like Visio / dia?)

I don't know if dia is capable of all you want or not, but I mention it just 
because it is the Linux drawing tool that I am slightly familiar with, use 
(very rarely), and I think of as (a partial?) equivalent of Visio.  (I used to 
use Visio (Windows only, afaik) for quite a few things, since then I've had 
much less need for drawing things (or avoided drawing the things I should have 
;-).

Anyway, I am subscribed to a dia mail list and see some of the discussions 
about various problems.

If I wanted to do what you described in Visio, I'd proceed something like this 
(forgetting some of the Visio terms for things)--for example, for the square 
inscribed in a circle:

Create a "template" (mcow (my choice of words)) starting with a circle.

Create connection points on the circle at 0, 90, 180, and 270 degrees.

(That might be all I put in the template, or I might include line segments 
connecting the various points to make the square, diagonals, and so forth.  If 
I want to connect the midpoints of the square with other line segments, I'd 
include connection points at the midpoints of the lines in the template (which 
obviously means I'd include the lines making the square in the template).

Then I would use the template to create an "instance" (again, MCOW) of that 
object which I could place anywhere on the drawing and resize as desired.

For the square tangent to the circle, I'd do something similar, as a template, 
create a square, put a connection point at the midpoint of one of the sides, 
add a circle with a connection point, connect the circle to the square at the 
connection points.  Then create an instance of that template and place it on 
the drawing.

(If the tangent point should be elsewhere on the side of the square, I'd put 
the connection point there--if it needs to vary the position, I'd have to 
understand how it should vary and think some more.)

I'm fairly sure all of this could be done in Visio.  I'm not as sure about 
dia--a recent thread on the dia list talked about some difficulty connecting two 
lines together, but at least one workaround was suggested..


Reply to: