- multi foglio

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

 Tutti i Forum
 Autocad
 Autolisp
 multi foglio
 Nuova Discussione  Rispondi Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Pagina Precedente | Pagina Successiva
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 3

plclab
Nuovo Utente



19 Messaggi

Inserito il - 02/08/2004 : 17:48:05  Mostra Profilo  Rispondi Quotando
be se e molto coplicato lasciamo stare, magari vedremo più avanti
cosa si puo fare, ho cercato di far disegnare delle linee verticali al esempio che mi hai passato cercando di fargli fare un collegamento trifase per collegare un motore pero' mi sovrappone le linee perche?

ciao e grazzie
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 02/08/2004 : 20:27:11  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Dunque... tieni conto che x tracciare quelle orizzontali fai lo spostamento appunto in orizzontale col mouse e quindi verticale per le verticali.
Nella riga del command array ... linee "-5", sostituisci -5 con 5. Questo perchè x orizzontali parto dall'alto e con array a "-5" gli dico di tracciarla a -5 mm (avendo il CAD normalmente settato in mm) e quindi verso il basso rispetto alla linea originale.
Per le verticali traccio la linea originale e poi con array a "5" gli dico tracciarne ancora ogni 5mm e quindi verso DX.
Quindi ti è sufficiente modicare il -5 con 5 e per praticità ti consiglio di premere prima il tasto F8 così hai le righe ortogonali.
Inoltre se vuoi avere a disposizione tutte e 2 le funzioni devi salvare la seconda con un altro nome.
Quando comincerai ad avere qualche funzione in + ti dirò come fare a far caricare ad Autocad tutte quante assieme, poi basta richiamare la funzione ed il gioco è fatto.
Tieni sempre conto di una cosa, quando con autolisp richiami un comando autocad tipo linea,cerchio,rettangolo,proprietà e comandi simili, devi scrivere nel codice proprio la sequenza che dovresti fare usando il comando normale.
Ti avverto anche che sto facendo una o + pagine WEB nella sezione di Autocad, dedicate ad un piccolo corso di Autolisp base.

Ciao!!
Torna all'inizio della Pagina

plclab
Nuovo Utente



19 Messaggi

Inserito il - 03/08/2004 : 12:16:44  Mostra Profilo  Rispondi Quotando
ho fatto come mi hai detto pero non capisco perche mi sovrappone le linee e non le separa di 5mm.
ciao
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 03/08/2004 : 13:16:54  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Scusa hai ragione,
per le orizzontali è questa la riga
command "_array" "_l" "" "" fasi "" "-5")

mentre per le verticali è questa
command "_array" "_l" "" "" "" fasi "5")

Infatti l'array lavora diversamente a seconda se devi fare colonne(linee verticali) o righe (linee orizzontali).

Ciao!
Torna all'inizio della Pagina

plclab
Nuovo Utente



19 Messaggi

Inserito il - 05/08/2004 : 09:35:35  Mostra Profilo  Rispondi Quotando
[?]Mio puoi spiegare meglio il significato della riga di codice qui sotto
(command "_array" "_l" "" "" "" fasi "5")
arrary = serie
_l = ? variabile o altro
"" = ?
"" = ?
"" = ?
fasi = ?
"5" = spazzio in mm
ma il resto che significato ha ?

ciao
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 05/08/2004 : 11:17:15  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Allora... premetto che conviene ragionare con comandi in inglese perchè si è + sicuri che funzioni con vari CAD.
Il comando "serie" ti chiede praticamente le seguenti cose:
1) selezionare oggetti che sarebbe il "_l" che corrisponde a last in inglese e quindi "ultimo oggetto" inserito nel disegno che nel nostro caso è la linea.
2) Rettangolare o polare; di default CAD ti da Rettangolare, quindi un invio che sono le prime "" ("" in autolisp corrisponde ad un invio)
3) un altro invio e quindi "" per chiudere la selezione degli oggetti.
4) Numero di righe (altre "")
5) Numero di colonne (fasi o linee) dato da questa riga:
(setq linee (getstring "\nNumero linee: ")).
Torna all'inizio della Pagina

plclab
Nuovo Utente



19 Messaggi

Inserito il - 09/08/2004 : 11:48:51  Mostra Profilo  Rispondi Quotando
[:D]non xcapisco dove sbaglio mi puoi aiutare?


