Esistono pratiche "migliori" o almeno "comuni" per gestire le quote nel codice OpenSCAD?


8

Sto progettando alcuni meccanismi con OpenSCAD e uno dei parametri che devono essere regolati tra stampanti / filamenti sono le quote tra i pezzi che devono essere assemblati insieme (ad esempio, se voglio un "perno del diametro di 5 mm" per fissare due pezzi insieme, quanto più grandi di 5 mm saranno i fori / quanto più piccoli di 5 mm dovrà essere il perno).

Attualmente affronro il problema impostando una variabile globale allowancee utilizzandola manualmente nel codice, qualcosa del tipo:

module pin(radius) {
    cylinder(r = radius + allowance)
}

module hole(radius) {
    cylinder(r = radius - allowance)
}

Non ho esperienza nel mondo reale con il design, quindi mi chiedo se ci sono buone pratiche comuni o di codifica per tenere conto delle quote quando si progettano parti come ad esempio:

  • moduli specifici da utilizzare,
  • nomi convenzionali per variabili
  • tecniche specifiche da utilizzare (ridimensionamento? vettori?)
  • convenzioni (come utilizzare solo le tolleranze sul dispositivo di fissaggio, non sull'oggetto fissato)
  • ...?

Per chiarire: non sto cercando consigli su come pianificare le dimensioni dei miei progetti. Piuttosto, sto cercando consigli su come organizzare il codice OpenSCAD generandoli.


1
Ho il sospetto che OpenSCAD sia troppo di nicchia per avere tali convenzioni. Quello che stai facendo è molto simile alle mie pratiche.
Mick,

Risposte:


5

Aiuta a comprendere i diversi aspetti delle dimensioni, in modo da poter utilizzare correttamente la terminologia. Questo ti aiuterà a definire le tue variabili in OpenSCAD con nomi corretti. (La tolleranza è il termine sbagliato da usare.) E una volta che hai i nomi corretti, capirai come specificare le dimensioni in OpenSCAD.

  • La tolleranza è la quantità di deviazione casuale o variazione consentita per una data dimensione.
  • L'indennità è una differenza pianificata tra un valore nominale o di riferimento e un valore esatto.
  • Liquidazione è lo spazio intenzionale tra le due parti.
  • L'interferenza è la sovrapposizione intenzionale tra due parti.

Altri due termini

  • La precisione è la massima variazione dimensionale tra le parti. Una macchina non può produrre parti con una tolleranza più stretta della sua precisione.
  • La precisione è la dimensione dei passaggi di cui la tua macchina è in grado. È spesso confuso con precisione.

Nel tuo caso è necessario definire l' indennità per creare l' autorizzazione desiderata.

Per progettare il perno da 5 mm e il foro da 5 mm, è necessario comprendere la precisione della macchina. La stampante potrebbe stampare il perno più grande di 5 mm o più piccolo di 5 mm. Oppure potrebbe stampare il foro più grande di 5 mm o più piccolo di 5 mm. Dovrai stampare alcuni perni e fori e misurare le differenze tra ciò che hai definito e ciò che hai stampato. La differenza tra le misure più grandi e più piccole che prendi è l'accuratezza della tua macchina. E assicurati di controllare la precisione nelle dimensioni X, Y e Z; la stampante potrebbe avere una differenza tra loro che avrebbe un impatto sulla rotondità delle parti.

Supponiamo che la precisione misurata della stampante sia di ± 0,2 mm.

Quindi, passiamo alla liquidazione. Qual è il divario minimo tra le parti che stai cercando e qual è il massimo che puoi accettare?

Supponiamo che tu voglia uno spazio di almeno 0,2 mm tra il perno e il foro, ma non più di 1,0 mm. Poiché la precisione è di ± 0,2 mm, il perno sarà di 5,0 ± 0,2 mm, quindi il foro deve essere di 5,6 mm ± 0,2 mm. La condizione di tolleranza minima sarebbe un foro di dimensioni minime (5,4 mm) e un perno di dimensioni massime (5,2 mm); la tolleranza massima sarebbe un foro di dimensioni massime (5,8 mm) e un perno di dimensioni minime (4,8 mm).

Notare che una distanza di 1,0 mm potrebbe essere troppo sciatta per la propria applicazione. Si potrebbe pensare di stringere le tolleranze a 0,05 mm per ridurre il gioco. Ma se la tua stampante non è in grado di produrre una parte che soddisfi le tolleranze specificate, dovrai trovare un modo diverso di produrre o rifinire le parti.


Grazie per avermi fornito il vocabolario inglese appropriato per comunicare efficacemente con altri designer! Ho aggiornato la mia domanda di conseguenza. Tuttavia, la mia domanda riguarda in particolare l' organizzazione del codice OpenSCAD , non la teoria e la pratica delle indennità (che ho già capito, sebbene ignorando i termini inglesi appropriati). :) Posso suggerire di creare una domanda in stile wiki (opzione quando si modifica la domanda) come "Quali sono le differenze tra tolleranza e tolleranza?" e spostare il tuo testo lì? Questa è un'informazione molto utile, ma non è una risposta alla mia domanda, ahimè!
mac

... e ovviamente sarei il primo a votare questo ... fammi sapere nei commenti se ti aggiri per farlo! :)
mac

