Episode 088

Episode 088 – Wrap Text Around a Globe

by heathenx

In this episode I will demonstrate how to wrap text around a three-dimensional globe in Inkscape v.046.

I used a fairly new extension from Gerrit Karius (aka G33K) called Bezier Envelope. If you want to follow along or use the Bezier Envelope for whatever future purpose then be sure to download it here. Thanks Gerrit. :)

icon for podpress  Other Media: Download

Tags: , ,

52 Responses to “Episode 088”

  1. screencasters.heathenx.org/blog » Blog Archive » Episode 088 - Wrap Text Around a Globe Says:

    [...] got Episode 088 uploaded. It’s a whopper too. This was the first time that I recorded in Ubuntu using 26fps [...]

  2. gimpuser Says:

    Hello

    Many, many thanks for this episode (and all the others). I learn so much by viewing and using the techniques from your screencasts. I like your clear voice.

    With best regards from the sunny Schwetzingen, germany.

  3. Bercik Says:

    Hi!
    I have got a problem… when I’m selecting Bezier Envelope, i have an error.

    C:\Program Files\Inkscape\share\extensions\bezierenvelope.py:231: DeprecationWarning: raising a string exception is deprecated

    raise( “Too many curves in envelope.” )

    Traceback (most recent call last):

    File “C:\Program Files\Inkscape\share\extensions\bezierenvelope.py”, line 351, in

    e.affect()

    File “C:\Program Files\Inkscape\share\extensions\inkex.py”, line 154, in affect

    self.effect()

    File “C:\Program Files\Inkscape\share\extensions\bezierenvelope.py”, line 93, in effect

    axes = extractMorphAxes( simplepath.parsePath( envelopeElement.get(’d') ) );

    File “C:\Program Files\Inkscape\share\extensions\bezierenvelope.py”, line 231, in extractMorphAxes

    raise( “Too many curves in envelope.” )

    Too many curves in envelope.

    Please, can somebody help me?

  4. heathenx Says:

    @Bercik
    You must only have a total of 4 segments (or 4 nodes, I guess) in your bezier path. Open the bezierenvelop.py in a text editor and read how to use this new extension. Also, selection matters. Pick your object first then your bezier path to apply the effect without errors.

  5. Richard Querin Says:

    Very nice tutorial! I am going to be all over that bezier envelope extension like a bad smell…

    One thing I was thinking about watching the very beginning, was that offset ellipse method. I think it might be improved further still by doing two things:

    1. The upper ellipse should be stretched (or compressed I guess) slightly narrower in it’s vertical size.

    2. Likewise, the lower ellipse should be stretched slightly taller in it’s vertical size.

    I think doing the above might give an even more natural shape as a guide for the bezier envelope.

    With regards to filesize, while the 26fps ones are larger, I think your 200+MB filesize might have a little to do with the fact that it was about 50min in length. But you packed lots of good info into that 50min so it was well worth it. Truth be told, I didn’t see any sort of difference between your 15fps casts and my 26fps. Did you see that difference?

  6. Don W. Says:

    Very good, Bezier Envelope sure made the work in EPS 60 easier and more accurate. I hope he (G33K) will continue to work on it.

  7. pyropingvin Says:

    Hi!
    I have got a problem… when I’m selecting “Bezier Envelope”, i have an error.

    Traceback (most recent call last):
    File “/home/pyropingvin/.inkscape/extensions/bezierenvelope.py”, line 70, in
    import inkex, os, simplepath, cubicsuperpath, simpletransform
    ImportError: No module named inkex

    Please, can somebody help me?

  8. heathenx Says:

    @Richard
    Thanks for the tips. I’ll give that a shot and see what it looks like.

    Regarding the 26fps, the thing I noticed right off the bat was that the cursor motion was much better (smoother) but if it cranks up my file size like it did then I’m not sure it is worth it for me. My last episode was just as long and it is only 133MB in size (recorded at 15fps).

    Another thing that is different too is that I am using the latest and greatest RMD that I compiled on Ubuntu 9.04. Maybe something changed there.

    @pyropingvin
    That error looks like you haven’t placed the bezierenvelope.py and .inx in the same directory as inkex. You cannot place the extensions in your /home .inkscape directory structure. Where have you placed your extensions?

  9. w1zzy1nk Says:

    I am a not smart windows user of Inkscape. I am just inquiring as to where exactly I should place the Bezier Envelope extensions to have them function in Inkscape. Love the work Heathenx and Richard, keep it up.

  10. heathenx Says:

    @w1zzy1nk
    If you’re behind an Ubuntu machine then they go in /usr/share/inkscape/extensions. If you are behind a Windows machine then the default location is C:\Program Files\Inkscape\share\extensions. If you’re behind a Mac then heaven knows where they go cuz I don’t have a clue. :) Perhaps a Mac user can chime in on that one.

  11. jbrgfx Says:

    The path on a MAC for installing Inkscape extensions is:

    /Applications/Inkscape.app/Contents/Resources/extensions/

    Inkscape runs under X11 on the MAC, so this path should work unless non- default paths were chosen at the time of unpacking and installation by the user.

  12. gp Says:

    Where I can download this extension? I not find it in my Inkscape with Kubunt 9.04…

    gp

  13. jbrgfx Says:

    The link is near the end of introduction to the tutorial (above).
    Here it is also:

    http://screencasters.heathenx.org//wp-content/uploads/bezier_envelope.tar.gz

  14. gp Says:

    doh…I’m idiot…

  15. gp Says:

    When I use the extension I have thie error:
    Traceback (most recent call last):
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 351, in
    e.affect()
    File “/usr/share/inkscape/extensions/inkex.py”, line 154, in affect
    self.effect()
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 93, in effect
    axes = extractMorphAxes( simplepath.parsePath( envelopeElement.get(’d') ) );
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 231, in extractMorphAxes
    raise( “Too many curves in envelope.” )
    TypeError: exceptions must be classes or instances, not str

    Why?

    Where is my mistake?

    Giuseppe

  16. heathenx Says:

    @gp
    You can only have 4 segments in your bezier path (just like using the perspective effect). In other words it has to be a quadrilateral. Then you must select the object that you want to deform first (it has to be a path too) then the bezier path.

    Judging from your error report:
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 231, in extractMorphAxes
    raise( “Too many curves in envelope.” )
    Tells me that you might have more than 4 segments.

  17. gp Says:

    OK…thanks…today I’m very idiot :)

    Giuseppe

  18. cleroy61 Says:

    Congratulations for this tuto ;

    I regret you don’t put an image for a world map effect …

    Christophe

  19. RedBirdiii Says:

    Oh.. very interesting tutorial.. Thanks a lot..

    BTW, you have a very beautiful icons set, where did you get them?

  20. heathenx Says:

    @RedBirdiii
    I use a Tango version of the icon set. I’m not sure if it’s the official set coming for 0.47 but I like it regardless. I’m a big fan of anything Tango. It’s my favorite icon set. :)

    See my blog post about it:
    http://screencasters.heathenx.org/blog/2009/01/11/updated-tango-icons-for-inkscape

  21. Rk Castillo Says:

    I just can’t get the gradient to reverse. I’m using VMware on a mac to run the windows version of Inkscape.

    I hit Shift R and nothing happens to the gradient. I click on Path, then reverse. NOthing happens. How do you change a gradient?

  22. heathenx Says:

    @RK Castillo
    That’s interesting. I wonder if there is an issue with VMWare somewhere. Seems odd if that were true. I’m not sure how to help you because I don’t have a similar environment to test this. Regardless, you can do it the old-fashioned way (pre 0.46) by going into the gradient editor and making your changes there. That includes adding stops if needed. I even illustrated this in this episode when I was unable to add a stop to a gradient on the canvas. I got it in the end but it tripped me up a little.

  23. Simon Says:

    Nice tutorial!

    And i’ve figured out what your problem with your gradient node was

    When you make a gradient you may not move it any other place just add the node from the original spot it has.

    I have the same problem with it really annoying

    Hope it helped you :)

  24. Bugsbane Says:

    Thanks for a(nother) great tutorial!

    I’ve been wanting something like bezier envelope for quite a while. What is the software displaying the keys you have pressed. It looks like you’re on Ubuntu, but I haven’t managed to find any Linux software to accomplish this simple task. :(

  25. heathenx Says:

    @Bugsbane
    We use Daniel Taylor’s key-status monitor (http://www.programmer-art.org/projects/key-status-monitor). I think it works on any distro but indeed use Ubuntu.

    I modified Daniel’s monitor with a smaller dialog box and larger text keys. I run that version without the windows decoration via devilspie so that it’s even smaller. Check out this blog post:
    http://screencasters.heathenx.org/blog/2009/04/06/smaller-key-status-monitor

  26. VladHimself Says:

    i’ve got a problem.. i downloaded the file you posted, “bezier_envelope.tar” GZ file, and it’s only 5kb. i placed it in the extensions folded just as you said to do. i have closed and restarted my inkscape and i’ve even restarted my computer. i still don’t see the extension under effects. the file shown in the video is a different name, “bezierenvelope.py” and its 12kb instead of 5kb like the one i downloaded.

    any help would be greatly appriciate. i need to get this working!

  27. heathenx Says:

    @VladHimself
    You downloaded the bezier_envelope.tar.gz file which is an archive file like a zip file. You need to extract the contents of that archive. There are two files inside, one with a .py extension and one with a .inx extension. Both of those files need to go into your extensions folder in your install path. From your comment it looks like you just placed the .tar.gz file in there instead…which won’t work.

  28. VladHimself Says:

    ah… ok, good deal. thanks a lot buddy. i tried opening it with 7zip, i thought it could extract that type of file but i guess not

  29. Internes: Updates und neues Logo « WoW Manufaktur Says:

    [...] ein neuer Avatar erschaffen. Ich möchte an dieser Stelle vielmals Heathenx und sein hervorragendes Tutorial danken, es hat richtig Spass gemacht und war eine grosse Hilfe um erste Schritte mit Inkscape zu [...]

  30. ricky Says:

    how do you open ur extensions folder

  31. Don W Says:

    @RK Castillo..After the gradient is applied, and you want to add nodes, or reverse the gradient ON CANVAS, just hit “ctrl+F1 Create and edit Gradients”. You can then toggle the reverse of the gradients using “shft+R” and/or add nodes..

  32. sangbima Says:

    I found this error when i use the extension on my ubuntu mechine.

    Traceback (most recent call last):
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 305, in
    e.affect()
    File “/usr/share/inkscape/extensions/inkex.py”, line 154, in affect
    self.effect()
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 92, in effect
    axes = extractMorphAxes( simplepath.parsePath( envelopeElement.get(’d') ) );
    File “/usr/share/inkscape/extensions/bezierenvelope.py”, line 202, in extractMorphAxes
    raise( “Unsupported segment type: %s” % cmd )
    TypeError: exceptions must be classes or instances, not str

    What i’m wrong and what should i do?

  33. Richard Querin Says:

    @sangbima

    Hmm. Are you using version 0.46 of Inkscape or something newer like a pre-release version of 0.47?

    I ran that last statement in my own python shell (the ‘raise…’ line) and while it worked, mine simply gave me a warning that using a string for exceptions was ‘deprecated’, but didn’t throw the same TypeError you got. Maybe you’re using a newer version of Python that simply doesn’t except the fact that the python extension uses a string.

    Actually — check up a few comments from this one for the one from GP which heathenx answered. It sounds *very* similar to the problem you’re having.

  34. The Messenger Says:

    Can somebody send me the SVG file??
    Or maybe simply help me solving my problem?
    The ehing is, that even if i have the ennvelope file in my inkskape-extensions folder, its not listed in effekts. What to do?

  35. Don W Says:

    @ The Messenger,
    Click on : Extensions>modify path.
    On the editor screen

  36. ricky Says:

    im running xp
    the extension does not come up in effects
    what do i do

  37. The Messenger Says:

    @ Don W:
    Do you mean inkscape or in the inkscape folder? Because I (cause of my stupideness) downloaded the german version…

  38. Don W Says:

    @ Messinger–Ricky

    This is on the editor screen Command Tool Bar. Don’t know about the German version.

    In 0.46 it is under Effects>modify path
    In 0.47 it is under Extensions>modify path.
    If not either, it is not installed correctly.

  39. The Messenger Says:

    Is there any sheme how to install it correctly? I just downloaded the file and put it in the inkscape–>share–>extensions folder.

  40. Don W Says:

    @ The Messinger: It is a ZIP file, must be unzipped before placing in folder

  41. ricky Says:

    i unzipped the file and put everything into my folder it just doesn’t work =’(

  42. Don W Says:

    @ The Messinger-@Ricky

    If you installed inkscape into the default location in Windows, you may want to try this:

    http://public.heathenx.org/drw12333/Beizer%20Envelope/

    It is a self extracting zip that places the correct files into the correct folder.
    Click on the file and download to your desktop and run it.
    It works for 046 and/or 047.

    If the version is German, it may not work.

    Let me know how you come out.

  43. heathenx Says:

    @The Messenger, @ricky, @Don W

    Thanks for helping Don W. Richard and I were away over the weekend.

    Ok guys, the Bezier Envelope extension must reside in your application path. That path will vary on different operating systems. Which OS are you guys running and what version of Inkscape are you using? Regardless, you’ll want to find your extensions sub-directory and unpack the contents of the archive file there. bezierenvelope.inx and bezierenvelope.py must be in the same directory. The .inx file causes the the effect to be listed in the menu and the .py does all of the heavy lifting.

    Once you get those files unpacked and placed in the right directory open the .py file in a text editor to read how to use it.

    I know nothing about the German version so there might be issues with that. If nothing works then try the English version just to see if the effect works. If it does then we can at least warn users that it might be an English only extension.

  44. Don W Says:

    @ The Messinger—
    Do not put the downloaded program in the folder, just run it from the desktop by double clicking it.
    The program will INSTALL the needed files into the correct folder automatically if you installed Inkscape using the default setup.
    Then reopen Inkscape and find Bezier Envelope under (effects>modify path) in 046 release.

  45. The Messenger Says:

    Look in my blog pls =)
    We already got a disscussion about this in the comment box under the 1st pic “Unknown manga girl”
    Thx for your time.
    btw. I extracted it into my inkskape_–>share–>extensions folder

  46. heathenx Says:

    @The Messenger

    “Too many curves in the envelope” means that you have too many nodes, points or vertices placed on your path. You may only have 4 nodes (and 4 segments like as in a rectangle) and they have to be drawn in proper order in order for the effect to work. It looks as if you have the effect installed correctly but rather not quite sure how to use it. Am I right?

    I’ll post the same thing over on your blog. ;)

  47. The Messenger Says:

    There is an answer on the page.

  48. The Messenger Says:

    Thank you very much for your help, I really appreciate and respect this. I am happy that you sped your time on such a n00 as i am. The Problem isnt solved yet, but…=((
    Btw. do you prefer to read my crappy posts here or in my blog? Cause there is smthing new=)

  49. heathenx Says:

    @The Messenger

    I don’t care where we post. We can comment on your blog if it’s more convenient.

  50. ricky Says:

    waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay
    it worked
    but why didn’t it work before?? i put the same two files into the extension folder.
    thanks anyway

  51. ricky Says:

    don w
    i just had to thank you again
    i never knew i could be this happy

  52. Don W Says:

    @ Ricky
    No problem, if that made you happy, that’s all that counts. We are here to have fun. I don’t have a clue why it didn’t work before.
    Looks like THE Messenger is doing OK too.

Leave a Reply

CAPTCHA Image CAPTCHA Audio
Refresh Image