# Sneak peeks for 1.7

## Recommended Posts

On 2017/12/21 at 0:39 AM, Ben said:

And, here a video showing the new rotate-on-plane feature of the Move tool.  A new shape is created into a grid, using the "Edit In Grid Plane" mode.  Then, with the mode on, any rotations maintain the grid plane perspective.

Sorry, the last post quoted the wrong content, I originally wanted to refer this.

I've recorded a GIF. Please check it out.

##### Share on other sites

This is a method for preserving parallel perspective when rotating an object.  The object could be a symbol, or any other layer, but the method concerns how the object scales and distorts while it is rotating.  Yes - you can achieve something similar with a symbol, but as your video shows, you'd have to construct a symbol inside a square.  Not exactly great for workflow.

Symbols is not a solution for this problem.

SerifLabs team - Affinity Developer
• Software engineer  -  Photographer  -  Guitarist  -  Philosopher
• iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
• MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

##### Share on other sites

Another preview.  I've added a new mode to Grids and Axis, for defining a grid from a correctly scaled cube.

The cube has a base scale (which would define a edge size if the cube was rotated flat to the screen).  The angle and the lengths of the grid axes are derived based on the cube orientation.  I opted to have a separate control for the Elevation angle as it allowed for snapping points to be added.  One of the snapping points I added is the Elevation angle required for an isometric grid, which you would then combine with an Orientation angle of 45 degrees to get a true isometric grid.  You also get the option to apply a Roll angle.

You can manually set the length of any axis, and the other axes will adjust accordingly, along wit the base scale - so you can define the overall cube size based on one axis.

For cube based grids, I've assumed that gutters are less likely to be required, so they have been omitted, and that the subdivision count is uniform for all axis, so you only get to specify it once. A decision partly to do with reducing the amount of UI clutter.

SerifLabs team - Affinity Developer
• Software engineer  -  Photographer  -  Guitarist  -  Philosopher
• iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
• MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

##### Share on other sites

Wow that's great

I have the distinct feeling that the 1.7 version will be a milestone for vectorial software!

Honestly, a great job for all of us users.

Ciao

Fabio

##### Share on other sites

How wonderful that looks !!!

Does that mean we'll be able to rotate the objects created themselves this way as well ?

Thanks,Ben

##### Share on other sites
59 minutes ago, Ben said:

Another preview.  I've added a new mode to Grids and Axis, for defining a grid from a correctly scaled cube.

The cube has a base scale (which would define a edge size if the cube was rotated flat to the screen).  The angle and the lengths of the grid axes are derived based on the cube orientation.  I opted to have a separate control for the Elevation angle as it allowed for snapping points to be added.  One of the snapping points I added is the Elevation angle required for an isometric grid, which you would then combine with an Orientation angle of 45 degrees to get a true isometric grid.  You also get the option to apply a Roll angle.

You can manually set the length of any axis, and the other axes will adjust accordingly, along wit the base scale - so you can define the overall cube size based on one axis.

For cube based grids, I've assumed that gutters are less likely to be required, so they have been omitted, and that the subdivision count is uniform for all axis, so you only get to specify it once. A decision partly to do with reducing the amount of UI clutter.

So, this feature is not for adding cubes, but to make the process of making isometric grid easier?

##### Share on other sites

I can't stop watching. This is fantastic looking.

##### Share on other sites
1 hour ago, catlover said:

How wonderful that looks !!!

Does that mean we'll be able to rotate the objects created themselves this way as well ?

Thanks,Ben

Err, no.  That would be proper 3D, and we are not doing proper 3D.

1 hour ago, Fatih19 said:

So, this feature is not for adding cubes, but to make the process of making isometric grid easier?

Yes. This is used to define the grid axes - their direction and length - based on a parallel projection of a rotated cube.  As @JET_Affinity has pointed out before, isometric is just one type of axonometric grid.  This feature will enable you to create an accurate axonometric grid for any orientation.

