Assembly 2 VS Allineamento

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!
Alex68
Posts: 44
Joined: Wed Jul 06, 2016 3:08 pm

Re: Assembly 2 VS Allineamento

Post by Alex68 »

Poi mi sono accorto di un altro problema; quando passo da assembly2 all'ambiente draft ci sono dei rallentamenti paurosi :?
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Assembly 2 VS Allineamento

Post by renatorivo »

Ciao Alex,
ho fatto altre prove con il tuo file assemblato. Vincolando le facce non c'è verso di posizionare correttamente la guida. Quando si crea un vincolo tra due facce la guida mantiene un grado di libertà lungo l'asse principale, ma è una libertà "ristretta", infatti, applicando l'animazione si vede che non può assumere la posizione voluta.
Secondo me questo succede perché l'oggetto importato contiene già qualche particolare vincolo che gli impedisce una rotazione completa di 360°.

Dato che in altri casi ho verificato che gli oggetti creati solo con Part sono più liberi, anche in questo caso ho provato a creare in Part una Copia semplice (priva di storico) della giuda poi ho inserito la copia in un nuovo file. Importando questa copia nell'assemblaggio non ho più avuto problemi, riesco a ruotarla in tutti i modi e a dargli qualsiasi posizione.

Purtroppo questo procedimento non è una buona soluzione perché diventa complicato aggiornare le modifiche.

Renato
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Assembly 2 VS Allineamento

Post by renatorivo »

Altra prova.
Ho creato un oggetto nolto simile alla guida usando solo Part e, a conferma di quanto ipotizzato prima, anche dopo aver applicato un vincolo sulle facce frontali l'animazione lungo l'asse principale fa ruotare l'oggetto di 360°.
Importando la mia nuova guida e il profilo in Assembly2 non ci sono più problemi di posizionamento e le modifiche si aggiornano correttamente.
Renato
Marco_T
Posts: 262
Joined: Mon Jan 11, 2016 11:58 pm
Location: Di ca da l'aghe

Re: Assembly 2 VS Allineamento

Post by Marco_T »

renatorivo wrote:Altra prova.
Ho creato un oggetto nolto simile alla guida usando solo Part e, a conferma di quanto ipotizzato prima, anche dopo aver applicato un vincolo sulle facce frontali l'animazione lungo l'asse principale fa ruotare l'oggetto di 360°.
Importando la mia nuova guida e il profilo in Assembly2 non ci sono più problemi di posizionamento e le modifiche si aggiornano correttamente.
Renato
Ciao,
anche io ho fatto una prova con un oggetto creato solo con Part.
Riesco a ruotarlo ed assemblarlo senza problemi.
A questo punto credo hai ragione ad ipotizzare che siano gli sketch a creare impedimento alla libertà di movimento delle parti importate in Assembly 2.
Ho provato anche a svincolare gli sketch dall'origine (di solito li vincolo a 0,0) ma in Assembly 2 le cose non migliorano.

--
Marco_T
User avatar
easyw-fc
Veteran
Posts: 3630
Joined: Thu Jul 09, 2015 9:34 am

Re: Assembly 2 VS Allineamento

Post by easyw-fc »

Marco_T wrote:
renatorivo wrote:Altra prova.
Ho creato un oggetto nolto simile alla guida usando solo Part e, a conferma di quanto ipotizzato prima, anche dopo aver applicato un vincolo sulle facce frontali l'animazione lungo l'asse principale fa ruotare l'oggetto di 360°.
Importando la mia nuova guida e il profilo in Assembly2 non ci sono più problemi di posizionamento e le modifiche si aggiornano correttamente.
Renato
Ciao,
anche io ho fatto una prova con un oggetto creato solo con Part.
Riesco a ruotarlo ed assemblarlo senza problemi.
--
Marco_T
io ho provato ad applicare la procedura descritta, ma non riesco ancora a gestire l'allineamento di ProfiloQuadro1 e ProfiloQuadro2 sulla faccia 2 opposta ... non riesco ad assemblare....
Non solo ho fatto una copia semplice, ma ho anche provato ad esportare la parte come step ed utilizzare il file step invece del file FC... il problema del solver permane...
voi siete riusciti a risolvere il caso del ProfiloQuadro?
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Assembly 2 VS Allineamento

Post by renatorivo »

Ciao Maurice,
sul profilo quadro ho già lavorato nella discussione viewtopic.php?f=28&t=17175.
Le facce oblique ottenute con uno sformo si assemblavano in modo perfetto. Posso ricrearli se serve.

