Comportamento inatteso di polisuperficie

questo è ciò che succede se provo ad allungare questa polisuperficie chiusa (trave UPN) che contiene
forature


trave originale

applico il gumbal alla superficie da spostare

Questo ahimè è il risultato :worried:
come si può vedere le isocurve sono impazzite

Ciao Sergio
Allega il file 3dm della trave per poter capire il perché di questo comportamento.
Ciao Vittorio

TRAVE UPN.3dm (280.8 KB)
Eccolo

Ho estratto la superficie deformata e riestruso per ricreare la trave.
Quando estrudo tendo a mantenere separate parti raggiate da parti piane per avere delle superfici meno complesse e soprattutto poter operare su singole parti del modello.
Allego immagini e file 3dm ottenuto.
Prova a vedere se da te funziona correttamente.
Ciao

PS lavori a distanze molto elevate dall’origine del pdc per necessità o è una svista?

TRAVE_UPN_LZ.3dm (313.5 KB)

lavoro lontano dall’origine perchè talora i pezzi si trovano fisicamente lontani dallo 0 assoluto se è questo che intendi. Perdonami ma non mi è chiaro il procedimento che usi: cito: “…Quando estrudo tendo a mantenere separate parti raggiate da parti piane per avere delle superfici meno complesse e soprattutto poter operare su singole parti del modello” .
Io per estrudere ho utilizzato il Gumball selezionando il perimetro di sezione e poi dando una distanza. Dall’immagine che hai postato non vedo il Gumball ma la selezione per punti del solido. Puoi spiegarmi meglio il procedimento?
Grazie in anticipo
Sergio

aggiungo un altro pezzo che si comporta allo stesso modo di quello postato di esempio

altro esempio.3dm (428.3 KB)

Ciao Sergio !

…Azzardo un’interpretazione delle parole di Lucio … ( confidando nella sua clemenza … :wink: )
Suppongo si riferisca alla superficie ‘interna’ della trave, proprio quella che si e’ deformata.
Il suo profilo trasversale e’ costituito da 4 archi e 5 linee.
A volte Rhino non gradisce superfici di questo tipo, cioe’ composte di zone cilindriche e zone piane.
Per cui anch’io tendo, per evitare problemi, a suddividere questo tipo di superfici in superfici cilindriche e piane separate.
Anche se a volte e’ piu’ comodo avere una superficie unica invece di 5 o 6 o piu’ …
Spesso in questi casi all’inizio costruisco una superficie unica, ma … la tengo d’occhio …, e se nascono problemi provo a suddividerla (eventualmente usando poi ShrinkTrimmedSrf per essere sicuri che la superficie sia stata realmente semplificata)

Ciao

Correct! :wink:

Per quanto riguarda lo spostamento delle superfici o edge di una superficie, io non utilizzo il gumball (cosa che trovo ingombrante e poco utile per quello che devo fare) ma procedo tramite sub-selection (CTRL+Shift+LMB) delle parti che mi interessa modificare per poi trascinare o ruotare con i comandi classici.
Sul secondo file che hai postato la superficie unica si deforma anche qua da me.
Ricostruendo la superficie interna con superfici piane e cilindriche ritorna a posto.

altro esempio.3dm (445.5 KB)

In effetti anche io per poter "allungare " l’oggetto ho dovuto esploderlo , e poi operare sulle superfici singolarmente, ma trovo tutto questo un po troppo laborioso dovendolo fare magari per 30 o più oggetti. Più che un limite di rhino questo mi sembra un bug che andrebbe corretto anche perchè il “fenomeno” è ramdomico nel senso che è un po difficile stabilire il grado di gradimento (scusate il giro di parole) di rhino nel confronto delle polisuperfici. . Ho provato a fare la stessa cosa con un altra polisuperficie (mi rendo conto che non è identica alla L) e questo non accade.

COLONNA.3dm (465.6 KB) <a class=“attachment” <a class=“attachment”


Ho già segnalato il problema a Giuseppe ma spero anche di sensibilizzare altri utenti per avere opinioni e confronto.
Grazie comunque per la vostra disponibilità

Che sia un bug non ci piove…
Il fatto che si proponga su forme così semplici fa capire che non sia di facile soluzione (altrimenti lo avrebbero già sistemato…).
Più che aspettare una soluzione da parte dei programmatori credo ti convenga settare Rhino in maniera che quando estrudi una curva (che identifica il tuo profilato o estruso) vengano create in automatico superfici semplificate.
I comandi da controllare sono:
_CreaseSplitting
_ExtrudeCrv con opzione _splitattangents=Yes
_UseExtrusions
Dai un occhio nella guida del programma per capire come operano.
Ciao

NB i comandi sopra sono quelli che mi vengono in mente al momento… ce ne saranno sicuramente altri che mi sto dimenticando… :confused:

Lucio grazie per il consiglio, tuttavia operativamente parlando, ho notato che le polisuperfici per quanto siano “pulite” alla nascita stirandole diverse volte si “degradano” nel senso che si infittiscono le isocurve sino poi a fare quello che hai visto. questo accade soprattutto se ci sono delle forature. Poichè nel mio lavoro, alcuni pezzi sono ripetitivi con lievi differenze di lunghezza, va da sè che venga copiato e poi stirato o accorciato. Sarebbe impensabile doverne creare uno nuovo ogni volta.
Una notazione: utilizzando il comando per spostare i fori dalla toolbar dei solidi, questi si comportino “bene” senza alterare la superficie (azzardo, magari è una routine che elimina il foro e poi lo costruisce?) fatto sta che se esistesse anche un comando che permetta alla stessa stregua di allungare o accorciare la trave forata sarebbe l’ideale.
Che dire mi auguro che qualche programmatore raccolga l’invito.
Sergio

