@@ -210,7 +210,7 @@ module profile_base() {
210210 ]);
211211}
212212
213- module gridfinityBase(gx, gy, l, dx, dy, hole_options=bundle_hole_options(), off=0, final_cut=true, only_corners=false) {
213+ module gridfinityBase(gx, gy, l, dx, dy, hole_options=bundle_hole_options(), off=0, final_cut=true, only_corners=false, only_edges=false ) {
214214 dbnxt = [for (i= [1 :5 ]) if (abs (gx* i)% 1 < 0.001 || abs (gx* i)% 1 > 0.999 ) i];
215215 dbnyt = [for (i= [1 :5 ]) if (abs (gy* i)% 1 < 0.001 || abs (gy* i)% 1 > 0.999 ) i];
216216 dbnx = 1 /(dx== 0 ? len(dbnxt) > 0 ? dbnxt[0 ] : 1 : round (dx));
@@ -244,6 +244,17 @@ module gridfinityBase(gx, gy, l, dx, dy, hole_options=bundle_hole_options(), off
244244 }
245245 }
246246 }
247+ else if (only_edges) {
248+ pattern_linear(gx/dbnx, gy/dbny, dbnx* l, dbny* l)
249+ block_base(gx, gy, l, dbnx, dbny, hole_options, off);
250+
251+ intersection () {
252+ pattern_linear(gx/dbnx, gy/dbny, dbnx* l, dbny* l)
253+ block_base(gx, gy, l, dbnx, dbny, bundle_hole_options(), off);
254+
255+ # cube ([(gx- 1 )* l, (gy- 1 )* l, 14 ], center= true );
256+ }
257+ }
247258 else {
248259 pattern_linear(gx/dbnx, gy/dbny, dbnx* l, dbny* l)
249260 block_base(gx, gy, l, dbnx, dbny, hole_options, off);
0 commit comments