Resultados 1 al 40 de 40

Cortes en un mismo sentido automáticamente

  1. #1
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Saludos a todos y espero que me perdonéis si esto no va aquí ya que tengo un dilema en donde colocarlo, me explico, necesito, sobre un modelo ya creado, cortarlo en el mismo plano, pero cada 2 milímetros (por ejemplo)
    Esos cortes, que sean todos independientes en shapes para exportar en dxf para cortar en un CNC o un plasma o corte por agua, etc, pues bien, yo siempre he creado los cortes manualmente con el slice (si no recuerdo mal) y creando los shapes para luego exportar. Si son 20 o 30 no hay problema, el problema es que tengo que crear uno de más de 2000 cortes y me puedo morir en todo el trabajo que lleva, mi pregunta es. ¿hay algún script o algún algo que me cree todo el corte automáticamente o tengo que seguir de este modo?
    Otra cosa, ¿cómo crearíais el render para que simulara el material que cree el efecto del escalonado al juntar en teoría las piezas? De forma rápida, no extruyendo ni creando las piezas individuales si no de un bloque simular el efecto.

    Esto es lo que me refiero.
    Última edición por Davescambra; 03-06-2008 a las 12:20
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  2. #2
    Fecha de ingreso
    Mar 2006
    Mensajes
    3,635

    Cortes en un mismo sentido automáticamente?

    Has probado con booleanas? Nunca se sabe.
    "Trate la historia como si todo el proyecto dependiera de ella porque,probablemente,así* sea" (Mark Adams)

    Corolario: "La cafeí*na es tu amiga"

  3. #3
    Fecha de ingreso
    Apr 2006
    Mensajes
    2,740

    Cortes en un mismo sentido automáticamente?

    Con booleanas no me lo imagino Gekonidae, tal vez con el Pro Cutter. https://www.foro3d.com/f24/romper-un...tos-53726.html.
    Última edición por sejob1975; 23-05-2008 a las 16:32
    Cita Iniciado por SHAZAM Ver mensaje
    ¡Tenemos que unirnos, carajo! ...
    Cita Iniciado por Rbk Ver mensaje
    Si yo hoy decido meterme a albañil, no sabré si un muro es bueno o malo a menos que un maestro me lo diga o se me caiga encima. Y entonces podré hacer dos cosas: hacer caso al maestro e investigar cómo se hace bien, o seguir haciendo chapuzas, con lo que nunca seré un albañil profesional. ¿Me he explicado bien?

  4. #4
    Fecha de ingreso
    Mar 2006
    Mensajes
    3,635

    Cortes en un mismo sentido automáticamente?

    Es que me quedé en max7. Pero pinta muy bien esa herramienta, gracias por el dato. De todas formas, hacer 2000 cortes y que las tapas de cada rodaja sean igual de grandes para hacer el efecto de escalonado, tiene curro, me imagino que se hará con código ¿no?
    "Trate la historia como si todo el proyecto dependiera de ella porque,probablemente,así* sea" (Mark Adams)

    Corolario: "La cafeí*na es tu amiga"

  5. #5
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,668

    Cortes en un mismo sentido automáticamente?

    Yo creo que se podría automatizar la cosa con un pequeño script que usara el modificador slice. Veré si puedo sacar un rato pata probar de hacerlo, pero ando bastante liado.

  6. #6
    Fecha de ingreso
    Apr 2006
    Mensajes
    2,740

    Cortes en un mismo sentido automáticamente?

    Si IkerClon logra hacerlo con un scripp (cosa que no dudo) seria perfecto, yo crearía un plano que seria mi sección de corte, lo duplicaría con un array o con un simple duplicar los attacho para que sean una sola entidad y luego aplico el Pro Cutter.
    Cita Iniciado por SHAZAM Ver mensaje
    ¡Tenemos que unirnos, carajo! ...
    Cita Iniciado por Rbk Ver mensaje
    Si yo hoy decido meterme a albañil, no sabré si un muro es bueno o malo a menos que un maestro me lo diga o se me caiga encima. Y entonces podré hacer dos cosas: hacer caso al maestro e investigar cómo se hace bien, o seguir haciendo chapuzas, con lo que nunca seré un albañil profesional. ¿Me he explicado bien?

  7. #7
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Sejob, eso probé ayer y las verdad es que tuve que cerrar el max porque se quedaba sopa. IkerClon, sería genial. No dudo que tú no puedas hacerlo. Eres un crack. Si no tienes tiempo para hacerlo entiendo, ya que es normal y tu tiempo es oro.

    Si no te importa, te explico lo que tengo que hacer para que lo sepas. Mira, imagina una figura humana, una figura cuadrada, lo que quieras, pues debería de ser, de cortar como en un plano, en el mismo sentido cada x milímetros, todo el bloque. Eso sí, lo que luego interesa realmente es de esos cortes, sacar solo la forma en shapes para luego exportar a dxf. Si puedes bien, si no, gracias de todos modos, siempre sois de muchísima ayuda. Voy a cortar a mano este que tengo entre manos como rebanadas de pan (850 cortes uf).
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  8. #8
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Vaya, no me vas a creer, tenía hecho el script, estaba haciendo un ut para que no tengas que llamar a la función desde una línea de código y pum, se me cae 3ds Max sin que yo alcance a grabar nada (y el autoback no se lleva el script).

    A ver si aparece IkerClon con su script que seguro está más optimizado que la chapuza que estaba haciendo yo, si no pasa nada mañana en la noche lo rescribo (si es que, aún lo necesitas) que ya es tarde y mañana tengo que ir a trabajar.

    Edito: yo de vuelta, el script me pudo, le rescribí y creo que ya está usable pese a todos los detalles que pueda tener.

    Simplemente corre el script (arrastrándolo al viewport debería funcionar), establece el valor de steps (unidades de distancia entre secciones), el eje en que quieres que haga las secciones (por ahora solo ejes x, y o z del objeto, para ángulos intermedios tendrías que modificar el objeto a nivel subobjeto antes) y teniendo seleccionado 1 objeto aprieta el botón go, dependiendo del objeto y el step puede tardar un poco, pero en teoría cuando termina te genera una Spline llamada cscut con las secciones.



    -- IMÁGENES ADJUNTAS --

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

