Comunidad
Diseño y Manufactura: Inventor & Moldflow - Español
Bienvenido/a al foro de Diseño y Manufactura - PD&M: Inventor y Moldflow. Comparta su conocimiento, haga preguntas y explore los temas populares sobre el software de Diseño y Manufactura - PD&M de Autodesk.
cancelar
Mostrando los resultados de 
Mostrar  solo  | Buscar en lugar de 
Quiere decir: 

Cambiar pieza de referencia en pieza derivada

15 RESPUESTAS 15
RESUELTAS
Responder
Mensaje 1 de 16
e-Duardo
2947 Vistas, 15 Respuestas

Cambiar pieza de referencia en pieza derivada

Hola!

Cuando creas una nueva pieza y ésta es derivada de otra pieza (por ejemplo, una pieza simétrica) no existe (o no he sido capaz de encontrarla) la opción de sustituír la pieza de referencia una vez la has creado.

 

Supongamos el siguiente proceso:

- Modelo la pieza A, y la guardo como A_rev1.ipt

- Creo una nueva pieza y, mediante el comando Derivar, obtengo la simetría de A. Guardo esta pieza como B_rev1.ipt

- Incluyo A y B en un ensamblaje.

- Pasado un tiempo necesito hacer algunos pequeños cambios sobre A y B. Creo una nueva copia de A, a la que llamo A_rev2.ipt sobre la que hago las pequeñas modificaciones.

- Lo que quiero es crear una copia de B, guardarla como B_rev2 y hacer que ésta lea la referencia de A_rev2 y no A_rev1.

 

Hasta hace poco, lo que hacía era cambiar temporalmente el nombre a A. Por ejemplo A_rev1_LOCK.ipt, así, cuando abría la copia B_rev2, al no encontrarse el fichero ipt A_rev1.ipt, me aparecía la ventana de explorador para que busque dónde está el archivo que necesita esta pieza, y ahí seleccionaba A_rev2.ipt.

Sin embargo, últimamente no me aparece dicha ventana de explorador. Simplemente me aparece que la pieza tiene un error.

¿alguna idea?

 

gracias de antemano.

15 RESPUESTAS 15
Mensaje 2 de 16
Francisco_García
en respuesta a: e-Duardo

¿Has probado a hacer clic con el botón derecho del ratón sobre el componente a sustituir y Desplegar la opción Componente? Ahí encontrarás el comando Reemplazar.

2017-03-06_111056.png

Espero te sirva de ayuda.

Saludos.

Fco. García Bayarri


Delineante industrial | Formador técnico


LinkedIn | YouTube | Twitter | Telegram



Por favor dame Kudos y marca esta respuesta como Solución Aceptada si responde a tu pregunta.


Please give me Kudos and mark this answer as Accept as Solution if it answers your question.

Mensaje 3 de 16
e-Duardo
en respuesta a: Francisco_García

gracias por la respuesta,

 

En este caso no estoy en el entorno de ensamblaje, sino que estoy en el entorno de pieza. Si haglo click sobre la operación "derivar", me sale la opción "abrir componente base", pero no me sale la opción "cambiar componente". 

Si abro la opción de editar operación de derivar, no encuentro ninguna opción para cambiar el componente vinculado.

 

Mensaje 4 de 16
luis_andueza
en respuesta a: e-Duardo

Hola @e-Duardo,

 Me costó un poco entender tu flujo de trabajo, pero lo que creo que tienes que hacer es en vez de copiar la pieza B y renombrarla para luego tratar de cambiar el origen, lo que puedes hacer es comenzar un archivo nuevo (que lo nombrarás después B_Rev2) y haces pieza derivada de A_Rev2. Con eso te aseguras que está derivada desde donde tú quieres.

 

Saludos.

eduardo.brau escribió:

Hola!

Cuando creas una nueva pieza y ésta es derivada de otra pieza (por ejemplo, una pieza simétrica) no existe (o no he sido capaz de encontrarla) la opción de sustituír la pieza de referencia una vez la has creado.

 

Supongamos el siguiente proceso:

- Modelo la pieza A, y la guardo como A_rev1.ipt

- Creo una nueva pieza y, mediante el comando Derivar, obtengo la simetría de A. Guardo esta pieza como B_rev1.ipt

