XSIforum.com

Se busca "Replace" del Max en XSI

0 Usuarios y 1 Visitante están viendo este tema.

Adam Sullastres

  • *****
  • 2713
  • Mercenario del 3D
Se busca "Replace" del Max en XSI
« en: 12 Octubre 2010, 15:02:29 »
Alguien sabe de algún addon que haga un replace como el del max?
Seria un addon que ponga un obj A donde hay un OBJ B por lista y evidente-mente B sea borrado, es decir cambia-me todos estos barrotes de barandilla por este otro que tiene las UVs ya echas.  :blob1:

Re: Se busca "Replace" del Max en XSI
« Respuesta #1 en: 12 Octubre 2010, 16:44:56 »
Así de memoria escrito en el propio foro sería algo como esto... suponiendo que los barrotes que quieres reemplazar están seleccionado... O0

Código: (Python) [Seleccionar]
Xsi = Application
objB = Xsi.PickObject()("PickedElement")
if objB:
    for i in Xsi.Selection:
        copy = Xsi.DuplicateObj(objB)(0)
        copy.Kinematics.Global.Transform = i.Kinematics.Global.Transform
        toDelete.append(i.FullName)

    Xsi.DeleteObj(",".join(toDelete))

Adam Sullastres

  • *****
  • 2713
  • Mercenario del 3D
Re: Se busca "Replace" del Max en XSI
« Respuesta #2 en: 12 Octubre 2010, 20:23:14 »
T amo! o ... casi xD

He hecho algunas cosillas entiendo que toDelete hay q definirlo vacío antes, por que sino peta,
que con "XSI.DeleteObj(",".join(toDelete))" lo que haces es entrar en toDelete y borrar la primera entrada
perooooo... No se repite! Solo hace el primer obj de la lista y luego toca el banjo.
Código: [Seleccionar]
XSI = Application
toDelete = []
OBJB = XSI.PickObject()("PickedElement")
if OBJB:
    for i in XSI.Selection:
        copy = XSI.Duplicate(OBJB)(0)
        copy.Kinematics.Global.Transform = i.Kinematics.Global.Transform
        toDelete.append(i.FullName)
    XSI.DeleteObj(",".join(toDelete))

Re: Se busca "Replace" del Max en XSI
« Respuesta #3 en: 12 Octubre 2010, 21:02:30 »
Vale, ya se lo que pasa, el duplicate cambia la selección... ya decía yo que escribirlo así a lo loco no iba a funcionar, pruena con esto :)

Código: [Seleccionar]
XSI = Application
toDelete = []
OBJB = XSI.PickObject()("PickedElement")
if OBJB:
    for i in list(XSI.Selection):
        copy = XSI.Duplicate(OBJB)(0)
        copy.Kinematics.Global.Transform = i.Kinematics.Global.Transform
        toDelete.append(i.FullName)
    XSI.DeleteObj(",".join(toDelete))

A ver si hay suerte O0

Adam Sullastres

  • *****
  • 2713
  • Mercenario del 3D
Re: Se busca "Replace" del Max en XSI
« Respuesta #4 en: 12 Octubre 2010, 22:05:41 »
Uooouuuuuuuu
Eres un crack!
y si confirmado, t amo, aun q ya lo he hecho a mano xD
Guardaooo pa la proxima!

Re: Se busca "Replace" del Max en XSI
« Respuesta #5 en: 13 Octubre 2010, 01:07:04 »
:) :) :)