Bug - Offset surface e shelling spezzano a metà superfici di rivoluzione

Non so se esista un comando/opzione che possa influire su questo comportamento, ma secondo me è un bug…
Praticamente:

  • Creo un tronco di cono
  • Faccio lo shell selezionando una delle due superfici
  • La parte interna (risultante dallo shell) corrispondente alla superficie “rivoluzionata” viene creata con due superfici (invece di una unica come, mi risulta, veniva fatto in passato).

Stesso comportamento per offset surface… tutte le superfici di rivoluzione che compiono 360° vengono offsettate in due superfici da 180°.
Ho provato a disabilitare il crease splitting ma senza alcun risultato.
Diciamo che la cosa è molto fastidiosa.

@giuseppe puoi darmi riscontro se il comportamento del programma è così anche in altre installazioni o è il mio computer ad avere problemi? In questo momento sto facendo proprio lavori di rivoluzione con shelling e offset Srf e mi tocca estrarre e ricostruire tutte le rivoluzioni spezzate in due (avere tutto spezzato mi porta a dover fare molte più selezioni di bordi per i fillet e nel caso debba estrarre/cancellare qualcosa).

Nessuno che riscontra gli stessi problemi? Tutti contenti delle superfici spezzate in due?
Ok per lo shelling che lo faceva anche in V5, ma l’offset surface non mi pare si comportasse così…

riscontro lo stesso comportamento, e confermo che nella v5 almeno l’offset delle sup di rivoluzione non venivano suddivise.

Posso fare una segnalazione se volete. Meglio se aggiungo una ragione del motivo per cui non va bene.

Mi sembra una cosa veramente banale… se tu avessi un cerchio e dici a Rhino di farti un offset Crv, cosa ti aspetti… un cerchio offsettato o due archi?
Con le superfici di rivoluzione è la stessa roba: se ho un tronco di cono (quindi una roba semplice) e faccio uno shell oppure un offset surface (eliminando prima uno dei due cap) mi aspetto che le superfici offsettate rispettino quelle originali, non che diventino N superfici.
Sempre nell’esempio del tronco di cono con lo shell applicato, quando poi vado a fare il fillet del bordo, mi ritrovo un bordo unico sulla superficie originale e spezzato in due quello della superficie offsettata (ottenendo così anche un fillet spezzato in due).
Nel caso di OffsetSrf Solid, poi, mi viene divisa in due anche la superficie iniziale (con opzione delete original) e le superfici di collegamento ottenendo così una bella polisuperficie di 8 superfici anzichè 4…
Non ha senso avere il doppio di superfici per lo stesso modello… allora ritorno a lavorare alla vecchia maniera dove mi facevo la sezione dello spessore in 2d e poi rivoluzionavo tutto di 360°… sto prima.
Oppure, se la cosa è troppo complessa da gestire, datemi uno strumento per semplificare anche le superfici di rivoluzione oltre alle superfici complanari.

Non ho avuto il tempo fisico di fare prove ma mi pare che il problema sia solo con le srf di rivoluzione o sbaglio?

Si, solo con quelle di rivoluzione.
Considero una superficie di rivoluzione (cilindro e cono) al pari di un cerchio (c’è sempre un asse di rivoluzione e una sezione che gira).
Tutte le volte che faccio un foro o una bugna tonda o qualsiasi roba che implichi il revolve, mi aspetto che l’offset delle superfici avvenga con la stessa logica delle curve (ogni superficie viene offsettata e poi riunita alle altre al pari delle policurve).

Scusa Lucio, abbi pazienza ( Lo sai che sono rompiballe … )

Sei sicuro che non sia solo abitudine ?
Che svantaggi porta avere le rivoluzioni divise in due ?

Lo chiedo perche’ mi sembra abbastanza comune nei CAD.
Spesso le cose che importo da altri sistemi hanno le rivoluzioni splittate in due.
E anch’io, per esportare felicemente ad altri sistemi, divido in due tutte le rivoluzioni (ho uno scriptino apposta).

Detto questo, se non ci sono validi motivi per splittare sempre, concordo che servirebbe uno switch settabile. :slight_smile:

