Jump to content
devoured_elysium

Subtracting a shape from a line only works in some cases in Affinity -- why?

Recommended Posts

Hi,

I have a bunch of related questions:

I'm designing a Graph. I'm trying to have two nodes connected through an arrow. Something like this:

image.png.773935236888d13d6a6005a6d4559481.png

This curved arrow was actually created by me some days ago. I tried to achieve the same result today and unfortunately I couldn't reproduce it.

At the time, I made the arrow connect the centers of the E and C nodes, and then I added a circle top the of E node, using that circle to subtract from the curve. I did a similar process with the C node. The reason I did this is because for the arrow to look nice, it really needs to have its source and target points be E and C nodes' center points, otherwise it looks ugly (is there a better way of achieving this, btw?) Anyway, at the time it worked fine.

Today I tried the same with a straight line but it failed -- the line disappeared. From searching the forum, the reason seems to be linked to Affinity's inability to subtract shapes from curves. By some reason, if I curve the line:

image.png.47490c821aba0c5d813b40fa557299f9.png

it then kind of works:

image.png.cb3854ea9039413e6870bfdfce0aff2d.png

but this is not really what I want! I don't want this to form a closed path! How can I avoid it?

And why does it behave like this only after I've curved the lines?

 

Thanks

Share this post


Link to post
Share on other sites

Hi, devoured_elysium,

My understanding is that the boolean operations work on areas. A straight line has no area, so there is no operation. If the line is curved, it implies an area between the nodes. Then the bollean works, but it automatically closes the previously implied area. The new perimeter needs to be cut apart using the node tool.


iMac 27" Retina, c. 2015: OS X 10.11.5: 3.3 GHz I c-5: 32 Gb,  AMD Radeon R9 M290 2048 Mb

iPad 12.9" Retina, iOS 10, 512 Gb, Apple pencil

Huion WH1409 tablet

Share this post


Link to post
Share on other sites

Hi. But I could do this work perfectly the other day (as the first picture atests!). Somehow it must be possible? Or am I getting crazy? I can't for the sake of my life reproduce this today.

So, asked in another way: what would be the best way to create a (curved or non-curved) arrow-line that connects two nodes, while making sure that while both ends of the arrow start / stop at the border of the nodes, their trajectories are such as if they were coming from / to the node's centers? In Gravit Designer I would create the two nodes, create the arrow going from the center of one node to the center of the other and then use the knife tool. How can I do something similar with Affinity?

Share this post


Link to post
Share on other sites

Hi devoured_elysium,

Another solution would be to add a knot on the arrow at the intersection with the circle and "Break Curve" at that point and then delete the portion of the curve inside the circle.
Repeat for the other end.

Otherwise, for Boolean operations between curves and shapes, the curves must be transformed into shapes by "Expand Stroke" before proceeding. 

Node_arrow.gif

Share this post


Link to post
Share on other sites
6 hours ago, devoured_elysium said:

that's most likely

Just look with the Node Tool to see if it's still a single line or a double stroke.


Affinity Store: Affinity Suite (ADe, APh, APu) 1.8.5.703.
Windows 10 Pro, Version 20H2, Build 19042.610.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080.
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200.

Share this post


Link to post
Share on other sites

Subtract does not even work correctly with areas only. In this case, I want to subtract the inside of the letter e, but after subtract, the blue part disappears, and instead of a hole, it is all black.

 

Bildschirmfoto 2020-02-26 um 11.02.44.jpg

Share this post


Link to post
Share on other sites
4 minutes ago, Thomahawk said:

Subtract does not even work correctly with areas only. In this case, I want to subtract the inside of the letter e, but after subtract, the blue part disappears, and instead of a hole, it is all black.

 

Bildschirmfoto 2020-02-26 um 11.02.44.jpg

Change the setting in 
Menu>Layer>fillmode>Alternate

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Loading...

×
×
  • Create New...

Important Information

Please note the Annual Company Closure section in the Terms of Use. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.