{"id":133,"date":"2013-02-01T11:34:02","date_gmt":"2013-02-01T11:34:02","guid":{"rendered":"https:\/\/www.taumeta.org\/?p=133"},"modified":"2013-02-19T18:12:10","modified_gmt":"2013-02-20T00:12:10","slug":"creating-a-pattern-with-an-inkscape-extension-part-1","status":"publish","type":"post","link":"https:\/\/www.taumeta.org\/?p=133","title":{"rendered":"Creating a Pattern as an Inkscape Extension: Part 1"},"content":{"rendered":"<p><a style=\"color: #ff4b33; line-height: 24px;\" href=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"134\" data-permalink=\"https:\/\/www.taumeta.org\/?attachment_id=134\" data-orig-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201.png\" data-orig-size=\"842,745\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Shirt_Waist_130201\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201-300x265.png\" data-large-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201.png\" class=\"alignleft size-full wp-image-134\" alt=\"Shirt_Waist_130201\" src=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201.png\" width=\"842\" height=\"745\" srcset=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201.png 842w, https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201-300x265.png 300w, https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201-210x185.png 210w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/a><\/p>\n<p>This diagram and the instructions below were re-created from<strong>\u00a0<a href=\"http:\/\/www.archive.org\/stream\/practicalsewingd00alli#page\/n0\/mode\/1up\" target=\"_blank\">Practical Sewing and Dressmaking<\/a><\/strong>,\u00a0Sara May Allington, Boston: Dana Estes and Company, 1913.<\/p>\n<p style=\"padding-left: 30px;\"><em>1. Draw Line A-B length of Back Length measure.<\/em><br \/>\n<em> 2. From A measure on line A-B Underarm measure. Mark this point C.<\/em><br \/>\n<em> 3. At C square a line with A-B.<\/em><br \/>\n<em> 4. From C measure on this line one-half of Bust measure. Mark this point D.<\/em><br \/>\n<em> 5. From C on line C-D measure one-half of Back Width measure. Mark this point E.<\/em><br \/>\n<em> 6. At E square line with line C-D.<\/em><br \/>\n<em> 7. From E on this line measure 1-3 of Armhole measure. Mark this point F.<\/em><br \/>\n<em> 8. Measure 1\/2 inch above point B. Mark this point G.<\/em><br \/>\n<em> 9. At G square a line with line G-A.<\/em><br \/>\n<em> 10. From G on this line measure 1-1\/2 inches. Mark this point H.<\/em><br \/>\n<em> 11. Place point O on the chart at point B and draw curve through H.<\/em><br \/>\n<em> 12. With curve D-C on the chart draw a curve through H and F.<\/em><br \/>\n<em> 13. Extend this curve beyond point F 1\/2 inch. Mark this point I.<\/em><br \/>\n<em> 14. From E measure on line C-D 1\/4 of Armhole measure. Mark this point J.<\/em><br \/>\n<em> 15. Find a point half way between J and E. Mark this point K.<\/em><br \/>\n<em> 16. At point J square a line with line D-C.<\/em><br \/>\n<em> 17. From J on this line measure 2-1\/2 inches. Mark this point L.<\/em><br \/>\n<em> 18. Place point G on the chart at point I and draw curve through K.<\/em><br \/>\n<em> 19. Place point O on the chart at point L and draw curve through K.<\/em><br \/>\n<em> 20. Extend line E-F up 1-3\/4 inches. Mark this point M.<\/em><br \/>\n<em> 21. At point M square a line with line E-M.<\/em><br \/>\n<em> 22. From M on this line measure 2 inches. Mark this point N.<\/em><br \/>\n<em> 23. Place point F on the chart at L and draw a curve through N.<\/em><br \/>\n<em> 24. Measure curve I-H.<\/em><br \/>\n<em> 25. From N measure the line of line I-H. Mark this point O. \u00a0 <\/em>[NOTE: This should be from M, not N] <em><span style=\"color: #ff0000;\">&lt;&#8211;My mistake! It really is N! \u00a0-sspencer<\/span><\/em><br \/>\n<em> 26. Square a line with D-C so that it will pass through point O.<\/em><br \/>\n<em> 27. Measure from line D-C on this line, the Upper Front measure less what is used on the Back Neck. Mark this point P.<\/em><br \/>\n<em> 28. From point P measure down 1\/4 of neck measure. Mark this point Q.<\/em><br \/>\n<em> 29. From Q measure up 1\/2 inch. Mark this point R.<\/em><br \/>\n<em> 30. At R square a line with line Q-R.<\/em><br \/>\n<em> 31. On this line from R measure 1-6 of Neck measure, and add 1\/4 inch. Mark this point S.<\/em><br \/>\n<em> 32. Place point J on the chart at S and draw curve through P.<\/em><br \/>\n<em> 33. From point E on line C-D measure 1 inch to the left. Mark this point T.<\/em><br \/>\n<em> 34. At T square a line with line C-D and draw length of Underarm measure. Mark this point U.<\/em><br \/>\n<em> 35. From U measure 1 inch to the right. Mark this point V.<\/em><br \/>\n<em>36. Place point B on the chart at point T and draw curve through V.<\/em><br \/>\n<em>37. From U measure 1 inch to the left. Mark this point W.<\/em><br \/>\n<em>38.\u00a0Place point B on the chart at point T and draw curve through W.<\/em><br \/>\n<em>39. Draw a line from S through D.<\/em><br \/>\n<em>40. From S measure Front Length measure. Mark this point X.<\/em><br \/>\n<em>In cutting pattern allow all seams.<br \/>\n<\/em><\/p>\n<p>STEP 1: TRANSLATE THE MEASUREMENT TERMS<br \/>\nHere is a translation of the measurements into Tau Meta variables:<\/p>\n<p style=\"padding-left: 30px;\"><strong>Waist measure == waist_circumference<\/strong><br \/>\n<strong> Neck measure == neck_circumference<\/strong><br \/>\n<strong> Armhole measure == armscye_circumference<\/strong><br \/>\n<strong> Bust measure == bust_circumference<\/strong><br \/>\n<strong> Back Width measure == across_back<br \/>\nUpper Front measure == upper_front_height<br \/>\nFront Length measure == front_waist_length<br \/>\nUnderarm measure == side<\/strong><\/p>\n<p>STEP 2: TRANSLATE THE INSTRUCTIONS INTO PSEUDO-CODE<br \/>\nHere is the translation of the above instructions into points that are represented as an x,y pair or as a TauMeta function that returns a point. \u00a0IN is a constant variable to use for inch values. <em><br \/>\n<\/em><\/p>\n<p style=\"padding-left: 30px;\"><strong>B=0, 0<\/strong><br \/>\n<strong> A=downPoint(B, front_waist_length)<\/strong><br \/>\n<strong> C=upPoint(A, side)<\/strong><br \/>\n<strong> D=leftPoint(C, bust_circumference\/2.0)<\/strong><br \/>\n<strong> E=leftPoint(C, across_back\/2.0)<\/strong><br \/>\n<strong> F=upPoint(E, armscye_circumference\/3.0)<\/strong><br \/>\n<strong> G=upPoint(B, 0.5*IN)<\/strong><br \/>\n<strong> H=leftPoint(G,1.5*IN)<\/strong><br \/>\n<strong> I=intersectLineAtLength(F,H, -0.5*IN) \u00a0 <\/strong><em>#This is odd usage for this function, but it&#8217;s efficient. Think of it as starting at F facing H, then move backwards 0.5 inch.<br \/>\n<\/em><strong>J=leftPoint(E, armscye_circumference\/4.0)<\/strong><br \/>\n<strong> K=midpoint(J,K)<\/strong><br \/>\n<strong> L=upPoint(J.x, 2.5*IN)<\/strong><br \/>\n<strong> M=upPoint(F.x, 1.5*IN)<\/strong><br \/>\n<strong> N=leftPoint(M, 2*IN)<\/strong><br \/>\n<strong> O=leftPoint(M, distance(H,I))<\/strong><br \/>\n<strong> P=O.x, C.y-upper_front_height<\/strong><br \/>\n<strong> Q=downPoint(P, neck_circumference\/4.0)<\/strong><br \/>\n<strong> R=upPoint(Q, 0.5*IN)<\/strong><br \/>\n<strong> S=leftPoint(R, (neck_circumference\/6.0)+0.25*IN\u00a0)<\/strong><br \/>\n<strong> T=leftPoint(E, 1*IN)<\/strong><br \/>\n<strong> U=downPoint(T, side)<\/strong><br \/>\n<strong> V=rightPoint(U, 1*IN)<\/strong><br \/>\n<strong> W=leftPoint(U, 1*IN)<\/strong><br \/>\n<strong> X=intersectLineAtLength(S, D, front_waist_length)<\/strong><\/p>\n<p>STEP 3: ADD ADDITIONAL POINTS IF NEEDED<br \/>\nA new point is needed to draw the waistline: Y will be on on the waistline directly below P. Let&#8217;s assume that the drawing is somewhat accurate so the waistline directly below P has the same distance from \u00a0P as X.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"185\" data-permalink=\"https:\/\/www.taumeta.org\/?attachment_id=185\" data-orig-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201.png\" data-orig-size=\"359,696\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Shirt_Waist_Y_130201\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201-154x300.png\" data-large-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201.png\" class=\" wp-image-185 aligncenter\" alt=\"Shirt_Waist_Y_130201\" src=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201.png\" width=\"215\" height=\"418\" srcset=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201.png 359w, https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201-154x300.png 154w, https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Y_130201-210x407.png 210w\" sizes=\"auto, (max-width: 215px) 100vw, 215px\" \/><\/a><\/p>\n<p style=\"text-align: center;\">The formula for this point is <strong>Y=downPoint(P, distance(P, X))<\/strong><\/p>\n<p>A second new point is needed on the back armscye above E, similar to L on the front armscye above J. Let&#8217;s assume that this point can be 2\/3 the distance from the shoulder tip to the underarm line.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"189\" data-permalink=\"https:\/\/www.taumeta.org\/?attachment_id=189\" data-orig-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011.jpg\" data-orig-size=\"268,391\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Shirt_Waist_Z_130201\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011-205x300.jpg\" data-large-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011.jpg\" class=\"size-full wp-image-189 aligncenter\" alt=\"Shirt_Waist_Z_130201\" src=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011.jpg\" width=\"268\" height=\"391\" srcset=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011.jpg 268w, https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011-205x300.jpg 205w, https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_1302011-210x306.jpg 210w\" sizes=\"auto, (max-width: 268px) 100vw, 268px\" \/><\/a><\/p>\n<p style=\"text-align: center;\">The formula for this point is <strong>Z = downPoint(F, (2\/3.0)*distance(F, E))<\/strong><\/p>\n<p>The third and final new point is needed above T on the armscye curve between K &amp; Z. \u00a0This point will finish the separation line between the front and back bodice pattern pieces. The curve points are stored in an array. \u00a0We haven&#8217;t calculated the bezier curve&#8217;s control points yet, and you may not yet know what a bezier curve is, but let&#8217;s roll with this for a minute.<\/p>\n<p>Bezier curves are defined with four points. The bezier curve from K to Z \u00a0is, in order: \u00a0point K, control point Z.c1, control point Z.c2, point Z.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_controlpoints_130201.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"190\" data-permalink=\"https:\/\/www.taumeta.org\/?attachment_id=190\" data-orig-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_controlpoints_130201.png\" data-orig-size=\"202,253\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Shirt_Waist_Z_controlpoints_130201\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_controlpoints_130201.png\" data-large-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_controlpoints_130201.png\" class=\"size-full wp-image-190 aligncenter\" alt=\"Shirt_Waist_Z_controlpoints_130201\" src=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_Z_controlpoints_130201.png\" width=\"202\" height=\"253\" \/><\/a><\/p>\n<p style=\"text-align: center;\">The formula to create the curve array is\u00a0<strong>curveKZ=pointList(K, Z.c1, Z.c2, Z)<\/strong><br \/>\nWe&#8217;ll cover how to calculate the control points later in this post series.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_AA_130201.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"191\" data-permalink=\"https:\/\/www.taumeta.org\/?attachment_id=191\" data-orig-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_AA_130201.png\" data-orig-size=\"202,253\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Shirt_Waist_AA_130201\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_AA_130201.png\" data-large-file=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_AA_130201.png\" class=\"aligncenter size-full wp-image-191\" alt=\"Shirt_Waist_AA_130201\" src=\"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_AA_130201.png\" width=\"202\" height=\"253\" \/><\/a><\/p>\n<p style=\"text-align: center;\">\u00a0The formula for finding the point where line T-U intersects curve K-Z is <strong>AA=intersectLineCurve(T,U,curveKZ)<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>STEP 4: \u00a0 RENAME THE POINTS<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #ff0000;\">Creating a Pattern with an Inkscape Extension<\/span><em id=\"__mceDel\"><span style=\"color: #ff0000;\">\u00a0will continue in the<\/span> <a href=\"https:\/\/www.taumeta.org\/?p=206\">next blog post<\/a>&#8230;<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This diagram and the instructions below were re-created from\u00a0Practical Sewing and Dressmaking,\u00a0Sara May Allington, Boston: Dana Estes and Company, 1913. 1. Draw Line A-B length of Back Length measure. 2. From A measure on line A-B Underarm measure. Mark this point C. 3. At C square a line with A-B. 4. From C measure on [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":134,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16,9,14],"tags":[],"class_list":["post-133","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-documentation","category-patterns","category-tutorials"],"jetpack_featured_media_url":"https:\/\/www.taumeta.org\/wp-content\/uploads\/2013\/02\/Shirt_Waist_130201.png","jetpack_shortlink":"https:\/\/wp.me\/p3clcA-29","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/posts\/133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=133"}],"version-history":[{"count":10,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/posts\/133\/revisions"}],"predecessor-version":[{"id":396,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/posts\/133\/revisions\/396"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=\/wp\/v2\/media\/134"}],"wp:attachment":[{"href":"https:\/\/www.taumeta.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.taumeta.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}