Oddio, mi pare ovvio che con due superfici, ti ritrovi ad avere una serie di svantaggi:

  • Il bordo rimane spezzato in due (se fai un fillet devi usare un chain edge per selezionare tutto in un colpo solo.
  • Se devi fare un fillet surface, ti si interrompe dove finisce la superficie anche se dovrebbe continuare
  • Il modello pesa di più (ci sono il doppio di superfici, inoltre, già il seam unico rompe le balle per alcuni comandi, figurati averne due!)
  • Se devi fare delle modifiche (tipo estrarre delle svasature) devi fare il doppio della selezione
  • Se togli le isocurve, ti rimangono due bordi anzichè un seam
  • Se faccio una subselection della superficie per spostarla in un altro punto, devo selezionare tutte e due le metà

E’ un pò come avere delle superfici piane complanari che si intersecano (ottenute da una booleana); che problemi danno? potresti lavorare tranquillamente senza star li a riunirle in una unica… E invece c’è pure un comando che serve per automatizzare la semplificazione…
Anche il mio Cam suddivide le superfici piane di grandi dimensioni in superfici più piccole… che vantaggio ho? Nessuno, anzi, è una bella rottura di scatole… Lo fa solo perchè, altrimenti, con superfici troppo grandi si rallentano i calcoli.
Suddividere in due è un workaround per risolvere un problema, non per dare un vantaggio.

OK, si’, certo le operazioni a cui accenni risultano piu’ laboriose.

… Ma non vorrei che fosse proprio il famigerato seam la causa di tutto.
Eliminando le rivoluzioni complete, il concetto di seam sparisce … e potrebbe portarsi appreso alcuni problemini …

In fondo le superfici Nurbs hanno 4 lati, ed avere una superficie in cui due lati opposti sono geometricamente la stessa cosa … hmmm … non so … non mi da’ una buona impressione. :wink:

Mi sembra un caso particolare, che richieda un trattamento particolare. Non vorrei fosse questo il motivo per cui spesso si evita tale tipo di superficie … ma forse sbaglio. :slight_smile:

OK, sono solo speculazioni.
Vediamo se Giuspa riesce a dirci da cosa deriva la cosa … a questo punto sono curioso anch’io. :grinning:

Grazie per la spiegazione, ciao !

Con molta onestà… non lo so… e quindi chiedo. :wink:

2 Mi Piace

Altro esempio: @massimo.rufo è capitato di avere problemi con superfici cilindriche offsettate in due dove non riesce ad applicare le UV curves…
Ti hanno dato qualche risposta?

Ciao
no nessuna risposta

Ciao Massimo, scusa, mi sono spiegato male, chiedevo @giuseppe se aveva avuto risposta dagli sviluppatori…

No, ho chiesto a Dale.

Ok, sicuramente sarà difficile ottenere un comportamento diverso (se l’hanno fatta così è per risolvere dei bug riscontrati), però se ci fosse un modo per semplificare/unire superfici cilindriche o coniche (tipo il merge all faces) sarebbe una bella cosa anche per i risultati booleani dove ci sono fori coincidenti che potrebbero essere semplificati in uno unico:

Ciao Lucio !

Si’ !!!
Anche per i fillet (almeno quelli cilindrici) sarebbe un bell’aiuto.

Adesso che mi ci fai pensare … visto che il comando non compariva … avevo provato a scriptare qualcosa, ma ha 2 quasi 2 anni … mi sa che me lo ero dimenticato.
… Non lo trovo nei miei toolbar, almeno a prima vista …:confused:

… Casomai servisse, e’ qui:

c5-mergecylfillet2.py (10,8 KB)

come dicevo, e’ cosa vecchia, adesso non mi ricordo piu’ come dovrebbe funzionare … bisogna andare a leggersi lo script …

Ciao !

Vi aggiorno.
Mi ha risposto Chuck che ha scritto il codice:
“I think the reason is that for shelling or offsetting polysurfaces there are cases where this makes the process more reliable. There are also many cases where it doesn’t, and I have to identify them.”
Ed è anche nella sua lista di cose da rivedere:
https://mcneel.myjetbrains.com/youtrack/issue/RH-45266

1 Mi Piace

Ok, grazie per l’aggiornamento.
Ciao!