Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
VENDETTA

Lisp - Autolisp X Autocad

Recommended Posts

Buonasera ragazzi/e,

a voi l'annosa questione...

C'è qualcuno che sa spiegare x bene definitivamente:

- cosa sono

- come si usano

- opzioni varie

Grassssssie a tutti...

p.s: non mi scrivete di usare il tasto cerca, l'ho già fatto e non c'è nessuna risposta che sia esaustiva abbastanza x l'uso del LISP

p.p.s: ho parlato con qualche guru di questo sito, e su questo argomento (LISP), s'è trovato in difficoltà...

Dai ragazzi, forza! :w00t:

Share this post


Link to post
Share on other sites

il n° 1 in questo forum per quanto riguarda questo linguaggio di programmazione da quanto ho capito è arri

quindi penso che la sua risposta non tarderà ad arrivare!!!

comunque

anche se forse la sezione è sbagliata e presto ci trasferiranno

prima distinzione...AutoLISP è uno dei linguaggi di programmazione utilizzati per la personalizzazione degli ambienti AutoCAD... diretto discendente del Lisp (acronimo di List Processing...)....

il VisualLisp è la nuova interfaccia di autocad x usare questo linguaggio...

guardati 1 pò questi link

In rete

FAQ e Libro sul linguaggio Lisp...in ITA

http://rsoftware.altervista.org/php5/index...;file=ilmiolisp

Tutorial Lisp

http://www.cadlandia.com/showlink.asp?page...=Programmazione

Guida Introduttiva ai Lisp

http://www.emicad.it/EmiCAD/manuali/GuidaLISP.pdf

Guida ad Autolisp Maxint

http://maxint.dynalias.org/~max/pmwiki/pmw...GuidaAdAutoLisp

Autocad Group

http://autocad.compago.it/index.php?option...=3&Itemid=9

Da comprare

Libro guida all'uso del linguaggio

http://www.webster.it/libri-lisp_trek_guid...88848805551.htm

Autocad Autolisp Guida Pratica

http://www.libreriauniversitaria.it/autoca...o/9788848107914

In Inglese

The ABC's of The autolisp in Inglese

http://klobouk.fsv.cvut.cz/~chour/Lisp/Contents.htm

Portale in Inglese

http://www.afralisp.net/

P.s. poi se ti serve qualche applicazione in particolare...il web ne è pieno...basta saper cercare o chiedere :hello:


Edited by acdmlk

Share this post


Link to post
Share on other sites

Ciao,

questo è un messaggio generato automaticamente.

Se hai ricevuto questo messaggio è perché la tua discussione è stata spostata e messa nella sezione più appropriata.

Quando crei una discussione ti preghiamo di far attenzione ad inserirla nella sezione corretta in modo che sia più facile per tutti consultare il forum.

grazie per la collaborazione

lo staff di Treddi.com

Share this post


Link to post
Share on other sites
- come si usano

- opzioni varie

le risposte che hai ricevuto sono state più che esaurienti, per completezza

- come si usano?

in autocad, caricare applicazioni, oppure dalla riga comando appload , prendi il file lisp e lo apri .

