Fixed leg extenders

This commit is contained in:
julien committed 2025-09-23 16:05:50 +02:00
1 parent 327ae2a00a
commit cbdf4370c9
10 files changed
+52 -825199

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -34,8 +34,8 @@ module backScrew() {
translate([0,0,25]) {
difference() {
cuboid([58,25,20], rounding=5);
translate([-20,0,-7]) zcyl(l=25, d=tube_d1+delta, rounding=1);
translate([20,0,-7]) zcyl(l=25, d=tube_d1+delta, rounding=1);
translate([-18,0,-7]) zcyl(l=25, d=tube_d1+delta, rounding=1);
translate([18,0,-7]) zcyl(l=25, d=tube_d1+delta, rounding=1);
}
rotate([-90,0,0]) {
translate([0,-17,0]) difference() {
+42 -191
View File
@@ -1,200 +1,51 @@
id = 16; // inner diameter of ring
od = id+5; // outer diameter of ring
height = 5; // height of ring
gap = 100; // ring opening in degrees
ends=1; // 0 no ends, 1 round ends, 2 clamp ends
hd=1; // mount hole diameter
cd=7; // countersink diameter
cdepth=3; // coutersink depth
blobsize=1; // size of rounded ends, if ends==1
sw=5; // mounting block width
sdepth=14; // support depth
nholes=1; // number of support holes.
block_holes=[1,2,3,4,5]; // block some holes e.g. [2,3]
sh=10; // mounting block height. NB total height is nholes x height.
support_loc=0; // 0 = mounting block is centered, >0 centred on hole number
support_rot=90; // support angle / clamp angle.
flat_bottom=false; //remove all points below the bottom of the ring for ease of printing
clamp_width=5; // width of clamp ends
clamp_depth=10; // depth of clamp ends
clamp_height=10; // height of clamp ends
clamp_hole=3; // diameter of clap screw hole
clamp_holew=1; // clamp hole width
// Provided under a Creative Commons Share Alike License
// CC-BY-SA
// Created by MacLemon
// internal constants
$fn=100;
g=1/(nholes+1);
fracs=[for (i=[g:g:(1-g)]) each i];
sh2=sh+cd;
// This Clip is used for mounting an LED strip to a pipe. Either place it between LEDs, or print from translucent material. I recommend using PET-G.
module main() {
difference() {
union(){
// the clip
clip();
// mounting block
if (nholes>0) {
rotate([support_rot,0,0]) {
if (support_loc==0) { //center
translate([0,0,-(sh/2)*(nholes-1)]){
support_block();
}
} else {
translate([0,0,-sh*(support_loc-1)]){
support_block();
}
}
}
//$fn=30; // Usually fine for rendering previews.
//$fn=60; // Used for final rending to .stl. (Yes, this IS slow.)
$fn= $preview ? 15 : 30; // uses 30 fragments for preview, 64 for rendering.
pipe_diameter = 16.3; //mm Diameter of the pipe the clip shall hold on to.
outer_diameter = 23; //mm Outer diamter of the clip. (How beefy the clip is.
clip_width = 7; //mm Thickness of the clip. Shall fit in between LEDs.
strip_width = 12.3; //mm How wide the LED strip to be mounted is.
strip_height = 3; //mm Thickness, or how tall is the LED strip including an optional Epoxy cover.
rounding = 1; //mm
clip_thickness = outer_diameter - pipe_diameter; // mm
minkowski(){
difference(){
hull(){ // ring + LED strip holder block
cylinder (r = outer_diameter / 2 - rounding / 2, h = clip_width - rounding, center = true); // Clip Ring
translate ([(pipe_diameter + strip_height) / 2, 0, 0])
cube ([ strip_height + clip_thickness - rounding, strip_width + clip_thickness, clip_width - rounding], center = true); // LED Block
translate ([(-pipe_diameter - strip_height) / 2, 0, 0])
cube ([ strip_height + clip_thickness - rounding, strip_width + clip_thickness, clip_width - rounding], center = true); // grip Block
}
// Remove LED strip cutout
translate ([(pipe_diameter / 2 + strip_height + rounding)/2, 0, 0])
cube ([(pipe_diameter / 2 + strip_height + rounding), strip_width + rounding , clip_width * 2], center = true);
// Remove clip on section
translate ([-sqrt(2 * pow(outer_diameter, 2))/2, 0, 0])
rotate ([0, 0 ,135]) {
cube ([outer_diameter, outer_diameter, clip_width * 2 ], center = true);
}
if(nholes>0){
// holes go through clip and mounting block
rotate([support_rot,0,0]) {
if (support_loc==0) { //center
translate([0,0,-(sh/2)*(nholes-1)]){
holes();
}
} else {
translate([0,0,-sh*(support_loc-1)]){
holes();
}
}
}
// Remove pipe
#cylinder (r = pipe_diameter / 2 + rounding, h = clip_width * 12, center = true);
}
//flat bottom
if (flat_bottom) {
translate([0,0,-(od+sh)-height/2]) {
cube(2*(od+sh),center=true);
}
}
}
} //main
module end_blobs(h,d,angle,od,center=false) {
translate([od,0,0]){
cylinder(h=h,d=d,center=center);
}
rotate([0,0,angle]) {
translate([od,0,0]){
cylinder(h=h,d=d,center=center);
}
}
} //end_blobs
module end_clamps(){
translate([id/2+clamp_depth/2+(od-id)/4,-clamp_width/2,0]){
difference(){
cube([clamp_depth,clamp_width,clamp_height],center=true);
translate([-clamp_holew/2,0,0]) {
rotate([90,0,0]){
cylinder(d=clamp_hole,h=clamp_width+2,center=true);
}
}
translate([clamp_holew/2,0,0]) {
rotate([90,0,0]){
cylinder(d=clamp_hole,h=clamp_width+2,center=true);
}
}
cube([clamp_holew,clamp_width+2,clamp_hole],center=true);
}
}
rotate([0,0,gap]) {
translate([id/2+clamp_depth/2+(od-id)/4,clamp_width/2,0]){
difference(){
cube([clamp_depth,clamp_width,clamp_height],center=true);
translate([-clamp_holew/2,0,0]) {
rotate([90,0,0]){
cylinder(d=clamp_hole,h=clamp_width+2,center=true);
}
}
translate([clamp_holew/2,0,0]) {
rotate([90,0,0]){
cylinder(d=clamp_hole,h=clamp_width+2,center=true);
}
}
cube([clamp_holew,clamp_width+2,clamp_hole],center=true);
}
}
}
sphere (r = rounding);
}
module wedge(h,d,angle,center=false) {
intersection(){
cylinder(h=h,d=d,center=center);
x = (sqrt(2*(d^2))/2)+1;
y = 0;
xr = x*cos(angle)-y*sin(angle);
yr = x*sin(angle)+y*cos(angle);
linear_extrude(h*2,center=center){
if (angle<=90){
polygon([[x,0],[xr,yr],[0,0]]);
} else if (angle<=180) {
polygon([[x,0],[0,x],[xr,yr],[0,0]]);
} else if (angle<=270) {
polygon([[x,0],[0,x],[-x,0],[xr,yr],[0,0]]);
} else {
polygon([[x,0],[0,x],[-x,0],[0,-x],[xr,yr],[0,0]]);
}
}
}
} //wedge
module support_block() {
for (k = [g:g:(1-g)]) {
offset=sh*((k-g)/g);
translate([-(sdepth/2)-id/2,0,offset]){
cube([sdepth,sw,sh],center=true);
}
}
} //support_block
module clip(){
rotate([0,0,-gap/2]){
difference() {
cylinder(h=height,d=od,center=true);
cylinder(h=height*2,d=id,center=true);
wedge(h=height*2,d=od+1,center=true,angle=gap);
}
if (ends==1) {
end_blobs(h=height,d=((od-id)/2)+blobsize,angle=gap,od=(id+(od-id)/2)/2,center=true);
}
if (ends==2) {
end_clamps();
}
}
} //clip
module holes(){
for (f = [1:nholes]) {
k=fracs[f-1];
if (len(search(f,block_holes))==0) {
offset=sh*((k-g)/g);
translate([-(sdepth/2)-id/2,0,offset]){
// mount holes
rotate([0,90,0]){
cylinder(h=2*sdepth,d=hd,center=true);
}
// countersink
translate([sdepth/2-cdepth,0,0]){
rotate([0,90,0]){
cylinder(h=2*sdepth,d=cd);
}
}
}
}
}
}
main();
translate([-21.5,0,3.5]) {
rotate([90,0,-90]) {
translate([15,0,3.5]) {
rotate([90,0,90]) {
linear_extrude(height = 3, center=true)
import("../svg/name_tag_ines.svg");
import("../svg/name_tag_nathalye.svg");
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8 -8
View File
@@ -7,8 +7,8 @@
viewBox="0 0 100 27"
version="1.1"
id="svg1"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
sodipodi:docname="name_tag.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
sodipodi:docname="name_tag_nathalye.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
@@ -24,10 +24,10 @@
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="2.1982919"
inkscape:cx="1.1372466"
inkscape:cy="51.176098"
inkscape:cx="0.90979728"
inkscape:cy="105.53648"
inkscape:window-width="1920"
inkscape:window-height="1015"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="36"
inkscape:window-maximized="1"
@@ -40,8 +40,8 @@
id="layer1"
transform="translate(-20.067232,-108.35675)">
<path
id="path9"
style="font-size:22.6561px;line-height:1.5;font-family:'PT Banana Split';-inkscape-font-specification:'PT Banana Split';text-align:end;letter-spacing:0px;text-anchor:end;fill:#000080;stroke-width:13.6098;stroke-linecap:round"
d="M 2.8879188 122.35641 C 1.6244795 122.35641 0.27479638 122.91083 -1.1609296 124.01884 C -2.4626543 125.02233 -3.4865162 126.17207 -4.2330935 127.46824 C -4.6542402 128.17904 -5.0274905 128.84818 -5.3529218 129.47536 C -5.7357825 130.20707 -6.0616051 130.88631 -6.3296064 131.51348 C -6.8273244 132.87237 -7.3155405 134.23134 -7.7941165 135.59023 L -8.1672203 134.36705 L -8.5403242 133.11286 C -8.6934635 132.46477 -8.7986342 132.00488 -8.8560672 131.7331 C -8.9135002 131.44042 -8.9423668 131.08514 -8.9423668 130.66702 C -8.9423668 130.35343 -8.923293 130.02896 -8.885006 129.69447 C -8.846716 129.33907 -8.7894914 129.04645 -8.7129234 128.81648 L -8.4256025 127.90698 C -8.2724585 127.53067 -8.1956423 127.22795 -8.1956423 126.99799 C -8.1956423 126.74712 -8.3013294 126.53789 -8.5119021 126.37064 C -8.7033328 126.18251 -8.9234676 126.08848 -9.1723269 126.08848 L -10.435816 126.02544 C -10.876105 126.02544 -11.297301 125.97339 -11.699304 125.86886 C -12.082165 125.74342 -12.51264 125.57614 -12.991215 125.36708 C -14.120653 124.86534 -14.95325 124.53077 -15.489254 124.36352 C -16.408119 124.07084 -17.279381 123.92479 -18.102531 123.92479 C -19.80626 123.92479 -21.289468 124.45798 -22.552906 125.52418 C -23.912061 126.67401 -24.592058 128.15833 -24.592058 129.97714 C -24.592058 131.29421 -24.189937 132.34996 -23.38593 133.14438 C -22.581923 133.93881 -21.576619 134.33553 -20.37061 134.33553 C -19.490031 134.33553 -18.466169 134.01157 -17.298446 133.36349 C -16.015864 132.65268 -15.374532 131.91078 -15.374532 131.13727 C -15.374532 130.82366 -15.527648 130.64577 -15.833936 130.60397 L -16.322278 130.63549 C -16.743425 130.63549 -16.953764 130.36359 -16.953764 129.82004 C -16.953764 129.38102 -16.752703 129.06768 -16.3507 128.87953 C -15.929553 128.67047 -15.518153 128.56585 -15.11615 128.56585 C -14.790719 128.56585 -14.407673 128.63914 -13.967383 128.78548 C -13.527094 128.91091 -13.144565 129.06758 -12.819133 129.25573 C -13.316852 130.05016 -13.814346 131.022 -14.312065 132.17183 C -14.59921 132.84082 -15.001332 133.84452 -15.518193 135.1825 C -16.035054 136.52048 -16.52327 137.52418 -16.982703 138.19317 C -17.729281 139.25937 -18.580951 139.79204 -19.538102 139.79204 C -20.074107 139.79204 -20.524174 139.63537 -20.887891 139.32178 C -21.251608 138.98729 -21.433077 138.53801 -21.433077 137.97355 C -21.433077 137.53452 -21.327907 137.22067 -21.117334 137.03252 C -21.040761 136.9489 -20.916517 136.82356 -20.74423 136.65631 C -20.610229 136.48906 -20.543209 136.32179 -20.543209 136.15454 C -20.543209 135.82005 -20.753549 135.57947 -21.174695 135.43313 C -21.576698 135.28682 -21.969024 135.21403 -22.351884 135.21403 C -24.304471 135.21403 -26.056277 135.92459 -27.606861 137.34619 C -29.157445 138.74689 -29.932817 140.49249 -29.932817 142.58308 C -29.932817 144.54824 -29.386031 146.61641 -28.122591 147.76623 C -26.935725 148.85334 -25.33838 149.35683 -23.500651 149.35683 C -21.739494 149.35683 -20.226071 148.97868 -18.790344 148.14244 C -17.335476 147.3271 -16.073232 145.61474 -15.173511 144.02589 C -14.522648 142.91788 -13.900391 141.37089 -13.306958 139.38483 C -12.464665 136.56253 -11.96717 134.95236 -11.814026 134.55515 C -11.794883 134.59696 -11.737147 134.85825 -11.641427 135.33908 C -11.603135 135.50633 -11.564985 135.64228 -11.526705 135.74681 L -11.210962 136.93847 L -10.607898 139.29026 C -10.397325 140.10559 -10.234415 140.88996 -10.119556 141.64257 C -10.004697 142.39518 -9.9474734 143.15833 -9.9474734 143.93184 C -9.9474734 144.43359 -9.9856181 144.90359 -10.062195 145.34261 C -10.138767 145.80254 -10.243936 146.29377 -10.377938 146.81642 L -6.2433067 144.08842 C -6.2433067 142.55709 -6.1251403 141.03575 -5.8939741 139.52384 C -5.8436352 140.43439 -5.6277495 141.2349 -5.2454348 141.92473 C -4.7285728 142.8655 -4.0109419 143.33601 -3.0920779 143.33601 C -2.2306419 143.33601 -1.4073245 142.98022 -0.6224612 142.26941 C -0.2013152 141.8931 0.41114611 141.17192 1.2151527 140.10572 L 1.1862139 140.70155 C 1.1862139 141.43326 1.4063487 142.05034 1.8466387 142.55208 C 2.2869274 143.05383 2.851961 143.30449 3.541109 143.30449 C 4.3259723 143.30449 5.292609 142.98054 6.4411903 142.33245 C 6.9434251 142.0499 7.3442471 141.76564 7.6468015 141.47979 C 7.8202901 141.80901 8.0582427 142.10345 8.3620033 142.36346 C 8.9937233 142.90701 9.7690948 143.17891 10.68796 143.17891 C 11.606825 143.17891 12.640481 142.8863 13.789062 142.30093 C 14.324587 142.02522 14.751198 141.73936 15.072705 141.44362 L 14.619503 143.74322 C 14.964076 143.45054 15.96938 143.17915 17.634822 142.92828 C 18.840832 142.76103 19.539387 142.12323 19.730818 141.01522 C 19.941391 139.90721 20.151731 138.82012 20.362304 137.75392 C 20.477163 137.04312 20.640074 136.48922 20.850647 136.09201 C 21.137792 135.52755 21.549194 135.24503 22.085197 135.24503 C 22.295771 135.24503 22.477756 135.32893 22.6309 135.49618 C 22.784046 135.66343 22.86086 135.87214 22.86086 136.12301 C 22.86086 136.41569 22.669078 137.37745 22.286218 139.00811 C 22.133071 139.Line truncated
id="path1"
style="font-size:37.0417px;line-height:2.5;font-family:'PT Banana Split';-inkscape-font-specification:'PT Banana Split';text-align:end;letter-spacing:-0.108479px;text-anchor:end;fill:#28170b;stroke-width:2;stroke-linecap:round;stroke-miterlimit:0"
d="M 24.321753 118.24193 C 22.691918 118.24193 20.951417 118.89632 19.099332 120.20512 C 17.420108 121.39046 16.098834 122.74876 15.13575 124.27981 C 14.592471 125.11942 14.110683 125.90937 13.690877 126.65021 C 13.196988 127.51451 12.777245 128.3175 12.431522 129.05833 C 11.789466 130.66347 11.159594 132.2684 10.542232 133.87354 L 10.061124 132.42867 L 9.5795001 130.9471 C 9.3819443 130.18158 9.2458564 129.63826 9.171773 129.31723 C 9.0976896 128.97151 9.0606687 128.55176 9.0606687 128.05787 C 9.0606687 127.68745 9.0856941 127.30474 9.1350827 126.90962 C 9.1844717 126.48982 9.2585135 126.14411 9.3572914 125.87248 L 9.7278114 124.79812 C 9.9253674 124.35362 10.023917 123.99593 10.023917 123.72429 C 10.023917 123.42795 9.8878297 123.18081 9.6161903 122.98325 C 9.3692457 122.761 9.0855908 122.64993 8.7645627 122.64993 L 7.1346881 122.57604 C 6.5667153 122.57604 6.0233971 122.51399 5.5048134 122.39052 C 5.010924 122.24235 4.4550933 122.04474 3.8377317 121.79779 C 2.3807582 121.20512 1.3066343 120.80989 0.61518936 120.61233 C -0.570145 120.26661 -1.6938024 120.09402 -2.7556643 120.09402 C -4.9534717 120.09402 -6.8670813 120.7239 -8.4969159 121.98331 C -10.250223 123.34151 -11.12673 125.09452 -11.12673 127.24294 C -11.12673 128.79869 -10.608436 130.04592 -9.571269 130.98431 C -8.5341009 131.9227 -7.2373353 132.39198 -5.6815839 132.39198 C -4.5456386 132.39198 -3.2248806 132.00925 -1.7185183 131.24373 C -0.063989151 130.40411 0.76350072 129.52709 0.76350072 128.61339 C 0.76350072 128.24299 0.56588351 128.03338 0.17077204 127.98398 L -0.45916367 128.02067 C -1.0024419 128.02067 -1.2735842 127.69999 -1.2735842 127.05793 C -1.2735842 126.53935 -1.0144377 126.16863 -0.49585394 125.94637 C 0.047424362 125.69943 0.57822995 125.57637 1.0968137 125.57637 C 1.5166196 125.57637 2.0104043 125.6624 2.578377 125.83527 C 3.1463498 125.98344 3.6401345 126.16854 4.0599403 126.39079 C 3.4178843 127.32918 2.7760158 128.47787 2.1339597 129.83606 C 1.7635427 130.62628 1.2452496 131.81147 0.57849909 133.39191 C -0.088251537 134.97236 -0.71812408 136.15754 -1.3107913 136.94777 C -2.2738753 138.20718 -3.3730243 138.83706 -4.6077477 138.83706 C -5.299193 138.83706 -5.879532 138.65195 -6.3487267 138.28154 C -6.8179213 137.88643 -7.0525597 137.35562 -7.0525597 136.68887 C -7.0525597 136.17029 -6.9164713 135.79956 -6.6448326 135.57731 C -6.5460546 135.47854 -6.3854589 135.33045 -6.1632083 135.13289 C -5.9903476 134.93534 -5.9037926 134.73772 -5.9037926 134.54016 C -5.9037926 134.14505 -6.1754519 133.86088 -6.7187299 133.68802 C -7.2373139 133.51515 -7.7436109 133.42912 -8.2375003 133.42912 C -10.756335 133.42912 -13.016163 134.2686 -15.016415 135.94783 C -17.016667 137.60236 -18.016748 139.66457 -18.016748 142.13402 C -18.016748 144.4553 -17.201771 146.29486 -15.571936 147.65306 C -14.04088 148.93717 -12.090249 149.57904 -9.7195803 149.57904 C -7.4476896 149.57904 -5.3854793 149.08526 -3.5333946 148.09748 C -1.6566152 147.13439 -0.13772351 145.71457 1.0229164 143.83779 C 1.8625282 142.52898 2.6649929 140.70141 3.4305214 138.35544 C 4.5170779 135.02168 5.1589463 133.12007 5.356502 132.65087 C 5.3811965 132.70026 5.4552383 133.00894 5.5787107 133.57692 C 5.6280999 133.77447 5.6776334 133.93507 5.727022 134.05854 L 6.1347491 135.46621 L 6.9124794 138.24433 C 7.1841185 139.20741 7.3937315 140.13346 7.5418983 141.02246 C 7.6900651 141.91146 7.764107 142.81298 7.764107 143.72668 C 7.764107 144.31935 7.7150903 144.87467 7.6163124 145.39325 C 7.5175345 145.93653 7.3814466 146.51686 7.2085854 147.13423 L 12.542627 143.91169 C 12.542627 141.81102 12.74402 139.72598 13.146207 137.65625 C 13.141859 137.77781 13.139489 137.89973 13.139489 138.02212 C 13.139489 139.30623 13.423144 140.41738 13.991117 141.35577 C 14.657868 142.46702 15.583908 143.02285 16.769242 143.02285 C 17.880493 143.02285 18.942621 142.6031 19.955094 141.7635 C 20.498373 141.319 21.288325 140.467 22.325492 139.20758 L 22.288802 139.91141 C 22.288802 140.77572 22.572457 141.50414 23.140429 142.09681 C 23.708402 142.68948 24.436825 142.98564 25.325826 142.98564 C 26.338299 142.98564 27.585531 142.60292 29.067199 141.83739 C 29.612912 141.55627 30.067422 141.2738 30.430424 140.9899 C 30.643264 141.3151 30.918175 141.61006 31.255696 141.8746 C 32.070614 142.51666 33.070696 142.83733 34.25603 142.83733 C 35.441365 142.83733 36.775151 142.49163 38.256819 141.80019 C 38.727783 141.57816 39.134801 141.35057 39.477417 141.11754 L 38.963753 143.50448 C 39.408254 143.15875 40.704503 142.83756 42.852921 142.54123 C 44.408673 142.34367 45.310204 141.59074 45.557149 140.28193 C 45.828788 138.97313 46.100447 137.68888 46.372086 136.42946 C 46.520253 135.58984 46.729866 134.93546 47.001505 134.46627 C 47.371922 133.79952 47.902728 133.46581 48.594173 133.46581 C 48.865812 133.46581 49.100451 133.56488 49.298006 133.76243 C 49.495562 133.95999 49.594629 134.20662 49.594629 134.50296 C 49.594629 134.84868 49.347478 135.98485 48.853589 137.91102 C 48.656033 138.67655 48.557483 139.34344 48.557Line truncated
</g>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 11 KiB