- Incluyo A y B en un ensamblaje.

- Pasado un tiempo necesito hacer algunos pequeños cambios sobre A y B. Creo una nueva copia de A, a la que llamo A_rev2.ipt sobre la que hago las pequeñas modificaciones.

- Lo que quiero es crear una copia de B, guardarla como B_rev2 y hacer que ésta lea la referencia de A_rev2 y no A_rev1.

 

Hasta hace poco, lo que hacía era cambiar temporalmente el nombre a A. Por ejemplo A_rev1_LOCK.ipt, así, cuando abría la copia B_rev2, al no encontrarse el fichero ipt A_rev1.ipt, me aparecía la ventana de explorador para que busque dónde está el archivo que necesita esta pieza, y ahí seleccionaba A_rev2.ipt.

Sin embargo, últimamente no me aparece dicha ventana de explorador. Simplemente me aparece que la pieza tiene un error.

¿alguna idea?

 

gracias de antemano.


 

Luis José Andueza Castro
Ing. Mecánico - Consultor CAD/CAM/CAE/Data Management
www.dimcad3d.com | LinkedIn |

¿Te resultó útil esta publicación? No dudes en darle Me gusta a esta publicación.
¿Tu pregunta fue respondida exitosamente? Entonces haz clic en el botón ACEPTAR SOLUCIÓN.

EESignature

Mensaje 5 de 16


ljandueza escribió:

Hola @eduardo.brau,

 Me costó un poco entender tu flujo de trabajo


 Acabo de llegar a casa y me he tenido que hacer un esquema en una hoja porque no lo entiendo. Emoticono muy feliz

Fco. García Bayarri


Delineante industrial | Formador técnico


LinkedIn | YouTube | Twitter | Telegram



Por favor dame Kudos y marca esta respuesta como Solución Aceptada si responde a tu pregunta.


Please give me Kudos and mark this answer as Accept as Solution if it answers your question.

Mensaje 6 de 16
Francisco_García
en respuesta a: e-Duardo

A ver si he llegado a una conclusión válida después de repasarme 100 veces el trabalenguas Emoticono muy feliz

La solución está en hacer una derivada simétrica de A_rev2 que a su vez es derivada de A e independiente de A_rev1.

2017-03-06_201909.jpg

De todos modos, no se si has tenido en cuenta que puedes anular o romper los vínculos en las piezas derivadas con sus originales. Lo comento por si no habías contemplado esa posibilidad.

A ver si ahora sí hemos dado con la solución.

Espero respuesta 🙂

Fco. García Bayarri


Delineante industrial | Formador técnico


LinkedIn | YouTube | Twitter | Telegram



Por favor dame Kudos y marca esta respuesta como Solución Aceptada si responde a tu pregunta.


Please give me Kudos and mark this answer as Accept as Solution if it answers your question.

Mensaje 7 de 16
Mecanico14
en respuesta a: Francisco_García

Con todo el perdón del mundo ante los grandes maestros de Inventor que por aquí se mueven, creo que no se ha entendido el problema del compañero.

Creo que todos sabemos como hacer una pieza derivada a partir de otra. Nos creamos un ipt nuevo, seleccionamos "Derivar pieza", seleccionamos la pieza en cuestión y hacemos la simetría, escala o lo que consideremos necesario con esa pieza.

¿Pero que pasa si después de un rato, unas horas, unos días o unos meses, nos damos cuenta que hemos seleccionado la pieza equivocada para hacer la pieza derivada?. Creo que esto nos ha sucedido alguna vez, o que hemos querido utilizar una pieza principal distinta a la inicial. Nosotros trabajamos con revisiones de piezas y a falta de Vault, usamos numeraciones en las piezas. Modificamos una pieza por necesidades de montaje o porque tiene algún problema. A la pieza inicial, le hemos llamado Pieza_A-00 y cuando la modificamos, le llamamos Pieza_A-01. Casualidades de la vida, la Pieza_A-00 era la original de un componente derivado, cuyo nombre es Pieza_B-00 y que al modificar la original, también hay que cambiar esta y llamarle Pieza_B-01.

