Foros 3DPoder.  

Bienvenido a Foros 3DPoder..

Usted esta viendo este foro como invitado, no esta registrado todavía, lo que limita su visión del foro. Si quiere unirse gratis a la mayor comunidad del diseño gráfico de habla hispana, tener acceso a publicar y responder mensajes, tener mensajes privados con otros miembros(PM), responder encuestas, publicar sus imágenes para que las vea el resto del mundo, tener acceso a los video_tutoriales, y muchas cosas más, no lo dude. Registrarse es rápido, simple y gratuito, agregate hoy a la mayor comunidad 3D de habla hispana! !

Si usted tiene algún problema con su registro, por favor , díganoslo aquí. 3d





¿Te ayudo?
Retroceder   Foros 3DPoder. > :: Infografia y diseño grafico. > Tutoriales, Libros y Manuales. > Almacen de Tutoriales (Castellano) > 3DStudio Max
Foro3D Galeria Privada Video3D Blueprints Software Blog3DPoder Buscar Empleo Donaciones

Oferta de trabajo en Decathlon
google adsense


Respuesta
 
Herramientas
Antiguo 25 sep 2008   #1
3dpoder
Administrador y fundador.
 
Avatar de 3dpoder
 
Fecha de Ingreso: abril-2002
Mensajes: 3,272
Entradas de portafolios: 3
Contactar con 3dpoder a través de ICQ Contactar con 3dpoder a través de MSN Contactar con 3dpoder a través de Yahoo
3dsmax Programación en MAXScript

Programación en MAXScript

2.1 - Edición y ejecución de guiones en ficheros

Como se ha comentado en el capítulo 1, en MAXScript se pueden generar nuevas utilidades y funciones para 3D Studio MAX. Si queremos conservar los guiones de estas utilidades y funciones tendremos que guardarlos en ficheros, ya que el contenido de la ventana Oyente se pierde una vez se cierra el programa. Para ello, en lugar de utilizar el oyente de MAXScript, abriremos un guión nuevo mediante el botón "Abrir Guión" y escribiremos en el editor de guiones nuestro programa en MAXScript.







Si por el contrario ya tenemos un guión escrito y lo queremos modificar podemos presionar el botón “Abrir Guión” o bien mediante la instrucción Edit “NombreFich.ms” desde el oyente de MAXScript. Por convención, los ficheros escritos en MAXScript tienen la extensión “.ms”.
2.1.1 - Teclas abreviadas

