Welcome to OpenPattern’s documentation: a python library for sewing geeks !
Note
This project is under active development. For an introduction in French introduction see the doc on Github in the fdoc folder.
What is it ?
OpenPattern is a python library consisting of a set of classes designed to draft 1:1 scale bespoke sewing patterns and save them as pdf (or matplotlib compatible) files for printing or further processing. Printing can be performed at fullscale on a tracer but OpenPattern can also cut the pattern in as many pieces as needed in order to print them on a home printer.
OpenPattern can be used to draft patterns from scratch but also includes a set of predefined patterns from basics (or “bases” in French) such as bodices to more elaborate patterns such as shirts.
The patterns are drafted following instructions from three main stylists: Jacqueline Chiappetta, Theresa Gilewska, and Antonnio Donnano.
Sizes are stored in a sqlite3 database. By default they
include a series of standard (French and Italian) sizes for Women,
Men, Girls and Boys given by these authors.
Why ?
I developped OpenPattern to draft bespoke patterns for my family. I wanted a programmable, reusable, and scalable way of doing things as I rapidly get fed up with trying to precisely position points and curves on a figure using classical GUI base drawing softwares.
In the end the results look like This
#############################
# Draw a Bespoke Culotte
# (Jupe culotte in French)
# for Sophie
# style from Donnano
#############################
import OpenPattern as OP
import matplotlib.pyplot as plt
p = OP.Culotte(
pname="sophie",
style="Donnanno",
ease=1,
figPATH="../samplePatterns/",
frmt="svg",
)
p.draw(save=True, fname="culotte")
plt.show()
If you like the result then give it a try :=)
Content
- Classes
- Introduction
- Pattern Class
PatternPattern.add_comment()Pattern.add_curve()Pattern.add_dart()Pattern.add_labelled_line()Pattern.add_legends()Pattern.add_point()Pattern.add_scales()Pattern.copy()Pattern.curve_offset()Pattern.distance()Pattern.draw()Pattern.draw_pattern()Pattern.draw_subpatterns()Pattern.generate_lists()Pattern.get()Pattern.get_measurements_json()Pattern.get_measurements_sql()Pattern.intersec_lines()Pattern.intersec_manches()Pattern.load_measurements()Pattern.middle()Pattern.mirror_point()Pattern.oriented_segment_angle()Pattern.paper_cut()Pattern.pistolet()Pattern.print_info()Pattern.project_point()Pattern.rotate()Pattern.save_measurements_json()Pattern.save_measurements_sql()Pattern.segment()Pattern.segment_angle()Pattern.segment_offset()Pattern.set_fold_line()Pattern.set_grainline()Pattern.translate()Pattern.true_pistolet()Pattern.unfold()
- Skirts and Culottes
- Trousers
- Bodices class
Basic_BodiceBasic_Bodice.Donnanno_basic_fitted_sleeve()Basic_Bodice.Donnanno_bodice_without_dart_m()Basic_Bodice.Donnanno_bodice_without_dart_w()Basic_Bodice.Gilewska_basic_bodice_m()Basic_Bodice.Gilewska_basic_bodice_w()Basic_Bodice.Gilewska_basic_sleeve_m()Basic_Bodice.Gilewska_basic_sleeve_w()Basic_Bodice.add_bust_dart()Basic_Bodice.add_waist_dart()Basic_Bodice.chiappetta_armhole_sleeve_m()Basic_Bodice.chiappetta_basic_bodice()Basic_Bodice.chiappetta_basic_bodice__ori_m()Basic_Bodice.chiappetta_basic_bodice_m()Basic_Bodice.chiappetta_basic_sleeve_m()Basic_Bodice.draw_bodice()Basic_Bodice.draw_sleeves()
- Shirts
- Ancillary classes: Plackets, Cuffs and Collars
- Waistcoats
- Points Classes