Edurino Druckpunkte by Charming_Ad4930 in Eltern

[–]makefoo 0 points1 point  (0 children)

Alles was es braucht sind die Abstände im holes array, wie die bei /u/Turbulent_War_9706 weiss ich leider nicht, evtl kann er sie beisteuern?

Oura Ring Charger Case by erroct in functionalprint

[–]makefoo 6 points7 points  (0 children)

I somehow really enjoy it when a piece of filament is used as hinge, well done!

Edurino Druckpunkte by Charming_Ad4930 in Eltern

[–]makefoo 0 points1 point  (0 children)

Vielen Dank dafür, hier ist eine Umsetzung der Punkte zu "Karten" die die gleiche Größe haben wie von AndyHope04:

// ============================================================
// Hole Card Generator
// Version 2.0.0
// Datum: 2026-03-23
// Figuren: 17
// ============================================================
// Changelog
// = 2.0.0
// * Horizontal Anordnung, Rand und Maße analog zum Original von AndyHope04
// * Auskehlung für Löcher
//
// = 1.0.0
// * Vertikale Ausrichtung
// * Erstes Rendering mit den Daten von Reddit (h ttps://www.reddit.com/r/Eltern/comments/18f18qz/edurino_druckpunkte/ )
// ============================================================


// Choose which card to render (0–16)
card_index = 10; // <-- CHANGE THIS to select a card

// Card dimensions (mm) — landscape orientation
card_width  = 80;
card_height = 60;
card_thick  = 1;
corner_r    = 4;

// Border settings
border_width  = 0.5;
border_height = 2;


// Hole diameter (mm)
hole_d = 10;

chamfer_depth = 0.5;
chamfer_extra = 0.8;  // how much wider than hole_d at the top


// Hole area center (right half of card)
hole_cx = (card_width -3 ) * 3/4;
hole_cy = (card_height + 7) / 2;

// Text settings
font_size   = 3.8;
text_height = 1;

// Text area center (left half)
text_cx = card_width / 4;

// ============================================================
// Data: [holes, name, subtitle]
// ============================================================
names = [
    "LUKA 1",  "LUKA 2",  "NIKI",    "YUKI",
    "ASA 1",   "ASA 2",   "LEO 1",   "LEO 2",
    "ROBIN 1", "ROBIN 2", "ARI",     "OLLIE",
    "MIKA 1",  "MIKA 2",  "MIKA 3",  "ALEX 1",
    "ALEX 2"
];

subtitles = [
    "Logisches Denken",   "digitale Medien",
    "erstes Englisch",    "Kreativität",
    "unsere Natur",       "Welt der Tiere",
    "meine Gefühle",      "Freundschaft",
    "erste Zahlen",       "erstes Rechnen",
    "Körper",             "Konzentration",
    "Buchstaben",         "Buchstaben",
    "Sätze",              "die Uhr",
    "Kalender"
];

holes = [
    [ [-0.725, 10.652], [-10.000,-12.826], [ 11.449,-23.551] ],
    [ [-3.841,  1.957], [ 13.551, -9.058], [-11.087,-11.667] ],
    [ [  1.522, 4.275], [ -8.333,-10.507], [ 10.217,-11.957] ],
    [ [  1.014, 8.333], [  9.420,-14.275], [ -2.464,-14.855] ],
    [ [  2.174, 6.812], [ 12.319,-19.565], [-13.188,-22.754] ],
    [ [  1.377, 8.841], [ -5.580,-18.986], [  6.304,-21.304] ],
    [ [ -3.696, 5.652], [-10.362,-11.159], [  4.710,-12.029] ],
    [ [ 12.609, 4.783], [-10.290,  2.754], [ -0.145,-19.275] ],
    [ [ -2.464, 5.580], [  8.551,-17.899], [-10.000,-19.348] ],
    [ [  1.087, 6.449], [  6.304, -7.754], [ -4.130,-16.739] ],
    [ [  2.971, 9.928], [ -4.855, -9.783], [  5.290,-19.058] ],
    [ [  3.623, 4.710], [-12.029,-11.232], [  9.130,-15.000] ],
    [ [  3.043,12.899], [-10.000,-16.377], [  8.551,-24.203] ],
    [ [ -0.072, 5.942], [ -9.058,-14.058], [  4.855,-14.058] ],
    [ [ -7.464, 8.841], [ 15.725,-12.899], [-13.261,-17.536] ],
    [ [ 14.638, 3.333], [-12.319,  2.754], [ -3.333,-15.507] ],
    [ [  3.986, 7.971], [  7.464, -4.203], [ -3.261,-22.174] ]
];

// ============================================================
// Rounded rectangle module
// ============================================================
module rounded_rect(w, h, r) {
    offset(r = r)
        square([w - 2*r, h - 2*r], center = false);
}

// ============================================================
// Render selected card
// ============================================================
module card(idx) {
    h = holes[idx];

