Resultados 1 al 2 de 2

Script X-Ray a un objeto con Python

  1. #1
    Fecha de ingreso
    Jul 2011
    Mensajes
    1,882

    Lightbulb Script x-ray a un objeto con python

    Hola, por fin he terminado este pequeño script en Python para Autodesk Maya, luego de un par de días de programarlo y probarlo.

    Lo que hace este script es activar o desactivar la transparencia del objeto seleccionado y así poder ver con mayor facilidad sus edges, vértices o faces.

    Yo me he creado un hotkey con la tecla X, para hacerlo deben ir a:
    - Windows
    - Settings/Preferencias
    - Hotkey Editor
    Clic en la imagen para ver su versión completa. 

Nombre: 1.JPG 
Visitas: 492 
Tamaño: 52.2 KB 
ID: 226552
    (1).-En la ventana qué se abrirá deben ir a la pestaña: Runtime command editor y presionar (2)New, (3).-Luego ingresar un nombre cualquiera para este script, por ejemplo: Xray_Object en el item name, (4).-Pueden agregar una descripción, por ejemplo: Activa Transparencia en objeto (sin comillas), (5).-En Languaje: deben elegir Python
    (6).-Pegar el código y clic a (7)save runtime command, (.-Cambiar en Edit Hotkey for a: Custom scripts
    (9).-Elegir el script creado y presionar la tecla X, (10).-Aparecera un mensaje de que ya está asignado, pero deben dar clic a yes
    (11).-Save and close.

    Clic en la imagen para ver su versión completa. 

Nombre: 2.JPG 
Visitas: 289 
Tamaño: 156.2 KB 
ID: 226553

    Ahora solo deben elegir un objeto, elegir unos cuantos faces o lo que deseen y presionar en su teclado la X, notaran que se ve en modo xray y si presionan nuevamente, vuelve al modo en que estaba inicialmente.

    Solo funciona con un objeto a la vez.

    Aquí un gif de ejemplo.

    Clic en la imagen para ver su versión completa. 

Nombre: xray_3djdavid.gif 
Visitas: 349 
Tamaño: 10.30 MB 
ID: 226554

    Y por último el código (no copiar este, ya qué perdió la indentacion al pegarlo aquí, adjunto el archivo.py):.

    Import Maya, cmds as mc.

    A=mc, selectMode(q= True, object= True) if a==True:
    listObj= mc, ls(selection=True)
    cantObj= len(listObj).

    If cantObj>1:
    mc.warning(Debe seleccionar solo 1 objeto)
    else:
    Def XrayObj1(panel = mc, getPanel(wf = True)):
    state = mc, displaySurface(q= True, x = True) if state == [0]:
    mc, displaySurface(x = 1)
    else:
    mc, displaySurface(x = 0).

    XrayObj1() else:
    mc, selectMode(object=True) def XrayObj2(panel = mc, getPanel(wf = True)):
    state = mc, displaySurface(q= True, x = True) if state == [0]:
    mc, displaySurface(x = 1)
    else:
    mc, displaySurface(x = 0) mc, selectMode(component= True).

    XrayObj2().

    Espero les sea de utilidad, cualquier duda, pues aquí estamos.

    Un afectuoso saludo.

    Posdata: Adjunto el archivo py dentro del (*.zip,) abran y copien este código, ya qué esta con indentacion.

    -- IMÁGENES ADJUNTAS --



    Archivos adjuntados Archivos adjuntados
    Última edición por 3djdavid; 02-06-2018 a las 12:41 Razón: Perdida de Indentacion en codigo
    Hey tu, no desanimes, sigue adelante.
    Instagram @dj.vivanco

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para utilizar el script X-Ray en Maya, necesitas un código Python funcional y bien indentado. El código compartido en el hilo tiene errores de sintaxis debido a la pérdida de formato. Aquí tienes una versión corregida y lista para usar.

    Primero, asegúrate de tener un objeto seleccionado en Maya. Luego, ejecuta este código en el Script Editor de Maya (en modo Python). Este script alterna la visualización en modo X-Ray para el objeto seleccionado, permitiendo ver a través de su malla mientras trabajas con vértices, aristas o caras.

    El código funcional es el siguiente:

    import maya.cmds as mc

    def toggle_xray():
    # Verifica el modo de selección actual
    is_object_mode = mc.selectMode(query=True, object=True)

    # Si estamos en modo objeto
    if is_object_mode:
    selected_objects = mc.ls(selection=True)
    if len(selected_objects) != 1:
    mc.warning("Por favor, selecciona un solo objeto.")
    return
    # Obtiene el panel de vista activo
    panel = mc.getPanel(withFocus=True)
    if mc.getPanel(typeOf=panel) == "modelPanel":
    # Consulta el estado actual de X-Ray
    current_state = mc.modelEditor(panel, query=True, xray=True)
    # Alterna el estado
    mc.modelEditor(panel, edit=True, xray=not current_state)
    # Si estamos en modo componente (vértices, aristas, caras)
    else:
    # Primero cambia temporalmente a modo objeto para afectar al objeto padre
    mc.selectMode(object=True)
    selected_objects = mc.ls(selection=True)
    if len(selected_objects) != 1:
    mc.warning("Por favor, selecciona componentes de un solo objeto.")
    mc.selectMode(component=True)
    return
    panel = mc.getPanel(withFocus=True)
    if mc.getPanel(typeOf=panel) == "modelPanel":
    current_state = mc.modelEditor(panel, query=True, xray=True)
    mc.modelEditor(panel, edit=True, xray=not current_state)
    # Vuelve al modo componente
    mc.selectMode(component=True)

    Ejecuta la función
    toggle_xray()

    Para asignarlo a un hotkey como la tecla X, ve a Windows, luego Settings/Preferences, y selecciona Hotkey Editor. En la ventana, dirígete a la pestaña Runtime Command Editor. Presiona el botón New. Ingresa un nombre como Xray_Object. En Language, elige Python. Pega el código completo proporcionado arriba en el campo de comando. Guarda el runtime command con Save Runtime Command. Luego, en la sección para asignar hotkeys, busca tu script bajo Custom Scripts, selecciónalo, presiona la tecla X en tu teclado y confirma la asignación. Finalmente, guarda los cambios con Save and Close.

    Ahora, al seleccionar cualquier objeto o sus componentes y presionar X, la malla se volverá transparente (modo X-Ray) o volverá a su estado normal. Esta es una herramienta muy útil para modelado.

Temas similares

  1. Python-script cambiar de nombre y que lo tome la variable
    Por claux31 en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 13:40
  2. Autodesk Maya Alinear vértices en Maya con un Script Python
    Por 3djdavid en el foro Maya
    Respuestas: 2
    : 23-09-2020, 09:30
  3. General Script de python para exportar formatos
    Por martha_ezv en el foro Plugins y Scripts
    Respuestas: 2
    : 22-04-2010, 20:00
  4. Blender Pasar script de python Blender a 3ds
    Por jor1980 en el foro Plugins y Scripts
    Respuestas: 6
    : 07-10-2009, 13:43
  5. Problema al exportar objeto con script python
    Por jor1980 en el foro Plugins y Scripts
    Respuestas: 8
    : 08-05-2009, 18:06