2

Non sono a conoscenza di uno standard in Openscad ma posso condividere ciò che ho fatto in passato.

cutoutActualDiameter = 10;
cutoutDiameterClearance = 0.1;
cutoutDiameter = cutoutActualDiameter + cutoutDiameterClearance;

So che questo è dettagliato, ma sfortunatamente nella mia esperienza è una necessità se vuoi che il tuo codice sia mantenibile in Openscad. Il vantaggio di questo è che fino a quando non hai bisogno di alcuna autorizzazione aggiunta puoi semplicemente usare la variabile cutoutDiametere quindi se e quando hai bisogno di un'autorizzazione aggiunta puoi rinominare quella variabile e non devi cambiare nessuno del codice in cui si trova la variabile consumato.

Mi piacerebbe sentire come gli altri gestiscono questo però.


1
Quindi, stai dicendo che invece di utilizzare una variabile per tutte le quote, crei una variabile ad hoc per ogni singola dimensione della tua parte? In caso contrario, puoi chiarire qual è la differenza tra il tuo approccio e quello descritto nella domanda stessa? Grazie! :)
mac

@mac è corretto. Potresti ancora usare questo modello con una variabile di tolleranza più globale e avresti la flessibilità di usarlo dove puoi o di essere il più granulare di cui hai bisogno. Alcune cose potrebbero richiedere una vestibilità aderente. Altri dovrebbero dare qualcosa.
Nick Dancer

-2

Bene, le tolleranze dipenderanno dal materiale da utilizzare per la fabbricazione della parte richiesta e anche da dove andrà e si adatta la parte. Ricorda che tutte le parti necessitano di spazio per adattarsi correttamente.

Pochi anni fa (10 anni) lavoravo come ingegnere della qualità e alcuni progettisti si lamentavano del fatto che un pin Dupont non si adattava al PCB, quindi mi dissero che dovevo forzare la produzione del PCB per aumentare i fori con una tolleranza superiore. Che dovevo chiedergli in primo luogo la dimensione del perno e mi ha detto 0,70 mm e dimensione del foro 0,80 e massimo 0,90 - hmmm e dimensione massima del perno? Ho chiesto e mi hanno detto con orgoglio 0,78 mm in modo che la parte si adattasse perfettamente. - Oh, quindi un perno quadrato di 0,78 mm si adatta a un foro di 0,9 mm, ma per quanto riguarda la dimensione diagonale? se il perno sulla dimensione superiore è vicino a 1,2 mm.

Immagina cosa è successo dopo, modifiche ingegneristiche e modifica di altri progetti a causa di tolleranze errate. il software di ingegneria professionale non è stato in grado di calcolare ciò di cui i progettisti avevano bisogno.

Il materiale presenta ritiri, deformazioni e altre condizioni necessarie per conoscere malleabilità e durezza e alcuni di questi dati si trovano sul materiale delle specifiche o sulle specifiche delle parti.


1
Questo non risponde in alcun modo alla domanda.
tjb1,

@ tjb1 Questo ti fa pensare a considerare le tolleranze anche se stai usando il miglior software cad.
Fernando Baltazar,

1
La domanda è come applicare le tolleranze all'interno di OpenSCAD durante la codifica, non come le tolleranze si applicano a una parte reale.
tjb1

@ tjb1 Quindi, l'utente non intende mai utilizzare parti reali?
Fernando Baltazar,

1
Indipendentemente se si tratta di tolleranze o indennità, la domanda è su come applicarle nel codice all'interno di OpenSCAD che sta generando il modello, vedere i punti elenco della domanda. StackExchange non è un forum e la tua risposta è in gran parte una storia su un lavoro precedente, ma non una risposta alla domanda.
tjb1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.