problema con sweep in part design (crea guscio e non solido)
Forum rules
regole del forum e le informazioni utili
Importante: PRIMA di chiedere aiuto leggete qui!
regole del forum e le informazioni utili
Importante: PRIMA di chiedere aiuto leggete qui!
-
- Posts: 10
- Joined: Tue May 26, 2020 9:26 pm
problema con sweep in part design (crea guscio e non solido)
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!
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)
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)
-
- 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)
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.
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.
-
- Posts: 10
- Joined: Tue May 26, 2020 9:26 pm
Re: problema con sweep in part design (crea guscio e non solido)
Grazie mille! Allora forse se provo a rifarlo da zero... Grazie ancora!
-
- Posts: 10
- Joined: Tue May 26, 2020 9:26 pm
Re: problema con sweep in part design (crea guscio e non solido)
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.
-
- 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)
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.
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)
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.
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)
-
- Posts: 10
- Joined: Tue May 26, 2020 9:26 pm
Re: problema con sweep in part design (crea guscio e non solido)
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
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
-
- Posts: 10
- Joined: Tue May 26, 2020 9:26 pm
Re: problema con sweep in part design (crea guscio e non solido)
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!
Re: problema con sweep in part design (crea guscio e non solido)
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.
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/
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
-
- 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)
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.
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.
Re: problema con sweep in part design (crea guscio e non solido)
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)
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
e
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.
Code: Select all
eds=Part.__sortEdges__(obj.Edges)
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>)
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/
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/