Differenza tra fillet e blend edge (Rhino 7)

Sopra ho fatto un corner sferico in G2, controllato anche da Fabio, ho usato xnurbs per prova… sembra accettabile nei limiti delle tolleranze…

La questione del fillet coi setback mi è saltata in mente dopo aver visionato diversi video (tra cui quelli che ho postato sopra). Puoi vederli anche tu, non sono visioni, estasi mistiche, allucinazioni o effetti di droghe/alcol. La mia tesi sono i video. E poi, se non lo domandi a loro, non penso che loro ti dicano qualcosa di spontanea volontà… Che macello! :man_facepalming: :upside_down_face:
Nel video si vede applicato un fillet (raggio costante), profilo circolare, a cui viene applicata una soluzione setback mantenendo, credo, le stesse caratteristiche. O mi sbaglio?
Qualcuno dovrebbe dire qualcosa in merito, partecipare attivamente, esprimersi, altrimenti rimarrà una discussione campata in aria e inutile, un banale “pour parler”.

Anche le patch, i cosiddetti, “fill”, sembravano quasi impossibili in Rhino, arrivare a certe qualità, poi arrivò Xnurbs che ha dimostrato si possa fare qualcosetta in più… non dimentichiamolo!

Non è un corner sferico. Un corner sferico è una parte di srf di rivoluzione. Quella è una soluzione diversa.

Beh sì, hai ragione, assimilabile per forma intendevo… scrivo di fretta a volte…
Una superficie curva triangolare… di Bèzier, non so…

Quel corner si fa in G2 usando solo Rhino…
blend edge-GM.3dm (139,6 KB)

E qui mi pare che Rhino superi Xnurbs in precisione:

Rossa: 0,00° / 0.000
Blu : 0,00° / 0,00
Verde: 0,03° / 0,000

1 Mi Piace

Con le delucidazioni postate e fatte le dovute riflessioni, ho compreso che non si può fare fillet con satback senza introdurre una o più curve NON a raggio costante.
A volte, ci si può perdere in niente… grazie Giuseppe :+1:

2 Mi Piace

Setback Rhino:


Setback Xnurbs:

Tanto per restare in tema… a colpi di zebre
Grazie per il tempo dedicatomi, come sempre. Alla prossima :wink:

OK dai! Alla prossima!

1 Mi Piace

Il buon vecchio Rhino! :smiley:

Sui tre bordi:

Distanza : 0,000 / 0,000 / 0,000
Tangenza : 0,00° / 0,00° / 0,00°
Curvatura : 0,000 / 0,000 / 0,000

BlendEdge FZ.3dm (104,8 KB)

Tutta la questione è nata da un banale “misunderstanding” che si è venuto a creare mettendo a confronto (impropriamente) la natura parametrica di certi software con la logica nurbs di Rhino. Linguaggi uguali, fatti di curve, superfici, continuità… ma strutture e logiche differenti alla base.

L’applicazione del setback nei parametrici avviene sempre attraverso superfici di blend!

L’equivoco è occorso, in quanto, l’opzione “profilo circolare” nei cad parametrici indica che il raccordo avviene realizzando delle superfici circolari, cioè impostati sull’arco di circonferenza. Questo è il fillet che conosciamo tutti in Rhino.
Su questo, tali cad, generano (tramite opzione attivabile) il setback usando raccordi di blend (in continuità di tangenza, o curvatura per i più esigenti).

Mi sono perso lungo il cammino in astrusi ragionamenti…
Con pazienza mi avete riportato nella retta via attraverso le vostre spiegazioni/indicazioni, più che ragionevoli.

Il software parametrico ti impone certe regole, agire su parametri, appunto. Rhino è diverso, lo conosciamo! Può succedere di prendere qualche abbaglio proprio perché si confrontano nature diverse.

Conoscevo la differenza, in Rhino, tra un raccordo fillet e un blend, difatti ho pure fatto il disegnino in alto per ricordare (più a me stesso) la differenza che intercorre tra un arco di circonferenza e una curva di blend, non razionale. Giuseppe e Lucio hanno poi completato l’opera: mi avete illuminato!

Su tale presupposto mi sono chiesto perché non si potesse fare un setback in un fillet, ma, in realtà, avrei voluto che tale setback venisse impostato anche su un “profilo circolare”, e non solo su profilo blend (come avviene attualmente in Rhino); ecco il malinteso che è trasceso in ragionamenti involuti. C’è stato un miscuglio di pensieri, complice il passaggio dal parametrico a Rhino, e viceversa.