En este apartado explicaremos todas las teclas de función que se utilizan en MAXScript. No es necesario aprenderselas de memoria, ni mucho menos, pero puede ser útil saber algunas de ellas para ir más rápido y evitar tener que irnos al menú y buscar la función. Se ha de decir que todos los métodos abreviados tienen su equivalente en los menús del oyente y del editor de MAXScript, o sea, que si no te interesa el tema, puedes pasar al siguiente apartado directamente (Confieso que este es un rollo!!!).
Podemos utilizar teclas abreviadas tanto en el oyente de MAXScript como en el editor de guiones, pero ¡ojo! Hay un par que tienen significado diferente si las aplicas en un sitio o en otro. También hay abreviaciones específicas para el oyente, y abreviaciones sólo para el editor.
Comencemos primero por las que tienen significado diferente
Teclas abreviadas con significado diferente
Nombre
Significado en Oyente
Significado en Editor
CTRL + S Guardar como. Abre un cuadro de diálogo para que el usuario introduzca el nombre del fichero en el que se va a guardar todo el texto activo del oyente. Guardar. Guarda el contenido del editor en el fichero actual. Si el fichero no tiene nombre se abrirá un cuadro de diálogo para que el usuario introduzca el nombre que desee. CTRL + R Ejecutar guión. Se abre un cuadro de diálogo para que el usuario seleccione un fichero de MAXScript. Una vez seleccionado, se procederá a su ejecución. Sitúa el cursor en el lugar donde se había situado anteriormente con un click del botón izquierdo, o en una operación de búsqueda. Esto es un poco complicado de entender. Pongamos un ejemplo. Un usuario ha buscado en su editor la palabra "Esfera", y ya va por la tercera ocurrencia, pero se da cuenta que la que le interesa es la segunda. Pulsando "CTRL + R" se situará en la anterior, que es la que desea.
Otro ejemplo sería cuando un usuario hace click en una posición y luego se va a otro sitio. Podrá recuperar la posición en la que estaba anteriormente el cursor pulsando "CTRL + R"
He de comentar que las teclas CTRL + R en el editor de guiones particularmente no me han funcionado nunca. No se si es cosa de mi 3D Studio MAX o es uno de los muchos errores que tiene nuestro querido MAXScript.
A continuación os muestro otra tabla con funciones exclusivas del editor de guiones:
Teclas abreviadas exclusivas del editor de guiones
Nombre
Significado en Editor
CTRL + E Evaluar todo. Evalúa todo el código que hay en el editor de guiones. Es lo mismo que seleccionar todo el texto y pulsar las teclas SHIFT + ENTER. La ventaja es que no se tiene que seleccionar todo el texto. CTRL + Click derecho del ratón Se muestra un menú con todos los elementos (Botones, persianas, etiquetas, funciones, etc..). De esta forma es más rápido ir de un sitio a otro. Simplemente se ha de pulsar la tecla CTRL y hacer un click con el botón derecho del ratón y seleccionar el elemento en el que te quieras posicionar con un click del botón izquierdo. El cursor se posicionará en el lugar que has seleccionado. Para que os hagáis una idea del menú que sale pulsando las teclas CTRL + Click derecho del ratón aquí tenéis un ejemplo:







