Insertar imagen con Dynamo en Cuadro de rotulación en planos de Revit

Insertar imagen con Dynamo en Cuadro de rotulación en planos de Revit

raul.valero.ceprian
Participant Participant
2.237 Vistas
13 Respuestas
Mensaje 1 de 14

Insertar imagen con Dynamo en Cuadro de rotulación en planos de Revit

raul.valero.ceprian
Participant
Participant

Hola,

Estoy generando una definición de Dynamo para la automatización de los cajetines de los planos, y me he atascado totalmente con la imagen del código QR que lleva el cajetín y que es única en cada proyecto, y no encuentro la manera de poder insertarla desde Dynamo. Agradecería muchísimo si alguien me ayudara con esto, ya no sé dónde buscar..

@Organon, alguna idea?

 

Gracias.

Saludos,

 

Raúl

0 Me gusta
Soluciones aceptadas (2)
2.238 Vistas
13 Respuestas
Respuestas (13)
Mensaje 2 de 14

Organon
Advisor
Advisor
Solución aceptada

@raul.valero.ceprian,

 

Hola.

 

Necesitas algún paquete que permita insertar imágenes en el proyecto, el cual me parece que se llama Orchid. Posteriormente después buscar en cada cuadro de rotulación el punto de inserción de la imagen. El problema podría ser que los cuadros de rotulación no se hayan insertado en el origen y que tengan tamaños distintos.

 

Saludos.


Arquitectura | Análisis CAD & BIM | Diseño Paramétrico | Programación
BIM-METADATA | LinkedIn | YouTube
0 Me gusta
Mensaje 3 de 14

raul.valero.ceprian
Participant
Participant
Solución aceptada

@Organon ,

Hola, 

Después de investigar un poco más, descubrí que la opción de importar imágenes dejó de estar disponible en la API de Revit a partir de la versión Revit 2021, así que lo he dejado estar porque ya veo que no es algo que Autodesk quiera mantener en Dynamo.

Hice algunas pruebas con Revit 2020 y conseguí importar los QR, pero no conseguí controlar el tamaño ni la ubicación. En definitiva, demasiados problemas y pocos resultados.

 

https://www.revitapidocs.com/2021.1/493d203e-ef4c-b447-f979-52b22725b2ad.htm

 

Gracias por la ayuda.

Saludos,

 

Raúl Valero

0 Me gusta
Mensaje 4 de 14

Organon
Advisor
Advisor

@raul.valero.ceprian,

 

Aún es posible insertar imágenes, sólo que ha cambiado el método. Ahora se hace con la clase ImageInstance y  la clase ImagePlacementOptions. Una vez creadas las imágenes, puedes cambiar sus dimensiones usando el nodo Element.SetParameterByName.

 

Saludos.


Arquitectura | Análisis CAD & BIM | Diseño Paramétrico | Programación
BIM-METADATA | LinkedIn | YouTube
0 Me gusta
Mensaje 5 de 14

raul.valero.ceprian
Participant
Participant

@Organon ,

Hola,

¿Seguro que es lo mismo? una cosa es crear una imagen en el proyecto, y otra importar una ya existente.

Si puedes mostrarme un ejemplo sencillo de cómo se inserta una imagen existente en un cajetín de Revit te lo agradecería mucho, yo no me aclaro la verdad.

Gracias,

Saludos.

0 Me gusta
Mensaje 6 de 14

Organon
Advisor
Advisor

@raul.valero.ceprian,

 

Es lo mismo, sólo que a partir del 2021 se ha cambiado el método, como te comenté anteriormente. Acá hay un ejemplo:

# Importar librerías .NET
import clr

# Importar las clases, métodos y propiedades de Revit API.
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

# Importar las clases, métodos y propiedades de Dynamo.
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

# Importar las clases, métodos y propiedades de Revit Services.
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager



### INICIO DE SCRIPT.

# Valores de entrada.
imageType = UnwrapElement(IN[0])
views = UnwrapElement(IN[1])
locations = IN[2]

# Obtener el documento actual.
doc =  DocumentManager.Instance.CurrentDBDocument

# Iniciar la transacción.
TransactionManager.Instance.EnsureInTransaction(doc)
   
# Iterar sobre la lista de vistas y puntos. 
imageInstances = []
for view, location in zip(views, locations):
   # Image Placement Options.
   imageOptions = ImagePlacementOptions(location.ToXyz(), BoxPlacement.Center)   
   # Crear nueva Image Instance.
   newImage = ImageInstance.Create(doc, view, imageType.Id, imageOptions)
   #Agregar las Image Instances a la lista.
   imageInstances.append(newImage)
   
# Terminar la transacción.
TransactionManager.Instance.TransactionTaskDone()
   
# Valores de salida.   
OUT = imageInstances

### FIN DE SCRIPT.

 

El ejemplo funciona con una imagen, una lista de vistas y una lista de puntos.

 