¿Que tengo que hacer?, crearme una pieza nueva, llamarle Pieza_B-01, ir al conjunto y sustituirla por la Pieza_B-00, con las consiguientes probabilidades de que me empiecen a saltar fallos en las restricciones.

También puedo guardar y reemplazar componente en el conjunto, seleccionando la Pieza_B-00 y llamándola como Pieza_B-01. Pero esta pieza será un componente derivado de la Pieza_A-00, con lo que las modificaciones que le hacemos a la Pieza_A-01, no se verán reflejadas.

podemos cambiar el nombre a la Pieza_A-00 y cuando abrimos la Pieza_B-01, nos pide cual es la pieza principal y nosotros le indicamos la que necesitamos (esto es lo que el compañero hace).

pues hasta hace unos meses es lo que yo hacía, hasta que encontré una rutina que te permite cambiar el componente principal del componente derivado. Abrimos el componente Pieza_B-01, ejecutamos la regla de iLogic y se nos abre una ventana donde nos pide que seleccionemos un componente, que en nuestro caso será la Pieza_A-01

 

Y mejor si os revisáis <<ESTO>>, creo que lo entenderéis mejor que a mi.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

Mensaje 8 de 16
e-Duardo
en respuesta a: Mecanico14

Veo que no había sido suficientemente claro explicando la problemática. Pero Mecanico14 lo ha entendido a la perfección.

 

Ya tenía claro que la opción "directa" sería crear una nueva pieza B y volverla a vincular a la A modificada, pero esto era lo que quería ver si podía evitar para evitar tener que rehacer un montón de restricciones en el ensamblaje.

 

Lo que me propone Mecanico14 parece lo que busco, aunque iLogic es un mundo 110% desconocido para mí y no se como implementarlo. 

Entiendo que en la pestaña Herramientas, tendría que ir a Macros, pero a partir de ahí me pierdo. 

En la ventana de macros, he escrito nombre de macro: CambioReferencia, le he dado a "crear", se me abre el editor de Visual Basic, y ahí he pegado el código de la página que ha enlazado. Pero por lo que veo esa no es la manera de proceder, ya que después de guardar el código, si le doy a "ejecutar" me sale el mensaje "Error de compilación: El procedimiento externo no es válido"

 

Lo que he copiado-pegado (la primera y última líneas me aparecían por defecto al abrirse la ventana de Visual Basic):

 

Sub CambioReferencia()
Dim oDoc As Document
oDoc = ThisDoc.Document
Dim oRefFile As FileDescriptor
Dim oOrigRefName As Object

For Each oRefFile In oDoc.File.ReferencedFileDescriptors
'get the full file path to the original internal references
oOrigRefName = oRefFile.FullFileName

'present a File Selection dialog
Dim oFileDlg As inventor.FileDialog = Nothing
InventorVb.Application.CreateFileDialog (oFileDlg)
oFileDlg.InitialDirectory = oOrigRefName
oFileDlg.CancelError = True
On Error Resume Next
oFileDlg.ShowOpen()
If Err.Number <> 0 Then
Return
ElseIf oFileDlg.FileName <> "" Then
selectedfile = oFileDlg.FileName
End If

‘replace the reference
oRefFile.ReplaceReference (selectedfile)
InventorVb.DocumentUpdate()
oOrigRefName = “”
Next

iLogicVb.UpdateWhenDone = True
End Sub

Mensaje 9 de 16
Francisco_García
en respuesta a: e-Duardo

@Mecanico14 tiene mucha experiencia y si él ha sabido comprenderte y crees que iLogic es lo más acertado, nos alegramos.

A decir verdad, sigo pensando que os complicais demasiado la vida pero si alguien se ha molestado en crear una rutina iLogic para hacer lo que deseas por algo será 🙂

Es muy probable que sea yo quien no comprende la situación. Mis disculpas.

En cuanto a lo de crear la regla que necesitas, no es tan complicado y no tiene nada que ver con Macros ni con Visual. Te explico el proceso y verás que es sencillo:

1. Pestaña Administrar | Panel iLogic | Añadir Regla AUNQUE EN EL EJEMPLO QUE VEIS LA REGLA HA SIDO CREADA EN EL ENTORNO DE PIEZA, EN REALIDAD SE DEBE GENERAR EN EL IAM

2017-03-06_111056.png

