You can buy similar items for pennies, but if the shops are shut...
Having got a bit fed up with cutting/replacing cable ties, i thought of an alternative, similar to items I'd seen in garden centres for clipping plants to supports. As I have a 3d printer with nothing to do, i used AngelCad to make a similar clip, and thought that I could print it at different sizes, for holding different things, and if I used Pet-G filament, it would withstand the greenhouse temperatures, and unlike PLA, would be unlikely to bio-degrade.
So, here's some script with comments -
// AngelCAD code.
// Based on AngelCAD sample: screw_threads.as
// demonstrate use of rotate_extrude with non-zero pitch to create screw threads.
double wirediam = 3;
double gripdiam = 8; // inside diameter of coil.
//**************************
double ol = wirediam/10 ; // overlap
double gripr = (gripdiam +wirediam)/2;
double wirer = wirediam/2;
double len = gripr + wirer;
solid@ end() // straight end with knob
{
// generate ends
solid@ end = cylinder (len,wirer/0.99); // fudged the diameter of end
solid@ ball= sphere(wirediam/1.2);
return end+translate(0,0,len)*ball;
}
solid@ coil()
{
// comments from screw_threads.as example
// create a polygon from the points,
// and position the resulting profile on the positive x-axis
// shape2d@ poly = translate(gripr,0)*rotate_z(deg:-90)*circle(wirer);
shape2d@ poly = translate(gripr,0)*circle(wirer);
// perform 1 full rotations, with s small pitch to offset the threads
return rotate_extrude(poly,deg:360*1,pitch:wirediam*1.1); //single turn coil
}
shape@ all() // put the ends onto the coil
{
solid@ end1= translate(gripr,0,ol)*rotate_y(180)*end();
solid@ end2= translate(gripr,wirediam*1.1,-ol)*end();
return end1 + end2 + coil();
}
void main()
{
shape@ obj = all();
obj.write_xcsg(GetInputFullPath(),secant_tolerance:0.01);
}
I ran into a problem, because the ends of the coil are not cut on the x/y plane, which presents an angle to the two end pieces. I added an overlap to remove the gap, but found that It would not complete for wire diameters over 2.0, or so. I fudged it again, by making the end pieces slightly larger. This works, but it is not particularly elegant. It would be better to generate a path from end to end, and extrude along that. However, these loops are now holding up my tomato plants, and smaller ones will be used as cable clips on the printer as originally intended. They print OK, lying flat, with a few supports.
edit to add a couple of quick pics