Vai al contenuto
killer79

[maxwell] Rendering Di Grandi Dimensioni

Recommended Posts

Ciao,

è la prima volta che posto su questo forum.. i post dei miei lavori tra un po'.

Sono rimasto impressionato dai rendering di maxwell e, pur essendo un utilizzatore di XSI, mi sono riavvicinato a 3D MAX per provare questo favoloso motore di rendering.

Volevo sapere se qualcuno di voi l'ha provato su rendering di grandi dimensioni (ES: cartellone da cantiere) e con che risultati.

In particolare vorrei sapere come sono i tempi di rendering rispetto agli altri motori.

Che la teiera rossa sia con voi.... :TeapotBlinkRed:

Grazie

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Devo fare un cartellone 3metri per 2metri e facendolo stampare ad una risoluzione di 48dpi, devo fare un render di 14400px per 9600px.

Possiedo un pc con windows xp professional 64bit con processore intel 2 extreme X9650 (4 core da 3ghz l'uno) e 8GB di RAM.

Uso il 3DS max 2009 SP1 con plugin maxwell 1.7.8 e maxwell renderer 1.7.0.

La scena è composta da 2968808 polys e 2061003 verts.

Impostando quella risoluzione, (14400x9600), mi esce questo errore:

Runtime Error!

Program:

This application has requested the Runtime to terminate it in an unsual way. Please contact the application's support team for more information.

A quanto pare puoi anche avere un 64bit ma maxwell ha, di per se, un limite per la dimensione massima di render.

Si potrebbe risolvere con render "CROP" ma purtroppo è una funzione ancora non disponibile.


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ho fatto una breve ricerca, ma non ho trovato nulla di sicuro, QUI trovi il form per chiedere supporto direttamente alla next limits.

sicuramente fai prima, ed avrai una risposta certa.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Ciao

il mio nome è xxx e faccio parte del xxx

in questo forum : www.xxx

troverai molte informazioni utili che riguardano xxx

è completamente in italiano.

Ti aspettiamo

Ciao Ciao

TiZ

P.S. Non credo sia opportuno risponderti in questo forum - non lo trovo corretto.


Modificato da cecofuli

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Giusto per la cronaca, nel messaggio #4 ho scritto male. Queste sono le informazioni corrette:

Devo fare un cartellone 3metri per 2metri e facendolo stampare ad una risoluzione di 120dpi che corrispondono a 48px/cm, devo fare un render di 14400px per 9600px.

Lo so che sembrano tanti 120dpi per un cartellone ma non decido io, decide il mio capo. :-)

Comunque ho fatto un po' di test e sono riuscito a renderizzare un render a 7000 x 5490. è il massimo credo...


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)
Ciao

il mio nome è **** e faccio parte del ****

in questo forum :****

troverai molte informazioni utili che riguardano Maxwell Render

è completamente in italiano.

Ti aspettiamo

Ciao Ciao

TiZ

P.S. Non credo sia opportuno risponderti in questo forum - non lo trovo corretto.

Visto che fai parte dello staff di MR, invece di fare pubblicità al vostro forum, potevi rispondere al problema dell'utente...

qual'è la risoluzione massima che supporta mr? ;)


Modificato da Mercy

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Forse vi può interessare questo script che ho appena sfornato.

è molto semplice, ti dice quale deve essere la dimensione del render (Espressa in pixel) in base alla risoluzione (Espressa in dpi e in px/cm) e in base alla grandezza della stampa.

è più facile usarlo che spiegare come funziona!!!

(

rollout stampaROLLOUT "Calcola, renderizza e stampa" width:240 height:180

(

	spinner aSPN "" pos:[8,32] width:72 height:16 range:[0,1000,0] scale:0.1 

	spinner bSPN "" pos:[128,32] width:72 height:16 range:[0,1000,0] scale:0.1

	spinner cSPN "" pos:[8,88] width:72 height:16 range:[1,600,0] type:#integer scale:1

	spinner dSPN "" pos:[128,88] width:72 height:16 range:[0.394,300,0] scale:0.01

	spinner eSPN "" pos:[8,144] width:72 height:16 range:[1,90000,0] type:#integer

	spinner fSPN "" pos:[128,144] width:72 height:16 range:[1,90000,0] type:#integer

	label lbl1 "Cm" pos:[80,32] width:32 height:16

	label lbl2 "Cm" pos:[200,32] width:32 height:16

	label lbl3 "dpi" pos:[80,88] width:32 height:16

	label lbl4 "px/cm" pos:[200,88] width:32 height:16

	label lbl5 "Px" pos:[80,144] width:32 height:16

	label lbl6 "Px" pos:[200,144] width:32 height:16

	label lbl7 "Dimensione di stampa:" pos:[64,8] width:112 height:16

	label lbl8 "Risoluzione:" pos:[88,64] width:64 height:16

	label lbl9 "Dimensione di render:" pos:[64,120] width:112 height:16

	button aboutBTN "A" pos:[220,156] width:20 height:20



	on stampaROLLOUT open do

	(

		aSPN.value = 30

		bSPN.value = 20

		cSPN.value = 300

		dSPN.value = 118.11

		eSPN.value = 3543

		fSPN.value = 2362

	)

	on aSPN changed val do

	(

		dSPN.value = cSPN.value / 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

	)

	on bSPN changed val do

	(

		dSPN.value = cSPN.value / 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

	)

	on cSPN changed val do

	(

		dSPN.value = cSPN.value / 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

	)

	on dSPN changed val do

	(

		cSPN.value = dSPN.value * 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

	)

	on eSPN changed val do

	(

		aSPN.value = eSPN.value / dSPN.value

	)

	on fSPN changed val do

	(

		bSPN.value = fSPN.value / dSPN.value

	)

	on aboutBTN pressed do

	(

			messageBox "																													  -Autore:																																																										  Valerio Palumbo (Mangustiano)" title:"About..." beep:false

		)

)

	createdialog stampaROLLOUT

)

