diff --git a/packages/examples/index.html b/packages/examples/index.html
index fb273f568f9..ec1f26805f8 100644
--- a/packages/examples/index.html
+++ b/packages/examples/index.html
@@ -3,7 +3,7 @@
Examples
-
+
@@ -30,7 +30,7 @@
// Some default settings
pattern.settings.sa = 10;
pattern.settings.units = 'metric';
-pattern.settings.only = 'utilsBeamCrossesY';
+pattern.settings.only = 'pathEdge';
//pattern.on('preRender', function(next) {
// this.style += 'g { border: 1px solid red; background: red;}';
// next();
diff --git a/packages/examples/src/index.js b/packages/examples/src/index.js
index 1cf39b40975..33791e62270 100644
--- a/packages/examples/src/index.js
+++ b/packages/examples/src/index.js
@@ -31,6 +31,7 @@ import pathJoin from "./path.join";
import pathReverse from "./path.reverse";
import pathShiftAlong from "./path.shiftalong";
import pathShiftFractionAlong from "./path.shiftfractionalong";
+import pathEdge from "./path.edge";
import utilsLinesCross from "./utils.linescross";
import utilsBeamsCross from "./utils.beamscross";
@@ -72,6 +73,7 @@ pattern.draft = function() {
this.parts.pathReverse = this.draftPathReverse(new pattern.Part());
this.parts.pathShiftAlong = this.draftPathShiftAlong(new pattern.Part());
this.parts.pathShiftFractionAlong = this.draftPathShiftFractionAlong(new pattern.Part());
+ this.parts.pathEdge = this.draftPathEdge(new pattern.Part());
this.parts.utilsLinesCross = this.draftUtilsLinesCross(new pattern.Part());
this.parts.utilsBeamsCross = this.draftUtilsBeamsCross(new pattern.Part());
@@ -110,6 +112,7 @@ pattern.draftPathJoin = part => pathJoin.draft(part);
pattern.draftPathReverse = part => pathReverse.draft(part);
pattern.draftPathShiftAlong = part => pathShiftAlong.draft(part);
pattern.draftPathShiftFractionAlong = part => pathShiftFractionAlong.draft(part);
+pattern.draftPathEdge = part => pathEdge.draft(part);
pattern.draftUtilsLinesCross = part => utilsLinesCross.draft(part);
pattern.draftUtilsBeamsCross = part => utilsBeamsCross.draft(part);
diff --git a/packages/examples/src/path.edge.js b/packages/examples/src/path.edge.js
new file mode 100644
index 00000000000..96b78c6ea0e
--- /dev/null
+++ b/packages/examples/src/path.edge.js
@@ -0,0 +1,36 @@
+import freesewing from "freesewing";
+
+var pathEdge = {
+ draft: function(part) {
+ // prettier-ignore
+ let {Point, points, Path, paths, Snippet, snippets, macro} = part.shorthand();
+
+ points.A = new Point(45, 60);
+ points.B = new Point(10, 30);
+ points.BCp2 = new Point(40, 20);
+ points.C = new Point(90, 30);
+ points.CCp1 = new Point(50, -30);
+ points.D = new Point(-60, 90);
+ points.E = new Point(90, 190);
+
+ paths.example = new Path()
+ .move(points.A)
+ .line(points.B)
+ .curve(points.BCp2, points.CCp1, points.C)
+ .curve(points.E, points.D, points.A)
+ .close();
+
+ snippets.a = new Snippet('x', paths.example.edge('topLeft'));
+ snippets.b = new Snippet('x', paths.example.edge('topRight'));
+ snippets.c = new Snippet('x', paths.example.edge('bottomLeft'));
+ snippets.d = new Snippet('x', paths.example.edge('bottomRight'));
+ snippets.e = new Snippet('x', paths.example.edge('top'));
+ snippets.f = new Snippet('x', paths.example.edge('left'));
+ snippets.g = new Snippet('x', paths.example.edge('bottom'));
+ snippets.h = new Snippet('x', paths.example.edge('right'));
+
+ return part;
+ }
+};
+
+export default pathEdge;