Menù Principale

Cerca
Login
Registrati
Link
<< Discussione precedente | Discussione successiva >>   
[Fixed] X-Sweethome3D

Vai a pagina       >>  
Autore Messaggio
zandet2
dom 20 lug 2008 - 13:44

online

Utente registrato #3184
Registrato il: mar 06 mar 2007 - 11:52
Provenienza: Busto Arsizio
Messaggi: 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 .

[ Modificato gio 18 set 2008 - 00:03 ]
Torna ad inizio pagina
zandet2
sab 26 lug 2008 - 21:48

online

Utente registrato #3184
Registrato il: mar 06 mar 2007 - 11:52
Provenienza: Busto Arsizio
Messaggi: 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.

[ Modificato sab 26 lug 2008 - 21:51 ]
Torna ad inizio pagina
Danix
mer 30 lug 2008 - 19:16

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 12926
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
Torna ad inizio pagina
Sito Web
zandet2
mer 30 lug 2008 - 23:06

online

Utente registrato #3184
Registrato il: mar 06 mar 2007 - 11:52
Provenienza: Busto Arsizio
Messaggi: 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

[ Modificato mer 30 lug 2008 - 23:10 ]
Torna ad inizio pagina
Danix
gio 31 lug 2008 - 09:42

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 12926
zandet2 ha scritto ...

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?
Torna ad inizio pagina
Sito Web
zandet2
gio 31 lug 2008 - 10:22

online

Utente registrato #3184
Registrato il: mar 06 mar 2007 - 11:52
Provenienza: Busto Arsizio
Messaggi: 3301
Danix ha scritto ...

zandet2 ha scritto ...

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.

Torna ad inizio pagina
Danix
gio 31 lug 2008 - 10:47

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 12926
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.
Torna ad inizio pagina
Sito Web
zandet2
gio 31 lug 2008 - 14:50

online

Utente registrato #3184
Registrato il: mar 06 mar 2007 - 11:52
Provenienza: Busto Arsizio
Messaggi: 3301
Danix ha scritto ...

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
Torna ad inizio pagina
zandet2
mar 05 ago 2008 - 22:48

online

Utente registrato #3184
Registrato il: mar 06 mar 2007 - 11:52
Provenienza: Busto Arsizio
Messaggi: 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


[ Modificato mar 05 ago 2008 - 23:30 ]
Torna ad inizio pagina
Danix
mar 05 ago 2008 - 23:53

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 12926
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


[ Modificato mer 06 ago 2008 - 00:00 ]
Torna ad inizio pagina
Sito Web

Vai a pagina       >>  
Moderatori: Danix, Taf, Rcs, Energy, zandet2, ZioZione, Admin, LordJim60

Salta:     Torna ad inizio pagina

RSS discussione: rss 0.92 RSS discussione: rss 2.0 RSS discussione: RDF
Powered by e107 Forum System