Nombre: csCut.jpg 
Visitas: 493 
Tamaño: 67.1 KB 
ID: 73956  
    Archivos adjuntados Archivos adjuntados
    Última edición por Cesar Saez; 26-05-2008 a las 11:26

  9. #9
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Os quiero, os quiero, sobre todo a ti César. Hasta que venga IkerClon y os querré a los dos. No soy una persona celosa. Muchas gracias compañeros. Me has hecho un gran favor. Lo voy a probar y te cuento.

    Por cierto, ¿hay algún modo de añadir al script, que cada corte lo escraiga como shapes individual y correlativos los números? En las opciones de create shape from selection en modo smooth.

    Repito mil veces si hace falta. Mil gracias. Un millón de gracias.

    A ver si IkerClon y César os veo en algún lugar y os invito a comer. Darlo por hecho. Aunque César siendo ¿argentino? Dudo que te vea mucho por Valencia. Gracias, gracias.
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  10. #10
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,668

    Cortes en un mismo sentido automáticamente?

    He visto tu script, César, y pensaba hacerlo más o menos parecido. Me di cuenta de que al aplicar un modificador slice y luego un Edit Poly por encima (o colapsando) y yendo al subobjeto arista, las ídems que formaban el corte quedaban seleccionadas. Y de ahí al create shape from selection hay un sólo click (o un comando de Maxscript). Lo que yo haría sería colapsar el stack cada vez que se realiza un corte. De ese modo se evitan stacks demasiado largos (que es lo que me acaba de ocurrir a mí por poner unas unidades demasiado pequeñas, cuelgue de max).

    Lo del número correlativo con shapes sueltas, voy a ponerme con el script de César a ver si lo saco. ¿Qué formato quieres para el nombre? Pon algún ejemplo.

    Lo de sacarlo como Smooth lo veo bastante más complicado, porque ese algoritmo de interpolación entre vértices no siempre se va a ceñir al contorno del objeto. ¿no pueden ser curvas Bézier?

  11. #11
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,668

    Cortes en un mismo sentido automáticamente?

    Lo de sacarlo como Smooth lo veo bastante más complicado, porque ese algoritmo de interpolación entre vértices no siempre se va a ceñir al contorno del objeto. ¿no pueden ser curvas Bézier?
    A veces digo unas tonterías.

  12. #12
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,668

    Cortes en un mismo sentido automáticamente?

    He cambiado un par de cosas con tu permiso, César, ojo, cambiado no implica mejorado. He probado con un par de objetos y no he tenido problema (salvo que no todas las shapes contienen Splines, no sé si es debido a algún cambio que he hecho yo o a cómo opera la bounding box del objeto). Las curvas salen con el nombre por defecto, correlativo en un principio. ¿sirve así?

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados

  13. #13
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Muchas gracias por vuestro tiempo. Iker, lo que sean correlativos, he pensado que si el primer corte se queda como shape1, el siguiente como shape2, así correlativos, tampoco pasa nada, simplemente era por tenerlos ordenadados. Nada más.

    Yo también he preboda y al crear unos cortes de 1,9 milímetros a una tetera, se me ha quedado el max rumiannndo. Creo que como dices tu, IkerClon, sería una solucción.

    Repito que no tiene precio lo que estáis haciendo, muchas gracias.

    Voy a probarlo y os cuento.
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  14. #14
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Vaya, que divertido, llegando a casa lo reviso y me entero por dónde van los tiros de la modificación de IkerClon. Alguien dijo Challenger de scripting?

  15. #15
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,668

    Cortes en un mismo sentido automáticamente?

    He hecho una prueba y. Script de César >> tetera de radio 5, subdivisiones en x cada 1.0 unidad. Processing tok 155.985 seconds.

    Script de César + cambio de IkerClon >> mismas características.

    Processing tok 43.797 seconds.

    Mi versión colapsa el stack después del corte, con lo que no lo carga tanto y acelera la operación un poco.

  16. #16
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Buenísimo, ya decía yo que era muy bestia mi versión. Por cierto, hay alguna forma de desactivar el update del panel modify?
    Y ya que estamos, como harías para sacar todas las secciones en un objeto? Mejor atacharlo una vez hechas todas las Splines?

  17. #17
    Fecha de ingreso
    Apr 2007
    Mensajes
    121

    Cortes en un mismo sentido automáticamente?

    Vaya que fieras.
    --------------------------------------
    solo se que no se nada

  18. #18
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,668

    Cortes en un mismo sentido automáticamente?

    Actualizado: cada loncha se llama slice_númerocorrelativo, de manera que, tenemos un poco más de control sobre el nombre.

    No conseguí meter las Splines en un array en el momento de la creación, así que, teniendo los nombres bajo control se podría crear dicha lista a posteriori para, por ejemplo, attachar todas las secciones al final. O también se podrían ir attachando sobre la marcha, como ya hacía antes.

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados

  19. #19
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Hola amigos. Vengo a ofrecer otro método al que habían planteado con el modificador slice y es utilizar la herramienta slice del Editable Poly, también me tome el atrevimiento de modificar el script de César para hacer un test y la diferencia de tiempo de cálculo es significativa, supongo que, se debe a que el hecho de crear un modificador y colapsarlo es algo bien costos o para la máquina.

    Adjunto puse el script y aquí hice unos test de tiempo (tres pruebas por script con mismas características):
    Tetera de radio 40.0, subdivisiones en x cada 1.0 unidad.

    Script de César >>.
    88.7 seconds.
    105.8 seconds.
    119.9 seconds.

    Script de César + cambio de IkerClon >>.
    25.7 seconds.
    24.2 seconds.
    26.8 seconds.

    Script de César + cambio de Phoenix >>.
    2.5 seconds.
    2.3 seconds.
    2.5 seconds.

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados
    Última edición por phoelix; 27-05-2008 a las 00:36
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  20. #20
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Vaya, esto está realmente interesante, vengo llegando a casa así que, ahora me bajo sus versiones y las veo. A priori me parece que la gran diferencia de tiempo se debe a que el panel modify se refresca/actualiza en cada cambio (básicamente todos seguimos los mismos pasos, pero con diferentes metodologías), alguien sabe si hay alguna forma de apagar eso momentáneamente durante la ejecución del script? Sería muy útil.

  21. #21
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Muchas veces lo que yo hago es cambiar de panel, digamos de modify a create, pero en muchos casos genera problemas y este caso es uno de ellos, al parecer hay problemas cuando se asignan modificadores o se hace algo con ellos. Otra forma que conozco para apagar la interfaz del command panel es con las funciones:
    Suspendediting().

    Resumeediting().

    Pero también generan problemas, las operación con modificadores no funcionan, por lo menos en este experimiento no funcionó. De seguro existe alguna maña para poder lograrlo.

    Y bien leyendo un mensaje de Davescambra.
    Por cierto, ¿hay algún modo de añadir al script, que cada corte lo escraiga como shapes individual y correlativos los números? En las opciones de create shape from selection en modo smooth.
    Modifiqué el script de nuevo agregando un checkbox con el que se decide si se attachan los shapes o no y, además un editbox donde se puede definir el nombre del shape o los shapes. Espero que César no se valla a molestar por todos los cambios que le hemos hecho a su script.

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  22. #22
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Para nada, no veas todo lo que aprendo con cada intervención. Yo vengo de hacer algo de scripting en XSI y recién me estoy empapando del SDK de 3ds Max así que, hay mil cosas que no sé hacer, cada corrección y mejora que le hacen es un atajo para que el próximo me salga mejor.

  23. #23
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Edito: supongo que, te refieres a Maxscript, el SDK es un conjunto de librerías para programar herramientas compiladas en visual C++.
    Última edición por phoelix; 27-05-2008 a las 01:50
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  24. #24
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Mala costumbre de XSI entonces. Sdk = software development kit, en la ayuda de XSI se refieren así a todas las clases y comandos que incluye el software para ser usados en herramientas compiladas (básicamente C++) o scriptadas (Python, jscript, vbscript, perl, etc). Por poner un ejemplo, una cosa es saber Python (lenguaje) y otra muy distinta es saber que hacer con el dentro de XSI/Maya/el que sea (todos con distinto SDK y usando el mismo lenguaje).

    Pensé que en 3dsmax sería lo mismo y que Maxscript es sólo el lenguaje de scripting. Quizás como en 3dsmax el lenguaje es propietario funciona diferente, vaya a saber uno. Gracias por la corrección.
    Última edición por Cesar Saez; 27-05-2008 a las 02:53

  25. #25
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Por lo que he visto XSI no tiene un lenguaje de scripting propio como lo tiene max (maxscript) y Maya (mel), por eso, supongo que, en XSI se hace scripting en lenguajes externos por medio de SDKS.

    De cualquier forma, lenguajes como Python dan la misma flexibilidad o hasta más que la que tienen los lenguajes propios de paquetes como Maya y max, ya que son lenguajes que tienen mucha más madurez y desarrollo porque no fueron creados solo para un software en específico sino para diversas aplicaciones.

    En fin, si se trata de hablar de XSI ahí si no hablo mucho porque no se mucho.
    Última edición por phoelix; 27-05-2008 a las 04:02
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  26. #26
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Yo he hecho cosas en Python para XSI y para Autodesk Maya, nada espectacular, sólo pequeñas herramientas internas, pese a que el lenguaje en ambos softwares puede ser el mismo, el SDK influye enormemente en la forma cómo se usa ese lenguaje en el software (por cierto, que mala integración de Python en Maya), a eso iba mi comentario anterior, una cosa es el lenguaje (sea el que sea) y otra es como usarlo en la aplicación x.

    A mí me da la impresión de que los conceptos se confunden con Maxscript dado que es un lenguaje único ideado para un software específico, pero el concepto debería seguir aplicándose igual ya que va más, allá de una aplicación, si buscas en la Wikipedia por el significado de SDK te vas a encontrar algo más o menos como lo que trato de decir, el SDK es la Api que ofrece el programa para hacer cosas con cierto lenguaje, de ahí a que sea compilado o scripting no viene a cuento (al menos teóricamente).

    De todas formas, no tiene importancia, son sólo reflexiones en voz alta, el punto es que hace muy poco que estoy viendo algo de scripting en 3ds Max y toda corrección a las 4 idioteces que pueda hacer me sirve mucho para seguir aprendiendo, gracias por tomarse la molestia de optimizar el script que me viene genial para ver otras formas de resolver cierto tipo de problemas.
    Última edición por Cesar Saez; 27-05-2008 a las 04:19

  27. #27
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Si que tienes toda la razón César, y gracias por aclarar, por muy para 3ds Max que sea Maxscript finalmente funciona como un lenguaje que utiliza un SDK (en este caso el SDK son todas las funciones que te permiten hacer cosas en max).

    Solo que si es algo raro que se denomine de esa forma porque se suelen utilizar mucho los términos Maxscript por aparte de max SDK, el primero para hacer scripting y el otro para programar cosas con C++.

    Pero bien, finalmente es mera formalidad maxera.
    Última edición por phoelix; 27-05-2008 a las 04:31
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  28. #28
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Que grandes que sois. He probado el último de Phoenix y me da error, más que me da error se ralla y me echa del 3dsMax. He probado el d anterior y ese me ha creado todo perfecto, solo que no detacha las Splines individualmente. Aunque ya me conformo.

    Los anteriores era curioso.

    Si lo hacía sobre una tetera, un box o algo de max, todo perfecto, pero si lo creaba sobre la figura que necesitaba, se hacía pesado y me echaba.

    Entonces decidí cortar el bloque ha trozos para no tener problemas y empezaba bien, pero luego se paraba a la mitad, o me creaba shapes sin geometría, solo el nombre.

    Mirad las imágenes para verlo mejor. Por cierto, añado el objeto que quiero cortar para veáis cual es. Las unidades son en milímetros.

    -- IMÁGENES ADJUNTAS --


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

