Main menu

Search
Login
Signup
Links
<< Previous thread | Next thread >>   
[Fixed] X-Sweethome3D

Go to page       >>  
Author Post
zandet2
Sun 20 Jul 2008 - 13:44

online

Registered Member #3184
Joined: Tue 06 Mar 2007 - 11:52
Location: Busto Arsizio
Posts: 3301

Nome del software: X-SweetHome3D
Link alla pagina di download: -Link-
Licenza software: GPL
Motivazione della NON portatilità:
effettuando l'importazione di modelli di mobilio questi vengono caricati nella cartella "UserProfile"\eTeks\Sweet Home 3D; inoltre se si vuole aggiungere una intera collezione di mobilio (in formato .sh3f), deve essere obbligatoriamente inserita in "UserProfile"\eTeks\Sweet Home 3D\furniture .

[ Edited Thu 18 Sep 2008 - 00:03 ]
Back to top
zandet2
Sat 26 Jul 2008 - 21:48

online

Registered Member #3184
Joined: Tue 06 Mar 2007 - 11:52
Location: Busto Arsizio
Posts: 3301
Trovato il modo per risolvere il problema:
spostare gli elementi importati da winPenPack a UserProfile e viceversa alla chiusura
(oltre a correggere le voci di registro).

E' una soluzione "estrema" ma mi sa che è l'unica possibile:

===============================================


[Setup]
AppName=SweetHome3D

[FileToRun]
PathToExe=$Bin$\$AppName$\$AppName$.exe

[Environment]
PATH=$Lib$\$AppName$

[Functions]
;java
DirCopy=$Lib$\Java\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=$Lib$\Java\lib|$ExeDir$\jre1.6.0_06\lib
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_06\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_06\lib|$ExeDir$\jre1.6.0_06\lib
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_05\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_05\lib|$ExeDir$\jre1.6.0_06\lib
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_04\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_04\lib|$ExeDir$\jre1.6.0_06\lib

; furniture
DirCopy=$Lib$\$AppName$\eTeks|@UserProfileDir@\eTeks|o

[StringReplace=$Home$\$AppName$\$AppName$.reg]
file:\\|\\e/Teks\\/Sweet%20/Home%203/D\\=@UserProfileDir@|\\%20

[RunAfter]
DirCopy=@UserProfileDir@\eTeks|$Lib$\$AppName$\eTeks|o
DirRemove=@UserProfileDir@\eTeks

[WriteToReg=$Home$\$AppName$\$AppName$.reg]
MainKey=HKEY_CURRENT_USER\Software\JavaSoft\Prefs\com\eteks
;(locale)
sweethome3d\io|"language"="it"
;sweethome3d\io|"language"="en"

[RunBefore]
RegEdit=$Home$\$AppName$\$AppName$.reg

[Options]
DeleteTemp=true
RunWait=true
ShowSplash=false


===============================================

p.s. ho preferito salvare i dati in Lib piuttosto che in User perchè idealmente sono librerie di elementi, ma si potrebbero salvare anche in User senza problemi.

[ Edited Sat 26 Jul 2008 - 21:51 ]
Back to top
Danix
Wed 30 Jul 2008 - 19:16

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
Ho notato che l'importazione può avvenire direttamente dal programma, sia per i modelli (formato .sh3f) che per gli oggetti (formato .obj). In entrambi i casi, effettivamente, il programma si appoggia su %UserProfile%, e non c'è verso di impostare quella variabile.
Però, specificando un percorso interno all'X-Software ($Lib$) nel .reg, i modelli vengono comunque riconosciuti e in questo modo si evita la copia della cartella eTeks (che può avere dimensioni anche molto elevate) da $Lib$ a %UserProfile%, e viceversa, ogni volta che si avvia il programma.
Quindi propongo queste modifiche, dove ho integrato anche un fix per i file recenti, che determinano la copia (e sovrascrittura) dei modelli in \Lib solo se questi vengono importati. Nel normale utilizzo del programma, quando cioè si usano i modelli preesistenti, non avviene nessuno spostamento.


[Setup]
AppName=SweetHome3D

[FileToRun]
PathToExe=$Bin$\$AppName$\$AppName$.exe

[Environment]
PATH=$Lib$\$AppName$