Gradirei ricevere un giudizio per questo script da parte del mio mentore Cecofuli :)


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

In effetti per questo c'è già il Print Size Assistant

Ciò che è più utile, è capire invece quanti siano i dpi utili di stampa, per ottimizzare le risoluzioni di stampa evitando di impiegare risorse in calcoli di immagini a 120dpi, quando magari ne bastano 50 o 60 (il che si riduce in tempi ridotti di 1/3 e meno problemi di RAM)


Modificato da Loki

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

In realtà ho scritto quello script perchè mi piace scrivere script.

Sto cercando di imparare ad usarlo infatti creo di tutto e di più... E lo faccio senza preoccuparmi se esiste già una funzione identica del 3DS, il mio scopo è ottenere la funzione che voglio. Puro divertimento.

Ero solo curioso di sapere se avresti scritto uno script molto diverso dal mio.

P.S.: non conoscevo il Print Size Assistant... :lol:


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

A beh se è così, giustificatissimo! E' sempre buona cosa sperimentare, poco importa se le cose esistono già :)

E visto che esiste già, perchè non provi allora a creare uno script che introduca la teoria che ho scritto per valutare i giusti dpi?

Dai un occhio qui se non la conosci già: LINK


Modificato da Loki

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Devo fare un cartellone 3metri per 2metri e facendolo stampare ad una risoluzione di 48dpi, devo fare un render di 14400px per 9600px.