(defun c:conn (/ pt1)
(setq pt1 (getpoint "\nCentro: ")
(command "_circle" "" pt1 "" "10" )
)
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 09/08/2004 : 18:09:12  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Ciao, prima di tutto ricordati che ad ogni parentesi aperta ce ne deve essere una chiusa, quindi la riga
(setq pt1 (getpoint "\nCentro: ")
diventa
(setq pt1 (getpoint "\nCentro: "))
e dopo la riga del command diventa
(command "_circle" pt1 "d" "10" )
prova.
Torna all'inizio della Pagina

plclab
Nuovo Utente



19 Messaggi

Inserito il - 10/08/2004 : 08:32:19  Mostra Profilo  Rispondi Quotando
esiste una soluzzione migliore a queta soluzzione.
vorrei fare che quando inserisco le linee verticali mi crei un collegamento con tanto di connessioni sul trifase.
(defun c:lvert (/ pt1 pt2 linee)

(setvar "blipmode" 0)
(setvar "cmdecho" 0)

(command "_undo" "_be")

(setq pt1 (getpoint "\nInizio linea: "))
(setq pt2 (getpoint "\nFine linea: " pt1))

(setq linee (getstring "\nNumero linee: "))
(command "_line" pt1 pt2 "")
(command "_array" "_l" "" "" "" linee "5")
(command "_circle" pt1 "1" "" )
(command "_array" "_l" "" "" "" linee "5")
(command "_circle" pt1 "0.7" "" )
(command "_array" "_l" "" "" "" linee "5")
(command "_circle" pt1 "0.3" "" )
(command "_array" "_l" "" "" "" linee "5")

(command "_undo" "_end")
(setvar "cmdecho" 1)

(princ)

)
ciao
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 10/08/2004 : 11:30:05  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Ti mando via email il mio caso.
Ciao!
Torna all'inizio della Pagina

plclab
Nuovo Utente



19 Messaggi

Inserito il - 11/08/2004 : 07:27:06  Mostra Profilo  Rispondi Quotando
si vabene ho rinominato un mio blocco che una connessione e ho provato
e funziona , l'unica cosa che sei limitato ad 3 fili,esiste un comando
per ripetere n votle la funzione (es FOR I=1 to 10 ...... Next) in modo da ottenere magari un 3f+n.

ciao

Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 11/08/2004 : 16:50:45  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Si c'è un modo per ripetere una cosa n volte ed è il repeat e funziona così:

(repeat quanti
codice di tutto quello che devi far ripetere
) ; fine repeat
quanti è una variabile che deve essere un numero intero e quindi 4,5,10,39,100. Può essere direttamente anche il numero di ripetizioni.
Per il momento questo per il repeat, probabilmente + avanti mi farai qualche altra domanda per quella variabile "quanti".
Nel caso delle derivazioni da 1 a 4 secondo me la strada da seguire è questa:
sae per esempio devi fare quella a 3 trifase all'interno del repeat devi fare in modo di calcolare per 2 voltei i vari punti di inizi e fine linee dove gli inizi saranno anche l'inserimento della connessione. Ti ho detto 2 volte perchè la prima è data dalla selezione col mouse.
Attenzione che all'interno del repeat devi solamente calcolare i nuovi punti, far tracciare le linee e le connessioni.

A proposito spero utilizzi il Visual Lisp per programmare.
Ciao!
Torna all'inizio della Pagina

plclab
Nuovo Utente



19 Messaggi

Inserito il - 14/09/2004 : 00:13:03  Mostra Profilo  Rispondi Quotando
eccomi di nuovo sono tornato dalle meritate ferie,e devo dire che ho studiato vorrei sottoporre alla tua attenzione alcuni programmini creati dalla base dei tuoi esempi mi dici poi cosa ne pensi .
come e dove posso inviarteli?

ciao
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 14/09/2004 : 08:40:54  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Ben tornato, ferie lunghe mi sembra:))
ti ho mandato una email.
Ciao!
Torna all'inizio della Pagina

admin
Amministratore



Regione: Veneto
Prov.: TV
Città: Treviso


188 Messaggi

Inserito il - 15/09/2004 : 20:23:38  Mostra Profilo  Visita l'Homepage di admin Invia a admin un Messaggio Privato  Rispondi Quotando
Mi sembra tutto ok,
io (come metodo di principio) proverei a fare un repeat sul "Dira.lsp" per incrementare il punto di inserimento.
E' ovvio cmq che 2 punti non ne vale la pena. Magari fai una prova su quello con + punti e poi mi fai sapere.
Poi invece nel file "autoload.lsp", invece di fare il "load" di tutti i file, puoi copiare una dopo l'altra tutte e 4 le procedure che hai fatto, così in un file unico hai tutto.
Io ne ho uno con + di 60 procedure e nel complesso ho 4-5 file (non tutti da 60 cmq) e li ho diviso per cosa devono fare.
Ciao!
Torna all'inizio della Pagina
Pagina: di 3 Discussione Precedente Discussione Discussione Successiva  
Pagina Precedente | Pagina Successiva
 Nuova Discussione  Rispondi Bookmark this Topic Aggiungi Segnalibro
Vai a:
© Torna all'inizio della Pagina
Tradotto Da: Vincenzo Daniele & Luciano Boccellino- www.targatona.it | Distribuito Da: Massimo Farieri - www.superdeejay.net | Powered By: - Snitz Forums 2000 Version 3.4.03

Antidoto.org | Brutto.it | Estela.org | Equiweb.it