Jump to content

OpenSCAD online viewer/el

From Appropedia

// Τρισδιάστατο μοντέλο Tortellino για τρισδιάστατη εκτύπωση // Βασισμένο στο παραδοσιακό ιταλικό σχήμα τορτελίνι // Διαστάσεις βελτιστοποιημένες για εκτύπωση FDM

$fn = 50; // Ομαλότητα - αύξηση για υψηλότερη ποιότητα

// ΤΜΗΜΑ ΔΑΚΤΥΛΙΟΥ (πίτσα) - OpenSCAD

// Εξωτερικό D = 500 mm, Εσωτερικό D = 440 mm, ύψος = 3 mm, 6 τμήματα, αλληλοσύνδεση τύπου χελιδονοουράς

$fn = 120; // za glatkije kružne ivice (podesi po potrebi)

εξωτερικόD = 500;

εσωτερικόD = 440;

ύψος = 3;

τμήματα = 6;

r_out = εξωτερικόςD/2;

r_in = εσωτερικόςD/2;

γωνία_ανά = 360/τμήματα;

// παράμετροι χελιδονοουράς (u mm)

dov_depth = 6; // κολικό ντουμπόκο ιδε χελιδονοουρά radialno

dov_width = 12; // širina baze dovetail-a duž tangente (približno)

κάθαρση = 0,2; // montažni luft

// stepovi za aproksimaciju luka u polygonu

τόξο_βήματα = 60; // moze manje/vishe za brzi render

ενότητα annulus_sector(r1, r2, a1, a2, βήματα=36) {

    // pravi 2D πολύγωνο sektora između a1 i a2, spoljašnji luk pa unutrašnji obrnuto

    pts = concat(

        [ for(i=[0:βήματα]) let(t = a1 + (a2-a1)*i/βήματα) [ r2*cos(t), r2*sin(t) ] ],

        [ for(i=[0:βήματα]) let(t = a2 - (a2-a1)*i/βήματα) [ r1*cos(t), r1*sin(t) ] ]

    );

    πολύγωνο(σημεία=πόντοι);

}

ενότητα dovetail_protrusion(mid_r, half_w, depth) {

    // pravilan trapez/strelica koja gleda na +x osu (κέντρο u 0,0)

    // definišemo u lokalnim koordinatama, θέσηujemo kasnije rotacijom

    // baza na mid_r, širina = 2*half_w

    πόντοι = [

        [ mid_r, -half_w ],

        [ mid_r + βάθος, 0 ],

        [ mid_r, half_w ]

    ];

    πολύγωνο(σημεία=πόντοι);

}

ενότητα dovetail_notch(mid_r, half_w, depth, extra=0) {

    // malo širi negative (notch) - koristimo ista geometrija, ali ubacujemo κάθαρση

    πόντοι = [

        [ mid_r - επιπλέον, -half_w - επιπλέον ],

        [ mid_r + βάθος + επιπλέον, 0 ],

        [ mid_r - επιπλέον, half_w + επιπλέον ]

    ];

    πολύγωνο(σημεία=πόντοι);

}

τμήμα ενότητας (δείκτης) {

    a1 = δείκτης*γωνία_ανά;

    a2 = a1 + γωνία_ανά;

    // 2D βασικός τομέας

    base2d = translate([0,0]) annulus_sector(r_in, r_out, a1, a2, arc_steps);

    // pozicija dovetail-a: κεντρ. radijus

    mid_r = (r_in + r_out)/2;

    μισό_w = dov_width/2;

    // pripremi χελιδονοουρά αρσενικό/εγκοπή u lokalnom koordinatnom sistemu; rotiramo za ugao a1 i a2

    // Alterniramo orijentaciju: parni index -> protrusion na pocetnom a1, notch na a2; neparni obrnuto

    left_is_male = (δείκτης % 2 == 0);

    // συνδυασμός 2D: βάση + αρσενική χελιδονοουρά (ένωση) - εγκοπή (διαφορά)

    διαφορά() {

        ένωση() {

            βάση2d;

            // αριστερή πλευρά (γωνία a1)

            αν (αριστερά_είναι_αρσενικό)

                περιστροφή(a1) μεταφράζω([0,0]) dovetail_protrusion(mid_r, half_w, dov_depth);

            // δεξιά πλευρά (γωνία a2)

            αν (!left_is_male)

                περιστροφή(a2) μεταφράζω([0,0]) προεξοχή_περιστροφής(mid_r, half_w, dov_depth);

        }

        // subtrahujemo odgovarajuci notch sa εκκαθάριση

        // dodajemo malo κάθαρση (εκκαθάριση) da olaksamo uklapanje

        αν (αριστερά_είναι_αρσενικό)

            περιστροφή(a2) μεταφράζω([0,0]) εγκοπή_ουράς(mid_r, half_w, dov_depth, εκκαθάριση);

        αλλού

            περιστροφή(a1) μεταφράζω([0,0]) εγκοπή_ουράς(mid_r, half_w, dov_depth, εκκαθάριση);

    }

}

ενότητα segment_3d(index) {

    // izbaci 3D τμήμα sa visinom = ύψος

    linear_extrude(ύψος=ύψος, κέντρο=ψευδές, κυρτότητα=10)

        τμήμα(δείκτης);

}

// ASSY: kreiraj sve segmente i rotiraj ih u krug

για(i=[0:τμήματα-1]) {

    μετάφραση([0,0,0])

        περιστροφή([0,0,0]) // κράτηση θέσης

            segment_3d(i);

}

Δεδομένα σελίδας
ΣΒΑ
Συγγραφείς
ΑδειαCC-BY-SA-4.0
ΓλώσσαΑγγλικά (en)
ΜεταφράσειςΟλλανδικά , Μαλαγιαλάμ
Συγγενεύων2 υποσελίδες , 2 σελίδες σύνδεσμος εδώ
Προβολές157 προβολές σελίδας ( αναλυτικά στοιχεία )
Δημιουργήθηκε20 Απριλίου 2024 από 2607:FB90:9207:1718:9CA0:ADE4:5F0E:5772
Τελευταία επεξεργασία8 Οκτωβρίου 2025 από το bot StandardWikitext
Cookies help us deliver our services. By using our services, you agree to our use of cookies.