TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoLISP
 elenco file
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

blubossa
Utente Senior



102 Messaggi

Inserito il - 04 dicembre 2010 : 11:42:58  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao a tutti,
sto scrivendo un lisp che deve leggere i file .dwg presenti in una directory per poi eseguire delle operazioni su ognuno di essi ad esempio

apri, zoom estensioni, stampa e chiudi file

ho iniziato a scrivere
(SETQ PERCORSO "C:\\pippo\\pluto\\Desktop\\test\\")
(setq elencofile (vl-directory-files PERCORSO nil 1))

il mio problema è quello di voler filtrare solo i file con estensione .dwg

c'è qualche funzione che lo fa?
grazie
bb

Terminator
Utente Master



725 Messaggi

Inserito il - 04 dicembre 2010 : 17:19:50  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
(vl-directory-files PERCORSO "*.dwg" 1)
Torna all'inizio della Pagina

Giuseppe Mauro
Amministratore



Regione: Campania
Prov.: Napoli


2707 Messaggi

Inserito il - 04 dicembre 2010 : 18:02:47  Mostra Profilo Invia a Giuseppe Mauro un Messaggio Privato  Rispondi Quotando
Termi, dove posso trovare tutte le funzioni VL e VLAX?
Nei doc che ho non se ne fa menzione
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 04 dicembre 2010 : 18:07:02  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Messaggio inserito da Giuseppe Mauro

Termi, dove posso trovare tutte le funzioni VL e VLAX?
Nei doc che ho non se ne fa menzione


Dovresti trovare il tutto nell'help della documentazione per sviluppatori, almeno nella versione AutoCAD 2007-2008. Nella 2011 è questa:

http://docs.autodesk.com/ACD/2011/ITA/landing.html
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 29 dicembre 2010 : 16:30:58  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao a tutti,

ho scritto questa routine che deve aprire, zommare e stampare i tutti i file dwg presenti in una directory, però c'è qualcosa che non mi funziona correttamente chi mi aiuta?

(vl-load-com)
(defun c:st_el ()

(setq percorso (getstring "immetti percorso: ")

(setq Lista_dwg (vl-directory-files PERCORSO "*.dwg" 1))

(setq conta 0)

(foreach aa lista_dwg

(setq aa (vla-open (vla-get-documents (vlax-get-acad-object)) aa))
(vla-activate aa)

(command "_zoom" "_e")
;;; (command "_plot" .......)

(command "_close" "_y")

(setq conta (+ conta 1))
)

);def


grazie
bb
Torna all'inizio della Pagina

joseph
Utente Master



Regione: Lombardia
Prov.: Cremona
Città: Casalmaggiore


1884 Messaggi

Inserito il - 29 dicembre 2010 : 21:18:35  Mostra Profilo Invia a joseph un Messaggio Privato  Rispondi Quotando
Messaggio inserito da Giuseppe Mauro

Termi, dove posso trovare tutte le funzioni VL e VLAX?
Nei doc che ho non se ne fa menzione


Guarda anche questi 2 files.
Scarica allegato:

Elenco-VisualLISP_Functions.zip
172,29 KB

Scarica allegato:

VLR-VLA-VLAX-Implemented.zip
14,07 KB
Torna all'inizio della Pagina

Giuseppe Mauro
Amministratore



Regione: Campania
Prov.: Napoli


2707 Messaggi

Inserito il - 31 dicembre 2010 : 14:28:50  Mostra Profilo Invia a Giuseppe Mauro un Messaggio Privato  Rispondi Quotando
grazie josh
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 06 gennaio 2011 : 00:55:45  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ho letto gli allegati di Joseph e sono utilissimi, ma non riesco ancora ad inquadrare la soluzione. qualcuno di Voi ci ha provatro?

grazie
bb
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 06 gennaio 2011 : 10:37:56  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Uno dei metodi che risolve la situazione, è il seguente:

(defun c:st_el ()
 (vl-load-com)
 (setq percorso (getstring "immetti percorso: "))
 (setq lista_dwg (vl-directory-files percorso "*.dwg" 1))
 (foreach disegno lista_dwg
  (setq	nn (vla-open (vla-get-Documents (vlax-get-acad-object))
		     (strcat percorso "\\" disegno)
	   )
  )
  (vla-close nn :vlax-true)
 )
)


Poi crei un lisp con i comandi che desideri:

(defun C:PIPPO ()
 (command "_zoom" "e" "_plot" .....)
)


Carichi questo file con il comando APPLOAD --> gruppo di avvio e successivamente fai partire il lisp ST_EL. In ogni file aperto della cartella dei disegni partiranno i comandi specificati in PIPPO.LSP.
Ricordati alla fine di rimuovere il file PIPPO.LSP dal gruppo di avvio, altrimenti ogni file aperto subirà lo stesso trattamento.

Il metodo non è il massimo dal punto di vista estetico ma funziona.
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 06 gennaio 2011 : 19:07:03  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Piccola errata corrige al post precedente:

(vla-close nn :vlax-true)
;;; il file viene chiuso e salvato

(vla-close nn :vlax-false)
;;; il file viene chiuso e non salvato

Se devi solo zoomare e stampare, meglio la seconda scelta.


Modificato da - Terminator in data 06 gennaio 2011 21:13:37
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 0,69 secondi.