Saltar al contenido

AutoLISP

LinceCAD lleva su propio intérprete de AutoLISP para ejecutar las rutinas escritas para AutoCAD o progeCAD: las mismas funciones, los mismos tipos de datos y los mismos mensajes de error («; error: bad argument type…», en inglés como en AutoCAD, porque muchas rutinas los comparan en su *error*). Las rutinas piden puntos y designan objetos como cualquier comando, con referencias a objetos, goma elástica y coordenadas tecleadas.

Escribir expresiones en la línea de comandos

Cuando no hay ningún comando en curso, lo que empieza por ( se evalúa como AutoLISP y el resultado se escribe debajo. Si faltan paréntesis o comillas por cerrar, el programa muestra (_> y espera más líneas.

(setq r (* 2 pi))
6.28319

Cargar archivos .lsp

Comandos nuevos con c:

Una función cuyo nombre empieza por c: pasa a ser un comando: se escribe su nombre en la línea de comandos como cualquier otro.

(defun c:area2 (/ e)
  (setq e (car (entsel "\nDesigne un círculo: ")))
  (princ (strcat "\nÁrea: " (rtos (* pi (expt (cdr (assoc 40 (entget e))) 2)) 2 2)))
  (princ))

Tipos de datos

Enteros de 32 bits (que desbordan como en AutoCAD), reales, cadenas, símbolos, listas y pares punteados, nombres de entidad, conjuntos de selección, archivos y funciones. Los ángulos van en radianes; los puntos son listas de dos o tres números. Comentarios con ; hasta el final de la línea o entre ;| y |;. En las cadenas valen \n, \t, \", \\ y \e.

Límites

Funciones por familias

Formas especiales y control: quote · function · lambda · setq · defun · defun-q · if · cond · while · repeat · foreach · progn · and · or · t · pi · pause · error

Aritmética: + · - · * · / · 1+ · 1- · abs · fix · float · rem · gcd · min · max · sqrt · expt · exp · log · sin · cos · atan · ~ · logand · logior · lsh

Comparación y predicados: = · /= · < · > · <= · >= · eq · equal · not · null · atom · listp · vl-consp · numberp · zerop · minusp · boundp · type · vl-symbolp

Listas: car · cdr · cadr y las demás c…r · cons · list · append · reverse · length · vl-list-length · nth · member · assoc · subst · last · vl-remove · vl-position · vl-sort · vl-remove-if · vl-remove-if-not · vl-some · vl-every · vl-member-if · acad_strlsort · mapcar · apply

Evaluación y símbolos: eval · set · read · vl-symbol-name · vl-symbol-value

Cadenas: strcat · strlen · substr · strcase · itoa · atoi · atof · chr · ascii · wcmatch · vl-string-trim · vl-string-left-trim · vl-string-right-trim · vl-string-search · vl-string-subst · vl-string-translate · vl-string-position · vl-string->list · vl-list->string · vl-string-elt · vl-princ-to-string · vl-prin1-to-string

Unidades: rtos · distof · angtos · angtof

Geometría: distance · angle · polar · inters · trans

Diálogo con el usuario: initget · getpoint · getcorner · getdist · getangle · getorient · getreal · getint · getstring · getkword · entsel

Mensajes: princ · prin1 · print · terpri · prompt · alert · textscr · graphscr

Comandos: command · command-s · vl-cmdf

Entidades: entlast · entnext · entget · entmod · entmake · entdel · entupd · handent

Conjuntos de selección: ssget · ssname · sslength · ssadd · ssdel · ssmemb

Tablas, variables y pantalla: tblsearch · tblnext · getvar · setvar · redraw · regen

Archivos y carga: open · close · read-line · write-line · findfile · getenv · load · vl-filename-base · vl-filename-directory · vl-filename-extension

Errores y sistema: exit · quit · vl-catch-all-apply · vl-catch-all-error-p · vl-catch-all-error-message · vl-load-com · ver · gc

Descargar LinceCAD Índice del manual