V I S U A L I Z Z A D I S C U S S I O N E |
albertoromano |
Inserito il - 03 luglio 2014 : 16:35:07 Un saluto a tutto il forum, lavoro con ADT2004 su winxpsp3, ho scaricato un lisp che nella introduzione dice: ";NOTE: The DTR and RTD functions must be defined in your ACAD.LSP program" Dalla guida degli sviluppatori trovo una risposta su come convertire i gradi in radianti e altro.... copio il codice, salvo il file come gardenpath.dvb nella cartella Support di Autocad, lo carico mediante "appload", lancio il lisp che funziona nel senso che mi chiede i vari input e io glie li dò, ma quando è il momento di eseguire il calcolo mi dà il messaggio "Errore: no function definition: DTR" ho tentato di caricare un'immagine della schermata di vba ma non ci sono riuscito pur trattandosi di un jpg da 86k, spero di essere stato ugualmente chiaro e che qualcuno riesca a darmi una dritta. Grazie per l'attenzione e un saluto a tutti. A. |
16 U L T I M E R I S P O S T E (in alto le più recenti) |
albertoromano |
Inserito il - 09 luglio 2014 : 17:03:56 Ecco fatto ragazzi. Sistemato e funzionante, da rivedere la posizione dell'antina più avanti. Grazie a GP e Arri per la preziosa collaborazione. Un saluto a tutto il forum. A.
;3DCABNT.LSP - WRITTEN BY JAN TAYLOR ; FOR AUTOLISP CLASS DR238 ; BILLINGS VOCATIONAL TECHNICAL CENTER ; BILLINGS, MONTANA ; FEBRUARY 20, 1991 ;THIS PROGRAM WILL DRAW A CABINET GIVEN THE WIDTH, HEIGHT, DEPTH, ;THICKNESS OF MATERIAL USED, COUNTERTOP OVERHANG, THICKNESS OF COUNTERTOP, AND ;HEIGHT OF THE SHELF. THIS PROGRAM WILL ALSO SET A "CABINET" LAYER AT THE ;BEGINNING. SIMPLY PICK THE BEGINNING POINT AND ANSWER THE QUESTIONS ;AND WAA-LAA!-CABINETS!!! ;IF YOU INTEND TO USE THIS PROGRAM FOR WALL CABINETS, BE SURE TO USE "0" FOR ;THICKNESS OF COUNTERTOP AND COUNTERTOP OVERHANG. ; ;NOTE: The DTR and RTD functions must be defined in your ACAD.LSP program ; ;Send comments to Compuserve Account #76264,2273 ; ; ; traduzione di albertoromano luglio 2014 ; ; ; ;***************************************************************************** (DEFUN C:3Dmobile () (GRAPHSCR) (defun dtr (a) (* pi (/ a 180.0))) (SETVAR "CMDECHO" 0) (SETVAR "OSNAPCOORD" 1) (SETVAR "BLIPMODE" 0) (SETQ P1 (GETPOINT "\nANGOLO IN BASSO A SINSTRA DEL MOBILE: ")) (SETVAR "OSMODE" 0) (SETQ W (GETDIST "\nQUAL'É LA LARGHEZZA DEL MOBILE?: ")) (SETQ D (GETDIST "\nQUAL'É LA PROFONDITÁ DEL MOBILE?: ")) (SETQ H (GETDIST "\nQUAL'É L'ALTEZZA DEL MOBILE?: ")) (SETQ OH (GETDIST "\nQUANTO DEVE SPORGERE IL TOP?: ")) (SETQ TH (GETDIST "\nQUALE É LO SPESSORE DEL MATERIALE IMPIEGATO?: ")) (SETQ CT (GETDIST "\nQUAL'É LO SPESSORE DEL TOP?: ")) (SETQ S (GETDIST "\nA CHE ALTEZZA É IL PRIMO RIPIANO?: ")) (COMMAND "_-LAYER" "_M" "MOBILEBLU" "_C" "_BLUE" "" "") (SETQ P2 (POLAR P1 (DTR 0) W)) (SETQ P3 (POLAR P2 (DTR 90) D)) (SETQ P4 (POLAR P1 (DTR 90) D)) (SETQ P5 (LIST (CAR P1) (CADR P1) H)) (SETQ P6 (POLAR P5 (DTR 0) W)) (SETQ P7 (POLAR P6 (DTR 90) D)) (SETQ P8 (POLAR P5 (DTR 90) D)) (SETQ P9 (LIST (+ (CAR P1) TH) (CADR P1) (+ (CADDR P1) TH))) (SETQ P10 (LIST (- (CAR P2) TH) (CADR P2) (+ (CADDR P2) TH))) (SETQ P11 (LIST (- (CAR P3) TH) (CADR P3) (+ (CADDR P3) TH))) (SETQ P12 (LIST (+ (CAR P4) TH) (CADR P4) (+ (CADDR P4) TH))) (SETQ P14 (LIST (CAR P10) (CADR P10) (- H TH))) (SETQ P13 (LIST (CAR P9) (CADR P9) (- H TH))) (SETQ P15 (LIST (CAR P11) (CADR P11) (- H TH))) (SETQ P16 (LIST (CAR P12) (CADR P12) (- H TH))) (COMMAND "_3DFACE" P1 P5 P8 P4 "") (COMMAND "_3DFACE" P2 P6 P7 P3 "") (COMMAND "_3DFACE" P5 P6 P7 P8 "") (COMMAND "_3DFACE" P1 P2 P3 P4 "") (COMMAND "_3DFACE" P9 P10 P11 P12 "") (COMMAND "_3DFACE" P10 P11 P15 P14 "") (COMMAND "_3DFACE" P9 P12 P16 P13 "") (COMMAND "_3DFACE" P13 P14 P15 P16 "") (COMMAND "_3DFACE" P1 P9 P13 P5 "") (COMMAND "_3DFACE" P1 P9 P10 P2 "") (COMMAND "_3DFACE" P2 P10 P14 P6 "") (COMMAND "_3DFACE" P6 P14 P13 P5 "") ;disegno del ripiano (SETQ P17 (LIST (CAR P9) (CADR P9) S)) (SETQ P18 (LIST (CAR P10) (CADR P10) S)) (SETQ P19 (LIST (CAR P11) (CADR P11) S)) (SETQ P20 (LIST (CAR P12) (CADR P12) S)) (COMMAND "_3DFACE" P17 P18 P19 P20 "") (SETQ P21 (LIST (CAR P17) (CADR P17) (- (CADDR P17) TH))) (SETQ P22 (LIST (CAR P18) (CADR P18) (- (CADDR P18) TH))) (SETQ P23 (LIST (CAR P20) (CADR P20) (- (CADDR P20) TH))) (SETQ P24 (LIST (CAR P19) (CADR P19) (- (CADDR P19) TH))) (COMMAND "_3DFACE" P21 P22 P24 P23 "") (COMMAND "_3DFACE" P17 P18 P22 P21 "") ;disegno del top (SETQ P25 (LIST (CAR P6) (- (CADR P6) OH) (CADDR P6))) (SETQ P26 (LIST (CAR P25) (CADR P25) (+ (CADDR P25) CT))) (SETQ P27 (LIST (CAR P5) (- (CADR P5) OH) (+ (CADDR P5) CT))) (SETQ P28 (LIST (CAR P27) (CADR P27) (- (CADDR P27) CT))) (COMMAND "_3DFACE" P25 P26 P27 P28 "") (SETQ P29 (LIST (CAR P7) (CADR P7) (+ (CADDR P7) CT))) (SETQ P30 (LIST (CAR P8) (CADR P7) (+ (CADDR P8) CT))) (COMMAND "_3DFACE" P25 P26 P29 P7 "") (COMMAND "_3DFACE" P7 P29 P30 P8 "") (COMMAND "_3DFACE" P8 P30 P27 P28 "") (COMMAND "_3DFACE" P27 P26 P29 P30 "") (COMMAND "_3DFACE" P5 P28 P25 P6 "") ;disegno dell'antina (SETQ P31 (LIST (- (CAR P2) (/ TH 2)) (CADR P2) (+ (CADDR P2) (/ TH 2)))) (SETQ P32 (LIST (CAR P31) (CADR P31) (- H (/ TH 2)))) (SETQ P33 (LIST (+ (CAR P5) (/ TH 2)) (CADR P5) (CADDR P32))) (SETQ P34 (LIST (CAR P33) (CADR P33) (+ (CADDR P1) (/ TH 2)))) (COMMAND "_3DFACE" P31 P32 P33 P34 "") (SETQ P35 (LIST (CAR P31) (- (CADR P31) TH) (CADDR P31))) (SETQ P36 (LIST (CAR P32) (- (CADR P32) TH) (CADDR P32))) (SETQ P37 (LIST (CAR P33) (- (CADR P33) TH) (CADDR P33))) (SETQ P38 (LIST (CAR P34) (- (CADR P34) TH) (CADDR P34))) (COMMAND "_3DFACE" P35 P36 P37 P38 "") (COMMAND "_3DFACE" P35 P31 P32 P36 "") (COMMAND "_3DFACE" P32 P36 P37 P33 "") (COMMAND "_3DFACE" P33 P37 P38 P34 "") (COMMAND "_3DFACE" P34 P38 P35 P31 "") (SETVAR "BLIPMODE" 0) (SETVAR "OSMODE" 63) )
|
albertoromano |
Inserito il - 07 luglio 2014 : 14:53:38 Ricevuto. Grazie GP. Stasera provo. Un saluto. A. |
GP |
Inserito il - 07 luglio 2014 : 11:25:53 Fai così: (COMMAND "_LAYER" "_M" "MOBILE" "_C" "_RED" "" "")
Ho aggiunto un underscore al simbolo T perché non può essere usato come nome di variabile, in teoria puoi sostituire tutti i "T" con "pippo" o la stringa che vuoi.
E' un bene che la variabile osnapcoord sia sempre impostata a 1 per garantire i funzionamenti di lisp, script e in genere tutte le immissioni da tastiera, puoi impostare il tuo .dwt in tal senso. |
albertoromano |
Inserito il - 07 luglio 2014 : 10:25:20 Grazie GP per la pazienza che hai, si sto usando quello:ho aggiunto - a _Layer che diventa _-LAYER e il risultato é che é stato creato il layer col nome Cabinet (nel frattempo tradotto in MOBILE) ma non vi é stato messo il mobile disegnato che é rimasto sul layer corrente, inoltre il colore rosso é stato attribuito al layer corrente e non al nuovo, facendo ovviamente arrossire tutti gli oggetti esistenti su quel layer che sono poi tutte le prove precedenti. Con l'occasione ho inserito la stringa (setvar "osnapcoord" 1 ) Ogni volta che lancio il comando tenta di creare il nuovo layer e quindi dá in risposta il messaggio "Il layer "_MOBILE" esiste già.". Continua a rispondere il messaggio: "; errore: tipo di argomento errato: numberp: T" Allora ho pensato di correggere la variabile T_ con TH per indicare lo spessore del materiale impiegato, e ho trovato scendendo lungo il listato che alcune T_ avevano perso l'underscore diventando T (/ T 2). Dopo questa correzione lanciato il comando scompare il messaggio di errore a proposito del T e scopro che adesso disegna anche l'antina del mobile mentre prima aveva sempre disegnato il mobile senza antina. Inoltre l'antina é disegnata come una cosa che é stata aggiunta in un secondo momento in quanto é fuori dalle misure date in imput che risultano corrette per quanto riguarda il mobile "a giorno". Alcuni punti dell'antina non sono nella posizione corretta e tenteró di sistemarli. Siamo a buon punto, caro GP, Ti chiederei solo come fare perché il nuovo mobile disegnato venga messo nel layer "Mobile", magari rendendolo corrente e che a questo nuovo layer venga attribuito il colore e tipo linea indicati nella stringa. Grazie ancora per l'attenzione e un saluto a tutto il forum. A.
|
GP |
Inserito il - 05 luglio 2014 : 13:05:03 Stai usando il listato che ho postato io? Prova a sostituire _LAYER con _-LAYER |
albertoromano |
Inserito il - 05 luglio 2014 : 11:54:39 Molto bene, Grazie GP per l'attenzione, funziona quasi perfettamente con osnapcoord=1 (proverò ad inserire nel listato l'impostazione della variabile) nel senso che esegue il disegno ma non crea il nuovo layer, cioè non esegue quei comandi con o senza l'underscore. Poi dice che c'è un errore nel numeto T, ma soprattutto si lamenta due volte che 3dmobile3 è un comando sconosciuto dopo averlo eseguito....a seguire il testo di AutoCad Buona domenica a Tutti
Comando: 3DMOBILE3 ANGOLO IN BASSO A SINSTRA DEL MOBILE: QUAL'É LA LARGHEZZA DEL MOBILE?: 450 QUAL'É LA PROFONDITÁ DEL MOBILE?: 300 QUAL'É L'ALTEZZA DEL MOBILE?: 900 QUANTO DEVE SPORGERE IL TOP?: 12 QUALE É LO SPESSORE DEL MATERIALE IMPIEGATO?: 19 QUAL'É LO SPESSORE DEL TOP?: 33 A CHE ALTEZZA É IL PRIMO RIPIANO?: 450 Comando sconosciuto "LAYER". Premere F1 per la Guida. Comando sconosciuto "N". Premere F1 per la Guida. Comando sconosciuto "CABINET". Premere F1 per la Guida. Comando sconosciuto "C". Premere F1 per la Guida. Comando sconosciuto "RED". Premere F1 per la Guida. Comando sconosciuto "3DMOBILE3". Premere F1 per la Guida. Comando sconosciuto "3DMOBILE3". Premere F1 per la Guida. ; errore: tipo di argomento errato: numberp: T Comando: *Annullato* Comando: *Annullato* |
GP |
Inserito il - 05 luglio 2014 : 10:20:01 L'underscore davanti ai comandi in inglese permette il funzionamento nelle versioni localizzate.
La funzione per i radianti può essere messa ovunque (non all'interno di un ciclo o di un'altra funzione), normalmente si mette "fuori", proprio dopo l'ultima riga, l'ho inserita all'inizio in maniera che fosse immediatamente visualizzata senza costringere l'utilizzatore a verificare il proprio acad.lsp.
Non riesco a vedere la tua immagine, ma intuisco che il problema potrebbe essere l'osnap, se imposti la variabile osnapcoord = 1 (vedi help) dovrebbe funzionare, altrimenti setta osmode = 0 prima di lanciare il lisp in quanto nel listato questo non è stato previsto. |
albertoromano |
Inserito il - 05 luglio 2014 : 07:09:34 Grazie GP per il disturbo che Ti sei preso. Il file funziona un pò, l'ho provato e allego il risultato, ho visto dando una prima occhiata che hai messo _ai comandi di layer per farli funzionare nella versione in italiano e che il comando di trsformazione dei radianti l'hai messo all'inizio. Mi riprometto di studiare tutto il file per capire il funzionamento e la sintassi delle varie voci. E' possibile che sia quella T (che dovrebbe indicare true?) a generare l'errore del vertice in basso a sinistra delle facce? Ho notato che l'hai isolato. Intanto buona domenica a Te e a tutto il forum. Vedremo nei prossimi giorni se arriverà un contributo per completare la cosa. non riesco a caricare il JPG da 63k, provo a condividere con il link sotto,fatemi sapere se riuscite a vederlo. Buona domenica a tutti
https://onedrive.live.com/?cid=ec197d3b0e43eff6#cid=EC197D3B0E43EFF6&id=EC197D3B0E43EFF6%21296 |
GP |
Inserito il - 04 luglio 2014 : 16:43:40 I problemi sono quelli spiegati nel mio primo messaggio. Prova questo.
;3DCABNT.LSP - WRITTEN BY JAN TAYLOR
; FOR AUTOLISP CLASS DR238
; BILLINGS VOCATIONAL TECHNICAL CENTER
; BILLINGS, MONTANA
; FEBRUARY 20, 1991
;THIS PROGRAM WILL DRAW A CABINET GIVEN THE WIDTH, HEIGHT, DEPTH,
;THICKNESS OF MATERIAL USED, COUNTERTOP OVERHANG, THICKNESS OF COUNTERTOP, AND
;HEIGHT OF THE SHELF. THIS PROGRAM WILL ALSO SET A "CABINET" LAYER AT THE
;BEGINNING. SIMPLY PICK THE BEGINNING POINT AND ANSWER THE QUESTIONS
;AND WAA-LAA!-CABINETS!!!
;IF YOU INTEND TO USE THIS PROGRAM FOR WALL CABINETS, BE SURE TO USE "0" FOR
;THICKNESS OF COUNTERTOP AND COUNTERTOP OVERHANG.
;
;NOTE: The DTR and RTD functions must be defined in your ACAD.LSP program
;
;Send comments to Compuserve Account #76264,2273
;
;
;Tentativo di traduzione di albertoromano giugno 2014
;
;
;*****************************************************************************
(DEFUN C:3Dmobile ()
(GRAPHSCR)
(defun dtr (a) (* pi (/ a 180.0)))
(SETVAR "CMDECHO" 0)
(SETVAR "BLIPMODE" 0)
(SETQ P1 (GETPOINT "\nANGOLO IN BASSO A SINSTRA DEL MOBILE: "))
(SETQ W (GETDIST "\nQUAL'É LA LARGHEZZA DEL MOBILE?: "))
(SETQ D (GETDIST "\nQUAL'É LA PROFONDITÁ DEL MOBILE?: "))
(SETQ H (GETDIST "\nQUAL'É L'ALTEZZA DEL MOBILE?: "))
(SETQ OH (GETDIST "\nQUANTO DEVE SPORGERE IL TOP?: "))
(SETQ
T_ (GETDIST "\nQUALE É LO SPESSORE DEL MATERIALE IMPIEGATO?: ")
)
(SETQ CT (GETDIST "\nQUAL'É LO SPESSORE DEL TOP?: "))
(SETQ S (GETDIST "\nA CHE ALTEZZA É IL PRIMO RIPIANO?: "))
(COMMAND "_LAYER" "_N" "_CABINET" "_C" "_RED" "" "")
(SETQ P2 (POLAR P1 (DTR 0) W))
(SETQ P3 (POLAR P2 (DTR 90) D))
(SETQ P4 (POLAR P1 (DTR 90) D))
(SETQ P5 (LIST (CAR P1) (CADR P1) H))
(SETQ P6 (POLAR P5 (DTR 0) W))
(SETQ P7 (POLAR P6 (DTR 90) D))
(SETQ P8 (POLAR P5 (DTR 90) D))
(SETQ P9 (LIST (+ (CAR P1) T_) (CADR P1) (+ (CADDR P1) T_)))
(SETQ P10 (LIST (- (CAR P2) T_) (CADR P2) (+ (CADDR P2) T_)))
(SETQ P11 (LIST (- (CAR P3) T_) (CADR P3) (+ (CADDR P3) T_)))
(SETQ P12 (LIST (+ (CAR P4) T_) (CADR P4) (+ (CADDR P4) T_)))
(SETQ P14 (LIST (CAR P10) (CADR P10) (- H T_)))
(SETQ P13 (LIST (CAR P9) (CADR P9) (- H T_)))
(SETQ P15 (LIST (CAR P11) (CADR P11) (- H T_)))
(SETQ P16 (LIST (CAR P12) (CADR P12) (- H T_)))
(COMMAND "_3DFACE" P1 P5 P8 P4 "")
(COMMAND "_3DFACE" P2 P6 P7 P3 "")
(COMMAND "_3DFACE" P5 P6 P7 P8 "")
(COMMAND "_3DFACE" P1 P2 P3 P4 "")
(COMMAND "_3DFACE" P9 P10 P11 P12 "")
(COMMAND "_3DFACE" P10 P11 P15 P14 "")
(COMMAND "_3DFACE" P9 P12 P16 P13 "")
(COMMAND "_3DFACE" P13 P14 P15 P16 "")
(COMMAND "_3DFACE" P1 P9 P13 P5 "")
(COMMAND "_3DFACE" P1 P9 P10 P2 "")
(COMMAND "_3DFACE" P2 P10 P14 P6 "")
(COMMAND "_3DFACE" P6 P14 P13 P5 "")
(SETQ P17 (LIST (CAR P9) (CADR P9) S))
(SETQ P18 (LIST (CAR P10) (CADR P10) S))
(SETQ P19 (LIST (CAR P11) (CADR P11) S))
(SETQ P20 (LIST (CAR P12) (CADR P12) S))
(COMMAND "_3DFACE" P17 P18 P19 P20 "")
(SETQ P21 (LIST (CAR P17) (CADR P17) (- (CADDR P17) T_)))
(SETQ P22 (LIST (CAR P18) (CADR P18) (- (CADDR P18) T_)))
(SETQ P23 (LIST (CAR P20) (CADR P20) (- (CADDR P20) T_)))
(SETQ P24 (LIST (CAR P19) (CADR P19) (- (CADDR P19) T_)))
(COMMAND "_3DFACE" P21 P22 P24 P23 "")
(COMMAND "_3DFACE" P17 P18 P22 P21 "")
(SETQ P25 (LIST (CAR P6) (- (CADR P6) OH) (CADDR P6)))
(SETQ P26 (LIST (CAR P25) (CADR P25) (+ (CADDR P25) CT)))
(SETQ P27 (LIST (CAR P5) (- (CADR P5) OH) (+ (CADDR P5) CT)))
(SETQ P28 (LIST (CAR P27) (CADR P27) (- (CADDR P27) CT)))
(COMMAND "_3DFACE" P25 P26 P27 P28 "")
(SETQ P29 (LIST (CAR P7) (CADR P7) (+ (CADDR P7) CT)))
(SETQ P30 (LIST (CAR P8) (CADR P7) (+ (CADDR P8) CT)))
(COMMAND "_3DFACE" P25 P26 P29 P7 "")
(COMMAND "_3DFACE" P7 P29 P30 P8 "")
(COMMAND "_3DFACE" P8 P30 P27 P28 "")
(COMMAND "_3DFACE" P27 P26 P29 P30 "")
(COMMAND "_3DFACE" P5 P28 P25 P6 "")
(SETQ P31
(LIST (- (CAR P2) (/ T 2)) (CADR P2) (+ (CADDR P2) (/ T 2)))
)
(SETQ P32 (LIST (CAR P31) (CADR P31) (+ (CADDR P31) (- H (/ T 2)))))
(SETQ P33 (LIST (+ (CAR P5) (/ T 2))
(CADR P5)
(+ (CADDR P32) (/ T 2))
)
)
(SETQ P34 (LIST (CAR P33) (CADR P33) (+ (CADDR P1) (/ T 2))))
(COMMAND "_3DFACE" P31 P32 P33 P34 "")
(SETQ P35 (LIST (CAR P31) (- (CADR P31) T_) (CADDR P31)))
(SETQ P36 (LIST (CAR P32) (- (CADR P32) T_) (CADDR P32)))
(SETQ P37 (LIST (CAR P33) (- (CADR P33) T_) (CADDR P33)))
(SETQ P38 (LIST (CAR P34) (- (CADR P34) T_) (CADDR P34)))
(COMMAND "_3DFACE" P35 P36 P37 P38 "")
(COMMAND "_3DFACE" P35 P31 P32 P36 "")
(COMMAND "_3DFACE" P32 P36 P37 P33 "")
(COMMAND "_3DFACE" P33 P37 P38 P34 "")
(COMMAND "_3DFACE" P34 P38 P35 P31 "")
(SETVAR "BLIPMODE" 1)
)
p.s.: siamo a luglio |
albertoromano |
Inserito il - 04 luglio 2014 : 15:01:08 Ragazzi Vi ringrazio per le pronte e concomitanti risposte. Nel frattempo mi ero divertito a tradurre le stringhe,anche se funzionava tranquillamente passandomi i messaggi in inglese; ho inserito quella funzione come proposto alla fine del listato (se il listato è quello), e poi ho lanciato,
;3DCABNT.LSP - WRITTEN BY JAN TAYLOR ; FOR AUTOLISP CLASS DR238 ; BILLINGS VOCATIONAL TECHNICAL CENTER ; BILLINGS, MONTANA ; FEBRUARY 20, 1991 ;THIS PROGRAM WILL DRAW A CABINET GIVEN THE WIDTH, HEIGHT, DEPTH, ;THICKNESS OF MATERIAL USED, COUNTERTOP OVERHANG, THICKNESS OF COUNTERTOP, AND ;HEIGHT OF THE SHELF. THIS PROGRAM WILL ALSO SET A "CABINET" LAYER AT THE ;BEGINNING. SIMPLY PICK THE BEGINNING POINT AND ANSWER THE QUESTIONS ;AND WAA-LAA!-CABINETS!!! ;IF YOU INTEND TO USE THIS PROGRAM FOR WALL CABINETS, BE SURE TO USE "0" FOR ;THICKNESS OF COUNTERTOP AND COUNTERTOP OVERHANG. ; ;NOTE: The DTR and RTD functions must be defined in your ACAD.LSP program ; ;Send comments to Compuserve Account #76264,2273 ; ; ;Tentativo di traduzione di albertoromano giugno 2014 ; ; ;***************************************************************************** (DEFUN C:3Dmobile () (GRAPHSCR) (SETVAR "CMDECHO" 0) (SETVAR "BLIPMODE" 0) (SETQ P1 (GETPOINT "\nANGOLO IN BASSO A SINSTRA DEL MOBILE: ")) (SETQ W (GETDIST "\nQUAL'É LA LARGHEZZA DEL MOBILE?: ")) (SETQ D (GETDIST "\nQUAL'É LA PROFONDITÁ DEL MOBILE?: ")) (SETQ H (GETDIST "\nQUAL'É L'ALTEZZA DEL MOBILE?: ")) (SETQ OH (GETDIST "\nQUANTO DEVE SPORGERE IL TOP?: ")) (SETQ T (GETDIST "\nQUALE É LO SPESSORE DEL MATERIALE IMPIEGATO?: ")) (SETQ CT (GETDIST "\nQUAL'É LO SPESSORE DEL TOP?: ")) (SETQ S (GETDIST "\nA CHE ALTEZZA É IL PRIMO RIPIANO?: ")) (COMMAND "LAYER" "N" "CABINET" "C" "RED" "" "") (SETQ P2 (POLAR P1 (DTR 0) W)) (SETQ P3 (POLAR P2 (DTR 90) D)) (SETQ P4 (POLAR P1 (DTR 90) D)) (SETQ P5 (LIST (CAR P1) (CADR P1) H)) (SETQ P6 (POLAR P5 (DTR 0) W)) (SETQ P7 (POLAR P6 (DTR 90) D)) (SETQ P8 (POLAR P5 (DTR 90) D)) (SETQ P9 (LIST (+ (CAR P1) T) (CADR P1) (+ (CADDR P1) T))) (SETQ P10 (LIST (- (CAR P2) T) (CADR P2) (+ (CADDR P2) T))) (SETQ P11 (LIST (- (CAR P3) T) (CADR P3) (+ (CADDR P3) T))) (SETQ P12 (LIST (+ (CAR P4) T) (CADR P4) (+ (CADDR P4) T))) (SETQ P14 (LIST (CAR P10) (CADR P10) (- H T))) (SETQ P13 (LIST (CAR P9) (CADR P9) (- H T))) (SETQ P15 (LIST (CAR P11) (CADR P11) (- H T))) (SETQ P16 (LIST (CAR P12) (CADR P12) (- H T))) (COMMAND "3DFACE" P1 P5 P8 P4 "") (COMMAND "3DFACE" P2 P6 P7 P3 "") (COMMAND "3DFACE" P5 P6 P7 P8 "") (COMMAND "3DFACE" P1 P2 P3 P4 "") (COMMAND "3DFACE" P9 P10 P11 P12 "") (COMMAND "3DFACE" P10 P11 P15 P14 "") (COMMAND "3DFACE" P9 P12 P16 P13 "") (COMMAND "3DFACE" P13 P14 P15 P16 "") (COMMAND "3DFACE" P1 P9 P13 P5 "") (COMMAND "3DFACE" P1 P9 P10 P2 "") (COMMAND "3DFACE" P2 P10 P14 P6 "") (COMMAND "3DFACE" P6 P14 P13 P5 "") (SETQ P17 (LIST (CAR P9) (CADR P9) S)) (SETQ P18 (LIST (CAR P10) (CADR P10) S)) (SETQ P19 (LIST (CAR P11) (CADR P11) S)) (SETQ P20 (LIST (CAR P12) (CADR P12) S)) (COMMAND "3DFACE" P17 P18 P19 P20 "") (SETQ P21 (LIST (CAR P17) (CADR P17) (- (CADDR P17) T))) (SETQ P22 (LIST (CAR P18) (CADR P18) (- (CADDR P18) T))) (SETQ P23 (LIST (CAR P20) (CADR P20) (- (CADDR P20) T))) (SETQ P24 (LIST (CAR P19) (CADR P19) (- (CADDR P19) T))) (COMMAND "3DFACE" P21 P22 P24 P23 "") (COMMAND "3DFACE" P17 P18 P22 P21 "") (SETQ P25 (LIST (CAR P6) (- (CADR P6) OH) (CADDR P6))) (SETQ P26 (LIST (CAR P25) (CADR P25) (+ (CADDR P25) CT))) (SETQ P27 (LIST (CAR P5) (- (CADR P5) OH) (+ (CADDR P5) CT))) (SETQ P28 (LIST (CAR P27) (CADR P27) (- (CADDR P27) CT))) (COMMAND "3DFACE" P25 P26 P27 P28 "") (SETQ P29 (LIST (CAR P7) (CADR P7) (+ (CADDR P7) CT))) (SETQ P30 (LIST (CAR P8) (CADR P7) (+ (CADDR P8) CT))) (COMMAND "3DFACE" P25 P26 P29 P7 "") (COMMAND "3DFACE" P7 P29 P30 P8 "") (COMMAND "3DFACE" P8 P30 P27 P28 "") (COMMAND "3DFACE" P27 P26 P29 P30 "") (COMMAND "3DFACE" P5 P28 P25 P6 "") (SETQ P31 (LIST (- (CAR P2) (/ T 2)) (CADR P2) (+ (CADDR P2) (/ T 2)))) (SETQ P32 (LIST (CAR P31) (CADR P31) (+ (CADDR P31) (- H (/ T 2))))) (SETQ P33 (LIST (+ (CAR P5) (/ T 2)) (CADR P5) (+ (CADDR P32) (/ T 2)))) (SETQ P34 (LIST (CAR P33) (CADR P33) (+ (CADDR P1) (/ T 2)))) (COMMAND "3DFACE" P31 P32 P33 P34 "") (SETQ P35 (LIST (CAR P31) (- (CADR P31) T) (CADDR P31))) (SETQ P36 (LIST (CAR P32) (- (CADR P32) T) (CADDR P32))) (SETQ P37 (LIST (CAR P33) (- (CADR P33) T) (CADDR P33))) (SETQ P38 (LIST (CAR P34) (- (CADR P34) T) (CADDR P34))) (COMMAND "3DFACE" P35 P36 P37 P38 "") (COMMAND "3DFACE" P35 P31 P32 P36 "") (COMMAND "3DFACE" P32 P36 P37 P33 "") (COMMAND "3DFACE" P33 P37 P38 P34 "") (COMMAND "3DFACE" P34 P38 P35 P31 "") (defun dtr (a) (* pi (/ a 180.0))) (SETVAR "BLIPMODE" 1))
non funziona e dà lo stesso messaggio di errore: ecco trascritto anche il testo di AutoCad
Comando sconosciuto "3DMOBILE". Premere F1 per la Guida. Comando: *Annullato* Comando: *Annullato* Comando: *Annullato* Comando: *Annullato* Comando: appload 3DCABN ita.LSP caricato. Comando: Comando: Comando: 3dmobile ANGOLO IN BASSO A SINSTRA DEL MOBILE: QUAL'É LA LARGHEZZA DEL MOBILE?: 450 QUAL'É LA PROFONDITÁ DEL MOBILE?: 300 QUAL'É L'ALTEZZA DEL MOBILE?: 900 QUANTO DEVE SPORGERE IL TOP?: 12 QUALE É LO SPESSORE DEL MATERIALE IMPIEGATO?: 19 QUAL'É LO SPESSORE DEL TOP?: 32 A CHE ALTEZZA É IL PRIMO RIPIANO?: 450 Comando sconosciuto "LAYER". Premere F1 per la Guida. Comando sconosciuto "N". Premere F1 per la Guida. Comando sconosciuto "CABINET". Premere F1 per la Guida. Comando sconosciuto "C". Premere F1 per la Guida. Comando sconosciuto "RED". Premere F1 per la Guida. Comando sconosciuto "3DMOBILE". Premere F1 per la Guida. Comando sconosciuto "3DMOBILE". Premere F1 per la Guida. ; errore: no function definition: DTR
Vi ringrazio ancora per l'attenzione, un saluto a tutti |
arri |
Inserito il - 04 luglio 2014 : 09:17:30 ciao GP,
molto meglio la tua spiegazione
|
GP |
Inserito il - 04 luglio 2014 : 09:14:00 oops... è arrivato prima. |
GP |
Inserito il - 04 luglio 2014 : 09:12:08 Aggiungi questa stringa in fondo al listato (defun dtr (a) (* pi (/ a 180.0)))
Vedo però altri due potenziali problemi: 1) viene utilizzatoT come nome di variabile, ma è un simbolo protetto, può darsi che con l'interprete lisp di quegli anni (1991) la cosa fosse possibile ma ora non credo 2) i comandi sono per AutoCAD in inglese
Fai una prova. se il lisp non gira si può tranquillamente sistemare. |
arri |
Inserito il - 04 luglio 2014 : 09:05:57 | Messaggio inserito da albertoromano
Grazie Arri per la risposta. Ecco qua il file. Non riesco ad allegare il file allora lo trascrivo. Un saluto a tutti. A.
;3DCABNT.LSP - WRITTEN BY JAN TAYLOR ; FOR AUTOLISP CLASS DR238 ; BILLINGS VOCATIONAL TECHNICAL CENTER ; BILLINGS, MONTANA ; FEBRUARY 20, 1991 ;THIS PROGRAM WILL DRAW A CABINET GIVEN THE WIDTH, HEIGHT, DEPTH, ;THICKNESS OF MATERIAL USED, COUNTERTOP OVERHANG, THICKNESS OF COUNTERTOP, AND ;HEIGHT OF THE SHELF. THIS PROGRAM WILL ALSO SET A "CABINET" LAYER AT THE ;BEGINNING. SIMPLY PICK THE BEGINNING POINT AND ANSWER THE QUESTIONS ;AND WAA-LAA!-CABINETS!!! ;IF YOU INTEND TO USE THIS PROGRAM FOR WALL CABINETS, BE SURE TO USE "0" FOR ;THICKNESS OF COUNTERTOP AND COUNTERTOP OVERHANG. ; ;NOTE: The DTR and RTD functions must be defined in your ACAD.LSP program ; ;Send comments to Compuserve Account #76264,2273 ;***************************************************************************** (DEFUN C:3DCABNT () (GRAPHSCR) (SETVAR "CMDECHO" 0) (SETVAR "BLIPMODE" 0) (SETQ P1 (GETPOINT "\nPICK THE LOWER LEFT-HAND SIDE OF THE CABINET: ")) (SETQ W (GETDIST "\nWHAT IS THE WIDTH OF THE CABINET?: ")) (SETQ D (GETDIST "\nWHAT IS THE DEPTH OF THE CABINET?: ")) (SETQ H (GETDIST "\nWHAT IS THE HEIGHT OF THE CABINET?: ")) (SETQ OH (GETDIST "\nHOW MUCH OVERHANG DO YOU WANT?: ")) (SETQ T (GETDIST "\nWHAT IS THE THICKNESS OF THE MATERIAL USED?: ")) (SETQ CT (GETDIST "\nWHAT IS THE THICKNESS OF THE COUNTER TOP?: ")) (SETQ S (GETDIST "\nWHAT IS THE HEIGHT OF THE FIRST SHELF?: ")) (COMMAND "LAYER" "N" "CABINET" "C" "RED" "" "") (SETQ P2 (POLAR P1 (DTR 0) W)) (SETQ P3 (POLAR P2 (DTR 90) D)) (SETQ P4 (POLAR P1 (DTR 90) D)) (SETQ P5 (LIST (CAR P1) (CADR P1) H)) (SETQ P6 (POLAR P5 (DTR 0) W)) (SETQ P7 (POLAR P6 (DTR 90) D)) (SETQ P8 (POLAR P5 (DTR 90) D)) (SETQ P9 (LIST (+ (CAR P1) T) (CADR P1) (+ (CADDR P1) T))) (SETQ P10 (LIST (- (CAR P2) T) (CADR P2) (+ (CADDR P2) T))) (SETQ P11 (LIST (- (CAR P3) T) (CADR P3) (+ (CADDR P3) T))) (SETQ P12 (LIST (+ (CAR P4) T) (CADR P4) (+ (CADDR P4) T))) (SETQ P14 (LIST (CAR P10) (CADR P10) (- H T))) (SETQ P13 (LIST (CAR P9) (CADR P9) (- H T))) (SETQ P15 (LIST (CAR P11) (CADR P11) (- H T))) (SETQ P16 (LIST (CAR P12) (CADR P12) (- H T))) (COMMAND "3DFACE" P1 P5 P8 P4 "") (COMMAND "3DFACE" P2 P6 P7 P3 "") (COMMAND "3DFACE" P5 P6 P7 P8 "") (COMMAND "3DFACE" P1 P2 P3 P4 "") (COMMAND "3DFACE" P9 P10 P11 P12 "") (COMMAND "3DFACE" P10 P11 P15 P14 "") (COMMAND "3DFACE" P9 P12 P16 P13 "") (COMMAND "3DFACE" P13 P14 P15 P16 "") (COMMAND "3DFACE" P1 P9 P13 P5 "") (COMMAND "3DFACE" P1 P9 P10 P2 "") (COMMAND "3DFACE" P2 P10 P14 P6 "") (COMMAND "3DFACE" P6 P14 P13 P5 "") (SETQ P17 (LIST (CAR P9) (CADR P9) S)) (SETQ P18 (LIST (CAR P10) (CADR P10) S)) (SETQ P19 (LIST (CAR P11) (CADR P11) S)) (SETQ P20 (LIST (CAR P12) (CADR P12) S)) (COMMAND "3DFACE" P17 P18 P19 P20 "") (SETQ P21 (LIST (CAR P17) (CADR P17) (- (CADDR P17) T))) (SETQ P22 (LIST (CAR P18) (CADR P18) (- (CADDR P18) T))) (SETQ P23 (LIST (CAR P20) (CADR P20) (- (CADDR P20) T))) (SETQ P24 (LIST (CAR P19) (CADR P19) (- (CADDR P19) T))) (COMMAND "3DFACE" P21 P22 P24 P23 "") (COMMAND "3DFACE" P17 P18 P22 P21 "") (SETQ P25 (LIST (CAR P6) (- (CADR P6) OH) (CADDR P6))) (SETQ P26 (LIST (CAR P25) (CADR P25) (+ (CADDR P25) CT))) (SETQ P27 (LIST (CAR P5) (- (CADR P5) OH) (+ (CADDR P5) CT))) (SETQ P28 (LIST (CAR P27) (CADR P27) (- (CADDR P27) CT))) (COMMAND "3DFACE" P25 P26 P27 P28 "") (SETQ P29 (LIST (CAR P7) (CADR P7) (+ (CADDR P7) CT))) (SETQ P30 (LIST (CAR P8) (CADR P7) (+ (CADDR P8) CT))) (COMMAND "3DFACE" P25 P26 P29 P7 "") (COMMAND "3DFACE" P7 P29 P30 P8 "") (COMMAND "3DFACE" P8 P30 P27 P28 "") (COMMAND "3DFACE" P27 P26 P29 P30 "") (COMMAND "3DFACE" P5 P28 P25 P6 "") (SETQ P31 (LIST (- (CAR P2) (/ T 2)) (CADR P2) (+ (CADDR P2) (/ T 2)))) (SETQ P32 (LIST (CAR P31) (CADR P31) (+ (CADDR P31) (- H (/ T 2))))) (SETQ P33 (LIST (+ (CAR P5) (/ T 2)) (CADR P5) (+ (CADDR P32) (/ T 2)))) (SETQ P34 (LIST (CAR P33) (CADR P33) (+ (CADDR P1) (/ T 2)))) (COMMAND "3DFACE" P31 P32 P33 P34 "") (SETQ P35 (LIST (CAR P31) (- (CADR P31) T) (CADDR P31))) (SETQ P36 (LIST (CAR P32) (- (CADR P32) T) (CADDR P32))) (SETQ P37 (LIST (CAR P33) (- (CADR P33) T) (CADDR P33))) (SETQ P38 (LIST (CAR P34) (- (CADR P34) T) (CADDR P34))) (COMMAND "3DFACE" P35 P36 P37 P38 "") (COMMAND "3DFACE" P35 P31 P32 P36 "") (COMMAND "3DFACE" P32 P36 P37 P33 "") (COMMAND "3DFACE" P33 P37 P38 P34 "") (COMMAND "3DFACE" P34 P38 P35 P31 "") (SETVAR "BLIPMODE" 1) )
|
vedi qui
http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Radians-to-Degrees-Function/td-p/849533 |
albertoromano |
Inserito il - 04 luglio 2014 : 08:16:12 Grazie Arri per la risposta. Ecco qua il file. Non riesco ad allegare il file allora lo trascrivo. Un saluto a tutti. A.
;3DCABNT.LSP - WRITTEN BY JAN TAYLOR ; FOR AUTOLISP CLASS DR238 ; BILLINGS VOCATIONAL TECHNICAL CENTER ; BILLINGS, MONTANA ; FEBRUARY 20, 1991 ;THIS PROGRAM WILL DRAW A CABINET GIVEN THE WIDTH, HEIGHT, DEPTH, ;THICKNESS OF MATERIAL USED, COUNTERTOP OVERHANG, THICKNESS OF COUNTERTOP, AND ;HEIGHT OF THE SHELF. THIS PROGRAM WILL ALSO SET A "CABINET" LAYER AT THE ;BEGINNING. SIMPLY PICK THE BEGINNING POINT AND ANSWER THE QUESTIONS ;AND WAA-LAA!-CABINETS!!! ;IF YOU INTEND TO USE THIS PROGRAM FOR WALL CABINETS, BE SURE TO USE "0" FOR ;THICKNESS OF COUNTERTOP AND COUNTERTOP OVERHANG. ; ;NOTE: The DTR and RTD functions must be defined in your ACAD.LSP program ; ;Send comments to Compuserve Account #76264,2273 ;***************************************************************************** (DEFUN C:3DCABNT () (GRAPHSCR) (SETVAR "CMDECHO" 0) (SETVAR "BLIPMODE" 0) (SETQ P1 (GETPOINT "\nPICK THE LOWER LEFT-HAND SIDE OF THE CABINET: ")) (SETQ W (GETDIST "\nWHAT IS THE WIDTH OF THE CABINET?: ")) (SETQ D (GETDIST "\nWHAT IS THE DEPTH OF THE CABINET?: ")) (SETQ H (GETDIST "\nWHAT IS THE HEIGHT OF THE CABINET?: ")) (SETQ OH (GETDIST "\nHOW MUCH OVERHANG DO YOU WANT?: ")) (SETQ T (GETDIST "\nWHAT IS THE THICKNESS OF THE MATERIAL USED?: ")) (SETQ CT (GETDIST "\nWHAT IS THE THICKNESS OF THE COUNTER TOP?: ")) (SETQ S (GETDIST "\nWHAT IS THE HEIGHT OF THE FIRST SHELF?: ")) (COMMAND "LAYER" "N" "CABINET" "C" "RED" "" "") (SETQ P2 (POLAR P1 (DTR 0) W)) (SETQ P3 (POLAR P2 (DTR 90) D)) (SETQ P4 (POLAR P1 (DTR 90) D)) (SETQ P5 (LIST (CAR P1) (CADR P1) H)) (SETQ P6 (POLAR P5 (DTR 0) W)) (SETQ P7 (POLAR P6 (DTR 90) D)) (SETQ P8 (POLAR P5 (DTR 90) D)) (SETQ P9 (LIST (+ (CAR P1) T) (CADR P1) (+ (CADDR P1) T))) (SETQ P10 (LIST (- (CAR P2) T) (CADR P2) (+ (CADDR P2) T))) (SETQ P11 (LIST (- (CAR P3) T) (CADR P3) (+ (CADDR P3) T))) (SETQ P12 (LIST (+ (CAR P4) T) (CADR P4) (+ (CADDR P4) T))) (SETQ P14 (LIST (CAR P10) (CADR P10) (- H T))) (SETQ P13 (LIST (CAR P9) (CADR P9) (- H T))) (SETQ P15 (LIST (CAR P11) (CADR P11) (- H T))) (SETQ P16 (LIST (CAR P12) (CADR P12) (- H T))) (COMMAND "3DFACE" P1 P5 P8 P4 "") (COMMAND "3DFACE" P2 P6 P7 P3 "") (COMMAND "3DFACE" P5 P6 P7 P8 "") (COMMAND "3DFACE" P1 P2 P3 P4 "") (COMMAND "3DFACE" P9 P10 P11 P12 "") (COMMAND "3DFACE" P10 P11 P15 P14 "") (COMMAND "3DFACE" P9 P12 P16 P13 "") (COMMAND "3DFACE" P13 P14 P15 P16 "") (COMMAND "3DFACE" P1 P9 P13 P5 "") (COMMAND "3DFACE" P1 P9 P10 P2 "") (COMMAND "3DFACE" P2 P10 P14 P6 "") (COMMAND "3DFACE" P6 P14 P13 P5 "") (SETQ P17 (LIST (CAR P9) (CADR P9) S)) (SETQ P18 (LIST (CAR P10) (CADR P10) S)) (SETQ P19 (LIST (CAR P11) (CADR P11) S)) (SETQ P20 (LIST (CAR P12) (CADR P12) S)) (COMMAND "3DFACE" P17 P18 P19 P20 "") (SETQ P21 (LIST (CAR P17) (CADR P17) (- (CADDR P17) T))) (SETQ P22 (LIST (CAR P18) (CADR P18) (- (CADDR P18) T))) (SETQ P23 (LIST (CAR P20) (CADR P20) (- (CADDR P20) T))) (SETQ P24 (LIST (CAR P19) (CADR P19) (- (CADDR P19) T))) (COMMAND "3DFACE" P21 P22 P24 P23 "") (COMMAND "3DFACE" P17 P18 P22 P21 "") (SETQ P25 (LIST (CAR P6) (- (CADR P6) OH) (CADDR P6))) (SETQ P26 (LIST (CAR P25) (CADR P25) (+ (CADDR P25) CT))) (SETQ P27 (LIST (CAR P5) (- (CADR P5) OH) (+ (CADDR P5) CT))) (SETQ P28 (LIST (CAR P27) (CADR P27) (- (CADDR P27) CT))) (COMMAND "3DFACE" P25 P26 P27 P28 "") (SETQ P29 (LIST (CAR P7) (CADR P7) (+ (CADDR P7) CT))) (SETQ P30 (LIST (CAR P8) (CADR P7) (+ (CADDR P8) CT))) (COMMAND "3DFACE" P25 P26 P29 P7 "") (COMMAND "3DFACE" P7 P29 P30 P8 "") (COMMAND "3DFACE" P8 P30 P27 P28 "") (COMMAND "3DFACE" P27 P26 P29 P30 "") (COMMAND "3DFACE" P5 P28 P25 P6 "") (SETQ P31 (LIST (- (CAR P2) (/ T 2)) (CADR P2) (+ (CADDR P2) (/ T 2)))) (SETQ P32 (LIST (CAR P31) (CADR P31) (+ (CADDR P31) (- H (/ T 2))))) (SETQ P33 (LIST (+ (CAR P5) (/ T 2)) (CADR P5) (+ (CADDR P32) (/ T 2)))) (SETQ P34 (LIST (CAR P33) (CADR P33) (+ (CADDR P1) (/ T 2)))) (COMMAND "3DFACE" P31 P32 P33 P34 "") (SETQ P35 (LIST (CAR P31) (- (CADR P31) T) (CADDR P31))) (SETQ P36 (LIST (CAR P32) (- (CADR P32) T) (CADDR P32))) (SETQ P37 (LIST (CAR P33) (- (CADR P33) T) (CADDR P33))) (SETQ P38 (LIST (CAR P34) (- (CADR P34) T) (CADDR P34))) (COMMAND "3DFACE" P35 P36 P37 P38 "") (COMMAND "3DFACE" P35 P31 P32 P36 "") (COMMAND "3DFACE" P32 P36 P37 P33 "") (COMMAND "3DFACE" P33 P37 P38 P34 "") (COMMAND "3DFACE" P34 P38 P35 P31 "") (SETVAR "BLIPMODE" 1) )
|
arri |
Inserito il - 04 luglio 2014 : 07:50:02 è meglio se alleghi il lisp
|
|
|