miércoles, 16 de noviembre de 2016

¿Cómo funciona AutoLisp?

¿Cómo funciona autoLisp?

AutoLisp funciona por medio de listas que empiezan con el nombre de una función seguida de los argumentos requeridos.



(+ a b c ...)

aquí la función es "+" y los argumentos son "a", "b", c, etc. Esta función puede tener un número indeterminado de argumentos, hay funciones en la que están restringidos el numero de argumentos. Por ejemplo:



(getpoint)

esta función sirve para pedir un punto al usuario y no requiere argumentos, pero tiene la opción de poner una cadena de petición, escribe directamente en la linea de comandos de autocad lo siguiente:



(getpoint "\nDame el punto num 1:")

si no ponemos la petición saldría una línea en blanco en el área de comandos, pero al ponerle la petición ésta queda en espera hasta darle respuesta. Como nota, la diagonal invertida con "n" (\n) indican un salto de linea.



Al dar un punto la función devuelve una lista de números que indican las coordenadas "x", "y" y "z" del punto seleccionado. El valor obtenido se imprime en la pantalla. Si queremos asignar ese valor a una variable usaremos la función "setq" de la manera siguiente:



(setq pt1 (getpoint "\nDame el punto num 1:"))

al ejecutarse esta función quedará guardado en memoria el valor de la coordenada "p1".



Para guardar la coordenada pt2 sería:



(setq pt2 (getpoint "\nDame el punto num 2:"))

y ya queda también pt2 guardada en la memoria.



Para verificar que esos datos estén en memoria podemos usar la función "print" que imprime en pantalla el valor que se le indique:



(print pt1)

(print pt2)

y deben de salir los valores de pt1 y pt2.



Para utilizar los valores guardados en memoria dibujaremos una linea del "pt1" al "pt2"



