02-01-2022 Documentation for Cuttle code to create a reverse tuck carton ----- Variables -------- Main 3 sizing values are Length Width Depth BackPanelOffset ;the back panel of folding carton is generally 0.031" smaller than the width, so the back cut edge does not overlap the glue flap crease when being glued flat Parameters below can generally stay the same. You can decrease ShoulderHt to 0.1875" for narrow boxes, and even down to 0.125" if both Length and Width are small. TuckHt should never be larger than Width, so reduce it's size if Width is under 1.375". GFWidth can be either 0.5" or up to 0.75" depending on size. Generally, GFWidth of 0.625" is fine unless Width is under 0.875" or Length is greater than 15" ShoulderHt ;height of the shoulder on minor flaps. Defaults to 0.25". Shoue be 0.1875" if Width is narrow. SlitLockExtra ;increases the slit lock size on the Tuck Top and Tuck Bottom to match up with the ShoulderHt. Generally the number should be eith 0.0625" or 0.09375". TuckHt ;height of the tuck flap on the Tuck Top and Tuck Bottom. Generall gets larger if the box is larger, and smaller if Width of box is narrow. Shoulder45 ;45 degree relief on minor flaps next to shoulder. Generally set at 0.125". Can be 0.01875", but not necessary. FlatHt ;height of minor flap. Generally set to Width+TuckHt)/2. This is because the carton will nest with common edges in a multi up layout for printing and die cutting. TaperY ;tapered line that comes off of Shoulder45 and extends to the outer edge of flap. Generally at 15 degrees. See TaperAngle. TaperAngle ;angle for taper on minor flaps. Generaly set to 15 degrees. Shouldn't change from 15 degrees. SlitDown ;line that extends from the slit locks on Tuck Top and Tuck Bottom just slightly past the crease. Set to 0.078125. Bleed1 ;main offset for creating bleed boundaries for printing. Generally set for 0.125". Bleed2 ;additional offset to add more ink to minor flaps. Set at 0.1875", but also be set at 0.125" if not needed. BlankSizeX ;overall size of carton blank in "X" direction BlankSizeY ;overall size of carton blank in "Y" direction Code for each line below. Lines are either Crease or Cut, and I used the character "n" for nodes or anchors. Left them as anchors for the bleed boundary. --------------------------------------------------- Start of Sleeve Crease 1 n1 Vec(0, 0) n2 Vec(0, -Depth) Crease 2 n3 Vec(0, -Depth) n4 Vec(Length, -Depth) Crease 3 n5 Vec(Length, -Depth) n6 Vec(Length, 0) Cut 4 n7 Vec(Length+BackPanelOffset, 0) n8 Vec(0, 0) Crease 5 n9 Vec(Length+BackPanelOffset, 0) n10 Vec(0, 0) Crease 6 n11 Vec(Length+Width, 0) n12 Vec(Length+Width, -Depth) Crease 7 n13 Vec(Length+Width-BackPanelOffset, -Depth) n14 Vec(Length, -Depth) Cut 8 n15 Vec(Length+Width-BackPanelOffset, -Depth) n16 Vec(Length+Width+Length+BackPanelOffset, -Depth) Crease 9 n17 Vec(Length+Width+Length,-Depth) n18 Vec(Length+Width+Length,0) Crease 10 n19 Vec(Length+Width+Length, 0) n20 Vec(Length+Width, 0) Crease 11 n21 Vec(Length+Width+Length, 0) n22 Vec(Length+Width+Length+Width-BackPanelOffset, 0) Cut 12 n23 Vec(Length+Width+Length+Width-BackPanelOffset, 0) n24 Vec(Length+Width+Length+Width-BackPanelOffset, -Depth) Crease 13 n25 Vec(Length+Width+Length+Width-BackPanelOffset, -Depth) n26 Vec(Length+Width+Length+BackPanelOffset, -Depth) End of Sleeve ----------------------------------------------------- Start of Flap1 Cut 14 ;Shoulder n27 Vec(Length+Width+Length+BackPanelOffset, -Depth) n28 Vec(Length+Width+Length+BackPanelOffset, -Depth-ShoulderHt) Cut 15 ;Shoulder 45 n29 Vec(Length+Width+Length+BackPanelOffset, -Depth-ShoulderHt) n30 Vec(Length+Width+Length+BackPanelOffset+Shoulder45, -Depth-ShoulderHt-Shoulder45) Cut 16 ;Taper angle defaults to 15 line position Vec(Length+Width+Length+BackPanelOffset+Shoulder45, -Depth-ShoulderHt-Shoulder45) n31 Vec(0, 0) n32 Vec(TaperY/cos(TaperAngle),0).rotate(TaperAngle-90) Cut 17 n33 Vec(Length+Width+Length+BackPanelOffset+Shoulder45+(TaperY*tan(TaperAngle)), -Depth-(Width+TuckHt)/2) n34 Vec(Length+Width+Length+Width-BackPanelOffset, -Depth-(Width+TuckHt)/2) Cut 18 n35 Vec(Length+Width+Length+Width-BackPanelOffset, -Depth-(Width+TuckHt)/2) n36 Vec(Length+Width+Length+Width-BackPanelOffset, -Depth) End of Flap1 ----------------------------------------------------- Start of Flap2 Cut 19 ;Shoulder n37 Vec(Length+Width-BackPanelOffset, -Depth) n38 Vec(Length+Width-BackPanelOffset, -Depth-ShoulderHt) Cut 20 ; Shoulder45 n39 Vec(Length+Width-BackPanelOffset, -Depth-ShoulderHt) n40 Vec(Length+Width-BackPanelOffset-Shoulder45, -Depth-ShoulderHt-Shoulder45) Cut 21 ;Taper angle defaults to 15 line position Vec(Length+Width-BackPanelOffset-Shoulder45, -Depth-ShoulderHt-Shoulder45) n41 Vec(0, 0) n42 Vec(TaperY/cos(TaperAngle),0).rotate(-TaperAngle-90) Cut 22 n43 Vec(Length+Width-BackPanelOffset-Shoulder45-(TaperY*tan(TaperAngle)), -Depth-(Width+TuckHt)/2) n44 Vec(Length, -Depth-(Width+TuckHt)/2) Reference 1 ;Guide for common line that is hidden n45 Vec(Length, -Depth-(Width+TuckHt)/2) n46 Vec(Length, -Depth) End of Flap2 ----------------------------------------------------------- Start of Tuck Top Cut 23 ; width n47 Vec(Length, -Depth) n48 Vec(Length, -Depth-Width) Cut 24 ; slit lock n49 Vec(Length, -Depth-Width) n50 Vec(Length-ShoulderHt-SlitLockExtra, -Depth-Width) Cut 25 ; slit down n51 Vec(Length-ShoulderHt-SlitLockExtra, -Depth-Width) n52 Vec(Length-ShoulderHt-SlitLockExtra, -Depth-Width+SlitDown) Crease 26 n53 Vec(Length-ShoulderHt-SlitLockExtra, -Depth-Width+BackPanelOffset) n54 Vec(ShoulderHt+SlitLockExtra, -Depth-Width+BackPanelOffset) Cut 27 ; slit down n55 Vec(ShoulderHt+SlitLockExtra, -Depth-Width+SlitDown) n56 Vec(ShoulderHt+SlitLockExtra, -Depth-Width) Cut 28 ; slit lock n57 Vec(ShoulderHt+SlitLockExtra, -Depth-Width) n58 Vec(0, -Depth-Width) Cut 29 ; width n59 Vec(0, -Depth-Width) n60 Vec(0, -Depth) Cut 30 3 point Arc point1 Vec(BackPanelOffset, -Depth-Width) point2 Vec(BackPanelOffset, -Depth-Width-.00000001) point3 Vec(ShoulderHt+SlitLockExtra+SlitDown, -Depth-Width-TuckHt) Cut 31 n61 Vec(ShoulderHt+SlitLockExtra+SlitDown, -Depth-Width-TuckHt) n62 Vec(Length-ShoulderHt-SlitLockExtra-SlitDown, -Depth-Width-TuckHt) Cut 32 3 point Arc point1 Vec(Length-BackPanelOffset, -Depth-Width) point2 Vec(Length-BackPanelOffset, -Depth-Width-.00000001) point3 Vec(Length-ShoulderHt-SlitLockExtra-SlitDown, -Depth-Width-TuckHt) End of Tuck Top ---------------------------------------------------------- Start of Glue Flap - start from top Cut 33 ; GFangle defaults to 10 line position Vec(0, -Depth) n63 Vec(0.00, 0.00) n64 Vec(-GFWidth/cos(GFangle),0).rotate(360-GFangle) Cut 34 ; glue flap edge n65 Vec(-GFWidth*tan(45),-Depth+GFWidth*tan(GFangle)) n66 Vec(-GFWidth/cos(GFangle),0).rotate(GFangle) Cut 35 ; GFangle defaults to 10 n67 Vec(-GFWidth/cos(GFangle),0).rotate(GFangle) n68 Vec(0.00, 0.00) End of Glue Flap ---------------------------------------------------------- Start of Flap3 Cut 36 ; shoulder n69 Vec(Length+BackPanelOffset, 0) n70 Vec(Length+BackPanelOffset, ShoulderHt) Cut 37 ; shoulder 45 n71 Vec(Length+BackPanelOffset, ShoulderHt) n72 Vec(Length+BackPanelOffset+Shoulder45, ShoulderHt+Shoulder45) Cut 38 ; taper default is 15 line position Vec(Length+BackPanelOffset+Shoulder45, 0+ShoulderHt+Shoulder45) n73 Vec(0,0) n74 Vec(TaperY/cos(TaperAngle),0).rotate(90-TaperAngle) Cut 39 n75 Vec(Length+BackPanelOffset+Shoulder45+(TaperY*tan(TaperAngle)), (Width+TuckHt)/2) n76 Vec(Length+Width, (Width+TuckHt)/2) Reference 2 ; Guide for common line that is hidden n77 Vec(Length+Width, (Width+TuckHt)/2) n78 Vec(Length+Width, 0) End of Flap3 ----------------------------------------------------------- Start of Tuck Buttom Cut 40 ; width n79 Vec(Length+Width, 0) n80 Vec(Length+Width, Width) Cut 41 ;slit lock n81 Vec(Length+Width, Width) n82 Vec(Length+Width+ShoulderHt+SlitLockExtra, Width) Cut 42 ; slit down n83 Vec(Length+Width+ShoulderHt+SlitLockExtra, Width) n84 Vec(Length+Width+ShoulderHt+SlitLockExtra, Width-SlitDown) Crease 43 n85 Vec(Length+Width+ShoulderHt+SlitLockExtra, Width-BackPanelOffset) n86 Vec(Length+Width+Length-ShoulderHt-SlitLockExtra, Width-BackPanelOffset) Cut 44 ; slit down n87 Vec(Length+Width+Length-ShoulderHt-SlitLockExtra, Width-SlitDown) n88 Vec(Length+Width+Length-ShoulderHt-SlitLockExtra, Width) Cut 45 ; slit lock n89 Vec(Length+Width+Length-ShoulderHt-SlitLockExtra, Width) n90 Vec(Length+Width+Length, Width) Cut 46 ; width n91 Vec(Length+Width+Length, Width) n92 Vec(Length+Width+Length, 0) Cut 47 3 point Arc point1 Vec(Length+Width+BackPanelOffset, Width) point2 Vec(Length+Width+BackPanelOffset, Width+.00000001) point3 Vec(Length+Width+ShoulderHt+SlitLockExtra+SlitDown, Width+TuckHt) Cut 48 ; tuck edge n93 Vec(Length+Width+ShoulderHt+SlitLockExtra+SlitDown, Width+TuckHt) n94 Vec(Length+Width+Length-ShoulderHt-SlitLockExtra-SlitDown, Width+TuckHt) Cut 49 3 point Arc point1 Vec(Length+Width+Length-BackPanelOffset, Width) point2 Vec(Length+Width+Length-BackPanelOffset, Width+.00000001) point3 Vec(Length+Width+Length-ShoulderHt-SlitLockExtra-SlitDown, Width+TuckHt) End of Tuck Btm ---------------------------------------------------------- Start of Flap4 Cut 50 ; shoulder n95 Vec(Length+Width+Length+Width-BackPanelOffset, -0) n96 Vec(Length+Width+Length+Width-BackPanelOffset, 0+ShoulderHt) Cut 51 ; shoulder 45 n97 Vec(Length+Width+Length+Width-BackPanelOffset, 0+ShoulderHt) n98 Vec(Length+Width+Length+Width-BackPanelOffset-Shoulder45, 0+ShoulderHt+Shoulder45) Cut 52 ; taper position Vec(Length+Width+Length+Width-BackPanelOffset-Shoulder45, 0+ShoulderHt+Shoulder45) n99 Vec(0, 0) n100 Vec(TaperY/cos(TaperAngle),0).rotate(90+TaperAngle) Cut 53 ; flap edge n101 Vec(Length+Width+Length+Width-BackPanelOffset-Shoulder45-(TaperY*tan(TaperAngle)), (Width+TuckHt)/2) n102 Vec(Length+Width+Length, (Width+TuckHt)/2) Reference 3 ; common line n103 Vec(Length+Width+Length, (Width+TuckHt)/2) n104 Vec(Length+Width+Length, 0) End of Flap4 ---------------------------------------------------------- Bleeds - 0.125 default for all but flaps - flaps default to 0.1875 Anchor 1 Vec(-Bleed1, Bleed1) Anchor 2 Vec(-Bleed1, -Depth-Width-Bleed1) Anchor 3 Vec(Length+Bleed1, -Depth-Width-Bleed1) Anchor 4 Vec(Length+Bleed1, -Depth-Bleed2) Anchor 5 Vec(Length+Width+Bleed1, -Depth-Bleed2) Anchor 6 Vec(Length+Width+Bleed1, -Depth-Bleed1) Anchor 7 Vec(Length+Width+Length-Bleed1, -Depth-Bleed1) Anchor 8 Vec(Length+Width+Length-Bleed1, -Depth-Bleed2) Anchor 9 Vec(Length+Width+Length+Width-BackPanelOffset+Bleed1, -Depth-Bleed2) Anchor 10 Vec(Length+Width+Length+Width-BackPanelOffset+Bleed1, Bleed1) Anchor 11 Vec(Length+Width+Length+Bleed1, Bleed1) Anchor 11 Vec(Length+Width+Length+Bleed1, Width+Bleed1) Anchor 12 Vec(Length+Width+Bleed1, Width+Bleed1) Anchor 13 Vec(Length+Width-Bleed1, Width+Bleed1) Anchor 14 Vec(Length+Width-Bleed1, Bleed2) Anchor 15 Vec(Length-Bleed1, Bleed2) Anchor 16 Vec(Length-Bleed1, Bleed1) End of Bleeds -------------------------------------------------------------- Text Block TextBlock contains Values for: Length Width Depth BlankSizeX BlankSizeY Values are formatted to 3 decimal points and have a double quote at end V1 Length.toFixed(3) + "”" V2 Width.toFixed(3) + "”" V3 Depth.toFixed(3) + "”" V4 BlankX.toFixed(3) + "”" V5 BlankY.toFixed(3) + "”" -----------------------------------------------------------------