Renato
User avatar
easyw-fc
Veteran
Posts: 3630
Joined: Thu Jul 09, 2015 9:34 am

Re: Assembly 2 VS Allineamento

Post by easyw-fc »

renatorivo wrote:Ciao Maurice,
sul profilo quadro ho già lavorato nella discussione viewtopic.php?f=28&t=17175.
Le facce oblique ottenute con uno sformo si assemblavano in modo perfetto. Posso ricrearli se serve.

Renato
Ciao Renato,
grazie per il link ed il lavoro di indagine :)
mi sono 'bookmarcato' il link ;)
Alex68
Posts: 44
Joined: Wed Jul 06, 2016 3:08 pm

Re: Assembly 2 VS Allineamento

Post by Alex68 »

Buongiorno e quasi buon anno, aativando la scheda report quando apro il file originale in Assembly 2 mi riposrta i seguenti errori, forse potrebbe essere un indizio :

Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'App::GroupExtension'
Extension is not a python addable version: 'App::GroupExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
Extension is not a python addable version: 'Part::AttachExtension'
DeprecationWarning: Use 'TypeId' instead
Extension is not a python addable version: 'Gui::ViewProviderGroupExtension'
Extension is not a python addable version: 'Gui::ViewProviderGroupExtension'
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
Alex68
Posts: 44
Joined: Wed Jul 06, 2016 3:08 pm

Re: Assembly 2 VS Allineamento

Post by Alex68 »

Inanzi tutto buon Anno a tutti :)

Aggiorno questo post inquanto ho scoperto l'arcano degli errori e del problema con Assembly2

1) i rallentamenti del programma fino al suo inutilizzo li ho riscontrati nell'ambiente Draft della Versione 0.17
2) armato di santa pazienza ho installato FreeCAD 0.16 su un sistema linux ubuntu; la 0.16 non risente dei rallentamenti e la 0.17 si
3) Gli errori vengono creati in ambiente Draft della versione 0.17 quando si pruomovono i Wire per generare le Face
4) ho ridisegnato alcuni particolari e li ho etrusi come solidi in Part e gli errori sono scomparsi.
5) Sempre in ambiente Linux e con i solidi creati senza errori ho eseguito un primo assemblaggio di prova e non ho riscontrato nessuna difficoltà negli accoppiamenti

Non sono un programmatore ma con pazienza sembra che abbia svelato l'arcano, spero che queste considerazioni possano essere utili agli utilizzatori :shock:
Marco_T
Posts: 262
Joined: Mon Jan 11, 2016 11:58 pm
Location: Di ca da l'aghe

Re: Assembly 2 VS Allineamento

Post by Marco_T »

Alex68 wrote:Inanzi tutto buon Anno a tutti :)

Non sono un programmatore ma con pazienza sembra che abbia svelato l'arcano, spero che queste considerazioni possano essere utili agli utilizzatori :shock:
Ciao Alex,
buon anno anche a te!
Grazie per la segnalazione (anche se sono utilizzatore e non programmatore).
Se intendi progettare qualcosa in modo serio ti consiglio comunque la 0.16 che è piu' collaudata ed ha piu' riscontri in termini di utilizzo.
La 0.17 sotto alcuni aspetti (Part design) è profondamente diversa e va bene se vuoi studiare come evolverà FreeCAD nei prossimi anni ed essere pronto per il passaggio ma è certamente meno stabile della 0.16. In sostanza la 0.17 non la userei per un progetto che richiede ore di lavoro...
Il problema che segnali sembra qundi riguardare Draft 0.17.
Se hai comunque piacere di usare la 0.17 ti segnalo la possibilità di trasformare le Wires in Faces senza usare Draft ma usando un particolare comando del modulo Part (vale anche per la 0.16):
Immagine.jpg
Immagine.jpg (88.29 KiB) Viewed 1733 times
Forse in questo modo risolvi alcuni problemi considerando che Draft e Part funzionano in modo diverso e con linguaggi diversi.

--
Marco_T

Edit: la lunga lista di errori riportata 2 messaggi indietro è una cosa nota (trovi alcune discussioni nella parte inglese del forum) dovuta ad un diverso approccio di codice tra una versione 0.17 e la successiva. Per questo ti dico che la 0.17, essendo in continua evoluzione, può creare qualche grattacapo. Comunque è importante che venga testata.
Post Reply