Creare uno script di rotazione con loop continuo

Terix

Utente registrato
Professione: Libero Professionista
Software: Autocad
Regione: Campania
#1
Salve buongiorno
mi sono appena iscritto perchè vorrei trovare la soluzione ad un grattacapo:
ho creato un oggetto ( disegnato dapprima con linee poi definito un gruppo ed assegnato il nome "5") e creato uno script che lo ruotasse intorno al suo centro ( per il quale ho specificato le coordinate e l'angolo di rotazione) ; ho inserito RSCRIPT per creare un loop continuo.
Lo posto:
RUOTA
g
5

1849.1666,1756.0325,20
3
RSCRIPT

Lo salvo come "rotazione.scr" e lo eseguo e l'oggetto mi ruota a scatti ma non di 3 gradi ( credo che con il RSCRIPT tale movimento debba essere continuo), e a volte mi si blocca e riprende dopo qualche secondo.
Come posso risolverei il problema?

Grazie per l'attenzione
 

dieva

Utente Standard
Professione: CAD Manager - AutoCAD sw developer
Software: AutoCAD | BricsCAD | 3DSMax | Revit
Regione: puglia
#2
Assicurati che dopo RSCRIPT ci sia un rigo vuoto.
Aggiungi un ritardo (delay) di 1 secondo in millisecondi (1000).
Metti OSNAP in Off

Codice:
_rotate
g
5

1849.1666,1756.0325,20
3
_delay
1000
RSCRIPT
 

Terix

Utente registrato
Professione: Libero Professionista
Software: Autocad
Regione: Campania
#3
Ok perfetto grazie per la risposta; avendo il sw in versione italiana avevo inserito il comando "RUOTA" poichè, dopo aver provato nella barra dei comandi appunto Ruota, me lo ha riconosciuto tranquillamente. Avevo anche io pensato all'impostazione di OSNAP in OFF ma non cambiava molto. in sostanza il componente ruotava tipo di 3/6/9/12 gradi poi scattava come se ne ruotasse di 45, poi dopo 100°, quindi una cosa non proprio fluida .

Dopo RSCRIPT (errore mio nell'incollare lo script) ho inserito lo spazio vuoto.
Comunque faccio questa prova.

Scusami se approfitto ma esattamente il delay che io intendo come una pausa, serve per non far aumentare la dimensione del file e quindi non sovraccaricare il sistema? sarà tipo un "prendi fiato e ricomincia"?
Grazie mille
 

dieva

Utente Standard
Professione: CAD Manager - AutoCAD sw developer
Software: AutoCAD | BricsCAD | 3DSMax | Revit
Regione: puglia
#4
Il DELAY è un ritardo. Si ferma l'esecuzione di tutto.
Ho notato che senza quello lo script funziona a scatti... in maniera random.

Probabilmente c'è una 'mancanza di corretta comunicazione' tra una esecuzione di SCRIPT e l'aggiornamento del video.

Gli script risalgono alle primissime versioni di AutoCAD. Negli anni le cose sono cambiate (e migliorate ) nella gestione della risposta grafica.

Mi sembra che ci sia una sorta di 'fuori sync' tra una esecuzione sequenziale di comandi tramite script e l'aggiornamento del video oggi rapidissimo con i moderni PC... o qualcosa del genere.
 

Terix

Utente registrato
Professione: Libero Professionista
Software: Autocad
Regione: Campania
#5
Perfetto grazie mille per tutte le info che sono state utilissime devo dire.
Ho inserito nello script in comandi in italiano e funziona e cosa strana a dire il vero adesso mi va benissimo l'esecuzione in loop anche se non inserisco il delay e anche visualizzando il componente in stile di visualizzazione Realistico ( dato che lo avevo disegnato anche in 3d); ho implementato il progetto inserendo 3 oggetti e riformulato lo script in questo modo:
RUOTA
g
1

647.9949,23.9962
0.5
ruota
g
2

1024.3001,23.9962
-0.5
ruota
g
3

1400.6053,23.9962
0.5
RSCRIPT

Funziona tutto alla perfezione , posso implementare ulteriormente il progetto.
Ancora grazie mille per il pronto intervento.
 

dieva

Utente Standard
Professione: CAD Manager - AutoCAD sw developer
Software: AutoCAD | BricsCAD | 3DSMax | Revit
Regione: puglia
#6
io ho fatto il test ruotando 3 linee... ed ho avuto bisogno del delay.
Può darsi che con oggetti più complessi come i tuoi il ritardo implicito nella selezione faccia scorrere il flusso di comandi correttamente.
 

Terix

Utente registrato
Professione: Libero Professionista
Software: Autocad
Regione: Campania
#7
Credo di si anche perchè, visto che la cosa cominciava a funzionare, ho fatto anche delle prove con due ingranaggi fatti in 3d e ruotano alla perfezione...unico "problema" è che selezionando lo script i gruppi singolarmente, questi si "illuminano" ogni volta, ed in maniera alternata, che sono soggetti ad una rotazione.
 

dieva

Utente Standard
Professione: CAD Manager - AutoCAD sw developer
Software: AutoCAD | BricsCAD | 3DSMax | Revit
Regione: puglia
#8
per disattivare l'evidenziazione metti la variabile HIGHLIGHT a 0
(poi riattivala quando devi lavorare normalmente altrimenti non ti rendi conto se hai selezionato gli oggetti)
 

Terix

Utente registrato
Professione: Libero Professionista
Software: Autocad
Regione: Campania
#9
Buongiorno, perfetto grazie casomai dato che sto implementando il progetto ,a questo punto ,se sarà possibile, crearmi un profilo ad hoc in modo da poter personalizzare anche le variabili di sistema