For one of the examples that JET_Affinity has given us, you can use this feature to define a notion of "up" by fixing the Elevation angle (and the Roll angle, which normally you'd just leave as 0).  You can then alter the Orientation angle while maintaining the fixed notion of up, in order to create complementary grids/axes.  This can then be used easily in a single drawing to break away from fixed three dimensions.

SerifLabs team - Affinity Developer
• Software engineer  -  Photographer  -  Guitarist  -  Philosopher
• iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
• MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

##### Share on other sites

@Ben:

No 3D, too bad, but thank you nonetheless.

BTW : Is there any chance of a "simple" extrude function ?

##### Share on other sites

What do you mean by "simple"?

SerifLabs team - Affinity Developer
• Software engineer  -  Photographer  -  Guitarist  -  Philosopher
• iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
• MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

##### Share on other sites

HA, ha, not so simple I realise that, hence the quotes.

Maybe  "blend" would be a better description  ??

So one would end up with a fake 3D sort of thing (stroke added for sake of clarity)

Extrude.afdesign

##### Share on other sites

I've already thought about a tool that might do this.  It turns out it isn't as simple as I'd hoped.

There are probably two ways you'd want to extrude a shape - either stretch it along a line (keeping a single curve object, good for creating shadows), or project it and create geometry of edge facets (each facet being a new curve object, for creating pseudo-3D shapes).  Both are complicated in different ways.

SerifLabs team - Affinity Developer
• Software engineer  -  Photographer  -  Guitarist  -  Philosopher
• iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
• MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

##### Share on other sites

If you add warp /distort, combined with this new grid feature, this program will beat the crap out of perspective.

##### Share on other sites

Thank you, Ben for answering an old lady's questions, regardless of how busy you are.

I'm sure you'll give it your best effort !

As far as I'm concerned you're doing a great job !

C.L.

##### Share on other sites

This is only about ADesigner 1.7. Is there also a preview of APhoto 1.7?

My Specs:
- Processor: AMD Phenom™ II X4 955 Processor 3.20 GHz- RAM: 8 GB
- Graphics card: NVIDIA GeForce GTS 250
- Monitor: SyncMaster F2380 (resolution 1920x1080)
- Operating system: Windows 10 Pro (1803) / 64 bit

##### Share on other sites

No, no sneak peaks for Photo.

##### Share on other sites
27 minutes ago, MEB said:

No, no sneak peaks for Photo.

Not ever, Miguel, or just not yet?

Alfred
Affinity Designer/Photo/Publisher for Windows • Windows 10 Home (4th gen Core i3 CPU)

##### Share on other sites

You will have to ask that to Andy Somerfield! I have no idea...

##### Share on other sites

Thanks for the clarification.

Alfred
Affinity Designer/Photo/Publisher for Windows • Windows 10 Home (4th gen Core i3 CPU)

##### Share on other sites
On 13-1-2018 at 2:30 AM, Unsatisfied ex-customer said:

+1

And just to make it clear to everone here. Developers are not decision makers. Their job is to recommend and implement the best technical solution in the machine room to whatever decision makers should decide. Decision makers - whatever rank they may have - must follow a vision for the product - but certainly most of all take into account what customers need. A vision is a dream. Market demand is reality. Somehow on the famous internet posters talk about developers like they are the only beings in software companies. And the tone is like you customers owe them something special? They CODE the software. They work 9-5 like you do. When you are their customer, they work for YOU. When they are your customer, you work for THEM. You don't have to behave like you owe volunteers on a hospital something. Rant if you must.

You have a lot to think about. The software is cheap, yes, but Serif is a small company. Now they started all over on three huge products and they will also make two big iPad apps as well. New users will not remember DrawPlus and PagePlus and the history behind the development. But everything took forever. Cheap is not an advantage if you wait for years. Real scientists are not afraid of death. They are afraid of time!

As @verysame said. Look under your nose, Serif. You made an apple. Not an orange. Market an apple. Your marketing always made your software look like much more than it really is. If you compare your attitude on this forum with more serious and bigger companies, you will observe a more professional approach from the staff in bigger companies. This forum is more or less like open source software forums where stubborn developers take it personal when a majority of the user base turns against them after a bad decision was made and implemented - and other developers even have to fork the code to make a wrong right.

I have to spend my money elsewhere. That ... is... the... whole... point.

I personally think you are really harsh here. They do a great job for a modest price. We all know the prices of Adobe before the subscription options.

And Adobe's subscription model is for most the reason to go elsewhere.

Remember that it took the competition also years and years to implement the features they have right now, just wanting them in Affinity Designer right away is not a real world scenario!

"I have to spend my money elsewhere. That ... is... the... whole... point."

If they would ask more for their products and could develop faster you still would be looking for a cheaper alternative with all the features you want?! Then people would be still complaining about the price, like most do for the Adobe subscription model.

The more I use the Affinity products the more I am impressed with the quality and features you get for such a modest price and the software is getting better and better all the time.

Give them time to develop!

" If you compare your attitude on this forum with more serious and bigger companies, you will observe a more professional approach from the staff in bigger companies. This forum is more or less like open source software forums where stubborn developers take it personal when a majority of the user base turns against them after a bad decision was made and implemented - and other developers even have to fork the code to make a wrong right. "

Don't know what you're talking about here, Adobe never took their userbase serious, never implemented user suggestions and just did as they please. A lot of other big companies work the same way. They pretend to listen and do the things their way. At least Serif is seriously listening to it's user base and trying to implement suggestions.

##### Share on other sites
On 25-1-2018 at 0:07 PM, Frank Jonen said:

The join shapes approach from Astute Graphics is an interesting approach for dimensioning vector objects. Take SketchUp's UI for extrusion as how to operate it and Affinity's own Symbols to spawn a target shape and you could have a solid start for dimensioning.

I love most of the Astute Graphics plug-ins for Illustrator.

Now, if they took a closer look to those tools...

##### Share on other sites
On 14-2-2018 at 11:38 AM, Ben said:

We always want to get ahead.  We also want to try break the mould and offer things that others haven't yet thought of.

A lot of what I'm working on is coming out of my head, rather than referencing other apps. Just imagining what I'd like to be able to achieve and fitting tools to do the job.

And that is great. I love the way Serif is innovating. But on the other hand, you don't have to invent the wheel twice. If there is something that is working allready really well, you just could implement that.

That is what most people are trying to say here, I think.

They say: look at other program's tools wich work really well and people love, implement those and keep on innovating and put new tools in other programs lack, this way you get best of both worlds; tools that are familiar to most and work well and new tools only Serif can offer. This makes for a well designed user friendly program wich is still unique.

On the other hand, people must realise that you just can't copy other program's tools....and therefor have to re-invent the tool to be able to implement into your own program.

##### Share on other sites
On ‎3‎/‎8‎/‎2018 at 9:25 AM, Ben said:
Quote

This is used to define the grid axes - their direction and length - based on a parallel projection of a rotated cube.

This is pretty exciting, Ben!

I'm confident that once this is in final form, Affinity users and other vector-based illustrators who have heretofore only occasionally dabbled in isometric drawing will soon find out how it can richly enhance their marketable skill sets (and something they've been missing in competing programs).

