# Is there a software or method of graphic design based heavily around defining relationships and constraints?

I am approaching vector graphic design from the perspective of a software developer, and I think some of my confusion with it may come from not correctly understanding how people in graphic design approach the problem of creating shapes with software.

I've been working with vector shapes in Sketch and Affinity Designer with the mentality that each point on a path should be defined relative to something else on the canvas, so that if a small part of the image is changed, the rest will adjust appropriately. I've used a small amount of CAD software in the past, so this mentality may come from that. In the graphics design programs I have tried, it seems that many common UI elements encourage "eyeballing" rather than specific definitions, such as the handles used to adjust a point on a path.

The method of graphic design that I have in my head is a hypothetical where I create a hierarchy of constraints purely via specifying relationships like

• "Point A is 32 units directly above Point B"
• "The corner created by Point B should actually appear rounded with a corner radius of 0.4 * [length of Line AB]"

The impression I get from graphic design software and the online community around graphic design is that this is not how vector shapes are normally drawn. In adjacent questions on this community, some have mentioned markup languages and CAD software as viable methods of vector design, but I would prefer to stay in a traditional graphic design environment if possible.

What is it that I am misunderstanding about graphic design here? Is there a tool for the method I have in my head, or do I need to change some perception that I have about graphic design?

• You can be precise and create constraints like that. The workflow would just be a bit different and you might be limited if you want to create complex objects in one go. In all apps I know you can create basic shapes with given x/y coordinates and sizes, you would of course have to do some of the calculations yourself if you want to have precise distancing e.g. Jun 10, 2020 at 15:08
• @Lapskaus its not a question of constructing the shape. It is a question of changing all shapes based on constraints when you change one of the constrained items. Jun 12, 2020 at 7:02

Yes, you can do that but not to the extent of a CAD program. Several methods of building relationships come to my mind.

1. Your space. Yes, you can think in terms of proportions. 16:9, 1.618, Sqr Root of 2, 2:1, Square, rule of thirds, or whatever proportion you want to explore.

2. Build a grid. The level of detail of this grid depends on your needs. Depending on the project, for example, designing a page, the first element is to define a margin. One method is to use a proportion vs the overall page.

3. Proportional spacing on the text. In the pre-digital era, you could even build a grid for each line of text, now you rely on defining a line-height. You can go with using absolute units, like pt or a proportion of the font height.

4. Proportions on elements. The same as point one but in elements.

But on design software, you do not normally define them as a "parametric" method. You do not define them in terms of automatically re-scale an element when you move another.

What you can use are:

1. Master pages on programs like Indesign.

2. Master layers in programs like Corel Draw.

3. Styles, of some aspects of a shape, like a stroke, or text elements.

4. Cloned or instanced elements, smart objects where an object changes based on the root element or linked elements.

But one important thing to understand is that Graphic Design is NOT about a mechanical approximation to shapes and sizes, it is about how it feels, how it looks, so, even if you start compositing using a grid, you put it there to break it.

For example visual equilibrium, instead of mechanical equilibrium. Asymmetry instead of perfect symmetry, etc.

• That is a no then. Jun 11, 2020 at 18:43

Affinity Designer supports constraints,but these are aimed at full items and proportional relationships, both inter-item and to spread - I don’t think they’d work for per-vertex.

OnShaoe, FreeCAD etc can also be used to create SVGs, if that’s a preferred workflow...

I would say no. Best you can get is some box constrainining. However, most likely graphic desigers don't even understand what you mean by this. Possibly as an approach it may be too mathematical.

Animation 1: A simple demo showing the geometric solver in action (the application in question is Creo)

It seems that a full constraint based solver is something that is realatively unique to mechanical engineering applications. So if you ask an architect, graphic designer, computer scientist, electrical engineer etc. You will quite likely get a blank stare or some other tool that seems like it. This also a reason why such tools are rarely seen outside of this realm, one can not ask for things that the makers are not aware of. Things are slowly changing but we are not there yet.

Its not that this wouldnt be very useful in page layout, font design or even traditional logo design. Its just that it requires sort of different kind of thinking that a sytem could work magically for you this way.