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: 34
Joined: Wed Jul 06, 2016 3:08 pm

Re: Assembly 2 VS Allineamento

Postby Alex68 » Thu Dec 29, 2016 3:48 pm

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

Re: Assembly 2 VS Allineamento

Postby renatorivo » Thu Dec 29, 2016 5:08 pm

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
Posts: 1079
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Assembly 2 VS Allineamento

Postby renatorivo » Thu Dec 29, 2016 5:38 pm

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: 140
Joined: Mon Jan 11, 2016 11:58 pm

Re: Assembly 2 VS Allineamento

Postby Marco_T » Thu Dec 29, 2016 9:14 pm

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
Posts: 598
Joined: Thu Jul 09, 2015 9:34 am

Re: Assembly 2 VS Allineamento

Postby easyw-fc » Thu Dec 29, 2016 10:07 pm

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
Posts: 1079
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Assembly 2 VS Allineamento

Postby renatorivo » Thu Dec 29, 2016 10:38 pm

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
Posts: 598
Joined: Thu Jul 09, 2015 9:34 am

Re: Assembly 2 VS Allineamento

Postby easyw-fc » Thu Dec 29, 2016 10:57 pm

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: 34
Joined: Wed Jul 06, 2016 3:08 pm

Re: Assembly 2 VS Allineamento

Postby Alex68 » Fri Dec 30, 2016 9:58 am

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: 34
Joined: Wed Jul 06, 2016 3:08 pm

Re: Assembly 2 VS Allineamento

Postby Alex68 » Sun Jan 01, 2017 7:36 pm

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: 140
Joined: Mon Jan 11, 2016 11:58 pm

Re: Assembly 2 VS Allineamento

Postby Marco_T » Sat Jan 07, 2017 9:58 pm

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 143 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.