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.

May 2nd, 2009 at 5:15 pm
[...] got Episode 088 uploaded. It’s a whopper too. This was the first time that I recorded in Ubuntu using 26fps [...]
May 3rd, 2009 at 5:52 am
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.
May 3rd, 2009 at 7:57 am
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?
May 3rd, 2009 at 8:33 am
@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.
May 3rd, 2009 at 10:06 am
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?
May 3rd, 2009 at 12:22 pm
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.
May 4th, 2009 at 2:34 am
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?
May 4th, 2009 at 6:09 am
@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?
May 4th, 2009 at 8:26 am
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.
May 4th, 2009 at 8:37 am
@w1zzy1nk
Perhaps a Mac user can chime in on that one.
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.
May 4th, 2009 at 9:11 am
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.
May 4th, 2009 at 1:38 pm
Where I can download this extension? I not find it in my Inkscape with Kubunt 9.04…
gp
May 4th, 2009 at 9:50 pm
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
May 5th, 2009 at 5:44 am
doh…I’m idiot…
May 5th, 2009 at 6:47 am
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
May 5th, 2009 at 7:19 am
@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.
May 5th, 2009 at 8:51 am
OK…thanks…today I’m very idiot
Giuseppe
May 6th, 2009 at 9:39 am
Congratulations for this tuto ;
I regret you don’t put an image for a world map effect …
Christophe
May 8th, 2009 at 10:11 pm
Oh.. very interesting tutorial.. Thanks a lot..
BTW, you have a very beautiful icons set, where did you get them?
May 9th, 2009 at 8:52 am
@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
May 11th, 2009 at 6:01 pm
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?
May 12th, 2009 at 6:05 am
@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.
May 30th, 2009 at 12:26 am
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
June 14th, 2009 at 10:14 pm
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.
June 15th, 2009 at 7:09 am
@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
June 21st, 2009 at 10:43 pm
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!
June 22nd, 2009 at 6:08 am
@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.
June 22nd, 2009 at 9:56 pm
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
July 25th, 2009 at 2:16 am
[...] 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 [...]
July 26th, 2009 at 2:58 pm
how do you open ur extensions folder
August 7th, 2009 at 9:15 am
@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..
August 26th, 2009 at 3:57 am
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?
August 26th, 2009 at 7:09 am
@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.
September 25th, 2009 at 2:23 pm
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?
September 25th, 2009 at 7:23 pm
@ The Messenger,
Click on : Extensions>modify path.
On the editor screen
September 26th, 2009 at 10:49 am
im running xp
the extension does not come up in effects
what do i do
September 26th, 2009 at 1:09 pm
@ Don W:
Do you mean inkscape or in the inkscape folder? Because I (cause of my stupideness) downloaded the german version…
September 26th, 2009 at 1:38 pm
@ 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.
September 27th, 2009 at 9:25 am
Is there any sheme how to install it correctly? I just downloaded the file and put it in the inkscape–>share–>extensions folder.
September 27th, 2009 at 10:44 am
@ The Messinger: It is a ZIP file, must be unzipped before placing in folder
September 27th, 2009 at 11:51 am
i unzipped the file and put everything into my folder it just doesn’t work =’(
September 27th, 2009 at 4:12 pm
@ 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.
September 28th, 2009 at 9:45 am
@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.
September 28th, 2009 at 9:57 am
@ 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.
September 28th, 2009 at 11:59 am
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
September 28th, 2009 at 12:19 pm
@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.
September 28th, 2009 at 1:27 pm
There is an answer on the page.
September 28th, 2009 at 2:43 pm
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=)
September 28th, 2009 at 3:06 pm
@The Messenger
I don’t care where we post. We can comment on your blog if it’s more convenient.
September 30th, 2009 at 3:58 pm
waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay
it worked
but why didn’t it work before?? i put the same two files into the extension folder.
thanks anyway
September 30th, 2009 at 4:06 pm
don w
i just had to thank you again
i never knew i could be this happy
September 30th, 2009 at 4:45 pm
@ 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.