(command "lineptpt2 "")

siguiendo el mismo proceso que usamos al dibujar en autocad ubicaremos los argumentos después de la función "command". Las dobles comillas juntas indican un enter.



Hasta el momento todo lo que hemos escrito entre paréntesis y en negrillas se puede escribir directamente en la línea de comandos de autocad. Ahora vamos a hacerlo en forma.



Tecleamos vlisp para que se despliegue el editor de autolisp, damos "file/new" en el menú superior de comandos y después "file/save as..", se guarda en nuestra carpeta personalizada el archivo lin.lsp. Incluimos el listado siguiente:



(defun c:lin ()

(setq pt1 (getpoint "\nDame el punto num 1:"))

(setq pt2 (getpoint "\nDame el punto num 2:"))

(command "lineptpt2 "")

)

Una vez introducido el listado se guarda de nuevo y regresamos a autocad. Para cargar el programa tecleamos "appload", buscamos nuestro archivo, damos "load" y "close" y ya debemos de tener una nuevo comando activo, el comando "lin".



No tiene mucho sentido hacer programa que dibuje una línea pero este ejercicio es para principiantes desde cero. Seguiremos agregando información.

Símbolos en AutoLisp

Símbolos.


+
Suma los argumentos proporcionados.

Argumentos:
n = números

Son requeridos dos o más argumentos.

Notación:
(+ n1 n2 n3 ...)

Ejemplos:
 (+ 5 3)
8

-------------------------------------------------------------------------

-
Resta al primer argumento los demás que se le proporcionen.

Argumentos:
n = números

Son requeridos dos o más argumentos, pero si se proporciona solo uno el resultado será el negativo de ese número.

Notación:
(- n1 n2 n3 ...)

Ejemplos:
(- 5 3)
2

(- 5)
-5
-------------------------------------------------------------------------

*
Multiplica los argumentos proporcionados.

Argumentos:
n = números

Son requeridos dos o más argumentos.

Notación:
(* n1 n2 n3 ...)

Ejemplos:
(* 5 3)
15

(* 2 3 5)
30

-------------------------------------------------------------------------

/
Divide el primer argumento por la multiplicación de los demás argumentos.

Argumentos:
n = números

Son requeridos dos o más argumentos.

Notación:
(* n1 n2 n3 ...)

Ejemplo2:

(/ 15 3)
5

(/ 30 2 3)
5

-------------------------------------------------------------------------

=
Comprueba la igualdad entre los argumentos que se proporcionen.

Argumentos:
n = números, cadenas

Son requeridos dos o más argumentos. Las cadenas con mayúsculas no se consideran como igual con las minúsculas. El resultado es T si los argumentos son iguales y nil si alguno de los argumentos es diferente de los demás.

Notación:
(* arg1 arg2 arg3 ...)

Ejemplos=

(= 5 5)
T

(= 12 5)
nil

(= "Casa" "casa")
nil

-------------------------------------------------------------------------

/=
Comprueba la desigualdad entre los argumentos que se proporcionen.

Argumentos:
var = números o cadenas

Son requeridos dos o más argumentos. El resultado es T si todos los argumentos son diferentes y nil si todos los argumentos o alguno de ellos en caso de ser más de dos son iguales.

Notación:
(* var1 var2 var3 ...)

Ejemplos=

(/= 5 5)
nil

(/= 5 5 5 5 2)
nil

(/= 12 5)
T

(/= 5 6 7 8 9 10)
T

(/= "Casa" "casa")
T

¿Cómo funciona autoLisp?

¿Cómo funciona autoLisp?

AutoLisp funciona por medio de listas que empiezan con el nombre de una función seguida de los argumentos requeridos.



(+ a b c ...)

aquí la función es "+" y los argumentos son "a", "b", c, etc. Esta función puede tener un número indeterminado de argumentos, hay funciones en la que están restringidos el numero de argumentos. Por ejemplo:



(getpoint)

esta función sirve para pedir un punto al usuario y no requiere argumentos, pero tiene la opción de poner una cadena de petición, escribe directamente en la linea de comandos de autocad lo siguiente:



(getpoint "\nDame el punto num 1:")

si no ponemos la petición saldría una línea en blanco en el área de comandos, pero al ponerle la petición ésta queda en espera hasta darle respuesta. Como nota, la diagonal invertida con "n" (\n) indican un salto de linea.



Al dar un punto la función devuelve una lista de números que indican las coordenadas "x", "y" y "z" del punto seleccionado. El valor obtenido se imprime en la pantalla. Si queremos asignar ese valor a una variable usaremos la función "setq" de la manera siguiente:



(setq pt1 (getpoint "\nDame el punto num 1:"))

al ejecutarse esta función quedará guardado en memoria el valor de la coordenada "p1".



Para guardar la coordenada pt2 sería:



(setq pt2 (getpoint "\nDame el punto num 2:"))

y ya queda también pt2 guardada en la memoria.



Para verificar que esos datos estén en memoria podemos usar la función "print" que imprime en pantalla el valor que se le indique:



(print pt1)

(print pt2)

y deben de salir los valores de pt1 y pt2.



Para utilizar los valores guardados en memoria dibujaremos una linea del "pt1" al "pt2"



(command "lineptpt2 "")

siguiendo el mismo proceso que usamos al dibujar en autocad ubicaremos los argumentos después de la función "command". Las dobles comillas juntas indican un enter.



Hasta el momento todo lo que hemos escrito entre paréntesis y en negrillas se puede escribir directamente en la línea de comandos de autocad. Ahora vamos a hacerlo en forma.



Tecleamos vlisp para que se despliegue el editor de autolisp, damos "file/new" en el menú superior de comandos y después "file/save as..", se guarda en nuestra carpeta personalizada el archivo lin.lsp. Incluimos el listado siguiente:



(defun c:lin ()

(setq pt1 (getpoint "\nDame el punto num 1:"))

(setq pt2 (getpoint "\nDame el punto num 2:"))

(command "lineptpt2 "")

)



una vez introducido el listado se guarda de nuevo y regresamos a autocad. Para cargar el programa tecleamos "appload", buscamos nuestro archivo, damos "load" y "close" y ya debemos de tener una nuevo comando activo, el comando "lin".



No tiene mucho chiste hacer programa que dibuje una línea pero este ejercicio es para principiantes desde cero. Seguiremos agregando información.

sábado, 12 de septiembre de 2015

Delay

Este comando de Autocad detiene el procesamiento en curso por el tiempo que le indiquemos.

El valor que requiere Delay es un entero que representa tiempo en mili segundos, o sea que Delay = 1000 = 1 segundo.

En ocasiones queremos guardar datos de un objeto que ha sido modificado y observamos que se guardan los datos pero con la situación anterior. Lo que yo he hecho es que posteriormente a la modificación de ese objeto (su ubicación, escala, rotación etc.) aplico el comando "Delay" que detiene una fracción de tiempo la rutina para obtener los datos de la nueva situación del objeto en cuestión.

viernes, 29 de noviembre de 2013

Comandos especiales para 3D

Flatshot. Extrae la proyección en 3D al plano.



jueves, 22 de julio de 2010

COMANDOS DE AUTOCAD QUE TE PUEDEN EVITAR DOLORES DE CABEZA

  • COMMANDLINEHIDE. Cuando desaparezca la linea de comandos de autocad debes escribir este comando para que regrese. Otra alternativa es ctrl+9
  • FILEDIA. Cuando quieras abrir un archivo y no aparece el cuadro de diálogo de seguro se modificó el valor de esta vairable. Teclear "Filedia" y dar la opción "1".
  • PICKADD. Hay ocasiones en las que seleccionamos un objeto y al querer seleccionar el segundo se pierde la selección del primero, esto sucede porque puede haberse modificado esta variable. Teclear "Pickadd" y dar el valor "1".
  • PICKFIRST. Normalmente se debe teclear el comando primero y después seguir las instrucciones pero algunos acostumbramos a seleccionar primero y después dar la instrucción. Si al hacer lo segundo no funciona es posible que se haya modificado esta variable. Para regresar la configuración tecleamos "Pickfirst" y le damos el valor "1".

Se aceptan sugerencias.

¡En equipo es más fácil!

lunes, 19 de abril de 2010

LUZ DE NEÓN EN 3DS MAX

Crear luz de neón en 3d Studio Max