Possiedo un pc con windows xp professional 64bit con processore intel 2 extreme X9650 (4 core da 3ghz l'uno).

Ti piacerebbe e?!?!?

Se avessi un quad con ogni core da 3GHz avresti superato una soglia molto importante di frequenza, cosa che ancora non si può fare senza raffreddamento a liquido, ma sopratutto non esiste nessun processore con 12GHz totali....

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Per Mark83:

Beh forse ho letto male MA nella "gestione periferiche" ho 4core da 3ghz l'uno.

Comunque non è bello da parte tua darmi del bugiardo pubblicamente e così gratuitamente...

Ho allegato uno screen shot della "gestione periferiche" così se ho interpretato male questi dati, potresti essere così gentile da spiegarmi.

senzatitolo1j.jpg

Per Loki:

sì posso provare ma non ti prometto niente di certo :P


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Ti piacerebbe e?!?!?

Se avessi un quad con ogni core da 3GHz avresti superato una soglia molto importante di frequenza, cosa che ancora non si può fare senza raffreddamento a liquido, ma sopratutto non esiste nessun processore con 12GHz totali....

questa non l'ho capita? ;)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Per Mark83:

Beh forse ho letto male MA nella "gestione periferiche" ho 4core da 3ghz l'uno.

Comunque non è bello da parte tua darmi del bugiardo pubblicamente e così gratuitamente...

Ho allegato uno screen shot della "gestione periferiche" così se ho interpretato male questi dati, potresti essere così gentile da spiegarmi.

senzatitolo1j.jpg

Guarda che hai frainteso, la mia replica non voleva essere un modo per denigrarti, bensì un modo scherzoso di risponderti che un quad o un dualcore nell'indicare il clock stanno ad indicare la potenza massima che poi è da dividere per ogni core, non come hai male interpretato tu, ogni core la potenza segnata... altrimenti avresti un processore da 12GHz a questo punto un bus da 1333MHz farebbe da collo di bottiglia...insomma elementi per ragionarci sopra ce ne sono...

Quindi (per rispondere anche a kris), nei test , al superamento dei 3GHz circa, ma sopratutto all'avvicinarsi dei 4GHz avviene un surriscaldamento notevole che solo con azoto liquido si può mantenere stabile (è anche vero che ora le cpu scaldano meno ma comunque siamo lì).

Sopratutto un sistema ad azoto liquido non è alla portata di tutti anche perchè si dovrebbe tenere la mainboard fuori dal case.... se cerchi in rete puoi trovare anche dei video a testimonianza di questi test... quindi figurarsi con 12GHz.

questa non l'ho capita? ;)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

so bene che a 4ghz si raffredda la cpu con azoto liquido, resta il fatto che una cpu quad core a 3ghz, è composta da 4 core paralleli che funzionano a 3ghz l'uno. secondo te un quad core da 3ghz ha ogni core a 750 mhz? se la pensi così ti stai sbagliando... di grosso

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Non so se può interessare a qualcuno ma ho fatto degli aggiornamenti del mio script.

Adesso c'è la possibilità di impostare dei rapporti prestabiliti tipo 3:2 (formato fotografico),

16:9 (formato widescreen), 16:10 (formato monitor widescreen), 16:9 (formato tv widescreen)

e prossimamente il rapporto sarà personalizzabile.

(

rollout stampaROLLOUT "Calcola, renderizza e stampa" width:240 height:224

(

	spinner aSPN "" pos:[8,80] width:72 height:16 range:[0,1000,0] scale:0.1 

	spinner bSPN "" pos:[128,80] width:72 height:16 range:[0,1000,0] scale:0.1

	spinner cSPN "" pos:[8,136] width:72 height:16 range:[1,600,0] type:#integer scale:1

	spinner dSPN "" pos:[128,136] width:72 height:16 range:[0.394,300,0] scale:0.01

	spinner eSPN "" pos:[8,192] width:72 height:16 range:[1,90000,0] type:#integer

	spinner fSPN "" pos:[128,192] width:72 height:16 range:[1,90000,0] type:#integer

	label lbl1 "Cm" pos:[80,80] width:32 height:16

	label lbl2 "Cm" pos:[200,80] width:32 height:16

	label lbl3 "dpi" pos:[80,136] width:32 height:16

	label lbl4 "px/cm" pos:[200,136] width:32 height:16

	label lbl5 "Px" pos:[80,192] width:32 height:16

	label lbl6 "Px" pos:[200,192] width:32 height:16

	label lbl7 "Dimensione di stampa:" pos:[64,56] width:112 height:16

	label lbl8 "Risoluzione:" pos:[88,112] width:64 height:16

	label lbl9 "Dimensione di render:" pos:[64,168] width:112 height:16

	button aboutBTN "A" pos:[220,204] width:20 height:20

	label lbl28 "Rapporti:" pos:[96,8] width:48 height:16

	checkbutton rapporto1 "5:4" pos:[16,32] width:32 height:16 checked:false 

	checkbutton rapporto2 "4:3" pos:[60,32] width:32 height:16

	checkbutton rapporto3 "3:2" pos:[104,32] width:32 height:16

	checkbutton rapporto4 "16:10" pos:[148,32] width:32 height:16

	checkbutton rapporto5 "16:9" pos:[192,32] width:32 height:16



	on rapporto1 changed theState do  --uno alla volta

		(

			bSPN.value = aSPN.value / 1.25

			fSPN.value = bSPN.value * dSPN.value

			rapporto2.checked = false

			rapporto3.checked = false

			rapporto4.checked = false

			rapporto5.checked = false

		)

	on rapporto2 changed theState do  --uno alla volta

		(

			bSPN.value = aSPN.value / 1.33333333333333333333

			fSPN.value = bSPN.value * dSPN.value

			rapporto1.checked = false

			rapporto3.checked = false

			rapporto4.checked = false

			rapporto5.checked = false

		)

	on rapporto3 changed theState do  --uno alla volta

		(

			bSPN.value = aSPN.value / 1.5

			fSPN.value = bSPN.value * dSPN.value

			rapporto1.checked = false

			rapporto2.checked = false

			rapporto4.checked = false

			rapporto5.checked = false

		)

	on rapporto4 changed theState do  --uno alla volta

		(

			bSPN.value = aSPN.value / 1.6

			fSPN.value = bSPN.value * dSPN.value

			rapporto1.checked = false

			rapporto2.checked = false

			rapporto3.checked = false

			rapporto5.checked = false

		)

	on rapporto5 changed theState do  --uno alla volta

		(

			bSPN.value = aSPN.value / 1.777777777777777777777

			fSPN.value = bSPN.value * dSPN.value

			rapporto1.checked = false

			rapporto2.checked = false

			rapporto3.checked = false

			rapporto4.checked = false

		)


	on stampaROLLOUT open do

	(

		aSPN.value = 30

		bSPN.value = 20

		cSPN.value = 300

		dSPN.value = 118.11

		eSPN.value = 3543

		fSPN.value = 2362

	)

	on aSPN changed val do

	(

		dSPN.value = cSPN.value / 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		if rapporto1.state == true then

			(

				bSPN.value = aSPN.value / 1.25

			)

		if rapporto2.state == true then

			(

				bSPN.value = aSPN.value / 1.3333333333333333

			)

		if rapporto3.state == true then

			(

				bSPN.value = aSPN.value / 1.5

			)

		if rapporto4.state == true then

			(

				bSPN.value = aSPN.value / 1.6

			)

		if rapporto5.state == true then

			(

				bSPN.value = aSPN.value / 1.77777777777777777

			)

	)

	on bSPN changed val do

	(

		dSPN.value = cSPN.value / 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		if rapporto1.state == true then

			(

				aSPN.value = bSPN.value * 1.25

			)

			if rapporto2.state == true then

			(

				aSPN.value = bSPN.value * 1.3333333333333333333

			)

			if rapporto3.state == true then

			(

				aSPN.value = bSPN.value * 1.5

			)

			if rapporto4.state == true then

			(

				aSPN.value = bSPN.value * 1.6

			)

			if rapporto5.state == true then

			(

				aSPN.value = bSPN.value * 1.777777777777777777777

			)

	)

	on cSPN changed val do

	(

		dSPN.value = cSPN.value / 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

	)

	on dSPN changed val do

	(

		cSPN.value = dSPN.value * 2.54

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

	)

	on eSPN changed val do

	(

		aSPN.value = eSPN.value / dSPN.value

	)

	on fSPN changed val do

	(

		bSPN.value = fSPN.value / dSPN.value

	)

	on aboutBTN pressed do

	(

			messageBox "																													  -Autore:																																																										  Valerio Palumbo (Mangustiano)" title:"About..." beep:false

		)

)

	createdialog stampaROLLOUT

)

Quindi ho creato una funzione non prevista dal "Print Size Assistant"!!!! :P


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Si, ho già visto, stavo appunto analizzando lo script per capire dove possa essere il problema che hai riscontrato.

Purtroppo non usando più MAX, non ho modo di provarlo, quindi mi affido solo alla logica dello script

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Ecco fatto! Aggiustato!

rollout satanROLLOUT "Teoria satanica del cono di pixel" width:224 height:154

(

	spinner aSPN "" pos:[24,24] width:56 height:16 range:[0,3000,0]

	spinner bSPN "" pos:[144,24] width:56 height:16 range:[0,3000,0]

	spinner cSPN "" pos:[24,64] width:56 height:16 enabled:false range:[1,5000,0]

	spinner dSPN "" pos:[144,64] width:56 height:16 range:[1,5000,0]

	spinner eSPN "" pos:[24,112] width:56 height:16 range:[1,30000,0] type:#integer

	spinner fSPN "" pos:[144,112] width:56 height:16 range:[1,30000,0] type:#integer

	button aboutBTN "A" pos:[202,130] width:20 height:20

	label lbl1 "Larghezza in cm" pos:[16,8] width:88 height:16

	label lbl2 "Altezza in cm" pos:[141,8] width:67 height:16

	label lbl3 "dpi" pos:[40,48] width:16 height:16 

	label lbl4 "Rif. qualità (dpi)" pos:[136,48] width:74 height:16

	label lbl5 "Larghezza in px" pos:[16,96] width:80 height:16

	label lbl6 "Altezza in px" pos:[143,96] width:65 height:16





	on satanROLLOUT open do

	(

		aSPN.value = 300

		bSPN.value = 200

		cSPN.value = 46

		dSPN.value = 400

		eSPN.value = 5455

		fSPN.value = 3637

	)

	on aSPN changed val do

	(

		eSPN.value = (aSPN.value / 2.54) * cSPN.value

		fSPN.value = (bSPN.value / 2.54) * cSPN.value

		cSPN.value = dSPN.value/((aSPN.value*0.866)/30)

	)

	on bSPN changed val do

	(

		eSPN.value = (aSPN.value / 2.54) * cSPN.value

		fSPN.value = (bSPN.value / 2.54) * cSPN.value

		cSPN.value = dSPN.value/((aSPN.value*0.866)/30)

	)

	on dSPN changed val do

	(

		cSPN.value = dSPN.value/((aSPN.value*0.866)/30)

		eSPN.value = (aSPN.value / 2.54) * cSPN.value

		fSPN.value = (bSPN.value / 2.54) * cSPN.value

	)

	on aboutBTN pressed do

	(

			messageBox "

				-Autore della formula:

				Loki



				-Autore dello script:

				Valerio Palumbo (Mangustiano)

				" title:"About..." beep:false

		)

)


createdialog satanROLLOUT
Ho soltanto invertito questo:
on dSPN changed val do

	(

	   eSPN.value = (aSPN.value / 2.54) * cSPN.value

	   fSPN.value = (bSPN.value / 2.54) * cSPN.value

	   cSPN.value = dSPN.value/((aSPN.value*0.866)/30)

	)
con questo:
on dSPN changed val do

	(

		cSPN.value = dSPN.value/((aSPN.value*0.866)/30)

		eSPN.value = (aSPN.value / 2.54) * cSPN.value

		fSPN.value = (bSPN.value / 2.54) * cSPN.value

	)

Adesso funziona tutto perfettamente.


Modificato da Mangustiano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Guarda che hai frainteso, la mia replica non voleva essere un modo per denigrarti, bensì un modo scherzoso di risponderti che un quad o un dualcore nell'indicare il clock stanno ad indicare la potenza massima che poi è da dividere per ogni core, non come hai male interpretato tu, ogni core la potenza segnata... altrimenti avresti un processore da 12GHz a questo punto un bus da 1333MHz farebbe da collo di bottiglia...insomma elementi per ragionarci sopra ce ne sono...

Quindi (per rispondere anche a kris), nei test , al superamento dei 3GHz circa, ma sopratutto all'avvicinarsi dei 4GHz avviene un surriscaldamento notevole che solo con azoto liquido si può mantenere stabile (è anche vero che ora le cpu scaldano meno ma comunque siamo lì).

Sopratutto un sistema ad azoto liquido non è alla portata di tutti anche perchè si dovrebbe tenere la mainboard fuori dal case.... se cerchi in rete puoi trovare anche dei video a testimonianza di questi test... quindi figurarsi con 12GHz.

Il difetto dei forum è che spesso scrive gente davvero ignorante con un tono cosi' convinto che potrebbe quasi convincere chi è in cerca di informazioni :-D

Innanzitutto se ad esempio leggiamo 2.66ghz in un i7 920 quella è la frequenza a cui lavora ogni core, e non la somma delle frequenze dei 4 core come dici tu...e questo non significa che quindi il processore stia lavorando a 10.64ghz, semplicemente ogni suo core lavora in parallelo a 2.66ghz.

Poi dici che i processori per essere overcloccati a 4ghz hanno bisogno dell'azoto liquido? xD Il mio i7 920 è a 4ghz ad ARIA!! A liquido si arriva anche a 4.5ghz, e con l'azoto liquido c'e' gente che supera tranquillamente i 5ghz con gli e8xxx.

Quindi fai il piacere di non parlare di cose che non conosci ;-)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ho aggiunto delle nuove funzioni per lo script "Calcola, renderizza e stampa":

