Script esterno Autocad?

sdagonfo

Utente registrato
Professione: Disegnatore
Software: Autocad
Regione: Veneto
#1
Buongiorno,
Quest'oggi avevo la necessità di crearmi uno script per Autocad con le seguenti funzioni; (Utilizzando il file "CreaScript.xls" presente sul sito)

1. Apri disegno1.
2. Seleziona "Layer1", "Layer2".
3. Copia punto base 0,0,0
4. Chiudi disegno.
5. Apri disegno2.
6. Incolla 0,0,0.
7. Seleziona i due layer incollati ed imposta in colore nero (7).
8. Muovi alla destra di tot mm.
9. Purge All.

Sarei molto grato in caso qualcuno di voi potesse aiutarmi a scriverlo, poiché non conosco tutti i comandi di Autocad.
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#2
Ho dovuto modificare il file CreaFileScript.xls per adattarlo alla tua richiesta, praticamente ogni occorrenza di FILE nella lista comandi incrementa l'indice dei nomi di file.
Lo spostamento a destra lo ottieni direttamente incollando, invece di 0,0 basta variare la coordinata X
 

Allegati

sdagonfo

Utente registrato
Professione: Disegnatore
Software: Autocad
Regione: Veneto
#3
ostamento a destra lo ottieni direttamente incollando, invece di 0,0 basta variare la coordinata X
Innanzitutto ti ringrazio per il tempo che hai dedicato a questo script, sicuramente sarà molto utile sia a me che ai miei colleghi.
Funziona tutto, solo che devo trovare un modo per spostare il contenuto dei due layer nel punto desiderato, ci penserò nei seguenti giorni, poiché la posizione è dinamica (il contenuto ha coordinate diverse per ogni dwg . . . . .).
 

sdagonfo

Utente registrato
Professione: Disegnatore
Software: Autocad
Regione: Veneto
#4
Ho dovuto modificare il file CreaFileScript.xls per adattarlo alla tua richiesta, praticamente ogni occorrenza di FILE nella lista comandi incrementa l'indice dei nomi di file.
Lo spostamento a destra lo ottieni direttamente incollando, invece di 0,0 basta variare la coordinata X
Per caso sapresti se c'è modo di creare uno script anche per scongelare tutti i layer in un disegno, selezionarli tutti e metterli in linea continua? Ti ringrazio nuovamente.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#5
se tu lo dovessi fare da tastiera, come faresti?
Uno script è semplicemente l'esatta sequenza che daresti da tastiera per effettuare una serie di operazioni, solo che viene scritto in un file esterno..
 

sdagonfo

Utente registrato
Professione: Disegnatore
Software: Autocad
Regione: Veneto
#6
se tu lo dovessi fare da tastiera, come faresti?
Uno script è semplicemente l'esatta sequenza che daresti da tastiera per effettuare una serie di operazioni, solo che viene scritto in un file esterno..
Ciò mi è chiaro, riesco benissimo ad eseguire i comandi da tastiera, ma ad esempio in questo caso, io scriverò il seguente script:
SELEZ
TUTTO
PROP

Una volta arrivato a prop, come faccio a selezionare "Tipo di linea" ed a dargli continua?, ovvero come faccio ad interagire con autocad senza la riga di comando?.
Ti ringrazio
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#7
(COMMAND "_LAYER" "_T" "*" "") scongeli tutti i piani
(COMMAND "_LAYER" "_L" "continuous" "*" "") imposta tipo linea
 

sdagonfo

Utente registrato
Professione: Disegnatore
Software: Autocad
Regione: Veneto
#8
(COMMAND "_LAYER" "_T" "*" "") scongeli tutti i piani
(COMMAND "_LAYER" "_L" "continuous" "*" "") imposta tipo linea
Sto eseguendo questi due comandi con lo script, che sembrano rivelarsi molto utili poiché devo fare questo lavoro per 400 file e passa.
Ti ringrazio!
 

sdagonfo

Utente registrato
Professione: Disegnatore
Software: Autocad
Regione: Veneto
#9
(COMMAND "_LAYER" "_T" "*" "") scongeli tutti i piani
(COMMAND "_LAYER" "_L" "continuous" "*" "") imposta tipo linea
Ciao, stavo verificando ora alcuni file sulla quale ho eseguito il comando, e non sono state cambiate le linee, ho provato per curiosità ad eseguirlo su un singolo file ed in effetti non funziona.. che posso fare?
 

Allegati

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#10
Con (COMMAND "_LAYER" "_L" "continuous" "*" "") cambi il tipolinea nei piani, se qulcuno ha disegnato delle entità utilizzando un tipolinea diverso da bylayer non ottieni alcun cambiamento.

(command "_change" "_all" "" "_pr" "_lt" "_bylayer" "") imposta il tipolinea bylayer a tutte le entità del disegno.

(command "_change" (ssget) "" "_pr" "_lt" "_bylayer" "") imposta il tipolinea bylayer a tutte le entità selezionate.