Jump to content
You must now use your email address to sign in [click for more info] ×

Edit 'W' for all curves without having to select individually or group and skew the transform?


Recommended Posts

As some of you may know I'm struggling making several (sheesh) circular slide rules (yes, I'm still on the first one).

Using a trial of Sketch, Numbers, TextEdit and finally Designer, I now have 'some' of the correct 'tick' marks drawn at the correct angles. However, like any ruler, each tick mark needs to be of a specific length, some long, some short, some in-between.

At the moment (in the diagram below) I'm manually selecting each one from the Layers panel, and changing the 'W' (it says width, but it's actually it's length for some strange reason I don't understand), by hand. 

There is 274 'ticks' around this one rule, and I have 5 rules for this singular Slide Ruler... of which I have 3 different types more to make... (can I change careers yet?)

 

My simple question, is, is there a way I can change the 'W' or whatever so that they change lengths (like the first 9 on the middle rule on the diagram) without changing the skew or making the transform throw the accuracy out? 

When I select several and change the 'W' value, they twist and re-orientate to some other point and become unusable.

If I have to do it by hand, I will, but it's a pain. 

 

Thanks again. 

 

980267311_Screenshot2019-08-06at17_18_00.thumb.png.e3e8befe2bce11984e9ed57f6b498781.png

Link to comment
Share on other sites

In Affinity Designer there is the option to select multiple objects and it will change all, it's called transform objects separately.

1386429713_ScreenShot2019-08-06at17_56_13.png.add86648f871d3c65e546a7ddee3e12a.png

iMac 27" 2019 Somona 14.3.1, iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Link to comment
Share on other sites

1 minute ago, firstdefence said:

In Affinity Designer there is the option to select multiple objects and it will change all, it's called transform objects separately.

1386429713_ScreenShot2019-08-06at17_56_13.png.add86648f871d3c65e546a7ddee3e12a.png

Yeah, clicked that... they went all funny in a completely different way... lol.   :/

Link to comment
Share on other sites

Yes just tried and it really whacks it out O.o

iMac 27" 2019 Somona 14.3.1, iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Link to comment
Share on other sites

The only way I know would work would have been symbols. but I don't think that's going to work here.

Er no it won't, I striking out here big time, although I'm liking the newly discovered weird transform method lol!

Actually manually resizing a symbol that's been rotated does actually work, but when grabbing the node and moving it the X: Y: and H: all change.

iMac 27" 2019 Somona 14.3.1, iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Link to comment
Share on other sites

If drawing lines or rects doesn't do it, you can try instead text on path as tick marks and change character distance, height etc...

text_on_path.jpg.fe4c81f813f8743da14ce9b36e981a9a.jpg

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

Quote

You mean draw all the 'ticks' as a capital 'i' ?

Maybe it's worth a try, don't know. You can try with a capital "i" a "lambda" or "|" (vertical line char) as text in order to see if that maybe gives some usable results or not when applied on a cicular path. You can also mix/intersect several cicular paths together with various horizontal space distances in order to get alternating longer and shorter tick marks.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

6 minutes ago, Wosven said:

Can't you have a big circle to cut them all at the right lenght after expanding the strokes and merging them in one form?

2019-08-06_192128.thumb.png.292e0c194ce69f4693dc1d5df58b132b.png

 

that was how I original conceived of it, but they're not draw at regular intervals... they're on all sorts of logarithmic / sin / tan / arcsin scales.. it's been 3+ weeks working out how to even 'draw' the ticks... the numbers are impossible to do.. they have to be done individually by hand.