3. Dale un nombre a la nueva regla iLogic

2017-03-06_112212.png

3. Se abrirá un cuadro de diálogo desde donde se crea la nueva regla. Copia y pega el texto de la web de @Curtis_Waguespack EXACTAMENTE

ACOESPAC.png

Personalmente recomiendo usar el botón Guardar y ejecutar para comprobar que no hay error de sintaxis en la rutina copiada. A veces hasta haciendo un "copia/pega" se arrastran errores o nos dejamos parte del texto por seleccionar.

4. Guarda el fichero IAM como plantilla para tener siempre la regla disponible.

5. No voy a entrar en el tema de disparadores, ejecución automática aplicando condiciones ni cosas técnicas. Directamente, cuando quieras ejecutar la regla, activas el Navegador de iLogic clicando en el icono que se ve en la imagen inferior  y desde la pestaña Reglas verás la regla que has creado.

ACOESPACI.png

6. Doble clic sobre ella para ejecutarla.

No te puedo decir si funciona o no porque no la he probado. Solo te he explicado el flujo de trabajo para crear la rutina en iLogic.

Yo tampoco estoy muy especializado en el tema de la programación. Si alguien cree que hay algo incorrecto o no es el mejor proceso para crear y ejecutar la regla agradecería comentarios.

Saludos.

 

Fco. García Bayarri


Delineante industrial | Formador técnico


LinkedIn | YouTube | Twitter | Telegram



Por favor dame Kudos y marca esta respuesta como Solución Aceptada si responde a tu pregunta.


Please give me Kudos and mark this answer as Accept as Solution if it answers your question.

Mensaje 10 de 16
e-Duardo
en respuesta a: Francisco_García

Muchas gracias.
Con eso consigo lo que quería (lo he probado y va perfecto).

Aprevochando el hilo...Cuando trabajo en "presentaciones" (archivos ipn) para crear vistas explosionadas, se me suele presentar la misma problemática: reemplazar el modelo de la presentación. ¿Esta misma regla iLogic también serviría en un entorno de presentación?

Mensaje 11 de 16
Francisco_García
en respuesta a: e-Duardo


eduardo.brau escribió:

Muchas gracias.
Con eso consigo lo que quería (lo he probado y va perfecto).

Aprevochando el hilo...Cuando trabajo en "presentaciones" (archivos ipn) para crear vistas explosionadas, se me suele presentar la misma problemática: reemplazar el modelo de la presentación. ¿Esta misma regla iLogic también serviría en un entorno de presentación?


Si te ha servido la respuesta de @Mecanico14 otórgale la solución para cerrar el hilo.

En cuanto a la pregunta, he hecho una pequeña prueba sustituyendo componentes en un IAM enlazado con un IPN y este último a mi se me actualiza.

Ahora bien, el movimiento que le había aplicado al original se pierde como es lógico 😞

Fco. García Bayarri


Delineante industrial | Formador técnico


LinkedIn | YouTube | Twitter | Telegram



Por favor dame Kudos y marca esta respuesta como Solución Aceptada si responde a tu pregunta.


Please give me Kudos and mark this answer as Accept as Solution if it answers your question.

Mensaje 12 de 16
Mecanico14
en respuesta a: Francisco_García

Hombre, si algo tengo en esta vida, aparte de años, es experiencia, pero ojo, eso no quiere decir que lo que yo diga es lo correcto. Yo me equivoco como todo ser humano.

