Foros CATIA

1 envío / 0 nuevos
Inicie sesión o regístrese para comentar
biyonder
Desconectado/a
Visto por última vez: Hace 12 años 4 meses
se unió: 03/07/2013 - 20:08
Preguntas varias Macros

Muy buenas chicos. 

Antes de nada avisar de que soy nuevo en el foro y necesito ayuda profesional ya que no estoy muy al tanto de Catia y necesito realizar una serie de tareas para mi proyecto académico.

Os cuento inicialmente de qué se trata: tengo que realizar un análisis profundo de un Assembly, construir un plan de montaje para la estructura y mostrar cada uno de los pasos. No os asusteis, no quiero que me resolvais todo el trabajo jeje.

Todo lo que pregunto es desde el pto de vista de VB, es decir, quiero que todo se realice de manera automática ejecutando un módulo.

Planteo las preguntas por partes:

1-Inicialmente para el análisis necesito sacar de la estructura tanto las posiciones de cada pieza, las orientaciones (rotaciones en 3 componentes si es que se puede) como las intersecciones entre cada una. Para esto último en AutoCad lo hacía de la siguiente forma: trasladaba una pieza P1 5mm a lo largo del eje Y. Si esta pieza P1 intersecta o choca con otra P2, entonces determino que P1 tiene un obstáculo P2 en la dirección Y. Todo esto se haría para todas las piezas y todas las direcciones (por ahora las 6 de los ejes cartesianos, positivo y negativo). Mi pregunta aquí es si puedo realizar esto, para lo cual necesitaría saber cómo trasladar piezas y chequear si existe intersección entre sólidos. Por más que busco en google no encuentro ningún código al respecto. Además no os olvidéis de las posiciones y rotaciones

1.1-Obtuve ejemplos sobre GetCoordinates pero me da fallo al compilar, concretamente:

-La función o la interfaz se marcó como restringida o la función utiliza un tipo de Automatización no admitida en Visual Basic

 

2-Necesitaría saber cómo volcar contenido en ficheros de texto. Esto es lo menos prioritario de todo.

3-Para mostrar el montaje se haría lo siguiente: por cada conexión se va mostrando la/s pieza/s en cuestión, jugando con el VisProperties.SetShow (esto sí que lo encontré y me funciona). Lo que me gustaría saber es si puedo mover piezas un valor X a lo largo de cualquiera de los ejes, algo parecido a la pregunta de la traslación en 1.

 

Bueno, perdonad por el tocho de información pero ando un tanto desesperado y no veo mucha documentación, y la que hay la veo indescifrable.

 

Gracias de antemano, saludos!


Desconectado/a

Visto por última vez: Hace 1 mes 1 semana

se unió: 02/10/2008 - 13:19

Posts:

Hola biyonder,

Lo que necesitas es un tanto ambicioso y supongo que tus piezas o assembly a montar geometricamente no será muy complicadas ya que veo difícil poder montarlo todo de forma automática.

Si lo quieres programar no creo que sea fácil que encuentres un módulo o macro abierto que te pueda servir. De todas formas deberías de plantearte primero el proceso que harías de forma manual (que veo ya lo tienes). Este proceso lo deberías comprobar o probar de forma manual primero, es decir realizar tu un mini montaje con el objetivo de evaluar los comandos que has utilizado para conseguirlo.

A partir de ahí habría que investigar en la ayuda de catia (F1) si existen las rutinas de programacion en VBA de los comandos que has utilizado. No olvidemos que la programación que ofrece CATIA en Visual Basic se basa en  utilizar los comandos que tengas activos en tus licencias. Dicho de otro modo si quiero hacer una linea tendre que buscar la funcion Line. Por lo general no es podible programar otra cosa que no este previamente en el sistema y tus licencias, y no siempre se encuenta todo o esta todo accesible para la programación.

Otra forma de localizar los comandos que necesitas para tu proceso es utilizar el grabador de macros que te ofrece el propio catia, aunque cuando lo pruebes descubrirás que no siempre genera código (aunque exista) y de las opciones mas complicada generalemente no saca nada y hay que buscaro de forma manual.

Una vez que hayas localizado que existen los comandos que utilizas en el proceso manual habria que ir creando la macro siguiendo la estructura de objetos (otro pequeño lio sobre todo al principio). La estructura de objetos que tiene catia aunque sigue las mismas directrices que en el dibujo tiene variaciones de nomenclatura respecto a los comandos, lo que hace un poco más complicado el entenderlo.

Si no conseguiríamos localizar los comandos que nos hacen falta tendríamos que cambiar el proceso que hacemos de forma manual buscando otras formas y funciones que si tengan código accesible.

