Professional Documents
Culture Documents
(elem1 elem2 )
Parntesis de Parntesis de
Apertura Elementos Cierre
variable
smbolo Internas de AUTOLISP
funcin
Definidas por el usuario
elemento
numricas
constantes
textuales
listas
!x !y !z !w
5 UNPRG (A B) 27
O. ARITMTICAS
SUMAR
(+ num1 num2 )
Ejm.:
(setq x 5 y 2)(setq z (+ 3 x y))
RESTAR
(- num1 num2 )
Ejm.:
(setq a 10 b 5 c 2)(setq d (- a b c))
MULTIPLICAR
(* num1 num2 )
Ejm.:
(setq a 5 b 10 c 2)(setq d (+ a b c))
DIVIDIR
(/ num1 num2 )
Ejm.:
(setq a 100 b 2 c 5)(setq d (/ a b c))
(/ 7 2) 3 (/ 7 2.) 3.5
O. DE COMPARACIN
(= cadena_o_num1 cadena_o_num2 )
Ejm.:
(setq x1 5 x2 7)(= x1 x2) nil
(setq x1 5 x2 5)(= x1 x2) T
FUNCIONES INTERNAS
TRADUCCIN DE FRMULAS
FRMULA TRADUCCIN
m1m2
F G 2 (setq F (/ (* G m1 m2) (* d d)))
d
Mu
As
f y d a 2 (setq As (/ Mu (* fi fy (- d (/ a 2)))))
FUNCIONES PARA CREAR Y MANEJAR LISTAS
CREACIN DE LISTAS
(LIST expresion1 [expresion2 ])
Ejm.:
(setq x1 30 y1 60 z1 90)
(setq pt1 (list x1 y1 z1))
Ejem:
(setq l1 ((a b) (x y) 5 f))
1) (caar l1) a
2) (cdar l1) (b)
3) (caddr l1) 5
4) (cadar l1) b
5) (caddar l1) nil
INTRODUCIR UN NGULO
(GETANGLE [base] [mensaje])
Ejem: (setq a1 (getangle Introducir primer punto:))
Introducir primer punto: qq punto
Specify second point: @50<60
1.0472
INTRODUCIR CADENAS DE TEXTO
(GETSTRING [modo] [mensaje]) (mx. 132 caracteres)
t (permite espacios)
Ejem: (setq texto1 (getstring Escribe tu texto:))
(setq texto1 (getstring t Escribe tu texto:))
MODOS PARA EL USO DE LAS FUNCIONES GET
(INITGET [modo] [clave])
CONDICIONAL MLPTIPLE
(COND (condicion1 resultado1) [(condicin2 resultado2) ])
SECUENCIA CONSECUTIVA
(PROGN expresion1 expresion2 )
h3
x1 = xb (b3 b1)/2
p9 p4
p8 p5
y2 x2 = xb + (b1 b2)/2
x3 = x2 + b2
b2
x4 = xb + b1
h2
x5 = x1 + b3
p11
p10 p3 p2
h1 y1 y1 = yb + h1
y2 = y1 + h2
pb p1
yb
y3 = y2 + h3
b1
x1 xb x2 x3 x4 x5
(defun datos_seccion( )
(initget 7) (setq b1 (getreal b1 = )) (setq p4 (list x3 y2))
(initget 7) (setq b2 (getreal b2 = )) (setq p5 (list x5 y2))
(initget 7) (setq b3 (getreal b3 = )) (setq p6 (list x5 y3))
(initget 7) (setq h1 (getreal h1 = )) (setq p7 (list x1 y3))
(initget 7) (setq h2 (getreal h2 = )) (setq p8 (list x1 y2))
(initget 7) (setq h3 (getreal h3 = )) (setq p9 (list x2 y2))
(initget 1) (setq pb (getpoint pto. base )) (setq p10 (list x2 y1))
) (setq p11 (list xb y1))
(command line pb p1 p2 p3 p4 p5 p6 p7
(defun seccion(/ x1 x2 x3 x4 x5 xb y1 y2 y3 yb p8 p9 p10 p11 c)
p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11) )
(setq xb (car pb) yb (cadr pb))
(setq x1 (- xb (/ (- b3 b1) 2))) (defun c:seccion(/ b1 b2 b3 h1 h2 h3 pb)
(setq x2 (+ xb (/ (- b1 b2) 2))) (setvar cmdecho 0)
(setq x3 (+ x2 b2)) (datos_seccion)
(setq x4 (+ xb b1)) (setq v1 (getvar osmode))
(setq x5 (+ x1 b3)) (setvar osmode 0)
(setq y1 (+ yb h1)) (seccion)
(setq y2 (+ y1 h2)) (setvar osmode v1)
(setq y3 (+ y2 h3)) (setvar cmdecho 1)
(setq p1 (list x4 yb)) (prin1)
(setq p2 (list x4 y1)) )
(setq p3 (list x3 y1)) (prompt Comando SECCION creado)(prin1)