Risoluzione video consigliata: 1024x768

 
 

  [.:Aggiungi a preferiti:.] | [.:Segnala ad un amico:.]

 
 
[.:Menù:.]

[.:News:.]
27/01/2011: Corretto Bug su funzione Caricalibrerie da TXT

07/01/2010: Autocad - Creare librerie da file TXT.

19/12/2009: Stampe di tutti o una parte di fogli in un sistema a layer. Sempre tipo cadelet ma carica le stampanti del sistema.

18/11/2009: Schemi - Errata corrige per cablaggio Modulo di sicurezza inserzione ausiliari

18/11/2009: Schemi - Errata corrige per avviamento Stella-Triangolo

[.:Tutte le News:.]

[.:Segnalato su:.]

 

 

Webmaster 
      membro della Comunità virtuale di Risorse.net

 

 

Mr.Webmaster

 

[.: Creare menù ad icona per librerie blocchi da TXT :.]

 

Come nasce questa esigenza:
Nasce dalla esigenza di un Autocad alternativo il quale non supporta i menù ad icona richiamati da pulsanti (icone) delle Toolbar, allora avendo + di 400 simboli e slide da recuperare per poterle visualizzare da Toolbar. Inoltre i nomi delle slide non corrispondono ai nomi DWG e una volta selezionato il simbolo dalla libreria non dovevo semplicemente inserire il simbolo, ma richiamare una funzione lisp che si inseriva il blocco, ma doveva fare altre azioni. Tali azioni venivano fatte a seconda delle variabili passate tramite la libreria (menù ad icona).

Come funziona:
Avendo le slide divise per Directory, ho pensato di creare dei file di appoggio TXT scrivendolo in quest'ordine:
1) scrivo il nome della slide (senza estensione),
2) la descrizione del testo da scrivere nell'elenco alla SX delle icone del menù ad icona,
3) il nome del blocco (nel mio caso senza il percorso),
4) la parola INSERT per capire cosa devo fare,
5) lo snap per l'inserimento.

 

Andiamo nel dettaglio della spiegazione e facciamo vedere qualche immagine:

Vediamo com'è formato il file TXT.

La prima riga "Contatti 1" corrisponde al titolo del menù ad icona.
Come scritto sopra il file è formattato in un certo modo. Noterete degli "*" e dei "$".
Gli "*" dividono i settaggi mentre gli "$" indicano che in quel posto la slide è vuota e non richiama nessun comando.
Quindi avremo il composto da un titolo e 20 righe dove scrivere i nostri dati per visualizzare la libreria.
Nell'immagine quì a fianco noterete che su alcune righe c'è alla fine una parola CONT01 che è una funzione che deve essere richiamata quando seleziono la slide. Ma a voi al momento non serve.

Prima ho scritto che vengono gestiti i pulsanti "Successivo" e "Precedente" e la cosa è stata concepita così:
All'interno della nostra directory contenente le slide metto tutte le mie slide che appartengono alla stessa categoria, per esempio:
Ho una categoria "interruttori" e quindi il nome directory potrà essere "Interruttori" ha circa 48 slide corrispondenti a 48 blocchi. Quindi avendo detto prima che il menù è composto da 20 slide dovrò creare 3 file TXT contenenti 20+20+8 righe di settaggi. Tali file dovranno però essere chiamati, come si vuole, ma con prima dell'estensione un numero sequenziale come per es:
Interr1.txt con le prime 20 slide
Interr2.txt con le seconde 20 slide e
Interr3.txt con le ultime 8.

oppure

Interr1.txt con le prime 18 slide
Interr2.txt con le seconde 16 slide e
Interr3.txt con le ultime 12.

 

Quel numero sequenziale mi serve per capire su che range di libreria sono e per gestire anche i pulsanti "Successivo" e "Precedente" ed il menù ad icona è composto da 20 Slide come di consueto.
Lo so è laborioso creare questi file, ma sempre più veloce che creare le varie icone col relativo comando tramite l'interfaccia di Autocad. In questo modo da un pulsante richiamo la libreria che mi serve visualizzare contenente i miei simboli ed in più è utilizzabile con altri programmi CAD che siano compatibili con Visual Lisp o Autolisp.

Quando premeremo l'icona la libreria che si aprirà sarà sempre la prima e quindi quella col nome "...1.txt".

 

Altri dettagli:
Il programma richiama una "dcl" che si chiama "Image.dcl" la quale contiene le 20 slide con le seguente "key" sequenziali, da "img1" a Img20".

I file TXT dovranno essere compilati per tutte le 20 slide anche se la libreria ne conterrà solo 12 per esempio. Per le slide che dovranno rimanere vuote alla relativa riga sul file TXT dovrò scrivere il numero della slide più dei caratteri speciali

5*$*

9*$*

10*$* e così via.

Ricordo che l'asterisco * serve come separatore mentre il dollaro $ per indicare che la slide è vuota. Ho scelto questi caratteri perchè non ho mai visto nomi di blocchi con questi caratteri.

 

L'esempio che pubblicherò sarà solamente per il semplice inserimento di un blocco con eventuale snap di inserimento.

Conterrà il programmino in Vlisp, il file DCL e un file TXT.

Successivamente metterò in linea anche una versione dove la slide corrisponde al nome del blocco e quindi senza questo file TXT di appoggio.

 

Infine:

Ci sarà da modificare una riga di codice del programma dove viene Infine:

Ci sarà da modificare una riga di codice del programma dove viene scritto il perscorso di ricerca del DCL. Al momento il percorso "f:\\LibSima2010\\Autolisp\\image", basterà fare un trova di questo percorso e sostituirlo con uno a vostro piacere mantenendo la parola "image" che è il nome del file DCl che visualizza in menù ad icona, quindi per es: "C:" "C:\\Librerie\\image" oppure "C:/librerie/image"

Il percorso invece di dove andare a trovare i blocchi della libreria verrà scritto su un'icona di una vostra Toolbar e nella voce macro scriverete:

^C^C(setq dir "C:/vostropercorso/categoria");apriicon

Come noterete a volte ho scritto il percorso sia con \\ che con / , questo perchè autolisp accetta tutti e 2.

 

Riassumendo:

1) Se avete necessità di dividere le librerie per categoria, creare per ogni categoria una directory.

2) Ogni directory conterrà tutte le slide e tutti i file TXT strutturato come sopracitato, un file per quante suddivisioni di 20 slide (o blocchi) che si vogliono visualizzare, ricordandosi di salvare i vari nomi dei file TXT con un numero sequenziale, ...1.txt, ...2.txt, ...3.txt. Il numero deve esserci anche se si tratta solo di un file.

3) Modificare con un editor di testo tipo Blocco Note, il percorso del file DCL dedicato alla visualizzazione del menù ad icona.

4) Creare una vostra Toolbar con tutti i vostri pulsanti ed assegnare ad ogni pulsante il codice ^C^C(setq dir"....")

5) Scaricare l'applicazione dall'apposita sezione e salvarla dove si vuole.

6) Caricare l'applicazione da Autocad tramite "Carica applicazione" dalla cartella di dove sono stati scaricati file di prima e selezionare il file con estensione "LSP"

 

Compatibilità:

Ho provato questa funzione con Autocad 2006 e credo anche le versioni successive, Bricscad V9 e V10, ZwCAD della Intellicad, invece ho provato con Intellicad 6.6 Pro e non funziona.

 

Ovviamente rimango a disposizione per eventuali chiarimenti.


 
 

Copyright © 2004 - 2010 by Lucio Ghirardo.   Tutti i diritti riservati.