problema con sweep in part design (crea guscio e non solido)

Forum per le domande e le discussioni in Italiano
Forum rules
regole del forum e le informazioni utili

Importante: PRIMA di chiedere aiuto leggete qui!
IlProfCocco
Posts: 10
Joined: Tue May 26, 2020 9:26 pm

problema con sweep in part design (crea guscio e non solido)

Post by IlProfCocco »

Ciao a tutti! Sono relativamente inesperto di freecad ma ho girato il forum e non mi è riuscito di trovare una risposta, quindi abbiate pazienza... Se potete aiutarmi ve ne sarò grato. Uso freecad per provare a disegnare una chitarra, sono alle prese con il top di una semiacustica (es 335 per intenderci) e sto cercando di realizzarlo in part design tramite sweep. Ho suddiviso il top in diverse sezioni con sketch appositi, ma quando provo a fare lo sweep mi risulta, in alcuni casi, non un solido ma un guscio (uno shell) e non riesco a capirne il motivo. Cerco di allegare il file FC su cui sto lavorando, qui sotto le info sulla versione che uso... Grazie mille!
top-sweep-solosketch.FCStd
(494.53 KiB) Downloaded 32 times

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Italian/Italy (it_IT)
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: problema con sweep in part design (crea guscio e non solido)

Post by renatorivo »

Ciao.
Non ho ancora scoperto il motivo, ma da quello che ho visto finora mi sembra che il problema sia causato dallo schizzo della faccia1.
Facendo lo sweep tra le sole facce 1 e 2 lo sweep risulta rovinato, non è un solido.
Invece tra la faccia 2 , 3, 4 funziona, cioè si crea il solido.
IlProfCocco
Posts: 10
Joined: Tue May 26, 2020 9:26 pm

Re: problema con sweep in part design (crea guscio e non solido)

Post by IlProfCocco »

Grazie mille! Allora forse se provo a rifarlo da zero... Grazie ancora!
IlProfCocco
Posts: 10
Joined: Tue May 26, 2020 9:26 pm

Re: problema con sweep in part design (crea guscio e non solido)

Post by IlProfCocco »