Saludos.


Arquitectura | Análisis CAD & BIM | Diseño Paramétrico | Programación
BIM-METADATA | LinkedIn | YouTube
0 Me gusta
Mensaje 7 de 14

raul.valero.ceprian
Participant
Participant

@Organon ,

 

Gracias por la ayuda, pero no consigo que me funcione. He probado todo lo que se me ha ocurrido con lo que me has dicho pero siempre me da error el nodo del script.

¿Podrías mostrar una captura de pantalla del ejemplo que comentabas en Dynamo donde se vean los nodos? A ver si así puedo averiguar qué es lo que estoy haciendo mal.

 

Gracias,

Un saludo

0 Me gusta
Mensaje 8 de 14

Organon
Advisor
Advisor

@raul.valero.ceprian,

 

Sube una imagen del error del nodo.

 

En este imagen se ve lo que me pides:

InsertImage_2021-07-07_03-18-29.png

En este caso, el nodo funciona si ya se cargaron previamente las imágenes. En una respuesta anterior mencionaste que ya habías cargado las imágenes en el documento.

 

Saludos.


Arquitectura | Análisis CAD & BIM | Diseño Paramétrico | Programación
BIM-METADATA | LinkedIn | YouTube
0 Me gusta
Mensaje 9 de 14

raul.valero.ceprian
Participant
Participant

@Organon ,

 

Hola,

Ahora entiendo por qué no me funcionaba, yo lo que necesito es importar imágenes al proyecto, no crear imágenes a partir de unas ya cargadas en el proyecto. Lo que comenté exactamente fue esto:

"Hice algunas pruebas con Revit 2020 y conseguí importar los QR, pero no conseguí controlar el tamaño ni la ubicación. En definitiva, demasiados problemas y pocos resultados."

Es decir, conseguí importar con Revit 2020, pero no con Revit 2021 que es con la que trabajo.

He intentado aprovechar lo que me has pasado, pero sigue fallando la base, la importación de la imagen al proyecto.

Como te comenté anteriormente, creo que son cosas distintas "importar vs crear". Si se te ocurre alguna manera de salvar este escollo soy todo oídos.

De todas maneras gracias por intentarlo!

 

Saludos,

0 Me gusta
Mensaje 10 de 14

Organon
Advisor
Advisor

@raul.valero.ceprian,

 

El código que te proporcioné fue para hacer lo que describes en el título del tema: "Insertar imagen con Dynamo en Cuadro de rotulación en planos de Revit".

 

Para importar una imagen, se usa este método:

https://www.revitapidocs.com/2021.1/31bb13e3-e8f5-cb66-18d0-619578d56cde.htm

 

Saludos.


Arquitectura | Análisis CAD & BIM | Diseño Paramétrico | Programación
BIM-METADATA | LinkedIn | YouTube
0 Me gusta
Mensaje 11 de 14

raul.valero.ceprian
Participant
Participant

@Organon ,

 

Es posible que el título no sea muy preciso o quizás yo no me he explicado bien, pero lo que necesito es insertar una imagen que no está en el proyecto, y por tanto es necesario importarla. Por si no lo he comentado antes, no sé nada de programación, así que con el link que me has pasado poco puedo hacer. La imagen que adjuntaste de Dynamo era perfecta para mi a nivel didáctico, pero no es lo que necesito. Sí pudieses hacer lo mismo pero con la opción de importar incorporada en la definición de Dynamo me ayudaría muchísimo. 

Gracias.

0 Me gusta
Mensaje 12 de 14

Organon
Advisor
Advisor

@raul.valero.ceprian,

 

En este caso es más fácil que descargues un paquete que ya tenga nodos que hagan lo que necesitas. Esos nodos ya se han probado en diversas situaciones. Revisa este enlace:

https://forum.dynamobim.com/t/import-images-into-revit-image-manager/33303

 

El paquete Orchid tiene un nodo que se llama ImportImage.

 

Saludos.


Arquitectura | Análisis CAD & BIM | Diseño Paramétrico | Programación
BIM-METADATA | LinkedIn | YouTube
0 Me gusta
Mensaje 13 de 14

martin_gallardo5D4AT
Enthusiast
Enthusiast

existe alguna forma de exportar a dwg y que las imagenes que se hayan insertado queden insertas en revit y no queden como xref cuando se exportan .dwg? 

Mensaje 14 de 14

Hola @martin_gallardo5D4AT, espero te encuentres muy bien, esto lo puede lograr ya dentro de AutoCAD de la siguiente forma:

 

https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Saving-raster-imag...

 

Espero te sea de utulidad, saludos!

Didier Raphaël Ramírez Darjo
¿Te resultó útil esta publicación? No dudes en dar Me gusta a esta publicación.
¿Se respondió correctamente tu pregunta? Entonces haz clic en el botón ACEPTAR SOLUCIÓN.

EESignature

0 Me gusta