A la hora de programar una macro es preciso evaluar el tiempo que conseguiremos ahorrarnos con la macro sobre el proceso manual y el número de veces que vamos a tener que repetir el proceso, ya que muchas veces cuesta mas la programación que hacerlo de forma manual. O por el contrario si las repeticiones del proceso van a ser muchas compensaría el trabajo invertido en el desrrollo de una macro para hacerlo de forma automática.

No sé si te he ayudado mucho, pero desglosa paso a paso el proceso que utulizas matizando finamente las funciones que utilizas y los comandos de estás, para apartir de ahi empezar a dehojar la margarita (ya que no siempre es posible).

Saludos



Desconectado/a

Visto por última vez: Hace 1 mes 1 semana

se unió: 02/10/2008 - 13:19

Posts:

Hola biyonder,

Lo que necesitas es un tanto ambicioso y supongo que tus piezas o assembly a montar geometricamente no será muy complicadas ya que veo difícil poder montarlo todo de forma automática.

Si lo quieres programar no creo que sea fácil que encuentres un módulo o macro abierto que te pueda servir. De todas formas deberías de plantearte primero el proceso que harías de forma manual (que veo ya lo tienes). Este proceso lo deberías comprobar o probar de forma manual primero, es decir realizar tu un mini montaje con el objetivo de evaluar los comandos que has utilizado para conseguirlo.

A partir de ahí habría que investigar en la ayuda de catia (F1) si existen las rutinas de programacion en VBA de los comandos que has utilizado. No olvidemos que la programación que ofrece CATIA en Visual Basic se basa en  utilizar los comandos que tengas activos en tus licencias. Dicho de otro modo si quiero hacer una linea tendre que buscar la funcion Line. Por lo general no es podible programar otra cosa que no este previamente en el sistema y tus licencias, y no siempre se encuenta todo o esta todo accesible para la programación.

Otra forma de localizar los comandos que necesitas para tu proceso es utilizar el grabador de macros que te ofrece el propio catia, aunque cuando lo pruebes descubrirás que no siempre genera código (aunque exista) y de las opciones mas complicada generalemente no saca nada y hay que buscaro de forma manual.

Una vez que hayas localizado que existen los comandos que utilizas en el proceso manual habria que ir creando la macro siguiendo la estructura de objetos (otro pequeño lio sobre todo al principio). La estructura de objetos que tiene catia aunque sigue las mismas directrices que en el dibujo tiene variaciones de nomenclatura respecto a los comandos, lo que hace un poco más complicado el entenderlo.

Si no conseguiríamos localizar los comandos que nos hacen falta tendríamos que cambiar el proceso que hacemos de forma manual buscando otras formas y funciones que si tengan código accesible.

A la hora de programar una macro es preciso evaluar el tiempo que conseguiremos ahorrarnos con la macro sobre el proceso manual y el número de veces que vamos a tener que repetir el proceso, ya que muchas veces cuesta mas la programación que hacerlo de forma manual. O por el contrario si las repeticiones del proceso van a ser muchas compensaría el trabajo invertido en el desrrollo de una macro para hacerlo de forma automática.

No sé si te he ayudado mucho, pero desglosa paso a paso el proceso que utulizas matizando finamente las funciones que utilizas y los comandos de estás, para apartir de ahi empezar a dehojar la margarita (ya que no siempre es posible).

Saludos



Desconectado/a

Visto por última vez: Hace 1 mes 1 semana

se unió: 02/10/2008 - 13:19

Posts:

Hola biyonder,

Lo que necesitas es un tanto ambicioso y supongo que tus piezas o assembly a montar geometricamente no será muy complicadas ya que veo difícil poder montarlo todo de forma automática.

Si lo quieres programar no creo que sea fácil que encuentres un módulo o macro abierto que te pueda servir. De todas formas deberías de plantearte primero el proceso que harías de forma manual (que veo ya lo tienes). Este proceso lo deberías comprobar o probar de forma manual primero, es decir realizar tu un mini montaje con el objetivo de evaluar los comandos que has utilizado para conseguirlo.

A partir de ahí habría que investigar en la ayuda de catia (F1) si existen las rutinas de programacion en VBA de los comandos que has utilizado. No olvidemos que la programación que ofrece CATIA en Visual Basic se basa en  utilizar los comandos que tengas activos en tus licencias. Dicho de otro modo si quiero hacer una linea tendre que buscar la funcion Line. Por lo general no es podible programar otra cosa que no este previamente en el sistema y tus licencias, y no siempre se encuenta todo o esta todo accesible para la programación.

Otra forma de localizar los comandos que necesitas para tu proceso es utilizar el grabador de macros que te ofrece el propio catia, aunque cuando lo pruebes descubrirás que no siempre genera código (aunque exista) y de las opciones mas complicada generalemente no saca nada y hay que buscaro de forma manual.