A "proxy cube," of course, is probably the most immediately intuitive interface for visualizing a set of three geometrically proportional axonometric grids. So interactively setting grids by means of such a diagram is much more approachable for those not yet acquainted with figuring out the values needed to do the same in the current Grids and Axes dialog.

In an engineering department in which I once worked, someone posted a sign which read:

"In the history of any design project, a point is inevitably reached at which it becomes necessary to shoot the Engineers and begin production."

So I know at some point you have to nail down an interface's approach. But I hope you don't mind some further suggestions toward what I consider a very important aspect:

Quote

...you can use this feature to define a notion of "up" by fixing the Elevation angle (and the Roll angle, which normally you'd just leave as 0).

If one assumes "up" is always vertical on the page, any axonometric orientation can be described in two terms which I call "Spin" and "Tilt." (Think of Spin as corresponding to a rotated "top view" from which to project horizontal measures downward into the axo view, and Tilt as a rotated "side view" from which vertical measures are projected leftward into the axo view.)

Spin and Tilt correspond to yaw and pitch, respectively, and in your GridCube movie to dragging the blue axis and the "elevation thumbwheel".

My suggestion is that Roll (of roll, pitch, and yaw) is functionally unnecessary, because it is equivalent to merely rotating the whole illustration (rotating all three axes the same amount at once) on the page after it is finished, and doing that is trivial. (I do understand that may be useful in the context of just rotating an angular grid for the purpose of flat graphic design of a page layout.)

In the context of axonometric illustration, though, here's why it's a big deal:

In the real world of axis-measured drawing, yaw and pitch (with or without the unnecessary roll) are appropriate for initially establishing the orientation of the overall coordinate system. But once that's done, the process of actually drawing the objects within that coordinate system begins, and roll, pitch, yaw relative to the line-of-sight is not needed and having to reference it is actually quite cumbersome.

By way of example, suppose we're drawing a motorcycle isometrically:

The motorcycle as a whole is oriented from the isometric upper right rear perspective. The centerline of the whole bike's length is parallel to the right diagonal axis (which I customarily designate X). The rear wheel's axle is parallel to the left iso diagonal (which I call Z).

1. Suppose we start drawing parts at the "near corner" of the isometric bounding box: the tail light of the bike, and proceed forward in the "distance."
2. Since motorcycle details are not really very "boxy" in shape, we very soon encounter plenty of off-axis object edges (rear wheel spokes, for example) which are not parallel to the X or Y axis, but are rotated upon the plane defined by the X and Y axes; in other words, edges rotated about the Z axis.  Such rotated measures are pretty easily accomplished by use of a protractor on the XY plane--essentially the same functionality demonstrated by your earlier rotating star. ( I call this "simple rotation"; rotation of a line about one axis.)
3. Everything progresses reasonably well--until we reach the motorcycle's steering stem. Its centerline is tilted, let's say, 22 degrees counter clockwise from vertical (so as to "rake" the front suspension).  So drawing the centerline of the steering stem post itself is just another simple rotation upon the XY plane (rotation about the Z axis).
4. But further suppose the handlebars are not pointing the front wheel directly forward. They are turned, say, 20 degrees rightward. This means the whole front assembly and everything attached to it is rotated 20 degrees. That front assembly is not 20 degrees about the vertical Y axis, nor 20 degrees about the line-of-sight. It is rotated 20 degrees about the centerline of the steering stem, and that's what the illustrator is concerned with. Roll, pitch, and yaw of the coordinate system, relative to the line-of-sight, is of no help.

What I've described is the thought process of the illustrator: "The centerline of the steering stem is rotated 22 degrees about the Z axis. The handlebars are then turned 20 degrees about the steering stem's centerline."

This is what I term a "compound rotation"; rotation about two axes (or about one axis and an already rotated object edge) and is also a common need in axonometric illustration.

The illustrator is not thinking in terms of whatever combination of Tilt (the elevation thumbwheel) and Roll (the interactive flat protractor which is parallel to the page) is needed in order to accomplish the appropriate trimetric orientation which would best expedite drawing the front assembly according to measures. Nor should he have to.

In the GridCube movie, you demonstrate dragging the blue axis, but not the green or red axes. Dragging in the orthogonal protractor surrounding the whole cube is not the same thing as rotating about the green (or red) axis, which is what the illustrator may need to do.

The solution is simple: The same kind of rotation you are providing by dragging the blue axis just needs to be provided for the other two axes as well. And a numeric rotation value field needs to be provided for each.

Starting over, the process then would be as follows:

1. The illustrator selects from a reasonable collection of isometric, dimetric, or trimetric presets (no doubt usually isometric) to establish the desired overall coordinate system.
2. Illustration commences from the rear of the motorcycle, drawing object edges parallel to all three axes, working forward. Given the overall configuration of a motorcycle, most of the construction work is probably on the XY plane.
3. The illustrator reaches the rear wheel axle. Because the proportions of the coordinate system axes is automatically ensured, drawing the extrusion of the axle length is easy; it's just a direct measure parallel to the Z axis.
4. But each spoke of the rear wheel is rotated to a different angle upon the XY plane, and the foreshortened length of each must be correctly determined. That, too, is easy, by drawing a polygon or star (as exemplified in your earlier demo) which has the same diameter as the wheel rim and using it as an "elliptical protractor." Better still, by taking advantage of another of Affinity Designer's benefits: The Pie behavior of a live ellipse, with its user-defined start and end points effectively is an interactive elliptical protractor.
5. So drawing continues to progress toward the front of the bike, and the steering stem is reached. It needs to be "raked" 22 degrees counter-clockwise about the Z axis. Again, the diameter of an ellipse can be used to determine the correctly drawn angle and length of the steering stem. But the illustrator knows the whole front assembly is coming up, so instead...
6. The illustrator opens the proxy cube dialog and rotates the cube 22 degrees about the Z axis. This automatically makes the Y axis parallel and proportional to the steering stem's centerline.
7. Still in the Grids interface, the illustrator similarly rotates the cube 20 degrees about the now changed Y axis. The whole grid system has now been re-oriented to be of most efficient benefit to drawing the whole front assembly.
8. The illustrator now continues to draw the entire front assembly just as easily as he used the initial preset orientation for the frame of the bike before reaching the tilted steering stem.

At any point, the orientation used for the front assembly can be saved as a user-defined, document-specific preset. So the illustrator can (more realistically) switch back and forth between that orientation and the initial preset at will.

What the illustrator has done, whether realizing it or not, is seamlessly and fluidly integrate isometric and trimetric methods within a single drawing, and without having to do any tedious calculations and minimal off-axis constructions.

I hope the above makes it clear that providing numeric input and interactive widget control for rotation about each axis is far more important, useful, and intuitive while actually drawing three-dimensional objects than using a "roll, pitch, yaw" metaphor relative to the line-of-sight.

There would be nothing wrong with the widget providing both roll, pitch, yaw interaction and rotations about the three axes. But the latter is far more important, and can also be used to perform the purpose of the former.

In other words, at the risk of being repetitive, the illustrator is only thinking in terms of Spin and Tilt (i.e., roll, pitch, and yaw) when establishing his overall orientation for the whole drawing. That's established once-and-done up-front. But throughout the course of actually drawing his subject, the illustrator is thinking about sequential rotations about the axes, just as he is thinking about linear measures along the axes. In axonometric (axis based) drawing, both rotations and linear measures are relative to the axes.

For anyone familiar with it, this is a primary problem of Adobe Illustrator's similar-looking 3D Effect dialog. It does, in fact, provide for dragging any edges of its proxy cube so as to rotate it about the corresponding axis. But just try using it in conjunction with its provided numeric input fields. Those fields are not axis-based; they reference the "roll, pitch, yaw" of the invisible "virtual trackball", which is mostly useless for axonometric drawing beyond just establishing an initial overall view orientation.

(Also, to hopefully avoid any confusion which may stem from my mention of 3D Effect: As has been explained several times in this thread, the subject Affinity feature is entirely and appropriately a 2D construct, whereas AI's 3D Effect is a severely limited "standalone" subset of a discontinued fairly rudimentary 3D modeling program--Adobe Dimensions and its predecessors--the primary value of which was that it rendered to 2D vector-based paths instead of the usual raster images. So while its purpose is entirely different, my comparison is nonetheless valid in the context of using what I call a "proxy cube" for the interface, which itself is neither unique nor original to Adobe Illustrator.)

JET

##### Share on other sites

@JET_Affinity

I used to work in computer games, and 3D was a big part of what we did.  One of the hardest things to visualise is rotation in 3D.  The reason being that in 2D, rotations are simple - there is only one axis around which to rotate and so only one way to achieve a rotation, but in 3D there are different ways/concepts used to represent a rotation, and within each of those more than one way to achieve the same resulting rotation (for example, the order in which you'd compound rotations in X, Y, and Z axis).

The naming of rotations is a case in point - you can call it XYZ, Yaw-Pitch-Roll, Azimuth-Elevation, etc, etc.  Also, the naming of axes.  Is Z up, or Y up?  And do you use a left-handed or right-handed coordinate system?

The example you've given suggests to me that there are two parts to the rotation in terms of the final axes.  There is the presentation transform (for example, the rotations that produce the standard Isometric grid) and what I'd call the 'view point' or 'camera point', that appears to be a constant for your whole design and defines the view orientation of your logical coordinate system, and then there is the rotation of a component in the design relative to your logical coordinate system.  The compound of the two transformations gives you the absolute drawing axes, but it would appear to me to make sense to separate the two, rather than trying work out the complete transform in one go.

From what we have so far, I'd visualise the cube control defining the view transform.  We'd then need some way of defining an additional component transform.  This is probably the hardest bit to nail down in terms of a tool.  The view point transform is being trivially expressed in terms that feel 'real world' - with a natural concept of 'up', and orientating yourself around a point (Orientation/Spin and Elevation/Tilt).  When it comes to the component orientation - I can see that it is less easy to identify one way in which you'd want to get to your resulting 3D rotation.  For example, do I rotate about X then Y, or about Z then X?  And what do I call those rotations?  Or would I want to define the rotation as an angle about an arbitrary line? In games and 3D modelling we generally centred on one standard for component rotation for tooling, but that may not work for everyone.  Of course, internally the rotation is always held in the same way (as a 4x4 matrix), but it would be decomposed in terms of the chosen rotation standard.

I don't know - what do you think?  I know how I'd want to visualise it, but that might not be the same as you?

SerifLabs team - Affinity Developer
• Software engineer  -  Photographer  -  Guitarist  -  Philosopher
• iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
• MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

##### Share on other sites

Hi.
Thank you affinity team for such a good program.
I have tried the trial version of affinity designer
It's a very good solid program. I find it even mo convenient then Illustrator.
But there are many things that I would like to have there, and here is one important missed fundamental feature

I will definitely buy it, one thing, however, stops me.

Tool handle Selection screen tolerance parameter. (Like in illustrator)
You have parameter snapping screen tolerance in snapping settings by which I can configure snapping behaviour, and make it convenient for me.
But there is no similar parameter for selection (of a node, node’s handle, curve’s segment, boundary box and so on).dsad

Since you are improving base tools in 1.7 release could you please add it?

Problem
I am working on high Dpi monitor.
Then I want to select a node or handle I instead deselect everything(especially when I am trying to click on node’s handle because itis very small), it happens very often even with largest “Tool handle size”. It is very disappointing and frustrating. Selecting tool’s control handle is most common action and I should be able to perform it with ease, and it surprises me why there still is no such option.
I should be able to affect control handle then my cursor comes near to its visible representation by N px ( ControlHandleRadious + ToleranceParameter) Mouse cursor should be also changed at that distance.

Benefit
I mean there is no real reason to precisely click on the visible part of the handle(it is inconvenient, frustrating time consuming) in order to control it, (if you have multiple interfering tool control handles program should just choose closest one).
Instead, it would allow to Independently configure the visual size of a handle to please your's eyes(by “ToolHandleSize”) and area of selection to easily and more conveniently manipulate tool handles (by new “SelectionScreenTolerance” parameter).

Difficulty of implementation

I assume you already have some internal property(Getter)
“DistanceToControlHandleForSelection” now you just need to embed new UserDefinedSelectionToleranceParameter there.
Keep in mind that this behaviour should be zoom independent

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×

×

• #### Affinity

×
• Create New...