(unless you're a crack C programmer that knows how to write SVG XML like a boss... no names mentioned.)

Link to comment
Share on other sites

7 minutes ago, v_kyr said:

Maybe it's worth a try, don't know. You can try with a capital "i" a "lambda" or "|" (vertical line char) as text in order to see if that maybe gives some usable results or not when applied on a cicular path. You can also mix/intersect several cicular paths together with various horizontal space distances in order to get alternating longer and shorter tick marks.

Learning C and SVG XML is looking more and more attractive.... <sigh>

Link to comment
Share on other sites

For simple scaling and an uniform arrangement a gear shape might be misused too, though you would have to measure gap sizes there then somehow for the scale.

zahnrad.jpg.9251e77f40714119dd45582cd824c651.jpg

5 minutes ago, GreenGirl said:

Learning C and SVG XML is looking more and more attractive.... <sigh>

Well that's what I said before, if you do it programmatically, then you have the freedom to do tick mark scalings and orientations however you want. Something that's hard to do manually by drawing.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

1 minute ago, v_kyr said:

 

Well that's what I said before, if you do it programmatically, then you have the freedom to do tick mark scalings and orientations however you want. Something that's hard to do manually by drawing.

 

@v_kyr I know you did, but I figured as we're 'almost' there it would be quicker (I'm on a deadline kinda) to do the rest by hand, than it would be to learn 2 languages at the same time with no-one to help....

Rock -> ME <- Hard place...

Link to comment
Share on other sites

Are these the tick marks that you generated by editing the SVG? If so, then why not go back to your original single tick, edit the size (width or whatever) and then apply the rotations as you did before?

 John

Windows 10, Affinity Photo 1.10.5 Designer 1.10.5 and Publisher 1.10.5 (mainly Photo), now ex-Adobe CC

CPU: AMD A6-3670. RAM: 16 GB DDR3 @ 666MHz, Graphics: 2047MB NVIDIA GeForce GT 630

Link to comment
Share on other sites

@John Rostron You mean do it 3 more times and composite them? The point is that, let's say every whole number needs a long length, every 0.5 needs a shorter length and every .01 or 0.2 (depending on where in the arc you are) needs an even shorter length... so that's 4 times I need to edit the SVG.. sure, I suppose I could go back into the spreadsheet and hack out the numbers, so that I end up with 4 lists, and then copy/paste into the master .svg file...

I was just hoping that there was something in Designer (or Sketch) that I could just bulk select and change all lengths without throwing in extra skews, transforms or other such nonsense. 

 

Link to comment
Share on other sites

This post and the other post kind of makes you appreciate the people who make slide rules a little more doesn't it!

I certainly do. 

I admire your determination GreenGirl.

Some great lateral thinking going on here.

iMac 27" 2019 Somona 14.3.1, iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Link to comment
Share on other sites

53 minutes ago, firstdefence said:

appreciate the people who make slide rules a little more

I thought it wasn't so complicated until I zoomed and saw that graduation were varying across distance, that's what I thought too! And circular ones…

57 minutes ago, firstdefence said:

I admire your determination GreenGirl.

Me too!

Link to comment
Share on other sites

13 hours ago, GreenGirl said:

@John Rostron You mean do it 3 more times and composite them? The point is that, let's say every whole number needs a long length, every 0.5 needs a shorter length and every .01 or 0.2 (depending on where in the arc you are) needs an even shorter length... so that's 4 times I need to edit the SVG.. sure, I suppose I could go back into the spreadsheet and hack out the numbers, so that I end up with 4 lists, and then copy/paste into the master .svg file...

I was just hoping that there was something in Designer (or Sketch) that I could just bulk select and change all lengths without throwing in extra skews, transforms or other such nonsense. 

 

I would admit that what you want would be possible, but awkward in a spreadsheet.. One approach would be to create a column in your spreadsheet that gave the tick length. This could possibly be a way:

  1. Column B contains the source angle (0.6., 0.7, ...23, 13.5...)
  2. Column C contains  the fractional part of column B: =B4-floor(b4,1))
  3. Column D classifies this into a tick-length: =IF(C4="tick1",IF(C4=0.5,"tick2","tick3"))

Where "tick1", "tick2" and "tick3" will be ids for groups identifying ticks of specific lengths. You can then create the use elements replacing the group id with the appropriate tick id;;

<g id="tick1">
        <path d= .../>
    </g>