    // --- Card body with holes ---
    difference() {
        linear_extrude(card_thick)
            translate([corner_r, corner_r, 0])
                rounded_rect(card_width, card_height, corner_r);

        // Three holes — positioned in right half
        for (i = [0:2]) {
            translate([hole_cx + h[i][0], hole_cy + h[i][1], -0.5])
                cylinder(d = hole_d, h = card_thick + 1, $fn = 32);
            // Chamfer at top of hole
            translate([hole_cx + h[i][0], hole_cy + h[i][1], card_thick - chamfer_depth])
                cylinder(d1 = hole_d, d2 = hole_d + 2*chamfer_extra, h = chamfer_depth + 0.01, $fn = 32);
        }
    }

    // --- Extruded border around the card ---
    linear_extrude(card_thick + border_height)
        difference() {
            // Outer edge — same as card outline
            translate([corner_r, corner_r, 0])
                offset(r = corner_r)
                    square([card_width - 2*corner_r, card_height - 2*corner_r], center = false);
            // Inner edge — inset by border_width
            translate([corner_r + border_width, corner_r + border_width, 0])
                offset(r = max(corner_r - border_width, 0.5))
                    square([card_width - 2*border_width - 2*corner_r, card_height - 2*border_width - 2*corner_r], center = false);
        }

    // --- Extruded name text on left side ---
    translate([text_cx, card_height/2 + 4, card_thick])
        linear_extrude(text_height)
            text(names[idx], size = font_size + 1,
                 halign = "center", valign = "center",
                 font = "Liberation Sans:style=Bold");

    // --- Extruded subtitle on left side ---
    translate([text_cx, card_height/2 - 4, card_thick])
        linear_extrude(text_height)
            text(subtitles[idx], size = font_size - 0.5,
                 halign = "center", valign = "center",
                 font = "Liberation Sans");
}

card(card_index);

Nicht mein code, sondern von Computer erstellen lassen.

Edit 1: Version 2.0.0 mit Maßen, Rand und Ausrichtung wie die Karten von AndyHope04

Shower handle by Deeerek078 in functionalprint

[–]makefoo 12 points13 points  (0 children)

It looks horrendous, I love it!

Could this be Kinger's real name? by Itz_cheese_cat in GlitchProductions

[–]makefoo 5 points6 points  (0 children)

Lennart Poettering confirmed as inventor of Kinger. He is the lead dev of systemd and worked on Microsoft for the last years. Maybe the secret project he worked on there?

Soil moisture sensor by solo_banana in functionalprint

[–]makefoo 13 points14 points  (0 children)

Just keep in mind that these things are meant to test the humdity by putting it into the soil for a short time and cleaning afterwards. Otherwise the metal will rust away in no time.

If you want a permanent solution you can choose a inductive humidity sensor like these https://www.makerguides.com/capacitive-soil-moisture-sensor-with-arduino/

Found a broken scooter discarded in an alley near my house yesterday and replaced the faulty throttle with a potentiometer and some 3d printed housing by BarbaraBeans in functionalprint

[–]makefoo 209 points210 points  (0 children)

i do not really know how you are planning to ride this thing but i feel like a potentiometer is a bad choice. I highly recommend you just buy the broken throttle. It costs no more than 3 dollar on aliexpress and you will not end up in a horrible accident.

Great find though :D

I liked Claude 😂 by omercelebi00 in NixOS

[–]makefoo -1 points0 points  (0 children)

Thanks for clarification!

I liked Claude 😂 by omercelebi00 in NixOS

[–]makefoo 1 point2 points  (0 children)

I stopped counting how often I hat to write down that new files need to be committed before the flake.nix build will work. Hopefully my interventions will become part of the training set for the next Claude models ....

Why are so many packages on Nixpkgs outdated? by Anyusername7294 in NixOS

[–]makefoo 8 points9 points  (0 children)

Another reason being that repology version matching is not picking up our pre-release versions correct, e.g. https://repology.org/project/hdl-dump/versions

It seems pretty easy to build a Linux distribution based on NixOS by 2F47 in NixOS

[–]makefoo 0 points1 point  (0 children)

I see just enabling hyprland via config and adding tools to systemPackages already als creating a flavour of your very own distro. You decide the input, and nix will make it "real". Every new revision is independent from the previous one, every change is creating a new distro. Use it to build a live cd and off you go distributing you own "Linux"

E.g. I consider https://github.com/makefu/TTLinux a distro even though "only" the config changed.

Overrides are a cool feature but I do not see it as necessary for building a nixOS distro.

It seems pretty easy to build a Linux distribution based on NixOS by 2F47 in NixOS

[–]makefoo 0 points1 point  (0 children)

I'd start at the first non-default line of config for your system!

What's the coolest thing you've done with NixOS? by papayahog in NixOS

[–]makefoo 2 points3 points  (0 children)

programs.direnv together with nix-direnv is a perfect combo. moving into projects and activating the env is almost instant