Hmm … scusa Lucio, ma non lo chiamerei bug, almeno non sono sicuro che lo sia.
Forse perche’ non sono in grado di capire la logica di funzionamento del comando.

Penso che il comando sia pensato per funzionare su una gamma il piu’ possibile ampia di forme e che quindi cerchi di effettuare operazioni ‘generiche’, cioe’ valide per superfici di tipi diversi.
Certo’ e’ possibile trattare diversamente vari casi particolari, ma forse sono cose che richiedono parecchio tempo
(notoriamente proprio quello che cronicamente manca al cervelloni di McNeel … )

Si’, e’ vero , sono solo supposizioni … :confused:

In ogni caso e’ un bel problema … sarebbe bello cercare delle soluzioni … avendo tempo …
gia’ … appunto.

Ciao !

Perdonatemi un’ultima parola . Al di la del dibattito che si innesca tra noi utenti, ma poi queste segnalazioni di bug o possibili errori vengono presi in carico da qualcuno della McNell?
Esiste un riscontro?
Qualcuno mi sa rispondere?
Grazie

Non so se alla McNell ti ascolteranno sai quelli sono un po’ dei tarocconi… alla McNeel invece ( :wink: scherzo eh, perdonami la battuta) ti inseriscono nel bugtracker e cercano di mettere a posto il problema man mano che riprendono in mano il codice…
Il tipo di problema che riporti è noto e quindi non credo riusciranno a sistemarlo in seguito alla tua segnalazione (ovviamente tutte le segnalazioni con file di esempio sono utili per cercare di capire dove intervenire e quindi fai benissimo a insistere descrivendo le varie situazioni in cui incappi).
Se ho capito bene, il fatto di poter editare putrelle e profilati è per te una priorità, giusto?
Quindi, passa al contrattacco e imposta il programma in maniera da aggirare il problema nella maggior parte dei casi.
Poi quando ti ritroverai con il pezzo che non ne vuole sapere di essere domato allora lo sistemerai a mazzate come se non esistesse nessun tipo di editing (esplodi, ricostruisci, ri-estrudi… ecc. ecc.)
Un metodo che potrebbe essere risolutivo nei casi in cui il profilato “impazzisce” è quello di utilizzare _extrudeSrf sulla faccia che vuoi allungare e ti ritroverai il nuovo pezzo “attaccato” a quello vecchio.
Diciamo che ci sono svariati modi per utilizzare Rhino e una quantità di comandi e opzioni che nemmeno dopo 15 anni di utilizzo impari completamente .
A vedere quello che stai facendo (progetti di grandi dimensioni con molti componenti), un’altra cosa che potrebbe essere interessante per te potrebbero essere i blocchi (editabili tramite blockmanager) e le worksession…
Ciao

Beh Emi, se un comando mi castra una superficie, lo chiamo bug…
Dovrebbe essere il comando a dirmi “non ti faccio l’operazione perché vien fuori 'na schifezza” :wink:
Ma sappiamo che qua bisogna fare produzione e che la V6 è in cantiere… quindi meglio ragionare sul codice nuovo piuttosto che rompersi la testa su quello vecchio… Giusto? Giusto! :smile:
Ah, si, spetta che torno a lavorare che sennò qua si ferma tutto!!!
Ciao! :wave: :wink:

Lucio in effetti è quello che già sto facendo. Anche io uso rhino da parecchi anni in vari settori di attività di modellazione (navale, carpenterie, modellazione per render…) e per molti aspetti ho imparato a domare la bestia solo che ogni tanto escono questi “bug” che mi lasciano “sorpreso” in quanto mi danno l’idea di innaffidabilità del prodotto (intendo Rhino) che invece credo sia un ottimo software. Speriamo che la 6 faccia meno le bizze.
PS. ho scaricato la 6 e ho testato le travi che ho postato qui ma il problema si ripropone identico. Inoltre l’ho dovuta disinstallare perchè mentre stavo lavorando con la 5 mi è apparso un allert che mi impediva di salvare (bug Licenza scaduta Sr11 V5 che ha segnalato Vittorio su questo forum)
Se queste sono le premesse… :unamused:

Si’, OK
Penso che diamo a ‘bug’ due significati diversi.
Io intendevo il classico errore logico nel programma, che, una volta riconosciuto, si corregge facilmente.
Credo invece che tu stessi parlando di ‘bug’ nel senso di carenza nelle prestazioni di un certo comando, cosa che purtroppo a volte non e’ facilmente risolvibile.
… E in effetti mi sembra che il mitico bug tracker di Rhino sia affollato da entrambi i tipi di problema.

In ogni caso concordo sull’auspicare (Orco … parlo come un politico …) che la V6 si occupi anche di questo. :smiley:

Ciao Lucio !

Ciao Sergio
Nel file allegato c’è un esempio con SplitAtTangent=No e con SplitAtTangent=Yes. Come vedi le trave con SplitAtTangent=No trave B dopo l’estrusione le isoparametriche sono distorte (Lucio ti aveva avvisato di questa opzione). Nella versione 3 e forse nella versione 4 non c’era lo splitAtTangent e quindi tutto funzionava regolarmente. Ad un certo punto su richiesta di qualcuno è stata fatta questa modifica e da lì sono nati i problemi.
Ciao Vittorio

TraviSergio.3dm (3.0 MB)

Grazie Vittorio. A questo punto ti chiedo c’è un sistema per mettere SplitAtTangent=No come impostazione di default non rischiando così di dimenticarsene quando si fa l’estrusione?

scusa ho sbagliato volevo dire SplitAtTangent=Yes