Thanks to Kaveh Bazargan and River Valley Technologies for recording open source conferences and making them available on the webs.
This presentation is very informal and lasts almost an hour, probably because there were three different areas that I wanted to address:
1. How I had learned Python, SVG, XML, and Inkscape during the past year, as there has been some discussion on how users could become programmers and contributors in the open source world. The examples are rudimentary to show where I started from. The current code is much better.
2. How to write an Inkscape extension to gather user input and create new SVG objects. It took about 2 months of work to discover how to create an extension which creates new objects – it doesn’t merely operate on existing objects.
3. How this approach might be used to teach Inkscape, Python, SVG, XML, and the open source model to younger students. Again, the examples are rudimentary to show how easily these concepts can be conveyed.
After much work, I’ve developed a new pattern formula, basing it on a person’s actual measurements, not measurements over a similarly fitting garment. This pattern is reproducible mathematically and retains proper shape and curve.
I suppose it’s time for me to start blogging here a bit about some recent work I’ve been doing for the tmtp project.
I’ve been watching Susan work on this project from the beginning, mostly being a cheerleader and occasionally actually looking at the code.
For the last few weeks I’ve been working on the next step for the project, which is to turn the inkscape extension into a standalone application that generates an SVG pattern from the command line, creating a framework in which a designer can create designs and have a lot of the implementations details of python and svg handled for them. I’ve been implementing it with python and pySVG.
While there’s still a lot to do, I’m able to create a pattern with a single piece in it – more than one should work but hasn’t been tested. There has been a lot of churn in the code, as I’ve been trying to unify the calling conventions across methods, stabilize classes and APIs, and get it to the point where at least the application can get some test use while development continues, without ‘breaking’ the design definitions too often.
Features implemented, in progress, or planned include:
Loading client measurements and data from a file (or database – it’s json data)
Loading styles from a file, allowing for customization
Loading the design from a file, separating it from the application (and allowing different licenses for designs)
Automatic generation of unique svg element IDs from the design heirarchy (this is cool)
Automatic placement of pattern pieces based on printable page size
Separate layers (groups) definable by the designer – typically one for the pattern, and one for reference objects
Automatic hierarchical grouping of elements so (for example) pattern parts can be referenced, copied, and transformed
There is also already a list of bugs – but not too many.
There really isn’t enough there yet to make a coherent preview for anyone to look at, and there’s zero documentation. But I’m exited. It’s been a lot of fun to work through the inkscape plugin and figure out what Susan’s design process is, and try to extend that. I think she’s brilliant.
Amber Graner at Linux Magazine interviewed me this past month to find out the status of this project. I’ve been working on code, and haven’t posted developments here. My apologies. I’ll try to keep the wiki updated with code, and to create a website which is supportive of the work and communication required to move forward.
Woohoo! I got a Wacom Bamboo Fun tablet during the holiday. But it wouldn’t install on Ubuntu Lynx. So I upgraded to Maverick. Still no luck. I found several pages of advice and instruction, none of which yielded results. So I Googled until I found the bug listings for Ubuntu (my husband got a chuckle from all of this.) Turns out all I needed to do was install Linux backport modules! Thanks to Stefan Bader for discovering the work-around.
From the Ubuntu Software Centre I installed Backported input drivers for generic kernel image, the name of the file is “linux-backports-modules-input-maverick-generic“. It’s version isv18.104.22.168.28. Reboot required after installing this package. The precise name of the file may be different if you’re using Lynx, but the listed title may be close or the same.
After reboot I installed Wacom’s MyPaint (also available through the Ubuntu Software Centre). The settings listed devices as ‘disabled, screen, window’, so I was confused but I made no changes. Picked up the stylus and scribbled – the tablet worked perfectly!
Then opened Gimp 2.6, opened Edit/Preferences/InputDevices/ConfigureExtendedInputDevices –> The Wacom Bamboo Finger Pad, Finger Touch, Pen eraser, Pen stylus were in the devices list, marked as disabled. Again I made no changes, and the stylus worked perfectly.
Last test – opened Inkscape 0.48, selected ‘Draw Free Hand Lines’ – tablet worked fine.
From “The Complete Guide to Practical Cutting (1853)” by Edward Minister & Son, p. 53 :
“The system for coats, so far as we have already explained its operations, is adapted for all persons of an ordinary or proportionate form. In practice, however, we find that by far the greater number of persons for whom we have to cut are not proportionate; hence it is evident, that, to correspond with such figures, some deviation should be made from the ordinary rule, or, rather, that the rule itself should so vary in its application as at once to produce a shape to accord with the requirements of the figure for which it is destined.”
So there…even in 1853 the majority of persons did not fit the base formulas for creating garments. Things haven’t changed. No wonder it’s depressing to go shopping. By definition, nothing fits.
This TED talk is from May 2010. The open fashion culture is not a superficial social movement. To see how reflective the fashion industry is of the open design and open source movements, please watch this video. It requires Flash.
Summary of talk from TED talk page:
” Copyright law’s grip on film, music and software barely touches the fashion industry … and fashion benefits in both innovation and sales, says Johanna Blakley. At TEDxUSC 2010, she talks about what all creative industries can learn from fashion’s free culture.”
The wiki has been updated with the latest version of the Steampunk Jacket. The sleeves and pockets are completed. Still working on the collar and lapel.
Link here to current code files The code has been cleaned up, repetitious code replaced with function calls, etc. THe pocket flap pieces have been created with required extra fabric needed to sew onto jacket. I will work out extra pieces for actual pocket to go underneath the pocket flaps. Still to come: lapel and collar.
The jacket was not finished, obviously, before DragonCon. But we had a great time. Dylan stood two feet away from Summer Glau at the blood donor area, nobody else noticed her, and she smiled and waved at him. No power in the Verse can take the smile off his face.
Here is result of latest version, no need to manually smooth the nodes. But the seam allowance must still be added manually as posted previously.
1.select all points that aren’t corners and set to auto-smooth. Set points at the waist line and elbows to symmetrical.
2. set Inkscape Preferences/Steps to 56.25px (5/8″) for Outset to equal a standard seam allowance.
3.select the pattern outline
4.copy then paste in place
6. select original pattern outline
7. click on Edit Object’s icon on upper toolbar, set stroke-style to be a dashed line.
These steps will be incorporated into the extension soon, but I’ve got a deadline of this Friday to sew this up, and the pattern’s not completed yet.
Here’s the result:
I’ll try to post the file on the wiki soon. These two pieces had to be generated from the same file, as they shared several reference lines. I need to create patterns for the sleeve, both pockets, the collar, collar facing, and lapel facing. As you can see, next step is to select points on a path and change them to ‘smooth’ or ‘symetrical’, add ‘label’ to the path attributes, and a long list of other things. But first, this jacket. My son is 6’1″, chest 38″, waist 32″, and the pattern is based on a person who is 5’9″, chest=38″, waist=34″. So this picture’s proportions won’t match the pictures in the book.