Una vez que hayas localizado que existen los comandos que utilizas en el proceso manual habria que ir creando la macro siguiendo la estructura de objetos (otro pequeño lio sobre todo al principio). La estructura de objetos que tiene catia aunque sigue las mismas directrices que en el dibujo tiene variaciones de nomenclatura respecto a los comandos, lo que hace un poco más complicado el entenderlo.

Si no conseguiríamos localizar los comandos que nos hacen falta tendríamos que cambiar el proceso que hacemos de forma manual buscando otras formas y funciones que si tengan código accesible.

A la hora de programar una macro es preciso evaluar el tiempo que conseguiremos ahorrarnos con la macro sobre el proceso manual y el número de veces que vamos a tener que repetir el proceso, ya que muchas veces cuesta mas la programación que hacerlo de forma manual. O por el contrario si las repeticiones del proceso van a ser muchas compensaría el trabajo invertido en el desrrollo de una macro para hacerlo de forma automática.

No sé si te he ayudado mucho, pero desglosa paso a paso el proceso que utulizas matizando finamente las funciones que utilizas y los comandos de estás, para apartir de ahi empezar a dehojar la margarita (ya que no siempre es posible).

Saludos



Desconectado/a

Visto por última vez: Hace 1 mes 1 semana

se unió: 02/10/2008 - 13:19

Posts:

Hola biyonder,

Lo que necesitas es un tanto ambicioso y supongo que tus piezas o assembly a montar geometricamente no será muy complicadas ya que veo difícil poder montarlo todo de forma automática.

Si lo quieres programar no creo que sea fácil que encuentres un módulo o macro abierto que te pueda servir. De todas formas deberías de plantearte primero el proceso que harías de forma manual (que veo ya lo tienes). Este proceso lo deberías comprobar o probar de forma manual primero, es decir realizar tu un mini montaje con el objetivo de evaluar los comandos que has utilizado para conseguirlo.

A partir de ahí habría que investigar en la ayuda de catia (F1) si existen las rutinas de programacion en VBA de los comandos que has utilizado. No olvidemos que la programación que ofrece CATIA en Visual Basic se basa en  utilizar los comandos que tengas activos en tus licencias. Dicho de otro modo si quiero hacer una linea tendre que buscar la funcion Line. Por lo general no es podible programar otra cosa que no este previamente en el sistema y tus licencias, y no siempre se encuenta todo o esta todo accesible para la programación.

Otra forma de localizar los comandos que necesitas para tu proceso es utilizar el grabador de macros que te ofrece el propio catia, aunque cuando lo pruebes descubrirás que no siempre genera código (aunque exista) y de las opciones mas complicada generalemente no saca nada y hay que buscaro de forma manual.

Una vez que hayas localizado que existen los comandos que utilizas en el proceso manual habria que ir creando la macro siguiendo la estructura de objetos (otro pequeño lio sobre todo al principio). La estructura de objetos que tiene catia aunque sigue las mismas directrices que en el dibujo tiene variaciones de nomenclatura respecto a los comandos, lo que hace un poco más complicado el entenderlo.

Si no conseguiríamos localizar los comandos que nos hacen falta tendríamos que cambiar el proceso que hacemos de forma manual buscando otras formas y funciones que si tengan código accesible.

A la hora de programar una macro es preciso evaluar el tiempo que conseguiremos ahorrarnos con la macro sobre el proceso manual y el número de veces que vamos a tener que repetir el proceso, ya que muchas veces cuesta mas la programación que hacerlo de forma manual. O por el contrario si las repeticiones del proceso van a ser muchas compensaría el trabajo invertido en el desrrollo de una macro para hacerlo de forma automática.

No sé si te he ayudado mucho, pero desglosa paso a paso el proceso que utulizas matizando finamente las funciones que utilizas y los comandos de estás, para apartir de ahi empezar a dehojar la margarita (ya que no siempre es posible).

Saludos



Desconectado/a

Visto por última vez: Hace 1 mes 1 semana

se unió: 02/10/2008 - 13:19

Posts:

Hola biyonder,

Lo que necesitas es un tanto ambicioso y supongo que tus piezas o assembly a montar geometricamente no será muy complicadas ya que veo difícil poder montarlo todo de forma automática.

Si lo quieres programar no creo que sea fácil que encuentres un módulo o macro abierto que te pueda servir. De todas formas deberías de plantearte primero el proceso que harías de forma manual (que veo ya lo tienes). Este proceso lo deberías comprobar o probar de forma manual primero, es decir realizar tu un mini montaje con el objetivo de evaluar los comandos que has utilizado para conseguirlo.