Duplicate this group twice, giving them them ids of "tick2" and "tick3" and appropriate path values. You would find it easier to create the ticks of the lengths you want in Designer and then export them to svg to get the specifications.

I will have a go at this myself and post later today.

John
 

Windows 10, Affinity Photo 1.10.5 Designer 1.10.5 and Publisher 1.10.5 (mainly Photo), now ex-Adobe CC

CPU: AMD A6-3670. RAM: 16 GB DDR3 @ 666MHz, Graphics: 2047MB NVIDIA GeForce GT 630

Link to comment
Share on other sites

On 8/6/2019 at 8:42 PM, GreenGirl said:

The point is that, let's say every whole number needs a long length, every 0.5 needs a shorter length and every .01 or 0.2 (depending on where in the arc you are) needs an even shorter length... so that's 4 times I need to edit the SVG..

Jip that's then probably somehow sisyphean work when done manually, even with hacking in a bunch of values in a spreadsheet here. So I would instead let the computer do ALL that boring work.

output.jpg.e36adc594fa1b9a01de7c32f8c0e7fac.jpg

draw_ticks_playground.thumb.jpg.4bdffe8f6551317956ab09b35798924d.jpg

It's quickly done in every prog language, here as an example within an Apple Swift playground.

code_swift.zip

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

BTW I just remembered that there are already things like bc (bc = an arbitrary precision calculator language) preinstalled on MacOS. - With that you can do the same calculation and printing SVG code stuff out in an easier manner than programming it with C.

Quote

Description

bc [ -hlwsqv ] [long-options] [ file ... ]

bc is a language that supports arbitrary precision numbers with interactive execution of statements. There are some similarities in the syntax to the C programming language. A standard math library is available by command line option. If requested, the math library is defined before processing any files. bc starts by processing code from all the files listed on the command line in the order listed. After all files have been processed, bc reads from the standard input. All code is executed as it is read. (If a file contains a command to halt the processor, bc will never read from the standard input.)

This version of bc contains several extensions beyond traditional bc implementations and the POSIX draft standard. Command line options can cause these extensions to print a warning or to be rejected. This document describes the language accepted by this processor. Extensions will be identified as such.

A short manual of Gnu bc usage can be seen here, there is also a standard manual page (man page) on OSX which you can invoke from a terminal via "man bc". You can use TextEdit to write some text file with bc functions then, which do the necessary calculations for your slide tick marks and output those as reusable SVG.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

I have been doing as I  suggested, using a spreadsheet, as above and am almost there.I hope to post a semi-finished version later today.

John

Windows 10, Affinity Photo 1.10.5 Designer 1.10.5 and Publisher 1.10.5 (mainly Photo), now ex-Adobe CC

CPU: AMD A6-3670. RAM: 16 GB DDR3 @ 666MHz, Graphics: 2047MB NVIDIA GeForce GT 630

Link to comment
Share on other sites

Playing around with Swift code (in an Apple Swift Playground) for defining some scale unit (tick marks and labeling) functions and writing then out SVG as output gives things like this ...

kreisskala1.jpg.5ce8629e484db95e7ffbf51cff17e951.jpgkreisskala2.jpg.a86be4fda13634c622e97002839368d1.jpg

As can be seen, one has to try which SVG font sizes do match size wise best then without overlap for positioning. I used Arial 4 + 6 here, though with dense scale units, there is still a little bit of text overlap when labeled.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

Thanks to V_Kyr, I've spent the week learning Swift Command Line tools, and SVG syntax and made a swift tool that will generate an .SVG for a specified size, font, and tick lengths.

This morning I finally got the outer ring code working:

 

outerTicks.thumb.jpg.2584bcc02b3d2c74294b96d5aab7a450.jpg

 

Obviously need to remove the 80 as it's clumping, but otherwise, this is perfect. 

1 rule done, 5 more to go (on THIS slide rule at least)...

 

Link to comment
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

Terms of Use | 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.