nello schermo non vedrai nulla a meno che il programmatore abbia previsto delle interfacce grafiche, o testuali (si vedono in basso sulla riga di comando

- opzioni varie?

le opzioni sono quelle che ha deciso il programmatore, quindi magari avvii un file e non sai che comando scrivere, si appunto comando autolisp amplia per quella sessione di lavoro oltre le procedure i comandi nuovi per attuare la procedura.

il lisp può essere piccolo o lungo e complesso, in un lisp può esserci una sola procedura, oppure può essere una raccolta di procedure.

l'unica speranza che c'è è che l'autore del lisp da qualche parte abbia scritto i comandi da attuare, nei lisp aperti, anche se non scritti si può dedurre che siano dopo la parola defun, ma non sempre ovvio.

esempio

come vedi sotto le frasi con le ; sono escluse dalla partecipazione attiva del lisp. ma contengono i commenti che il programmatore ritiene opportuno inserire

(PROMPT "\n© 2006 porte e finestre\n")

;parte con fin

(defun C:fin (/ larghezza primo secondo terzo quarto m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 a angolo angolo1 piano angolo2 angolo3 gr midlarg x lf lx t1 t2 hf a aa)

(setq piano (getvar "CLAYER"))

(command "_osnap" "_nearest")

(setq primo (getpoint "\nInsert point interno: "))

(setvar "OSMODE" 128)

(setq secondo (getpoint primo "\nLarghezza del muro: "))

(command "_osnap" "_nearest")

(setq terzo (getpoint primo "\nLarghezza della finestra: "))

(setvar "OSMODE" 0)

(setq larghezza (distance primo terzo))

(setq angolo (angle primo terzo))

(setq quarto (polar secondo angolo larghezza))

(command "_break" primo terzo C:)

(command "_break" secondo quarto C:)

(command "_layer" "N" "MURI" "c" "4" "Muri" C:)

(command "_layer" "_s" "MURI" C:)

(command "_line" primo secondo C:)

(command "_line" terzo quarto C:)

(command "_layer" "N" "INFISSI" "c" "2" "INFISSI" C:)

(command "_layer" "_s" "INFISSI" C:)

(command "_line" primo terzo C:)

(command "_line" quarto secondo C:)

(setq midlarg (/ larghezza 2))

(setq angolo1 (angle terzo primo))

(setq angolo2 (angle primo secondo))

(setq angolo3 (angle secondo primo))

(setq m1 (polar primo angolo2 0.05))

(setq m2 (polar terzo angolo2 0.05))

(command "_layer" "N" "INFISSI1" "c" "1" "INFISSI1" C:)

(command "_layer" "_s" "INFISSI1" C:)

(command "_pline" m1 m2 C:)

(setq m4 (polar primo angolo 0.05))

(setq m5 (polar m4 angolo2 0.05))

(setq m8 (polar terzo angolo1 0.05))

(command "_line" m4 m5 C:)

(command "_copy" "_L" "" m4 m8 C:)

(setq m3 (polar primo angolo midlarg))

(if (> larghezza 0.9)

(progn

(setq m6 (polar m3 angolo1 0.05))

(setq m7 (polar m3 angolo 0.05))

(command "_copy" "_P" "" "M" m4 m6 m7 C:)

)

)

(if (= gfix nil) (setq gfix 1))

(princ "\nQuotare finestra (S/N)? <")

(if (= gfix 0) (princ "S"))

(if (= gfix 1) (princ "N"))

(princ ">")

(setq gfiy (getstring))

(if (= (strcase gfiy) "S") (setq gfix 0))

(if (= (strcase gfiy) "N") (setq gfix 1))

(if (= gfix 0)

(progn

(command "_layer" "N" "QUOTEINFISSI" "c" "2" "QUOTEINFISSI" C:)

(command "_layer" "_s" "QUOTEINFISSI" C:)

(setq gr (/ 180 PI))

(if(or(< (* gr angolo2) 95) (> (* gr angolo2) 310))

(progn

(setq a (* gr angolo2))

(setq aa angolo2)

(setq x 1))

(progn

(setq a (* gr angolo3))

(setq aa angolo3)

(setq x 0))

)

(setq m9 (polar secondo angolo midlarg))

(setq m10 (polar m9 angolo2 0.6))

(setq m11 (polar m3 angolo3 0.1))

(command "_pline" m10 m11 C:)

(setq m12 (polar m9 angolo2 0.3))

(setq m13 (polar m12 (+ aa (/ 90 gr)) 0.125))

(setq m14 (polar m12 (+ aa (/ 270 gr)) 0.125))

(if (= ghf nil) (setq ghf 160))

(princ "\nAltezza finestra: <")

(princ ghf)

(princ ">")

(setq hf (getint))

(if (= hf nil) (setq hf ghf))

(setq ghf hf)

(setvar "luprec" 0)

(setq lf (* larghezza 100))

(setq lx (strcat (rtos lf)))

(setq t1 lx)

(setq t2 hf)

(command "_text" "m" m13 "0.15" a t1)

(command "_text" "m" m14 "0.15" a t2)

)

)

(command "_layer" "_s" "0" C:)

(setvar "luprec" 2)

(princ)

)

per completezza del lisp ti rimando all'allegato di questo topic

http://www.cadlandia.com/forum/topic.asp?TOPIC_ID=6621

jjtctl.jpg

ovvio se qualche lisp non funziona è dato principalmente dai seguenti motivi

-1 tu hai la versione in italiano, e chi ha redatto il lisp l'ha scritto in inglese senza usare gli undescore necessari

-2 il lisp non funziona con la tua versione di autocad

-3 quando tenti in autocad di aprire o salvare un file, ed invece della finestra normale di dialogo, sembra di esser tornati al DOS, con ricerca del percorso e del file da salvare/o aprire, allora una procedura di qualche lisp con all'interno la variabile Ffiledia è stata interrotta o dall'utente o da un bug del listato.

niente parura basta digitare dal comando filedia, ed impostarla nuovamente al parametro 1

p.s. imparare il lisp è un altra cosa, e bisogna esserci portati, ancora dopo tanti anni sono un novellino alle prime armi che si incasina come appena dimentico qualche parentesi e vado in "guru" per mesi interi.


Edited by leone

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x

Ti piacerebbe rimanere sempre aggiornato sulle ultime novità nel campo della computer grafica?

Iscrivendoti alla Newsletter riceverai subito una mail con le indicazioni per scaricare gratuitamente:

  1. Le immagini HDRI presenti su HDRI pro
  2. Una sequenza di 300 immagini HDRI generata da Luca Deriu tramite il programma Real HDR