rollout stampaROLLOUT "Calcola, renderizza e stampa" width:272 height:456

(

	spinner aSPN "" pos:[16,200] width:72 height:16 range:[0,1000,0] scale:0.1 

	spinner bSPN "" pos:[160,200] width:72 height:16 range:[0,1000,0] scale:0.1

	spinner cSPN "" pos:[16,288] width:72 height:16 range:[1,90000,0] type:#integer scale:1

	spinner dSPN "" pos:[160,288] width:72 height:16 range:[0.394,90000,0] scale:0.01

	spinner eSPN "" pos:[16,360] width:72 height:16 range:[1,90000,0] type:#integer

	spinner fSPN "" pos:[160,360] width:72 height:16 range:[1,90000,0] type:#integer

	label lbl1 "Cm" pos:[88,200] width:32 height:16

	label lbl2 "Cm" pos:[232,200] width:32 height:16

	label lbl3 "dpi" pos:[88,288] width:32 height:16

	label lbl4 "px/cm" pos:[232,288] width:32 height:16

	label lbl5 "Px" pos:[88,360] width:32 height:16

	label lbl6 "Px" pos:[232,360] width:24 height:16

	button aboutBTN "A  B  O  U  T" pos:[8,434] width:256 height:12

	checkbutton rapporto1 "5:4" pos:[16,28] width:32 height:16 checked:false 

	checkbutton rapporto2 "4:3" pos:[68,28] width:32 height:16

	checkbutton rapporto3 "3:2" pos:[120,28] width:32 height:16

	checkbutton rapporto4 "16:10" pos:[172,28] width:32 height:16

	checkbutton rapporto5 "16:9" pos:[224,28] width:32 height:16

	label lbl21 "Rapporto:" pos:[16,224] width:48 height:16

	label rLABEL "" pos:[64,224] width:62 height:16

	label lbl22 "Frazione:" pos:[160,224] width:48 height:16

	label fLABEL "" pos:[208,224] width:50 height:16

	GroupBox grp1 "Dimensioni di stampa:" pos:[8,176] width:256 height:72

	GroupBox grp2 "Risoluzione:" pos:[8,264] width:256 height:56

	GroupBox grp3 "Dimensione di render:" pos:[8,336] width:256 height:56

	GroupBox grp4 "Rapporti comuni:" pos:[8,8] width:256 height:64

	button impostaBTN "Imposta dimensioni render" pos:[136,408] width:128 height:26

	button prendiBTN "Prendi dimensioni render" pos:[8,408] width:128 height:26

	checkbutton bloccarenderBTN "B" pos:[120,360] width:16 height:16 

	GroupBox grp9 "Dimensioni comuni:" pos:[8,80] width:256 height:88

	button DIM01 "2560x1280" pos:[16,96] width:60 height:16

	button DIM02 "2560x1024" pos:[77,96] width:60 height:16

	button DIM09 "A0" pos:[138,96] width:60 height:16

	button DIM10 "A4" pos:[199,96] width:60 height:16

	button DIM03 "1280x1024" pos:[16,112] width:60 height:16

	button DIM04 "1024x768" pos:[77,112] width:60 height:16

	button DIM11 "A1" pos:[138,112] width:60 height:16

	button DIM12 "A5" pos:[199,112] width:60 height:16

	button DIM05 "1920x1200" pos:[16,128] width:60 height:16

	button DIM06 "1600x1200" pos:[77,128] width:60 height:16

	button DIM13 "A2" pos:[138,128] width:60 height:16

	button DIM14 "A6" pos:[199,128] width:60 height:16

	button DIM07 "1440x900" pos:[16,144] width:60 height:16

	button DIM08 "800x600" pos:[77,144] width:60 height:16

	button DIM15 "A3" pos:[138,144] width:60 height:16

	button DIM16 "20.4x29.1" pos:[199,144] width:60 height:16

	button sbloccaBTN "S b l o c c a	t u t t o" pos:[16,44] width:240 height:16



	on stampaROLLOUT open do	--imposta valori prestabiliti all'apertura

	(

		aSPN.value = 30

		bSPN.value = 20

		cSPN.value = 300

		dSPN.value = 118.11

		eSPN.value = 3543

		fSPN.value = 2362

		rLABEL.text = 1.5 as string

	)

	on aSPN changed val do	--quando cambia il valore di aSPN

	(

		if bloccarenderBTN.checked == false then

		(

			dSPN.value = cSPN.value / 2.54

			eSPN.value = aSPN.value * dSPN.value

			fSPN.value = bSPN.value * dSPN.value

			--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

			--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

			--rapporti comuni

			if rapporto1.state == true then

				(

					bSPN.value = aSPN.value / 1.25

					rLABEL.text = 1.25 as string

				)

			if rapporto2.state == true then

				(

					bSPN.value = aSPN.value / 1.3333333333333333

					rLABEL.text = 1.3333333333333333 as string

				)

			if rapporto3.state == true then

				(

					bSPN.value = aSPN.value / 1.5

					rLABEL.text = 1.5 as string

				)

			if rapporto4.state == true then

				(

					bSPN.value = aSPN.value / 1.6

					rLABEL.text = 1.6 as string

				)

			if rapporto5.state == true then

				(

					bSPN.value = aSPN.value / 1.77777777777777777

					rLABEL.text = 1.77777777777777777 as string

				)

		)

		else

		(

			dSPN.value = eSPN.value / aSPN.value

			bSPN.value = fSPN.value / dSPN.value

			cSPN.value = dSPN.value * 2.54

			--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

			--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.777777777777777777777 then fLABEL.text = "16:9" as string

			if rap >= 1.777777777777777777777  then fLABEL.text = "non saprei" as string

			--rapporti comuni

			if rapporto1.state == true then

				(

					bSPN.value = aSPN.value / 1.25

				)

			if rapporto2.state == true then

				(

					bSPN.value = aSPN.value / 1.3333333333333333

				)

			if rapporto3.state == true then

				(

					bSPN.value = aSPN.value / 1.5

				)

			if rapporto4.state == true then

				(

					bSPN.value = aSPN.value / 1.6

				)

			if rapporto5.state == true then

				(

					bSPN.value = aSPN.value / 1.77777777777777777

				)

		)


		if eSPN.value == renderwidth and fSPN.value == renderheight then 

			(

			impostaBTN.enabled = false 

			prendiBTN.enabled = false 

			)

		else 

			(

			impostaBTN.enabled = true

			prendiBTN.enabled = true 

			)

		)

	on bSPN changed val do	--quando cambia il valore di bSPN

	(

		if bloccarenderBTN.checked == false then

			(

				dSPN.value = cSPN.value / 2.54

				eSPN.value = aSPN.value * dSPN.value

				fSPN.value = bSPN.value * dSPN.value

				--rapporto

				rap = aSPN.value / bSPN.value 

				rLABEL.text = rap as string

				--frazione	

				if rap <= 1  then fLABEL.text = "non saprei" as string

				if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

				if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

				if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

				if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

				if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

				if rap >= 1.6885 and rap <= 1.777777777777777777777 then fLABEL.text = "16:9" as string

				if rap >= 1.777777777777777777777  then fLABEL.text = "non saprei" as string

				--rapporti comuni

				if rapporto1.state == true then

				(

					aSPN.value = bSPN.value * 1.25

					rLABEL.text = 1.25 as string

				)

				if rapporto2.state == true then

				(

					aSPN.value = bSPN.value * 1.3333333333333333333

					rLABEL.text = 1.3333333333333333 as string

				)

				if rapporto3.state == true then

				(

					aSPN.value = bSPN.value * 1.5

					rLABEL.text = 1.5 as string

				)

				if rapporto4.state == true then

				(

					aSPN.value = bSPN.value * 1.6

					rLABEL.text = 1.6 as string

				)

				if rapporto5.state == true then

				(

					aSPN.value = bSPN.value * 1.777777777777777777777

					rLABEL.text = 1.77777777777777777 as string

				)

			)

			else

			(

				dSPN.value = fSPN.value / bSPN.value

				aSPN.value = eSPN.value / dSPN.value

				cSPN.value = dSPN.value * 2.54

				--rapporto

				rap = aSPN.value / bSPN.value 

				rLABEL.text = rap as string

				--frazione

				if rap <= 1  then fLABEL.text = "non saprei" as string

				if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

				if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

				if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

				if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

				if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

				if rap >= 1.6885 and rap <= 1.777777777777777777777 then fLABEL.text = "16:9" as string

				if rap >= 1.777777777777777777777  then fLABEL.text = "non saprei" as string

				--rapporti comuni

				if rapporto1.state == true then

					(

						bSPN.value = aSPN.value / 1.25

					)

				if rapporto2.state == true then

					(

						bSPN.value = aSPN.value / 1.3333333333333333

					)

				if rapporto3.state == true then

					(

						bSPN.value = aSPN.value / 1.5

					)

				if rapporto4.state == true then

					(

						bSPN.value = aSPN.value / 1.6

					)

				if rapporto5.state == true then

					(

						bSPN.value = aSPN.value / 1.77777777777777777

					)

			)


		if eSPN.value == renderwidth and fSPN.value == renderheight then 

			(

			impostaBTN.enabled = false 

			prendiBTN.enabled = false 

			)

		else 

			(

			impostaBTN.enabled = true

			prendiBTN.enabled = true 

			)

	)

	on cSPN changed val do	--quando cambia il valore di cSPN

	(

		if bloccarenderBTN.checked == false then

		(

			dSPN.value = cSPN.value / 2.54

			eSPN.value = aSPN.value * dSPN.value

			fSPN.value = bSPN.value * dSPN.value

		)

		else

		(

			dSPN.value = cSPN.value / 2.54

			aSPN.value = eSPN.value / dSPN.value

			bSPN.value = fSPN.value / dSPN.value

		)


		if eSPN.value == renderwidth and fSPN.value == renderheight then 

			(

			impostaBTN.enabled = false 

			prendiBTN.enabled = false 

			)

		else 

			(

			impostaBTN.enabled = true

			prendiBTN.enabled = true 

			)

	)

	on dSPN changed val do	--quando cambia il valore di dSPN

	(

		if bloccarenderBTN.checked == false then

		(

			cSPN.value = dSPN.value * 2.54

			eSPN.value = aSPN.value * dSPN.value

			fSPN.value = bSPN.value * dSPN.value

		)

		else

		(

			cSPN.value = dSPN.value * 2.54

			aSPN.value = eSPN.value / dSPN.value

			bSPN.value = fSPN.value / dSPN.value

		)


		if eSPN.value == renderwidth and fSPN.value == renderheight then 

			(

			impostaBTN.enabled = false 

			prendiBTN.enabled = false 

			)

		else 

			(

			impostaBTN.enabled = true

			prendiBTN.enabled = true 

			)

	)

	on eSPN changed val do	--quando cambia il valore di eSPN

	(

		aSPN.value = eSPN.value / dSPN.value

		rap = aSPN.value / bSPN.value 

		rLABEL.text = rap as string


		if rap <= 1  then fLABEL.text = "non saprei" as string

		if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

		if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

		if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

		if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

		if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

		if rap >= 1.6885 and rap <= 1.777777777777777777777 then fLABEL.text = "16:9" as string

		if rap >= 1.777777777777777777777  then fLABEL.text = "non saprei" as string


		if eSPN.value == renderwidth and fSPN.value == renderheight then 

			(

			impostaBTN.enabled = false 

			prendiBTN.enabled = false 

			)

		else 

			(

			impostaBTN.enabled = true

			prendiBTN.enabled = true 

			)

	)

	on fSPN changed val do	--quando cambia il valore di fSPN

	(

		bSPN.value = fSPN.value / dSPN.value

		rap = aSPN.value / bSPN.value 

		rLABEL.text = rap as string


		if rap <= 1  then fLABEL.text = "non saprei" as string

		if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

		if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

		if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

		if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

		if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

		if rap >= 1.6885 and rap <= 1.777777777777777777777 then fLABEL.text = "16:9" as string

		if rap >= 1.777777777777777777777  then fLABEL.text = "non saprei" as string


		if eSPN.value == renderwidth and fSPN.value == renderheight then 

		(

			impostaBTN.enabled = false 

			prendiBTN.enabled = false 

		)

		else 

		(

			impostaBTN.enabled = true

			prendiBTN.enabled = true 

		)

	)

	on aboutBTN pressed do	--quando premi about

	(

			messageBox "																													  -Autore:																																																										  Valerio Palumbo (Mangustiano)" title:"About..." beep:false

	)





	on rapporto1 changed theState do  --uno alla volta

	(

		bSPN.value = aSPN.value / 1.25

		fSPN.value = bSPN.value * dSPN.value

		rLABEL.text = 1.25 as string

		fLABEL.text = "5:4" as string

		rapporto2.checked = false

		rapporto3.checked = false

		rapporto4.checked = false

		rapporto5.checked = false	

				DIM01.enabled = false

				DIM02.enabled = false

				DIM03.enabled = true

				DIM04.enabled = false

				DIM05.enabled = false

				DIM06.enabled = false

				DIM07.enabled = false

				DIM08.enabled = false

				DIM09.enabled = false

				DIM10.enabled = false

				DIM11.enabled = false

				DIM12.enabled = false

				DIM13.enabled = false

				DIM14.enabled = false

				DIM15.enabled = false

				DIM16.enabled = false

	)

	on rapporto2 changed theState do  --uno alla volta

	(

		bSPN.value = aSPN.value / 1.33333333333333333333

		fSPN.value = bSPN.value * dSPN.value

		rLABEL.text = 1.333 as string

		fLABEL.text = "4:3" as string

		rapporto1.checked = false

		rapporto3.checked = false

		rapporto4.checked = false

		rapporto5.checked = false

				DIM01.enabled = false

				DIM02.enabled = false

				DIM03.enabled = false

				DIM04.enabled = true

				DIM05.enabled = false

				DIM06.enabled = true

				DIM07.enabled = false

				DIM08.enabled = true

				DIM09.enabled = false

				DIM10.enabled = false

				DIM11.enabled = false

				DIM12.enabled = false

				DIM13.enabled = false

				DIM14.enabled = false

				DIM15.enabled = false

				DIM16.enabled = false

	)

	on rapporto3 changed theState do  --uno alla volta

	(

		bSPN.value = aSPN.value / 1.5

		fSPN.value = bSPN.value * dSPN.value

		rLABEL.text = 1.5 as string

		fLABEL.text = "3:2" as string

		rapporto1.checked = false

		rapporto2.checked = false

		rapporto4.checked = false

		rapporto5.checked = false

				DIM01.enabled = false

				DIM02.enabled = false

				DIM03.enabled = false

				DIM04.enabled = false

				DIM05.enabled = false

				DIM06.enabled = false

				DIM07.enabled = false

				DIM08.enabled = false

				DIM09.enabled = false

				DIM10.enabled = false

				DIM11.enabled = false

				DIM12.enabled = false

				DIM13.enabled = false

				DIM14.enabled = false

				DIM15.enabled = false

				DIM16.enabled = false

	)

	on rapporto4 changed theState do  --uno alla volta

	(

		bSPN.value = aSPN.value / 1.6

		fSPN.value = bSPN.value * dSPN.value

		rLABEL.text = 1.6 as string

		fLABEL.text = "16:10" as string

		rapporto1.checked = false

		rapporto2.checked = false

		rapporto3.checked = false

		rapporto5.checked = false

				DIM01.enabled = false

				DIM02.enabled = false

				DIM03.enabled = false

				DIM04.enabled = false

				DIM05.enabled = true

				DIM06.enabled = false

				DIM07.enabled = true

				DIM08.enabled = false

				DIM09.enabled = false

				DIM10.enabled = false

				DIM11.enabled = false

				DIM12.enabled = false

				DIM13.enabled = false

				DIM14.enabled = false

				DIM15.enabled = false

				DIM16.enabled = false

	)

	on rapporto5 changed theState do  --uno alla volta

	(

		bSPN.value = aSPN.value / 1.777777777777777777777

		fSPN.value = bSPN.value * dSPN.value

		rLABEL.text = 1.777 as string

		fLABEL.text = "16:9" as string

		rapporto1.checked = false

		rapporto2.checked = false

		rapporto3.checked = false

		rapporto4.checked = false

				DIM01.enabled = false

				DIM02.enabled = false

				DIM03.enabled = false

				DIM04.enabled = false

				DIM05.enabled = false

				DIM06.enabled = false

				DIM07.enabled = false

				DIM08.enabled = false

				DIM09.enabled = false

				DIM10.enabled = false

				DIM11.enabled = false

				DIM12.enabled = false

				DIM13.enabled = false

				DIM14.enabled = false

				DIM15.enabled = false

				DIM16.enabled = false

	)

	on impostaBTN pressed do	--imposta le dimensioni scelte direttamente sul render setup

	(

		if queryBox "Hai chiuso la finestra Render setup?" beep:false then

		renderwidth = eSPN.value

		renderheight = fSPN.value

	)

	on prendiBTN pressed do	--rileva le dimensioni attuali del render

	(

		eSPN.value = renderwidth

		fSPN.value = renderheight

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		rap = aSPN.value / bSPN.value 

		rLABEL.text = rap as string

		prendiBTN.enabled = false

		impostaBTN.enabled = false


		if rap <= 1  then fLABEL.text = "non saprei" as string

		if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

		if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

		if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

		if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

		if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

		if rap >= 1.6885 and rap <= 1.777777777777777777777 then fLABEL.text = "16:9" as string

		if rap >= 1.777777777777777777777  then fLABEL.text = "non saprei" as string

	)

	on bloccarenderBTN changed theState do	--blocaa le dimensioni del render

	(

		if bloccarenderBTN.checked == true then

			(

				eSPN.enabled = false

				fSPN.enabled = false

				rapporto1.enabled = false

				rapporto2.enabled = false

				rapporto3.enabled = false

				rapporto4.enabled = false

				rapporto5.enabled = false

				prendiBTN.enabled = false

				DIM01.enabled = false

				DIM02.enabled = false

				DIM03.enabled = false

				DIM04.enabled = false

				DIM05.enabled = false

				DIM06.enabled = false

				DIM07.enabled = false

				DIM08.enabled = false

				DIM09.enabled = false

				DIM10.enabled = false

				DIM11.enabled = false

				DIM12.enabled = false

				DIM13.enabled = false

				DIM14.enabled = false

				DIM15.enabled = false

				DIM16.enabled = false

			)

		else 

			(

				eSPN.enabled = true

				fSPN.enabled = true

				rapporto1.enabled = true

				rapporto2.enabled = true

				rapporto3.enabled = true

				rapporto4.enabled = true

				rapporto5.enabled = true

				prendiBTN.enabled =true

				DIM01.enabled = true

				DIM02.enabled = true

				DIM03.enabled = true

				DIM04.enabled = true

				DIM05.enabled = true

				DIM06.enabled = true

				DIM07.enabled = true

				DIM08.enabled = true

				DIM09.enabled = true

				DIM10.enabled = true

				DIM11.enabled = true

				DIM12.enabled = true

				DIM13.enabled = true

				DIM14.enabled = true

				DIM15.enabled = true

				DIM16.enabled = true

			)

	)

	on DIM01 pressed do

	(

		eSPN.value = 2560

		fSPN.value = 1280

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM02 pressed do

	(

		eSPN.value = 2560

		fSPN.value = 1024 

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string


	)

	on DIM09 pressed do

	(

		aSPN.value = 84.1

		bSPN.value = 118.9

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM10 pressed do

	(

		aSPN.value = 21

		bSPN.value = 29.7

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM03 pressed do

	(

		eSPN.value = 1280

		fSPN.value = 1024 

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM04 pressed do

	(

		eSPN.value = 1024

		fSPN.value = 768

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM11 pressed do

	(

		aSPN.value = 59.4

		bSPN.value = 84.1

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM12 pressed do

	(

		aSPN.value = 14.8

		bSPN.value = 21

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM05 pressed do

	(

		eSPN.value = 1920

		fSPN.value = 1200

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM06 pressed do

	(

		eSPN.value = 1600

		fSPN.value = 1200

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM13 pressed do

	(

		aSPN.value = 42

		bSPN.value = 59.4

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM14 pressed do

	(

		aSPN.value = 10.5

		bSPN.value = 14.8

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM07 pressed do

	(

		eSPN.value = 1440

		fSPN.value = 900

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM08 pressed do

	(

		eSPN.value = 800

		fSPN.value = 600

		aSPN.value = eSPN.value / dSPN.value

		bSPN.value = fSPN.value / dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM15 pressed do

	(

		aSPN.value = 29.7

		bSPN.value = 42

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on DIM16 pressed do

	(

		aSPN.value = 20.4

		bSPN.value = 29.1

		eSPN.value = aSPN.value * dSPN.value

		fSPN.value = bSPN.value * dSPN.value

		--rapporto

			rap = aSPN.value / bSPN.value 

			rLABEL.text = rap as string

		--frazione

			if rap <= 1  then fLABEL.text = "non saprei" as string

			if rap >= 1 and rap <= 1.125 then fLABEL.text = "1:1" as string

			if rap >= 1.125 and rap <= 1.2915 then fLABEL.text = "5:4" as string

			if rap >= 1.2915 and rap <= 1.4165 then fLABEL.text = "4:3" as string

			if rap >= 1.4165 and rap <= 1.55 then fLABEL.text = "3:2" as string

			if rap >= 1.55 and rap <= 1.6885 then fLABEL.text = "16:10" as string

			if rap >= 1.6885 and rap <= 1.809 then fLABEL.text = "16:9" as string

			if rap >= 1.81  then fLABEL.text = "non saprei" as string

	)

	on sbloccaBTN pressed do

	(	

		rapporto1.checked = false

		rapporto2.checked = false

		rapporto3.checked = false

		rapporto4.checked = false

		rapporto5.checked = false

		DIM01.enabled = true

		DIM02.enabled = true

		DIM03.enabled = true

		DIM04.enabled = true

		DIM05.enabled = true

		DIM06.enabled = true

		DIM07.enabled = true

		DIM08.enabled = true

		DIM09.enabled = true

		DIM10.enabled = true

		DIM11.enabled = true

		DIM12.enabled = true

		DIM13.enabled = true

		DIM14.enabled = true

		DIM15.enabled = true

		DIM16.enabled = true

	)

)

	createdialog stampaROLLOUT

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×