A partir de ahí habría que investigar en la ayuda de catia (F1) si existen las rutinas de programacion en VBA de los comandos que has utilizado. No olvidemos que la programación que ofrece CATIA en Visual Basic se basa en  utilizar los comandos que tengas activos en tus licencias. Dicho de otro modo si quiero hacer una linea tendre que buscar la funcion Line. Por lo general no es podible programar otra cosa que no este previamente en el sistema y tus licencias, y no siempre se encuenta todo o esta todo accesible para la programación.

Otra forma de localizar los comandos que necesitas para tu proceso es utilizar el grabador de macros que te ofrece el propio catia, aunque cuando lo pruebes descubrirás que no siempre genera código (aunque exista) y de las opciones mas complicada generalemente no saca nada y hay que buscaro de forma manual.

Una vez que hayas localizado que existen los comandos que utilizas en el proceso manual habria que ir creando la macro siguiendo la estructura de objetos (otro pequeño lio sobre todo al principio). La estructura de objetos que tiene catia aunque sigue las mismas directrices que en el dibujo tiene variaciones de nomenclatura respecto a los comandos, lo que hace un poco más complicado el entenderlo.

Si no conseguiríamos localizar los comandos que nos hacen falta tendríamos que cambiar el proceso que hacemos de forma manual buscando otras formas y funciones que si tengan código accesible.

A la hora de programar una macro es preciso evaluar el tiempo que conseguiremos ahorrarnos con la macro sobre el proceso manual y el número de veces que vamos a tener que repetir el proceso, ya que muchas veces cuesta mas la programación que hacerlo de forma manual. O por el contrario si las repeticiones del proceso van a ser muchas compensaría el trabajo invertido en el desrrollo de una macro para hacerlo de forma automática.

No sé si te he ayudado mucho, pero desglosa paso a paso el proceso que utulizas matizando finamente las funciones que utilizas y los comandos de estás, para apartir de ahi empezar a dehojar la margarita (ya que no siempre es posible).

Saludos



Desconectado/a

Visto por última vez: Hace 1 mes 1 semana

se unió: 02/10/2008 - 13:19

Posts:

Hola biyonder,

Lo que necesitas es un tanto ambicioso y supongo que tus piezas o assembly a montar geometricamente no será muy complicadas ya que veo difícil poder montarlo todo de forma automática.

Si lo quieres programar no creo que sea fácil que encuentres un módulo o macro abierto que te pueda servir. De todas formas deberías de plantearte primero el proceso que harías de forma manual (que veo ya lo tienes). Este proceso lo deberías comprobar o probar de forma manual primero, es decir realizar tu un mini montaje con el objetivo de evaluar los comandos que has utilizado para conseguirlo.

A partir de ahí habría que investigar en la ayuda de catia (F1) si existen las rutinas de programacion en VBA de los comandos que has utilizado. No olvidemos que la programación que ofrece CATIA en Visual Basic se basa en  utilizar los comandos que tengas activos en tus licencias. Dicho de otro modo si quiero hacer una linea tendre que buscar la funcion Line. Por lo general no es podible programar otra cosa que no este previamente en el sistema y tus licencias, y no siempre se encuenta todo o esta todo accesible para la programación.

Otra forma de localizar los comandos que necesitas para tu proceso es utilizar el grabador de macros que te ofrece el propio catia, aunque cuando lo pruebes descubrirás que no siempre genera código (aunque exista) y de las opciones mas complicada generalemente no saca nada y hay que buscaro de forma manual.

Una vez que hayas localizado que existen los comandos que utilizas en el proceso manual habria que ir creando la macro siguiendo la estructura de objetos (otro pequeño lio sobre todo al principio). La estructura de objetos que tiene catia aunque sigue las mismas directrices que en el dibujo tiene variaciones de nomenclatura respecto a los comandos, lo que hace un poco más complicado el entenderlo.

Si no conseguiríamos localizar los comandos que nos hacen falta tendríamos que cambiar el proceso que hacemos de forma manual buscando otras formas y funciones que si tengan código accesible.

A la hora de programar una macro es preciso evaluar el tiempo que conseguiremos ahorrarnos con la macro sobre el proceso manual y el número de veces que vamos a tener que repetir el proceso, ya que muchas veces cuesta mas la programación que hacerlo de forma manual. O por el contrario si las repeticiones del proceso van a ser muchas compensaría el trabajo invertido en el desrrollo de una macro para hacerlo de forma automática.

No sé si te he ayudado mucho, pero desglosa paso a paso el proceso que utulizas matizando finamente las funciones que utilizas y los comandos de estás, para apartir de ahi empezar a dehojar la margarita (ya que no siempre es posible).

Saludos