Contesto tu respuesta Francisco, porque quiero matizar un par de cosas (o tres):

  1. No se si será o no "complicarse" la vida, pero te puedo asegurar que desde que descubrí este método, me ha facilitado el trabajo mucho. Es rápido y eficaz y me simplifica enormemente el actualizar piezas que se modifican en la fabricación o el montaje. Y tu lo has dicho "si alguien se ha molestado en hacer una rutina de iLogic, por algo será". Me inclino por que no "visualizas" la situación. Te animo a que hagas una prueba un día que tengas un rato, una prueba sencilla, consistente en dibujar una pieza (Pieza-A), un cubo, prisma, cilindro, etc, le hagas cosas (chaflanes, radios, rebajes, lo que quieras), la guardes, crees una pieza nueva (Pieza-A_sim) y derives la Pieza-A con simetría en el plano que quieras. Abres la Pieza-A y la guardas como Pieza-B; abres esta última y le modificas o eliminas cosas, pero no "deformando" demasiado la pieza, porque si es un prisma y lo modificas hasta dejarlo como un cilindro, ni esta rutina sirve, ni el método de cambiar el nombre funcionará. Ahora abre la Pieza-A_sim, ejecuta la rutina y selecciona la Pieza-B. Lo que sigue lo dejo para que lo descubras tu. A ver si puedo hacer un vídeo como los estupendos vídeos que haces tu.
  2. El crear la regla es sencillísimo, como tu bien indicas y explicas perfectamente, pero no coincido contigo en lo de que "AUNQUE EN EL EJEMPLO QUE VEIS LA REGLA HA SIDO CREADA EN EL ENTORNO DE PIEZA, EN REALIDAD SE DEBE GENERAR EN EL IAM". Lo siento, pero las reglas se pueden hacer en cualquier entorno, simplemente es seguir tus pasos en el entorno ipt o iam. Luego se ejecutan en el entorno para el que esté echa la regla.
  3. Y me vas a perdonar, pero no hace falta que abras la plantilla para crear la regla allí. Puedes hacer la regla, seleccionar todo el texto, botón derecho y "Guardar texto seleccionado". Te sale la ventana de Windows, le das un nombre y lo guardas. Por defecto te lo guarda como un txt, pero puedes cambiar la extensión por "XXX.iLogicVb", que para otros casos te puede valer mejor. Ahora en cualquier ipt, iam o idw y desde el navegador de iLogic, buscas la pestaña "Reglas externas", botón derecho y "Añadir regla externa". En la ventana que se abre, buscas el fichero que has creado recientemente, lo cargas y luego lo ejecutas en donde lo quieras usar. Cundo cierres el ipt, iam o idw, se queda las reglas externas en la ventana de iLogic para siempre. Piensa la de reglas que puedes tener así.

Espero sepas perdonar este "rollo", pero he considerado necesario comentar mis conocimientos, que pueden no ser los correctos, pero es lo que se y uso a diario.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

Mensaje 13 de 16
Francisco_García
en respuesta a: Mecanico14


Mecanico14 escribió:

 

El crear la regla es sencillísimo, como tu bien indicas y explicas perfectamente, pero no coincido contigo en lo de que "AUNQUE EN EL EJEMPLO QUE VEIS LA REGLA HA SIDO CREADA EN EL ENTORNO DE PIEZA, EN REALIDAD SE DEBE GENERAR EN EL IAM". Lo siento, pero las reglas se pueden hacer en cualquier entorno, simplemente es seguir tus pasos en el entorno ipt o iam. Luego se ejecutan en el entorno para el que esté echa la regla.


Tienes toda la razón del mundo y he de pedir disculpas porque la información que di no era correcta debido a una "ida de cabeza" al redactar la explicación. A veces me pasa 😞

Donde dije "GENERAR" quise decir "EJECUTAR".

Esa explicación puede parecer redundante pero me pareció necesaria porque en las imágenes aparecía siempre el entorno IPT. Pensé que si el sistema de funcionamiento de iLogic es completamente desconocido para el usuario, esas capturas pueden ser más una forma de desorientar que una ayuda visual.


Mecanico14 escribió:
no hace falta que abras la plantilla para crear la regla allí. Puedes hacer la regla, seleccionar todo el texto, botón derecho y "Guardar texto seleccionado". Te sale la ventana de Windows, le das un nombre y lo guardas. Por defecto te lo guarda como un txt, pero puedes cambiar la extensión por "XXX.iLogicVb", que para otros casos te puede valer mejor. Ahora en cualquier ipt, iam o idw y desde el navegador de iLogic, buscas la pestaña "Reglas externas", botón derecho y "Añadir regla externa". En la ventana que se abre, buscas el fichero que has creado recientemente, lo cargas y luego lo ejecutas en donde lo quieras usar. Cundo cierres el ipt, iam o idw, se queda las reglas externas en la ventana de iLogic para siempre. Piensa la de reglas que puedes tener así.

Cierto. No había contado con la posibilidad de crear reglas externas. Tomo nota 😉

