export default part => { let { Point, points, Path, paths, macro } = part.shorthand(); points.A = new Point(0, 0); points.B = new Point(0, 100); points.C = new Point(50, 100); points.D = new Point(100, 50); points.DCp1 = new Point(100, 0); paths.box = new Path() .move(points.A) .line(points.B) .line(points.C) .line(points.D) .curve(points.DCp1, points.A, points.A) .close(); macro("vd", { from: points.A, to: points.B, x: points.A.x - 15 }); macro("hd", { from: points.B, to: points.C, y: points.B.y + 15 }); macro("ld", { from: points.C, to: points.D, d: -15 }); macro("ld", { from: points.C, to: points.D, d: -30, text: "Custom text" }); macro("pd", { path: new Path().move(points.A).curve(points.A, points.DCp1, points.D), d: -15 }); return part; };