Nombre: Captura.JPG 
Visitas: 173 
Tamaño: 128.9 KB 
ID: 74018   Clic en la imagen para ver su versión completa. 

Nombre: Captura2.JPG 
Visitas: 140 
Tamaño: 155.5 KB 
ID: 74019  
    Archivos adjuntados Archivos adjuntados
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  29. #29
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Bueno, después de intentar con el eh, me he encontrado que carga mucho la memoria y me echa. Alguna idea?

    -- IMÁGENES ADJUNTAS --
    Miniaturas adjuntas Miniaturas adjuntas Clic en la imagen para ver su versión completa. 

Nombre: muestra1.JPG 
Visitas: 167 
Tamaño: 190.7 KB 
ID: 74035  
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  30. #30
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Vaya, lo probé como mil veces en una tetera y pensé que funcionaria perfecto, fui algo iluso al pensar eso, voy a probarlo con tu modelo para pillar que es lo que anda mal.
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  31. #31
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Phoelix, una duda que tengo, cuando yo lo hago a mano, sigo este procedimiento:
    El modelo en editpoly, subobjet en Edge y selecciono el sline plane.

    Coloco el plano en el eje a cortar y lo alineo a un lateral y empiezo a mover el plano cada x para cortar, hasta aquí todo correcto ¿verdad?
    Pulos sline para crear el corte y selecciono create shape from selection.

    Me abre la ventana de esto donde coloco el nombre del shape y me deja elegir smoth o linear, aquí esta la cuestión y la duda.

    Cuando crea con el script sline el corte, ¿lo crea como Smooth o linear? Lo digo porque eso es muy importante ya que, si no estaría muy facetado el shape. Me entiendes?
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  32. #32
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Si no lo han cambiado lo debería crear smooth. Yo supongo que, intuyo cuál es el problema, a ver si ahora me bajo la última versión y la retoco para tratar de solucionarlo, ya veremos si hay suerte.

  33. #33
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Gracias amigos. Muchas gracias por vuestro tiempo.
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  34. #34
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Ok, algo traté de hacer, pero no tengo tiempo ahora para hacerlo como corresponde, el par de líneas que agregué no son una solución muy elegante así que, seguro va a relentizar todo ya que refresca la interfaz (como en las primeras versiones), si alguien tiene tiempo y lo quiere hacer bienvenido.

    Yo creo que lo que sobrecarga mucho la última versión del script es que las aristas y vértices generadas por el script se van acumulando en la copia que usamos para extraerlos y eso a la larga en un modelo pesado puede llegar a ser problemático, lo único que hice fue borrar los vértices/aristas creadas con cada slice inmediatamente después de extraer la Spline correspondiente. La forma de hacerlo no fue muy elegante, pero en teoría debería funcionar, si tuviera algo más de tiempo ya me metería a investigar comandos para hacerlo todo internamente sin usar la interfaz y por ende sin la relentización del refresh, pero entre render y render no me da el tiempo para hacerlo.

    En fin, espero que sirva.

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados
    Última edición por Cesar Saez; 27-05-2008 a las 19:46

  35. #35
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Si, muy buena idea César.Para eso si hay una solución y es utilizar la operación remove directamente en el objeto (que sea Editable Poly).
    bol><Editable Poly>. Remove sellevel:<enum> flag:<dword>.

    Por ejemplo: oobj, remove sellevel:#edge.

    Pero lo malo es que, aun así la memoria se sigue saturando y max se sigue crasheando en modelos bien jodidos como el de Davescambra, al parecer al max le queda difícil liberar la memoria en ciertas circunstancias.

    Este script finalmente resultó ser un desafío más interesante de lo que pensaba al tener que lidiar con la sobresaturación de memoria, algo que no había intentado solucionar antes y ya que le dimos hilo a este problema, pues ya que más da, lo mejor es terminar de resolverlo.

    Lo que se me ocurrió fue hacer un llamado al Garbage collector (GC()) cada cierto tiempo, lo malo es que el max es tan inestable, que puede que colapse antes de que se pueda hacer llamado al GC (a menos de que se haga en cada iteración, lo cual creo que pondría muy lento el script). Luego decidí poner la iteración dentro de un try()catch(), en el momento en que Maxscript saque error por falta de memoria, hago llamado al GC e intento iterar de nuevo, y bien, parece algo poco elegante y quizás inapropiado en ciertas situaciones, pero funciona, bueno, por lo menos en mí PC si.

    También le puse una barra de progreso en la última versión del script, pues, como para estar más atento a como va la jugada.

    -- IMÁGENES ADJUNTAS --
    Archivos adjuntados Archivos adjuntados
    Última edición por phoelix; 28-05-2008 a las 05:20
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  36. #36
    Fecha de ingreso
    Feb 2005
    Mensajes
    1,284

    Cortes en un mismo sentido automáticamente?

    Phoelix, muchas gracias, lo he probado y va de maravilla. Que caña. Muchas gracias. Esto está de pm. Ya sabes, si vienes a España (el país del chiquichiqui) te invito a ti también a comer una buena paella y un buen vino. De fabes i carxofes o de fresols i bajoquetes.

    Xe. Valenciá amb collons.

    Eso es en valenciano.
    "Nadie nace con un software de 3D bajo el brazo" Proverbio... no es un proverbio es una realidad

  37. #37
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,694

    Cortes en un mismo sentido automáticamente?

    Si, muy buena idea César. Para eso si hay una solución y es utilizar la operación remove directamente en el objeto (que sea Editable Poly).
    bol><Editable Poly>. Remove sellevel:<enum> flag:<dword>.

    Por ejemplo: oobj, remove sellevel:#edge.
    Si, pero de esa forma siguen quedando los vértices ¿no? Yo por eso pasaba de un modo a otro, para borrar los vértices. Supongo que habría que guardar en un array los vértices que pertenecen a las aristas y luego de borrar las aristas hacer lo propio con los vértices, en caso contrario el modelo sigue siendo bastante pesado y la medida es poco lo que aporta.

    Aún no me bajo el script, pero ya me lo estudiaré al detalle para ver cómo optimizar scripts en casos como este, se ve que hiciste un gran trabajo. Saludos.

  38. #38
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,621

    Cortes en un mismo sentido automáticamente?

    Acabo de ver el hilo este, y de verdad que alucino con vosotros. Os gusta complicaros la vida, está claro. Ayuda de Maxscript->búsqueda section->copiopego:
    Código:
    example meshselected = sphere () -- Object todo create contours of
    Minz = meshselected, min, z -- Get min and max z positions
    Maxz = meshselected, max.z.
    
    Numlevels = 10 - The number of contours.
    
    Delta = (maxz - Minz) / (numlevels + 1) -- The number of steps
    For currentz = minz todo maxz by delta do -- Start loop.
    (
    S = section pos:[0, 0, currentz] -- Create section
    Max views redraw -- This line is neded todo get around the problem
    Converttosplineshape s -- Convert section todo splineshape
    S, renderable = true -- Set todo renderable
    )
    Es más o menos lo que queréis. Solo hay que añadir algo para seleccionar el objeto que se quiera seccionar y ocultarlo todo menos eso para que los objetos section no saquen más de la necesaria. Si luego se quieren convertir los vértices en Smooth o lo que sea se hace en un paso posterior, como dice en la propia ayuda del 3ds Max, hay que llamar a Redraw All Views() que es lenta de cojones, pero se pueden crear todas las sections en un bucle y hacer la llamada a posteriori solo una vez (amen de usar el with redraw of context), no sé, miraoslo, porque me parece que este sistema tiene que dar menos problemas que el slice que hacéis vosotros.
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  39. #39
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    [quote=(el país del chiquichiqui) te invito a ti también a comer una buena paella y un buen vino. De fabes i carxofes o de fresols i bajoquetes.

    Xe. Valenciá amb collons.

    Eso es en valenciano.[/quote]Gracias por la invitación Dave, siempre he tenido muchas ganas de conocer España se nota que el ambiente y la gente son super agradables por halla, y la paella también mejor probarla echa en su propia tierrita.[quote=r las aristas hacer lo propio con los vértices, en caso contrario el modelo sigue siendo bastante pesado y la medida es poco lo que aporta.[/quote]Lo bueno es que con ese método puedes especificar en que nivel remover lo que este seleccionado sin tener que cambiar de subobjeto y por lo tanto sin tener que refrescar la interfaz, así como hice en el script versión g:
    Oobj, remove sellevel:#edge.

    Oobj, remove sellevel:#vertex.
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  40. #40
    Fecha de ingreso
    May 2005
    Mensajes
    321

    Cortes en un mismo sentido automáticamente?

    Vaya Nessito, lo que nos pasa cuando uno no sabe buscar bien en la ayuda de Maxscript, no tenía idea que se pudiese de esa forma, que cosas.
    Última edición por phoelix; 28-05-2008 a las 15:31
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

Temas similares

  1. Cómics y tebeos Sentido de giro motor
    Por rodrigam en el foro Impresoras 3D
    Respuestas: 4
    : 01-08-2023, 17:52
  2. Ciencia y curiosidades Alguien ha sentido un terremoto a las 18:50
    Por Xauron en el foro Ciencia y curiosidades
    Respuestas: 2
    : 11-05-2011, 22:59
  3. Ciencia y curiosidades He sentido la necesidad de compartir esto:
    Por rappaniu en el foro Ciencia y curiosidades
    Respuestas: 24
    : 06-10-2009, 20:27
  4. 3dsMax Cómo hacer que un mismo tejido colisione consigo mismo
    Por kbcjavito en el foro Animación y Rigging
    Respuestas: 2
    : 07-10-2008, 02:30
  5. Ciencia y curiosidades A que humoristas debes tu sentido del humor
    Por Biofix en el foro Ciencia y curiosidades
    Respuestas: 30
    : 11-01-2005, 21:46