Fco. García Bayarri


Delineante industrial | Formador técnico


LinkedIn | YouTube | Twitter | Telegram



Por favor dame Kudos y marca esta respuesta como Solución Aceptada si responde a tu pregunta.


Please give me Kudos and mark this answer as Accept as Solution if it answers your question.

Mensaje 14 de 16
e-Duardo
en respuesta a: Mecanico14

Hola de nuevo,

La verdad es que quisiera apuntar que este método para poder cambiar de referencia en piezas derivadas para mí es más que útil.

 

Llevo poco más de 4 años trabajando con Inventor de manera bastante intensiva, pero de manera bastante autodidacta (hice en su día un curso de 25 horas de SolidWorks, y lo que aprendí de ese programa fue la base para usar Inventor), y lo he hecho en un entorno en el que yo era el único usuario, por lo que nunca he disfrutado de consejos de compañeros más experimentados para hacer las cosas.

 

Digo ésto porque probablemente la manera que he seguido para trabajar con los distintos proyectos no es la más eficiente, ya que no tuve ocasión de descubrir e investigar lo que me puede aportar Vault. Básicamente sigo la típica lógica windows de "un proyecto -> una carpeta (con sus subcarpetas)".

Así, algo muy habitual cuando voy a realizar un proyecto nuevo pero que se parece mucho (comparte muchas piezas con la misma geometría en la que cambian algunas proporciones), es copiar la carpeta en bloque, renombrar los archivos y actualizar los ensamblajes para que "comieran" de los archivos con el nuevo nombre. 

Cuando la carpeta copiada incluye alguna pieza derivada es cuando vienen los dolores de cabeza (sobretodo si ambas carpetas están incluidas dentro del mismo archivo de proyecto ipj). Por supuesto que está la posibilidad crear una nueva pieza derivada con las mismas opciones (mismo plano de simetría, por ejemplo), pero aún así, cuando actualizo el ensamblaje con esta nueva derivada, no me la reconoce como la original (a pesar de ser idéntica) y me saltan todas las restricciones.

 

Hasta hace poco, lo que hacía era lo que comenté en mi segundo mensaje: cambiarle temporalmente el nombre a la pieza original a la que se refiere la derivada, y abrir después la nueva versión derivada para que me apareciera la ventana de navegador preguntándome dónde está la pieza de referencia. Pero eso me resulta algo  engorroso, ya que alguna vez he olvidado devolverle el nombre a la pieza original y tiempo más tarde han venido líos. Además, no se si es cosa de la última actualización, pero estas últimas veces esta técnica no me funcionaba (al no encontrar la pieza de referencia, directamente me salía "error" sin pedirme la ubicación de dicha pieza).

 

De ayer a hoy, he usado ya 3 veces esta regla iLogic y puedo considerar que el problema está resuelto.

 

Siento haberos contado mi vida, simplemente era para intentar transmitir la idea de por qué, lo que desde algunos puntos de vista puede ser considerado "complicarse la vida", en mi caso era algo bastante necesario. 

 

Ahora, desde hace poco, en el trabajo somos dos usuarios de  Inventor y empiece a ser interesante replantear la manera de gestionar los archivos. No obstante, adaptar todos los ficheros antiguos puede ser algo que llevaría mucho tiempo....

 

Mensaje 15 de 16
jlangarita
en respuesta a: e-Duardo

Llevaba años esquivando el problema... me ponía a buscar un ratito y como no veia nada rápido no perdia el tiempo  y redibujaba....pero hoy os he visto en este hilo....Y FUNCIONAAAAAAAAAA!!!

Muchas gracias a todos por vuestra ayuda y la inversion de tiempo en resolver los problemas para que todos crezcamos.

un saludo a toda la comunidad!

 

Mensaje 16 de 16
alexandercardozo98
en respuesta a: Mecanico14

Muchas gracias me ha servido tu cometario y el enlace, lo probé creando la regla y me funciono al ejecutar la regla me dio la opción de poder reemplazar el derive por la pieza original que quería usar!

¿No encontraste lo que buscabas? Pregúntale a la comunidad o comparte tus conocimientos.

Publicar en los foros  

New events in the Spanish Community


Autodesk State of Design & Make Report