Ho rifatto la faccia oo1 e ora lo sweep tra 001 e 002 funziona e genera un solido... Ma proseguendo, quando arrivo alla faccia 005 il problema si ripete. Lo sweep tra 001 e 004 genera un solido, quando aggiungo la 005 diventa un involucro... Non riesco proprio a darmene conto. :( :( :(
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: problema con sweep in part design (crea guscio e non solido)

Post by renatorivo »

Lo schizzo sembra valido, forse dipende dalla direzione in cui viene disegnato il contorno, sweep potrebbe essere sensibile a questo, ma è solo una ipotesi. Tieni presente che Sweep e Loft sono soggetti a diverse limitazioni note, e può darsi anche ad altre non ancora individuate.

Cercando una soluzione diversa ho provato Loft. Il risultato è un solido valido senza rifare gli schizzi, e mi sembra che la forma risultante sia discreta in quanto segue abbastanza i profili dei livelli.

sweep-loft.PNG
sweep-loft.PNG (50.67 KiB) Viewed 1474 times
OS: Windows 8.1 (6.3)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21231 (Git)
Build type: Release
Branch: master
Hash: c1ca01b0e79efa44f39ee377bb97517e2fd7debf
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Italian/Italy (it_IT)
IlProfCocco
Posts: 10
Joined: Tue May 26, 2020 9:26 pm

Re: problema con sweep in part design (crea guscio e non solido)

Post by IlProfCocco »

Grazie davvero! Ci provo subito, voglio vedere cosa succede quando arrivo al corno superiore del body (lì mi aspetto forti deformazioni ma vediamo, era per questo che ho provato con sweep...)
Mi piacerebbe prima o poi risolvere la questione dello sweep ma più che altro per mia formazione, per capire cosa ho sbagliato. Intanto ti ringrazio per il tempo che hai dedicato al mio problema, davvero!
F
IlProfCocco
Posts: 10
Joined: Tue May 26, 2020 9:26 pm

Re: problema con sweep in part design (crea guscio e non solido)

Post by IlProfCocco »

Come prevedevo, arriva fino a un certo punto poi si svirgola tutto. Probabilmente è una cosa che ha a che fare con l'orientamento degli sketch ma non riesco a capire esattamente il problema... Grazie comunque!
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: problema con sweep in part design (crea guscio e non solido)

Post by onekk »

Una piccola nota, a volte tutto si incasina perché il numero di bordi non è compatibile.

Ad esempio se disegno un esagono e cerco di creare il contorno di due esagoni di diverse dimensioni, la cosa riesce.

Se sono esagoni creati con bordi la cosa riesce bene, se ad esempio trasformi gli esagoni in spline la cosa si incasina non poco, formalmente può essere che il solido riesca, poi quando ci operi sopra crea problemi.


Se il problema è egenrato da questo, potresti provare di fare in questo modo:

definisci su un folgio la forma esterna, e cerchi di capire di quanti elementi è comporta la forma, ad esempio riesci a comporre la forma con 10 tratti di penna che possono essere convertiti in archi o linee di freecad.

usi questi dieci elementi per le altre forme più interne, cercando di mantenere il numero pari.

Potresti già cercare di unire ogni edge con la corrispondente con "una superifice rigata", a mano, e ripetere il tutto per ogni spessone, in genere la cosa riesce bene, perché ad ogni edge di una curva ne corrisponde un altro della seconda curva, e non vengono fatte trasformazioni strane.

Saluti

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: problema con sweep in part design (crea guscio e non solido)

Post by renatorivo »

Ciao.
Con Curves WB ho provato ad usare le curve di livello.

Se si crea in blocco tutta la superficie rimane rovinata, quindi ho provato le varie porzioni individualmente.

Riescono abbastanza bene tranne quella tra la seconda e terza curva Offset002001, e probilmente questa è la porzione che impedisce di creare la superficie in un unico blocco. Se si riesce a correggere le curve in modo da rendere valida anche questa porzione, dopo è probabile che si riesca anche a creare tutta la superficie intera.

Invece è risultato disastroso creare la superficie dalle sezioni. Sembra che siano orientate in modo strano, con le normali capovolte tra di loro, cosa che spiegherebbe anche i problemi con Loft e Sweep.

Allego solo il risultato, altrimenti il file è troppo grande.

solo offset.PNG
solo offset.PNG (70.83 KiB) Viewed 1276 times
solo offset.FCStd
(341.33 KiB) Downloaded 28 times
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: problema con sweep in part design (crea guscio e non solido)

Post by onekk »

Per l'orientamento delle curve, in genere quando crei con sgli script prima di unire le superfici usi una funzione che ordina le i bordi (edges)

Code: Select all

   eds=Part.__sortEdges__(obj.Edges)
per avere una certa uniformità nell'ordinamento.

Presumibilmente l'operazione di offset potrebbe creare una discrepanza, in quanto alcuni segmenti potrebbero essere archi, e l'offset potrebbe creare un numero maggiore di archi, portando il numero a non coincidere, rendendo difficile al codice il collegamento tra superfici.

Internamente, a parte le funzioni di Loft e Sweep, il codice usa le funzioni di

Code: Select all

Part.makeRuledSurface(<list of edges>)
e

Code: Select all

Part.makeFilledFace(< list of edges>)

che mappano abbastanza bene le funzioni interne di OCCT.

https://www.opencascade.com/doc/occt-7. ... algos.html

Curves and Surfaces from Constraints

Sei comunque vincolato dal motore che ci sta sotto, il link che ti ho postato magari può far luce su alcune particolarità della creazione delle superfici, che poi è quello che vuoi ottenere, in somma sostanza stai cercando di unire con dei piani delle curve che hai disegnato (derivato).

A circa metà pagina, trovi anche la descrizione delle curve, e alcuni disegni su come vengono create le facce, può essere importante leggerle, per capire quello che sta sotto, la creazione di oggetti in FreeCAD, alcune operazioni, hanno nomi simili nell'API di FreeCAD, diventa più complicato se non si analizza il codice capire come vengono usate dagli strumenti a GUI.

Il motore è molto potente, infatti OCCT viene usato da CAD professionali (mi pare di ricordare che derivi dal motore di CAD con cui hanno creato gli Airbud e Ariane, ma non ci metto la mano sul fuoco).

Spero di non aver complicato la discussione.

Saluti

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
Post Reply