Sostituire blocco cartiglio a più disegni in AutoCAD 2008

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
Ciao, avrei questa necessità, dovrei sostituire a circa 100 tavole, il blocco del cartiglio (cambia il logo) mantenendo gli attributi già inseriti... (se esplodo scompaiono...)

Sapreste indicarmi un metodo? ...e magari per farlo in automatico a tutti e 100?
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
E' abbastanza semplice.
Apri il primo file.
Tramite block editor, modifica il cartiglio, salvando le modifiche noterai che gli attributi sono rimasti invariati.
Salvati, tramite wblock, il blocco del cartiglio, nome del file = nome del blocco.
Apri il secondo file, setta la variabile attreq a 0, inserisci il blocco del cartiglio usando:
-_insert NomeBlocco=NomeBlocco "0,0" 1 1 0
cancelli il blocco appena inserito:
_erase _last
Tramite il generatore di script, che trovi quì su cad3D, puoi automatizzare il tutto.
Buon divertimento
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
E' abbastanza semplice.
Apri il primo file.
Tramite block editor, modifica il cartiglio, salvando le modifiche noterai che gli attributi sono rimasti invariati.
Salvati, tramite wblock, il blocco del cartiglio, nome del file = nome del blocco.
Apri il secondo file, setta la variabile attreq a 0, inserisci il blocco del cartiglio usando:
-_insert NomeBlocco=NomeBlocco "0,0" 1 1 0
cancelli il blocco appena inserito:
_erase _last
Tramite il generatore di script, che trovi quì su cad3D, puoi automatizzare il tutto.
Buon divertimento
uh.. ah uh.. ahh :D aspetta aspetta...
già il comando Voce di comando: modifbloc lo conosco grazie a tè...

..ma tutto il resto non l'ho capito... come farei ad automatizzare tutto?

Grazie
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
E' abbastanza semplice.
Apri il primo file.
Tramite block editor, modifica il cartiglio, salvando le modifiche noterai che gli attributi sono rimasti invariati.
Salvati, tramite wblock, il blocco del cartiglio, nome del file = nome del blocco.
Apri il secondo file, setta la variabile attreq a 0, inserisci il blocco del cartiglio usando:
-_insert NomeBlocco=NomeBlocco "0,0" 1 1 0
cancelli il blocco appena inserito:
_erase _last
Tramite il generatore di script, che trovi quì su cad3D, puoi automatizzare il tutto.
Buon divertimento
uh.. ah uh.. ahh :D aspetta aspetta...
già il comando Voce di comando: modifbloc lo conosco grazie a tè...

..ma tutto il resto non l'ho capito... come farei ad automatizzare tutto?

Grazie

scarichi questo programma scitto da rpor66 http://www.cad3d.it/forum1/showthread.php?t=6107&highlight=script

e inserisci nelle celle quello che ti ha scitto sopra

-_insert NomeBlocco=NomeBlocco "0,0" 1 1 0
_erase _last

il programma ti chiede di selezionare i file

e ti crea un file scr da eseguire in autocad da strumenti esegui script

il programmafarà il resto

ovviamente se vuoi che chiuda i file devi inserire alla fine
_qsave
_close
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
Allegati:
- CreaFileScript.xls
- LosRect3.dwg
- Tavola 1.dwg
- Tavola 2.dwg
- Tavola 3.dwg

Crea una directory su c:\ e chiamala Reggio.
Copiaci tutti i file dwg.
Avvia CreaFileScript.xls.
E' già pronto, in alto a sinistra sono elencati i file dwg, nella colonna D ci sono i comandi che, aprono il disegno, settano attreq, inseriscono il nuovo blocco ridefinendo quello esistente, cancellano l'ultima entita disegnata (in questo caso il blocco inserito), salvano, chiudono.
Clicca nel tasto <Crea File Script>, salva il file nella directory c:\Reggio, chiamalo come vuoi.
Avvia Autocad, comando SCRIPT, avvia lo script appena creato.
Finito.
A te adattarlo alle tue tavole.

Ciao
 

Allegati

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
.... ma è una figata!!!! :D

io poi x fare prime a scrivere i 100 e passa nomi di disegno ho usato da command
dir /s/b *.dwg >elencodwg.txt

poi è bastato aprire elencodwg.txt copiare e incollare tutto sul foglio di excel

...solo che nonostante io abbia cambiato i comandi con questi:
_OPEN
FILE
(command "_setvar" "_attreq" 0)
_-INSERT
MIATAB=c:/6447/MIATAB
0,0
1
1
0
_ERASE
_LAST
_QSAVE
_Close

lo script autocad continua a cercare il tuo "LosRect3" ... (????) perchè???
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
perché non hai cliccato su CreaFileScript!
Fallo!
Ti chiede il nome, daglielo.
Quando lanci da autocad lo script, assicurati sia quello creato da te.

Ciao

p.s.: Nel file CreaFileScript c'é il pulsante <Seleziona file>, serve ad inserire i file da elaborare.
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
perché non hai cliccato su CreaFileScript!
Fallo!
Ti chiede il nome, daglielo.
Quando lanci da autocad lo script, assicurati sia quello creato da te.

Ciao

p.s.: Nel file CreaFileScript c'é il pulsante <Seleziona file>, serve ad inserire i file da elaborare.
... ecco appunto... ho fatto la figura di ...., bastava leggere e provare meglio... sorry :tongue:

