Resultados 1 al 2 de 2

Biblioteca de bloques

  1. #1
    Fecha de ingreso
    Feb 2006
    Mensajes
    28

    Biblioteca de bloques

    Hola a todos, en mi primera incursión al Maxscript intento crear un menú, que haga la función de biblioteca de bloques, de tal modo que me permita elegir cualquier archivo ya creado por mi e importarlo como Xref al dibujo donde me encuentre.

    Me podéis más o menos decir que me tendría que mirar para crear un menú, dentro del panel create/geometría, con mis dibujos. Saludos y gracias con antelación.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para crear un menú de biblioteca de bloques en MaxScript que importe archivos como Xrefs, debes centrarte en crear un script de utilidad o un macroScript. La mejor solución actual sigue siendo usar MaxScript integrado en 3ds Max, ya que es nativo y potente.

    Primero, debes crear un MacroScript. Esto te permitirá añadir un botón a cualquier barra de herramientas o panel. Para integrarlo en el panel Create/Geometry, necesitarás crear una categoría de utilidad personalizada o usar un script de utilidad que se pueda acceder desde ahí, aunque es más común agregarlo como un botón en una barra de herramientas personalizada o en el Quad Menu. Para un panel Create, podrías investigar la creación de un Rollout flotante o un plugin de utilidad.

    Vas a necesitar usar funciones para crear una interfaz de usuario con un listado de tus archivos. Usa el comando dotNetObject para crear un ListBox o TreeView más moderno, o los controles clásicos de MaxScript como listbox en un rollout. Tu script debe leer los archivos de un directorio específico donde guardas tus bloques.

    La clave para importar como Xref está en el comando xrefs.addNewXRefFile. Necesitarás pasarle la ruta del archivo seleccionado. Debes estructurar el script para que, al hacer doble clic o pulsar un botón en el listado, se llame a esta función con la ruta completa.

    Un ejemplo básico de la estructura sería crear un rollout con un listbox que se llene con los nombres de los archivos .max de una carpeta. Luego, en el evento on doubleClicked del listbox, obtienes el item seleccionado, construyes la ruta y usas xrefs.addNewXRefFile para insertarlo en la escena actual.

    Para que aparezca en el panel Create/Geometry, puedes registrar tu script como una utilidad. Define una categoría con utility y luego, en el rollout, incluye el listado y la lógica. Sin embargo, ten en cuenta que el panel Create es más para objetos creadores, no para utilidades. Una alternativa más limpia es crear un MacroScript y luego, manualmente o vía script, añadir un botón a la interfaz en la pestaña Create bajo una categoría personalizada, lo cual es más complejo.

    Te recomiendo que comiences creando un MacroScript simple que abra un diálogo de archivo para seleccionar un .max y lo importe como Xref. Una vez que funcione, evoluciona la interfaz a un rollout con un listado fijo de una carpeta. Finalmente, para la distribución, puedes instalar el script en los directorios de scripts de 3ds Max y añadirlo a un menú personalizado.

    Para aprender, busca en la documentación de MaxScript los temas sobre rollout, listbox, getFiles para listar archivos, y xrefs.addNewXRefFile. La forma más directa de tener un menú accesible es crear un MacroScript y colocarlo en un Cuadro de herramientas personalizado, no necesariamente dentro del panel Create, ya que eso requiere modificar la interfaz de Create de forma más avanzada.

Temas similares

  1. Respuestas: 7
    : 14-09-2012, 02:47
  2. Respuestas: 5
    : 09-09-2010, 12:52
  3. Respuestas: 15
    : 14-05-2009, 21:06
  4. Guía práctica para crear una biblioteca digital desde cero con Python
    Por Miguel Camargo en el foro Trabajos Finalizados
    Respuestas: 17
    : 22-12-2008, 19:06
  5. Respuestas: 6
    : 22-04-2005, 16:46