Newsgroup: it.comp.software.cad
Titolo: Cambiare un blocco

Salve a tutti
scusate la domanda che per qualcuno può essere banale:
ho una serie di file in dwg che possiedono tutti lo stesso blocco.
Adesso sono cambiate le mie esigenze e vorrei cambiare il blocco in esame
con un altro.
E' possibile farlo automaticamente?
Se devo farlo uno alla volta come si cambia un blocco con un altro
sostituendolo nello stesso punto del disegno.
Grazie Sergio.

 E' possibile farlo automaticamente?
Puoi modificare il dwg che costituisce il blocco in base alle nuove
esigenze. Esegui di nuovo l'inserimento blocco facendo attenzione a non
richiamarlo dall'interno del disegno ma dalla cartella nella quale è
riposto. Il programma ti avvertirà che il blocco che stai inserendo è già
presente nel disegno e stai per sovrascriverlo. Il nuovo blocco sostituirà
il vecchio; se l'hai inserito più volte sarà sufficiente farlo una sola
volta.
ciao
Stefano


In pratica (stiamo parlando di AutoCAD vero?):
digita -inser (o insert in inglese)
nome_blocco_da_sostituire=nomefile_col_nuovo_blocco
il programma di chiede se vuoi ridefinire il blocco (sì);
alla richiesta del punto di inserimento interrompi il comando (esc); a quel
punto tutti i blocchi già inseriti sono ridefiniti.
N.B.: attenzione al trattino prima del comando, serve per evitare la
finestra di dialogo.
Maci

 finestra di dialogo.
si, tutto giusto.
ciao
Stefano

Grazie a tutti.
Sergio
"stef@no" <stefan...@liberoTOGLI.it> ha scritto nel messaggio
news:at7gof$cpl$1...@newsreader.mailgate.org...


Scusatemi di nuovo ma voglio porvi una ulteriore domanda allo stesso
quesito:
Ho Utilizzato le istruzioni di Maci e funzionano benissimo,
ma siccome dovrò fare la stessa operazione (cioè digitare inser.... ecc.)
per circa 2000 file, non esiste la possibilità di farlo in modo più veloce?
Es. scrivere il comando completo in una specie di query da richiamare ogni
volta con un clik
Spero di essere stato chiaro.
Grazie a tutti.


 volta con un clik
Puoi comporre uno script, vale a dire un file di testo da creare con notepad
(per esempio) salvandolo con estensione .scr.
In questo file dovrai scrivere le istruzioni nell'ordine con le quali le
esegui sullo schermo; per l'esatta sintassi credo ti convenga eseguire una
volta l'operazione e copiarla dalla finestra di testo che attivi/disattivi
con F2.
Tieni presente che andare a capo (scrivere nuova linea) corrisponde a
[Invio] per cui se avrai bisogno di un doppio invio dovrai lasciare una riga
vuota.
Credo che il tuo script possa avere una struttura del genere (ma mi aspetto
che questo possa essere perfezionato):
_open (lo script si ferma per permetterti l'inserimento nel nome del file)
(procedura descritta da Maci)
_save
_close
_open
A questo punto la questione ricomincia daccapo. Questo ti costringe a stare
davanti al monitor per digitare i nomi file uno per uno. L'alternativa credo
sia
_open nomefile1.dwg
(procedura descritta da Maci)
_save
_close
_open nomefile2.dwg
(procedura descritta da Maci)
_save
_close
_open nomefile3.dwg
ecc. ecc. per tutti i files.
Non mi pare che con gli script sia possibile inserire una variabile che
prelevi il nome del file in maniera automatica. In questo modo, per quanto
lungo e noioso in fase di scrittura potresti sfruttare le ore notturne per
le correzioni.
ciao
Stefano

Ho eseguito le indicazioni che mi ha dato Stefano, ma
non riesco a capire come devo attive lo script cioč come devo farlo partire.
Grazie
Potrei risolvere il problema facendo qualche applicativo in Lisp


 Potrei risolvere il problema facendo qualche applicativo in Lisp
il comando che ti serve è _script. A questo punto devi solo navigare fino
alla cartella nella quale hai riposto lo script (ovviamente la cartella
nella quale sono riposti tutti i disegni da modificare è da preferire alle
altre).
Lisp è certamente mooooooooolto più potente come linguaggio: se hai le
conoscenze e capacità di maneggiare lisp è inutile perdere tempo con gli
script.
ciao
Stefano

Grazie di nuovo Stefano
ho capito come fare. In realtà il programma Lisp non l'ho mai usato ma
conosco un pò il visual basic.
Pensavo di utilizzare un ciclo per poter richiamare tutti i file di una
cartella ma non so se può funzionare.
Se non ti disturbo molto ti vorrei chiedere aiuto
per un altro problema e cioè il seguente:
quando utilizzo il comando INSER e sostituisco il blocco già esistente nel
disegno con il nuovo,
il punto di inserimento dei nuovi blocchi non è quello dei vecchi ma è
riferito alle coordinate 0,0,0 del disegno.
Ho provato a variare le coordinate utilizzando il punto base con il comando
"BASE", ma non funziona.
Spero di essermi spiegato.
Grazie ancora di tutto
Sergio


 Spero di essermi spiegato.
non molto, in verità. Ad ogni modo credo che la cosa migliore da fare sia di
aprire il dwg che costituiva il vecchio blocco, apportare le modifiche
necessarie e salvare. A questo punto apri il disegno che contiene i blocchi
ed effettui l'inserimento del blocco modificato: il programma riconosce il
blocco che stai inserendo come analogo ad uno già inserito nel suo database
e ti chiede se vuoi sovrascriverlo. Rispondi si e sei pronto per il
posizionamento di una nuova copia del blocco. Giunto qui puoi anche
interrompere il comando perché tutte le copie del blocco presenti nel
disegno saranno state aggiornate.
Se non hai seguito la procedura di modificare il vecchio blocco e ne hai
creato invece uno ex-novo a cui hai dato lo stesso nome del vecchio blocco è
possibile che i rapporti tra i punti di inserimento siano saltati.
Spero di essermi spiegato ;o))
ciao
Stefano