La parte izquierda es la que se muestra al pulsar CTRL + Click derecho del ratón. Una vez se ha seleccionado el elemento "Checkbutton" , se muestra la lista de todos los checkbutton que hay en el documento.
La siguiente tabla muestra las teclas abreviadas que tienen el mismo significado tanto en el oyente de MAXScript como en el editor de guiones:
Teclas abreviadas comunes
Nombre
Significado
CTRL + N Nuevo script. Abre una nueva ventana de editor de guiones para que el usuario pueda escribir un nuevo documento de MAXScript. CTRL + O Abrir script. Se muestra un cuadro de diálogo para que el usuario pueda seleccionar unl documento existente. Una vez seleccionado, se abrirá el documento MAXScript. CTRL + Z Deshacer. Deshace la última modificación que se ha hecho. Sólo tiene memoria para una modificación, o sea, que tened cuidado!! CTRL + X Cortar. El usuario ha de seleccionar una parte del documento y pulsar CTRL + X. La selección desaparecerá (se copia en el portapapeles), pero el usuario podrá recuperarla situando el cursor a donde quiera que vuelva a aparecer y pulsando CTRL + V. CTRL + C Copiar. El usuario ha de seleccionar un texto y pulsar CTRl + C. El texto seleccionado se copiará en el portapapeles. Para copiar de nuevo el texto, se habrá de situar en la posición donde desee y pulsar CTRL + V. La diferencia con "Cortar" es que en este caso el texto seleccionado no desaparece. CTRL + V Pegar. Pega el contenido del portapapeles en la posición donde se encuentre el cursor. CTRL + A Seleccionar todo. Selecciona todo el texto del oyente de MAXScript o del editor de guiones activo en ese momento (donde se encuentre el cursor actualmente). CTRL + F Buscar. Se abre el cuadro de diálogo para buscar un texto. CTRL + G Buscar siguiente. Repite la última búsqueda y selecciona la siguiente ocurrencia del texto que se ha indicado buscar. CTRL + H Reemplazar. Abre el cuadro de diálogo de reemplazar. CTRL + B Selecciona el texto entre paréntesis, corchetes y claves. Es útil para saber si has cerrado todos los paréntesis en trozos grandes de código. El usuario tendrá que situar el cursor en cualquier posición que desee y pulsar CTRL + B.
Por ejemplo: (25 + 4 (345 / 7) -.
Si ponemos el cursor en "/" y pulsamos CTRL + B se seleccionará (345 / 7). En cambio, si ponemos el cursor en "8" se seleccionará toda la expresión.
SHIFT + ENTER Se evalúa todo lo que se ha seleccionado. CTRL + Y Rehacer. Vuelve a rehacer lo que se ha deshecho con CTRL + Z CTRL + I Sangría. Pone una sangría en el texto. (Equivalente a usar el tabulador). Y esto es todo en cuanto a teclas abreviadas. Ahora que ya os he dado la paliza, podéis ir al apartado siguiente!!!



2.2 Nombres

Los nombres en MAXScript se utilizan para definir variables, funciones, parámetros, etc. Un nombre necesariamente ha de empezar por un carácter alfabético o bien, por el carácter “_”. Después del primer carácter, puede haber cualquier número de caracteres alfanuméricos o el carácter “_”.
A continuación os muestro algunos ejemplos de nombres que son correctos e incorrectos:
Correctos
Incorrectos
  • NomCilindro_1
  • _Pos_04
  • a
  • Var2Vertices
  • 1NomCilindro
  • ?Pos_04?
  • a(7)
  • !Var2Vertices?
Si por algún motivo necesitamos definir un nombre con caracteres ilegales, como un espacio en blanco, una coma, etc, pondremos el nombre entrecomillado. Aquí tenéis un par de ejemplos.
  • ‘Nombre Variable’ = ”Pepe”
  • objeto.‘punto, posición’ = [2,5,10]
3D Studio MAX tiene un gran número de nombres que contienen espacios. Podremos utilizar el carácter underscore "_" en lugar del espacio. De esta forma nos ahorramos poner un montón de comillas. Las dos instrucciones que se muestran a continuación serán equivalentes:
  • $CajaMesa01.modifiers[#'FFD 4x4x4']
  • $CajaMesa01.modifiers[#'FFD_4x4x4']
Además, se ha de comentar que los nombres en MAXScript no distinguen entre mayúsculas o minúsculas. Los siguientes nombres serían equivalentes:
  • NombreVariable
  • nombreVariable
  • NOMBREVariable
  • NombreVARIABLE


2.3 Cadenas (Strings) y comentarios

Las cadenas en MAXScript empiezan y terminan con el símbolo de doble comilla. Estos serían algunos ejemplos de cadenas:
  • “Hola”
  • “Esto es una cadena”
Anteriormente se ha comentado que 3D Studio MAX no distingue entre mayúsculas y minúsculas. Esto es cierto salvo en una excepción. La comparación entre dos cadenas sí que hace esta distinción. Como podemos observar en la siguiente figura, no será lo mismo una palabra escrita en minúsculas que la misma palabra en mayúsculas:




En el ejemplo anterior, el oyente de MAXScript compara el string "hola" con "HOLA". Podemos ver que el resultado es false. Esto quiere decir que los dos strings son diferentes. (Ya que estamos, también podemos observar que el símbolo para hacer comparaciones es "=="). En el segundo caso, como los dos strings son iguales, el oyente devuelve True
Entre las comillas se puede escribir cualquier tipo de caracteres excepto el propio símbolo de comillas dobles. Si se necesita escribir, se habrá de introducir detrás del carácter de escape ‘\’. Por ejemplo, para escribir la frase: Antonio me dijo “Hola” el otro día, se tendría que poner de la siguiente forma:
  • “Antonio me dijo \”Hola\” el otro día”
Los símbolos que van precedidos del carácter de escape ‘\’ son los siguientes:
  • \” : Comillas.
  • \\ : Carácter ‘\’.
  • \n: Nueva línea.
  • \r: Retorno de carro.
  • \t: Tabulación.
Algunas veces necesitaremos introducir comentarios en el código que implementemos. Los comentarios se especificarán mediante dos guiones seguidos. A partir de estos dos guiones ´--‘, todo lo que se escriba hasta el final de la línea será considerado como un comentario. Por lo tanto, no podremos introducir ninguna línea de código en la parte derecha de los dos guiones. Ejemplos:
  • -- Esto es una línea de comentario
  • x = x + 1 -- A partir de los dos guiones no se inserta código
2.4 Números

MAXScript utiliza dos tipos de número:
  • Enteros con signo de 32 bits y con complemento de 2 (Integer)
  • De coma flotante de precisión sencilla. (Float).
Para separar los decimales de los números se utiliza un punto. En los paneles de la versión interactiva de 3D Studio MAX en español los decimales van precedidos por una coma en lugar de un punto.
Por ejemplo: Cuando creamos una esfera en el panel "Crear" y pulsamos el botón "Esfera", nos salen algunos parámetros que podemos definir utilizando decimales. Por ejemplo, el radio.









En la imagen anterior podemos ver, que en la versión interactiva en español los decimales van precedidos por una coma. En cambio, en la misma versión española, si usamos MAXScript, en lugar de la coma tendremos que introducir un punto.
En la versión inglesa, los decimales en la versión interactiva y en MAXScript van precedidos de un punto. Esto puede generar un poco de confusión y se ha de tener en cuenta.

Ejemplos de números en MAXScript:
  • 10.7
  • 45
  • 7.34
  • 7e-4
  • 45e5
En los dos últimos ejemplos anteriores podemos ver que las potencias de 10 se simbolizan con una ‘e’. Para poner 7 * 10^-4 (7 por 10 elevado a -4) utilizaremos 7e-4, y para poner 45 * 10^5 se utilizará 45e5.
Se ha de indicar que los floats en MAXScript sólo permiten tener 6 números decimales. A partir del sexto, se redondean. El usuario también ha de saber que si se sobrepasa el rango en los números se producirán errores de desbordamiento imprevisibles.


2.5 Expresiones de comparación

Estas expresiones sirven para comparar diferentes valores de un mismo tipo. Este tipo ha de permitir hacer una comparación. Devuelven como resultado TRUE si se cumplen las condiciones especificadas o FALSE en caso contrario. MAXScript tiene las siguientes expresiones booleanas:
Expresiones booleanas Instrucción Significado
  • <Operando1> == <Operando2
  • <Operando1> != <Operando2>
  • <Operando1> > <Operando2>
  • <Operando1> < <Operando2>
  • <Operando1> > = <Operando2>
  • <Operando1> < = <Operando2>
  • Operando1 igual a Operando2
  • Operando1 diferente que Operando2
  • Operando1 mayor que Operando2
  • Operando1 menor que Operando2
  • Operando1 mayor o igual que Operando2
  • Operando1 menor o igual que Operando2
Las expresiones ‘= =’ y ‘!=’ sirven para todos los tipos de MAXScript. Las restantes sólo sirven para los tipos que aceptan comparaciones.
Por ejemplo:
Instrucción Devuelve Ejemplos 25 = 33 False, ya que 25 es diferente de 23 true=true True, ya que cierto es igual a cierto true=false False, ya que cierto no es igual a falso 25 != 33 True, ya que 25 no es igual a 33 true != true False, ya que cierto es igual a cierto, no diferente true != false True, ya que cierto es distinto a falso 25 > 33 False, ya que 25 no es mayor que 33 25 < 33 True, ya que 25 es inferior a 33 25 >= 25 True, ya que 25 es igual a 25 25 >= 15 True, ya que 25 es mayor que 15 33 <= 25 False, ya que 33 no es menor o igual que 25
Los operandos pueden ser :
  • Expresiones matemáticas
  • Otros operandos (nombres de variables, números, cadenas... etc)
  • Una llamada a una función.
La prioridad de las expresiones de comparación es inferior que la de las expresiones matemáticas. Esto quiere decir que en una expresión donde hayan operaciones matemáticas y de comparación, se ejecutarán primero las operaciones matemáticas y por último las operaciones booleanas.

2.6 Expresiones lógicas

Las expresiones lógicas, al igual que las de comparación dan como resultado los valores TRUE o FALSE. Se utilizan en expresiones condicionales y combinan en sus operandos expresiones matemáticas y de comparación. Las expresiones lógicas en MAXScript son las siguientes (ordenadas de mayor prioridad a menor prioridad):
Expresiones lógicas Instrucción Significado
  • NOT <Operando1>
  • <Operando1> AND <Operando2>
  • <Operando1> OR <Operando2> O
  • Negación del Operando 1
  • Operando1 y Operando2
  • Operando1 o Operando2
Los operandos de las expresiones lógicas han de ser siempre booleanos (devuelven true o false) y pueden ser de los siguientes tipos:
  • Operandos (Nombres de variables, etc).
  • Expresiones de comparación.
  • Otras expresiones lógicas.
  • Llamadas a funciones.
Como se ha dicho antes, los diferentes operandos de la expresión han de dar como resultado siempre TRUE o FALSE, ya que de lo contrario, no se podrá evaluar dicha expresión. Los resultados de las operaciones con expresiones lógicas son los siguientes:
True True True Instrucción Valor devuelto OR False OR False False False OROR False True True OR True True Como se puede observar, la expresión lógica "OR" devuelve True siempre que uno de los operandos sea true. Únicamente en el caso de que todos los operandos sean False, devolverá el valor False.
En el caso de la expresión lógica "AND", sólo devolverá el valor True en el caso de que todos los operandos sean True. Si por lo menos uno de ellos es False, devolverá el valor False
Instrucción Valor devuelto AND False AND False False False AND True False True AND False False True AND True True
La expresión lógica "Not" negará el operando que se encuentre detrás de él. De tal forma que una expresión cierta pasa a ser falsa y al revés.
NOT Instrucción Valor devuelto NOT False True NOT True False La prioridad de las expresiones lógicas es inferior a las de comparación y matemáticas. Siempre se ejecutarán en último lugar.



Fuente original: Bienvenidos a la página de Eloweyn


Imágenes Adjuntas
Tipo de Archivo: jpg Editor.JPG (9.7 KB, 78 visitas)
Tipo de Archivo: jpg click.JPG (27.2 KB, 78 visitas)
Tipo de Archivo: jpg Cadena.JPG (11.5 KB, 77 visitas)
Tipo de Archivo: jpg Decimal.JPG (2.8 KB, 74 visitas)

Última edición por 3dpoder fecha: 25 sep 2008 a las 15:43.
esta ahora conectado.   Responder Con Cita
Enlaces patrocinados
Respuesta

Etiquetas Identificativas
maxscript, programacion, programación en maxscript


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Normas de Publicación
Usted no puede publicar nuevos mensajes.
Usted no puede responder mensajes
Usted no puede publicar archivos adjuntos
Usted no puede editar sus mensajes

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are deshabilitado
Pingbacks are deshabilitado
Refbacks are deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tutorial MAXScript - Introducción 3dpoder 3DStudio Max 0 25 sep 2008 15:33
visual maxscript - .exe? wolverine Script 12 09 ago 2008 12:28
Fisica, Matemáticas y maxscript. promineo Animación y Rigging 18 11 feb 2008 18:21
¿Se pueden crear IK Solvers con Maxscript? carlos19750 Animación y Rigging 1 19 jul 2006 07:04
MAXScript 3dpoder 3DStudio Max 0 13 ago 2005 16:28

google adsense



La franja horaria es GMT. Ahora son las 01:20.


Powered by: vBulletin, para 3DPoder.com Versión 3.7.4
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.
3DPoder.com Foro3d.com © Al servicio de la infografia y el 3D desde 1997.
Mortgages | Personal Car Finance | Mortgages | Car Loans | Loans
Content Relevant URLs by vBSEO 3.2.0