[Functions]
;java
DirCopy=$Lib$\Java\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=$Lib$\Java\lib|$ExeDir$\jre1.6.0_06\lib
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_06\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_06\lib|$ExeDir$\jre1.6.0_06\lib
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_05\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_05\lib|$ExeDir$\jre1.6.0_06\lib
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_04\bin|$ExeDir$\jre1.6.0_06\bin
DirCopy=@ProgramFilesDir@\Java\jre1.6.0_04\lib|$ExeDir$\jre1.6.0_06\lib
DirMove=@UserProfileDir@\eTeks|@UserProfileDir@\eTeks_backup

[RunAfter]
DirCopy=@UserProfileDir@\eTeks|$Lib$\eTeks|o
DirRemove=@UserProfileDir@\eTeks
DirMove=@UserProfileDir@\eTeks_backup|@UserProfileDir@\eTeks

[WriteToReg=$Home$\$AppName$\$AppName$.reg]
MainKey=HKEY_CURRENT_USER\Software\JavaSoft\Prefs\com\eteks

;(locale)
sweethome3d\io|"language"="it"
;sweethome3d\io|"language"="en"

[RunBefore]
RegEdit=$Home$\$AppName$\$AppName$.reg

[StringReplace=$Home$\$AppName$\$AppName$.reg]
file:\\|\\e/Teks\\/Sweet%20/Home%203/D\\=$Lib$|\\%20

"recent/Homes#1"|///User=="@ScriptDir@|\\
"recent/Homes#2"|///User=="@ScriptDir@|\\
"recent/Homes#3"|///User=="@ScriptDir@|\\
"recent/Homes#4"|///User=="@ScriptDir@|\\
"recent/Homes#1"|///Lib=="@ScriptDir@|\\
"recent/Homes#2"|///Lib=="@ScriptDir@|\\
"recent/Homes#3"|///Lib=="@ScriptDir@|\\
"recent/Homes#4"|///Lib=="@ScriptDir@|\\

[Options]
MultipleIstances=false
DeleteTemp=true
RunWait=true
ShowSplash=false
Back to top
Website
zandet2
Wed 30 Jul 2008 - 23:06

online

Registered Member #3184
Joined: Tue 06 Mar 2007 - 11:52
Location: Busto Arsizio
Posts: 3301
Avevo optato per la copia dell'intera libreria perchè è possibile inserire manualmente una intera collezione di mobili semplicemente copiando il file .sh3d direttamente nella cartella "userprofile"\eteks\furniture senza effettuare l'importazione, operazione che non lascia nessuna traccia nel registro:

Da sweethome3d.sourceforge.net/importModels.html#ModelsLibraries: -Link-
As some systems (like Linux) may not be able to associate SH3F files with Sweet Home 3D, please copy by yourself the SH3F file in furniture plugin folder, if double-clicking on it has no effect.


Non ero poi intervenuto sui "recenti", perchè di default per i salvataggi apre la cartella Documenti di sistema, e se non trova il file recente nella posizione indicata nel registro sempicemente ripulisce l'elenco.

Ciao

[ Edited Wed 30 Jul 2008 - 23:10 ]
Back to top
Danix
Thu 31 Jul 2008 - 09:42

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
zandet2 wrote ...

Avevo optato per la copia dell'intera libreria perchè è possibile inserire manualmente una intera collezione di mobili semplicemente copiando il file .sh3d direttamente nella cartella "userprofile"\eteks\furniture senza effettuare l'importazione, operazione che non lascia nessuna traccia nel registro:

Utilizzando il tuo ini, ho provato ad includere in %UserProfile%\eteks\furniture le collezioni di mobilio (in formato .sh3f), ma non vengono riconosciute. Tu sei riuscito a farle riconoscere senza importarle?
Back to top
Website
zandet2
Thu 31 Jul 2008 - 10:22

online

Registered Member #3184
Joined: Tue 06 Mar 2007 - 11:52
Location: Busto Arsizio
Posts: 3301
Danix wrote ...

zandet2 wrote ...

Avevo optato per la copia dell'intera libreria perchè è possibile inserire manualmente una intera collezione di mobili semplicemente copiando il file .sh3d direttamente nella cartella "userprofile"\eteks\furniture senza effettuare l'importazione, operazione che non lascia nessuna traccia nel registro:

Utilizzando il tuo ini, ho provato ad includere in %UserProfile%\eteks\furniture le collezioni di mobilio (in formato .sh3f), ma non vengono riconosciute. Tu sei riuscito a farle riconoscere senza importarle?


Le collezioni devono essere inserite in %UserProfile%\eTeks\Sweet Home 3D\furniture , in questo modo si attiva la visualizzazione automatica.

Back to top
Danix
Thu 31 Jul 2008 - 10:47

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
Mi dispiace, ma sia che le includa in %UserProfile%\eTeks\Sweet Home 3D\furniture che in %UserProfile%\eTeks\Sweet Home 3D\furniture (presumo che tu voglia dire nella cartella Sweet Home 3D di livello superiore), non vedo le collezioni nell'elenco.
Forse sbaglio qualcosa io o, se vengono riconosciute, non riesco a trovarle.
Back to top
Website
zandet2
Thu 31 Jul 2008 - 14:50

online

Registered Member #3184
Joined: Tue 06 Mar 2007 - 11:52
Location: Busto Arsizio
Posts: 3301
Danix wrote ...

Mi dispiace, ma sia che le includa in %UserProfile%\eTeks\Sweet Home 3D\furniture che in %UserProfile%\eTeks\Sweet Home 3D\furniture (presumo che tu voglia dire nella cartella Sweet Home 3D di livello superiore), non vedo le collezioni nell'elenco.
Forse sbaglio qualcosa io o, se vengono riconosciute, non riesco a trovarle.


Nel mio caso funzionava, ho inserito i file .sh3d nel percorso indicato (%UserProfile%\eTeks\Sweet Home 3D\furniture), e le voci si sono mischiate alle altre precaricate. Attenzione che in questo modo all'interno del programma i nuovi dati non si differenziano dai precedenti.
Gli elementi importati con le funzioni del programma vengono invece inseriti nella cartella %UserProfile%\eTeks\Sweet Home 3D , con relativa voce del registro, e si evidenziano nell'elenco degli oggetti in quanto scritti in carattere italico
Back to top
zandet2
Tue 05 Aug 2008 - 22:48

online

Registered Member #3184
Joined: Tue 06 Mar 2007 - 11:52
Location: Busto Arsizio
Posts: 3301
La nuova rev3 non funziona,
se si prova a importare le collezioni in formato .sh3d dall'interno del programma si carica solo il primo elemento.
L'unico modo per caricare correttamente le collezioni in formato .sh3d è di inserirle nella cartella %UserProfile%\eTeks\Sweet Home 3D\furniture, ma con questo launcher dopo il primo avvio vengono spostate in $Lib$ e non riposizionate al secondo avvio e non lasciano traccia nei registri.

==EDIT==
Proposta:
aggiungere all'ini lo spostamento delle sole collezioni da Lib a Userprofile

[Functions]

; furniture collections
DirCopy=$Lib$\eTeks\Sweet Home 3D\furniture|@UserProfileDir@\eTeks\Sweet Home 3D\furniture|o


[ Edited Tue 05 Aug 2008 - 23:30 ]
Back to top
Danix
Tue 05 Aug 2008 - 23:53

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
Si, avevo dimenticato di ritestarlo bene, prima di metterlo in download..

; furniture collections
DirCopy=$Lib$\eTeks\Sweet Home 3D\furniture|@UserProfileDir@\eTeks\Sweet Home 3D\furniture|o

Con questa istruzione in più, il software funziona?


EDIT

Scusa, non posso testare ora.

Per uniformarlo a

[RunAfter]
DirCopy=@UserProfileDir@\eTeks|$Lib$\eTeks|o


puoi controllare se l'importazione funziona ugualmente con:

[Functions]
DirCopy=$Lib$\eTeks|@UserProfileDir@\eTeks|o


[ Edited Wed 06 Aug 2008 - 00:00 ]
Back to top
Website

Go to page       >>  
Moderators: Danix, Taf, Rcs, Energy, zandet2, ZioZione, Admin, LordJim60

Jump:     Back to top

Syndicate this thread: rss 0.92 Syndicate this thread: rss 2.0 Syndicate this thread: RDF
Powered by e107 Forum System