Portate pazienza! :woozy_face:

in rosso, è una superficie XNurbs, fatta in g2, praticamente un setback che tiene conto dei profili circolari, niente di più. Fattibile.

In definitiva, non diciamo più che desidererei avere un setback in un fillet, piuttosto, un setback generato sì in g1, ma su archi di circonferenza.
Spero di essere stato chiaro stavolta.

Ciao Fabio, come ricavi questi dati e come li leggi?

1 Mi Piace

Ciao Luca, è una delle tante novità di R7, comando _EdgeContinuity.
Avevo espresso proprio qui il mio desiderio per uno strumento del genere, da affiancare alla classica zebra e al grafico di curvatura.
Lo trovo veramente utile, soprattutto nei casi in cui un certo grado di continuità non viene raggiunto completamente.
Il comando ora ti permette di ottenere un dato numerico con il quale io mi trovo decisamente meglio, direi che incontrovertibile.
Puoi semplicemente leggere la distanza tra i bordi, la differenza di tangente e la differenza della curvatura.
Allego il modello anche nel formato R6.

BlendEdge FZ R6.3dm (112,6 KB)

1 Mi Piace

Vorrei capire il dato e come può essermi utile, diversamente resta un simpatico numero.

Questi numeri cosa mi dicono? 1 significa indica il rapporto tra i raggi di curvatura tra i due bordi?
Mi aiutate a capire l’utilità del dato, come sfruttarlo per migliorare il modello?

Giusto qualche immagine promemoria (per me):


image

Inoltre, Fabio, mi diresti gli steps che hai seguito per ottenere questo raccordo così pulito?
Ho provato in più modi e non riesco.

Be indica semplicemente l’errore di continuità tra due superfici: la distanza dei bordi, la differenza di tangente, e la differenza di curvatura.
Integra ad esempio la zebra, invece di vedere come transita tra una superficie e l’altra ci leggi un valore numerico.

La curvatura indica da differenza di curvatura tra i bordi delle due superfici.
Il primo valore è assoluto: 1/R1 - 1/R2
Il secondo (tra parentesi) è relativo: (R1-R2)//(R1+R2)

Sono partito da un blend tra le due superfici “orizzontali”, impostando continuità di curvatura e regolando gli slider entrambi a uno.
Poi però il raccordo, come hai visto, non è perfetto.
Per migliorarlo occorre lavorare sui CV “allineandoli”.

Potrei conoscere le fonti di questa informazione? Al denominatore è sicuro un +?

non ho visto, è il mio strano… il tuo mi sembrava perfetto.

E’ nell’help di Rhino:

Secondo EdgeContinuity sì. :smiley:

si scusa, avevo appena visto nell help ma mi hai preceduto.
Grazie

PS Guida in linea di Rhinoceros

solo a me non si aprono le immagini?

PS2 comunque, come può essere utile (il dato numerico) non l’ho ancora compreso bene.
Se il valore relativo confronta le deviazioni tra i due raggi di curvatura (e suppongo che l’analisi sia su curve trasversali ad entrambi i bordi) e se suppongo di avere raggi di curvatura uguali (G2), il valore relativo è nullo. Questo significa che per un raccordo G2 devo puntare al valore nullo, giusto?

Tuttavia mi chiedo:

perché in questa immagine il valore relativo è 1?
Per essere tale occorre che sia (Raggio1-Raggio2) = (Raggio1+Raggio2)

che ammette solo la soluzione R1=R2=0, diversamente non è mai verificata.

Può essere che quel + sia un * (ovvero la differenza tra le due deviazioni assolute)?

Considerato corretto:

Dev_Ass=1/R1-1/R2;
Dev_Rel=(R1-R2)/(R1+R2);

abbiamo

quindi raggi di curvatura uguali danno valore nullo ad eccezione di due curvature nulle che danno 1, strano che la relazione matematica non abbia validità generale.

Mi dite se c’ho capito na mazza?

dev_tangenza 0 => stessa tangente nel punto di contatto tra le srf => G1
(eventualmente restituisce l’angolo tra le due tangenti, ovvero del punto angoloso);

dev_curvatura 0 => stesso raggio di curvatura e stessa tangente nel punto di contatto tra le srf => G2;