Ascolta, stà cosa dello script è molto figa, è una specie di file batch o di lisp ma che potendola inserire da excel che permette formule anche complesse è mooolto interessante, sai indicarmi qlc manualetto base nel caso mi venga voglia di approfondire?

Grazie ancora molte
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
Manuale di CreaFileScript? non l'ho mai fatto.
Per gli script quanto postato da PlannerRoad dovrebbe illuminarti la via.

Ciao, alla prossima.
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
...uuunn ultima cosa.. ma ora se volessi far stampare in automatico TUTTI i disegni che metto in elenco excel su stampante pdf ... ci si riesce? :D
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
...uuunn ultima cosa.. ma ora se volessi far stampare in automatico TUTTI i disegni che metto in elenco excel su stampante pdf ... ci si riesce? :D
se guardi il file che rpor66 ti ha mandato ci sono delle colonne dove ci sono dei settaggi per le stampe, sicuramente ne trovi uno che ti va bene o comunque cambiando nome allo stile o alla stampante risolvi
ovviamene devi metterlo nella prima colonna selezionare i file e creare il file scr come per il blocco

Appure lo puoi integrare, cioè aggiorni il blocco stampi salvi esci

Puoi fare come preferisci.
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
.. aahhhh ma dove sbagli ora :( ???

Comando: (command "_setvar" "_attreq" 0)
_setvar Digitare nome della variabile o [?]: _attreq
Nome della variabile sconosciuto. Digitare MODIVAR ?
per un elenco delle variabili.
Comando: 0

Comando: nil

Comando: _-INSERT
Digitare nome del blocco o [?]: DUNATAB=c:/6448/DUNATAB
Il blocco DUNATAB fa riferimento a se stesso
Rigenerazione modello in corso.
*Non valido*

_OPEN
FILE
(command "_setvar" "_attreq" 0)
_-INSERT
DUNATAB=c:/6448/DUNATAB
0,0
1
1
0
_ERASE
_LAST
_QSAVE
_Close


C:\6448\ASCS101A.dwg
C:\6448\ASCS102A.dwg
C:\6448\ASCS103A.dwg
C:\6448\ASCS104A.dwg
C:\6448\ASCS105A.dwg
C:\6448\ASCS106A.dwg
C:\6448\ASCS107A.dwg
C:\6448\ASCS108A.dwg

:(
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
_SETVAR (MODIVAR) è un comando, ATTREQ una variabile, quindi la seconda devi inserirla "nature", senza l'underscore:
(command "_setvar" "attreq" 0)


Visto che si tratta di un'espressione lisp è comunque più comodo assegnare direttamente il valore alla variabile:
(setvar "ATTREQ" 0)
così non ci sono problemi di lingua.
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
...nota personale, per la cronaca e per i posteri:
Se le tabelle sono poche, forse conviene usare semplicemente il comando EDITA BLOCCHI e modificare a mano il cartiglio.
 

Allegati

brizzo1982

Utente Junior
Professione: Impiegato tecnico
Software: Autocad 2010
Regione: Lombardia
Buongiorno a tutti.
Cercando per il forum ho trovato questa discussione che s'avvicina a quanto devo realizzare con uno script su parecchie decine di files.
Devo modificare una o più definizioni di attributo al cartiglio del disegno (formato da circa 45 attributi, tutti con etichette diversa però eh! ;-) ) a tutti i disegni.
Riassumo la necessità con un breve esempio:
etichetta: COMMITTENTE (sig. Paolo Rossi)
etichetta: PROGETTO (Progetto Impianto Riscaldamento)
etichetta: OGGETTO (Casa Privata)
etichetta: LUOGO (Via Roma, 1 Milano)
etichetta: DATA_REV_0 (1 gennaio 2012)
etichetta: DATA_REV_1 ()
etichetta: DATA_REV_2 ()


La necessità ora è di modificare su tutti i cartigli il valore delle seguenti etichette:
etichetta: PROGETTO (Progetto Esecutivo Impianto Riscaldamento)
etichetta: DATA_REV_1 (1 febbraio 2012)

Per quanto riguarda l'automazione su più file potrei utilizzare la funzione Emilisp (http://www.emicad.it/EmiCAD/prodotti/EmiCAD/EmiLISP/index.asp) "Usa script su cartella dwg).

Come tradurre il linguaggio scr?!?

Grazie infinite.


Ciao, avrei questa necessità, dovrei sostituire a circa 100 tavole, il blocco del cartiglio (cambia il logo) mantenendo gli attributi già inseriti... (se esplodo scompaiono...)

Sapreste indicarmi un metodo? ...e magari per farlo in automatico a tutti e 100?
 

confutatis

Guest
Se il cartiglio ha lo stesso nome per tutti i disegni, un metodo si può fare tranquillamente con la funzione (vla-sendcommand). Se mi dai un po' di tempo posso scriverti il comando. E' una cosa analoga a quello che avevo scritto per cambiare dei testi all'interno di un cartiglio e poi applicata a tutti i disegni della directory.
 

brizzo1982

Utente Junior
Professione: Impiegato tecnico
Software: Autocad 2010
Regione: Lombardia
Si, confermo che il cartiglio ha lo stesso nome in tutti i disegni (è il medesimo blocco!)
Ok, rimango in attesa di informazioni aggiuntive..e grazie! :finger: