Inkscape.org
Beginners' Questions Adding an arrow to the end of an arc
  1. #1
    Hans Billiet Hans Billiet @hbilliet

    I'm a newbie in Inkscape. I want to use it for creating the text on an panel. I'm making my panels in Fusion 360. From there, I export my sketch in dxf format, and use this as a locked "background" in an Inkscape layer. Using that background, I put my text, lines and other symbols on the exact positions of the panel. These will then be laser engraved. I'm using a Snapmaker 2.0 A350 for this.

    I'm now looking for some advice on how to create the perfect arrow. I attached "Arrow Fusion 360" to show what I need. The arrow needs to be filled of course (that's why I need to use Inkscape). I could already draw my arc, but now need the arrow. This arrow should be tangent to the end point of the arc and it should be perfectly symmetric. To say it simple, it should look like the arrow in Fusion 360.

    At the other side of the circle (below) I need the same arrow. I assume I can use some mirror tool for that?

    Arrow Inkscape
    Arrow Fusion 360
  2. #2
    Tyler Durden Tyler Durden @TylerDurden
    🆒

    Maybe this:

  3. #3
    Hans Billiet Hans Billiet @hbilliet

    @TylerDurden Thanks for your suggestion. I looked at that option, but is there a way to scale the arrow exactly at the size I want it?

  4. #4
    Tyler Durden Tyler Durden @TylerDurden

    You could simply draw a symmetric triangle and place it on the endnode of the arc. Union the pieces, if the laser needs a single outline (many don't to make fills).

  5. #5
    Hans Billiet Hans Billiet @hbilliet
    👍

    @TylerDurden My laser works like a real printer - it prints the black. So I can't use outlines (if that was the case, I could do it all in Fusion 360 and don't need Inkscape).

    But hey, I did do some experiments this evening using guides, snapping, measurement tool, ... and tada, the result is attached.

    Perfect Arrow Inkscape
  6. #6
    ML ML @em1000

    Hi Hans,

    I'm glad to see that you achieved the desired result. It looks nice and clean. I was hoping that your image would move around and animate like TylerDurden's screen capture! 

  7. #7
    Hans Billiet Hans Billiet @hbilliet

    @em1000 Hello ML - I will try if I can reproduce it. Not sure what tool TylerDurden used to record.

  8. #8
    Tyler Durden Tyler Durden @TylerDurden
    🙏

    Mostly, I record on Windows, using ShareX... free and open-source.

  9. #9
    Hans Billiet Hans Billiet @hbilliet
    👍👍

    Anyway, I succeeded my first project in Inkscape. I have added the svg file for people who are interested. The result is the png file.

    My workflow was as follows:

    1) I exported my sketch of my instrument panel from Fusion 360 in dxf format (I'm using Fusion 360 to design the panels, and create the toolpaths to cut them out with my CNC)

    2) I import this dxf file in Inkscape, and make my document size exactly the same size - I snap it to the document border - and use this as my background layer (locked)

    3) I can then use the geometry of that imported dxf file to draw my text and symbols (text uses a special font "MS 33558"), making use of guides, snapping, etc... - here you see my perfect arrows 😁

    4) Finally I hide my background layer, and export the document to a png file (using 600 dpi for high accuracy)

    5) Then I use Snapmaker Luban to create the G-Code for my laser engraver, that will perfectly remove the paint on my plexiglas panel to allow background ilumination

    I'm still waiting for my new batch of plexiglass and spray paint. When finished, I will let you see the result.

    Fcu 01
    Fcu 01
  10. #10
    sBassNvydr sBassNvydr @sBassNvydr
    👍

    I'm surprised your laser software doesn't take an svg or DXF.  I believe DXF (use save as instead of export) would get you smooth vector output instead of bitmapped pixel files and probably faster output. also a thought.... resizing your DPI might change the export size of the file if not the same as the locked import, but i'm not 100% sure about that.

    My easy flip technique is  copy, paste, v, h (while selected) then size to fit.   you can also use control while rotating to lock into set degrees of rotation.  Tyler's example is new to me though, never thought of doing it that way.

    I would love to see your project when done. laser cutters are so much fun!

  11. #11
    ML ML @em1000

    Wow, that font is awesome! I will definitely use it in the future. Thank you for this valuable gem of information. I had a similar question to sBass -- why not use an svg instead of a png to make the GCode? -- although at 600 dpi I can't imagine that it would make any difference, and I even wonder if a 600 dpi png might actually be more 'true' to the final print than an svg (now there's a technical question!). So... if I understand correctly, it sounds like you are building a 3D-printed assault tank in your workshop, which will have high-end, customized, powder-coated plexiglass panels, with laser embossing to allow light to shine through the icons for when you decide to rotate the turret on top. I could be wrong -- but something tells me that you might be an engineer by trade!

    I see that you replaced your original, stubby arrow with a better, perfect, longer arrow, as well as adjusting the weight of the circle lines and arrow stems. It looks excellent.

    I'm not sure how much plexiglass you ordered, and how many remnant scraps will be available, and of what size -- but if possible you might consider doing some test prints on some scrap pieces and holding them up to an LED for quality assurance, prior to doing your final print. Of course, I'm sure you have already thought about that sort of thing.

    There's this old idea in design, which says that "functionality has an aesthetic of its own." The idea is that when something, particularly a user interface, really works -- when it has real, functional purpose -- then its own functional integrity is visually apparent at first glance. And it is more visually compelling -- more aesthetically pleasing -- than any amount of artistic design, because you can tell, just by looking at it, that it is useful. There is another corollary concept, which says that "factory-produced components have a nice sheen, but custom-made parts are most desirable." And I actually know a woman from the higher class, who brought in a painter to hand-paint over the top of her factory-painted cabinets, in order to give them more texture, to make to them look less uniform and more personable.

    My point being, of course, that this is awesome, and I look forward to seeing the finished result in due time. And that I appreciate your sharing some details about your workflow -- workflow being the crux of all creation.

    Also, thanks to TylerDurden for sharing his method of screen capture (ShareX). And thank you Hans for sharing this wonderful font (MS 33558).

    I do also have some minor technical questions, relating to the plexiglass: Does it come painted, or do you paint it yourself? How do you (or the factory) get the paint to adhere? Is a solvent applied ahead of time? Is it sanded? Best regards. --Matt

  12. #12
    Xav Xav @Xav👹
    hbilliet

    @TylerDurden Thanks for your suggestion. I looked at that option, but is there a way to scale the arrow exactly at the size I want it?

    I'm a bit late to the party here, but in case it's useful information for anyone else, it is possible to scale the size of the standard markers (such as the arrow head) but it's not as simple as a couple of clicks in a dialog. If you're not comfortable with using the XML editor, stop reading now ;)

     

    The markers on a path are referenced in the path's "style" attribute. If you select the path then open the XML editor you can click on the value of the "style" attribute in the right/bottom pane to bring up an editable field showing the full value. In there will be a bit that looks something like this:

    marker-end:url(#Arrow1Send)

    The part in brackets is a reference to a <marker> element in the <defs> section of the file. If you expand the <defs> section in the XML editor you should be able to find the <marker> with that string as an ID. Expand the <marker> to get to the <path> element that describes the arrow.

    Selecting the <path> you should see a "transform" attribute. You can edit the value there to alter the scale. It probably already has a scale set as part of the transform string (e.g. "scale(0.2) rotate(180) translate(6,0)") - just change the value for "scale" to adjust the size, and perhaps tweak the "translate" values to fine-tune the position.

     

    Note that the ID "Arrow1Send" is a default supplied by Inkscape. Changing that definition will affect all paths that refer to it at once. If you want to be more fine-grained, to just affect a single arrow on a single path, you should change the "id" attribute on the <marker> to something unique, and update the "style" attribute on the original path to reflect the new ID.

  13. #13
    Hans Billiet Hans Billiet @hbilliet

    @em1000

    Well ML, I have to say, I feel honored to get such a long reply, both with technical as lyric content! 😁 But let me remove your assumptions, and give some factual answers.

    I'm a 56-year old die hard flightsimulation enthousiast. One of these weirdo's/nerds that takes the challenge of building his own cockpit. My goal is to have my own Airbus A320 cockpit built in one of the rooms of my house. The panel I was showing is the FCU, or the Flight Control Unit. The interface to the autopilot, and probably the most used piece of equipment in the cockpit. I'm still in study phase, in which I develop the complete chain - some parts have already been done: a DLL to fit on my A320 add-on (FMGS - well known in fligthsim world), a piece of software that fits between that DLL and my hardware, hardware based on the PIC-microcontroller that communicates through USB, and then writing all kinds of re-usable pieces of software to allow controlling switches, LED's, encoders, 7-segment displays, etc... All this is within my comfort zone (if you didn't notice, yes, I'm an engineer 🤣). Now I'm dealing with the hardware - the mechanics - the panel. I purchased a Snapmaker 2.0 A350, which is a desktop CNC, 3D laser engraver and 3D printer in one tool. With this I'm now cutting plexi-glass, painting it, trying to use laser engraving to cut out the text which needs to be backlighted, and with the 3D-printer, I'm making parts like push/pull encoders (I make them for 10 EUR, they cost normally 70 EUR) or Korry switches (typical push buttons used in Airbus and Boeing). Anyway, when all this is finished, I will have proven to myself that I can do it. Then it's going to be time to start the real build. Trust me, this is a 10-year project.... but it's sooooo much fun!

    Now some answers on your questions:

    1) Now you know what I'm doing, so that's being answered.

    2) It's correct that I can import svg in my Snapmaker software - but for a weird reason, it doesn't show the text - that's why I used plan B, which is the png file. My laser can print at 10 dots/mm. 600 dpi gives me about 23 dots/mm. Overkill you would say? Maybe. But years ago when I still went to college, I remember there was some kind of sampling theorem, which said that you should have twice as much ... anyway, maybe the wrong theorem, but 600 dpi works perfect.

    3) Why I don't use the dxf file? Also true that my Snapmaker software can import dxf files. But the dxf files created by Fusion 360 only show the outline of the characters. That is indeed perfect to do laser CUTTING. But what I need is the same as laser PRINTING, which means that the laser removes the paint inside the characters. That's why I need them filled black. I didn't find a way how to do that in Fusion 360. I asked this on the Autodesk forum, and there somebody suggested me to use Inkscape. Et voila, 20 tutorial video's on Youtube and some questions on this forum later, here I am!

    4) Obviously I did some tryouts already. As a matter of fact, I'm still in that try and destroy phase. I started with CNC engraving and cutting (carving out the characters) - several video's on YouTube of people doing that successfully. But suddenly I got the idea "hey, I have a laser as well, so why not!". And the result was perfect!! Better than CNC engraving. For these tryouts, I used just transparent plexiglass, which I coated with some primer and some gray spray paint (just using spray can) - RAL 7031 is the exact color of the Airbus A320 panels. Then I used the laser, and it worked like a charm. But now I have purchased opaque white plexiglass (30%). This has 2 advantages - first of all the characters are better readable without backlight, and second the light in it diffuses which avoid spots created by the LED's behind it. I haven't received this plexiglass yet, and I'm just curious if it's going to work as good as with the transparant one. I'm afraid that the laser might react on the "only 30% transparancy", and start cutting the plexiglass as well. Let's wait and see...

    5) The painting process: After having cut the panel with my CNC, I use 600 sandpaper to make it a little rough, and clean it with some degreaser. Then I spray it 2 layers of "Plastic Adhesion Primer". Next I painted it with several layers of the final color (after every layer I'm checking the light blocking with a light behind it). My first attempts used a 2K finishing layer, but I didn't realize that 2K paint can only be kept for max 24 hours after it's being activated in the can (you see, I'm learning every day!). Now I'm going to try with 1K spray paint, but then I need to finish it with some layers of clearcoat matt. Then I do the laser printing.

    I just realize that this is maybe not the right forum to talk about this. I don't want to be kicked out🤨 Anyway, consider this a some real life examples of using Inkscape!

  14. #14
    Tyler Durden Tyler Durden @TylerDurden

    No worries. This is on-topic and the kind of discussion that can help any Inkscape user.

Inkscape Inkscape.org Inkscape Forum Beginners' Questions Adding an arrow to the end of an arc