Cómo utilizar Chat GPT y Sketchup para potenciar tus proyectos de diseño
Como usar chat gpt y Sketchup
En la era digital, la convergencia entre la inteligencia artificial y el diseño arquitectónico ha abierto nuevas fronteras de creatividad y eficiencia. Una herramienta que está ganando popularidad entre los profesionales del diseño es ChatGPT, un modelo de lenguaje de inteligencia artificial desarrollado por OpenAI. En este artículo, exploraremos cómo integrar ChatGPT en SketchUp, uno de los programas de diseño arquitectónico más utilizados. Descubriremos cómo esta combinación puede potenciar la creatividad, la productividad y la colaboración en el proceso de diseño arquitectónico.
índice
¿Qué es chat GPT?
En algun momento todos nos nos hicimos la misma pregunta ¿que es chat GPT?, pero acá les voy a dejar una definición algo completa proporcionada por el mismo chat GPT.
"Como modelo de lenguaje basado en la arquitectura GPT-3.5, mi objetivo principal es proporcionar asistencia en la generación de contenido y responder preguntas de manera precisa. Soy parte de la familia de modelos de OpenAI y he sido entrenado en una amplia variedad de temas, desde ciencia y tecnología hasta cultura y entretenimiento. Estoy diseñado para ayudar a los usuarios a obtener información, generar ideas y brindar respuestas en función de los datos con los que fui entrenado. Mi objetivo es ser una herramienta útil y confiable para quienes buscan asistencia con tareas de escritura y adquisición de conocimiento. Estoy aquí para ayudarte en lo que necesites y espero poder brindarte una experiencia satisfactoria."
Entonces, sabiendo que es una herramienta que está dispuesta con el fin de apoyar la generacion o creacion de contenido, ¿será util para la arquitectura?
Esta pregunta la resolveremos al aplicarlo directamente sobre uno de los programas de diseño arquitectónico más utilizados por profesionales y estudiantes de la arquitectura e ingeniería, este es sketchup pro, en mi caso lo usaremos en la version 2021 pero la versión no es muy relevante en este caso ya que funciona casi en cualquier versión, pero, ¿Como usamos el chat GPT en sketchup pro?
¿Como puedo aplicar Chat GPT en sketchup?
Lo primero que debemos tener presente es el PARA QUÉ, es decir, debemos tener muy claro que es lo que le vamos a pedir al chat GPT ya que entre más precisos seamos con la orden que le demos mayor es la probabilidad de que la respuesta sea correcta.
Una vez sepas que pedirle le vas a dar la orden, como en el ejemplo de la siguiente imagen
Es importante que especifiques, así como en el ejemplo, que esto va a ser usado en RUBY DE SKETCHUP, puede ser conveniente agregarle la versión que tienes. Ojalá que sean pasos concretos. Una vez le das la orden el te generará el SCRIPT, lo único que debes de hacer es copiarlo y pegarlo, en la siguiente imagen te explico donde encontrar el lugar. La ruta es VENTANA >> CONSOLA RUBY
script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8963630828095750" crossorigin="anonymous">
Ordenes para aplicar en sketchup
Solamente pega y verás la magia.
Para extruir las superficies seleccionadas entre rangos dados
# Obtener todas las caras seleccionadas
selection = Sketchup.active_model.selection
faces = selection.grep(Sketchup::Face)
# Mostrar el cuadro de diálogo para ingresar las alturas
prompts = ['Altura mínima (m): ', 'Altura máxima (m): ']
defaults = ['2.5', '7.0']
input = UI.inputbox(prompts, defaults, 'Ingresar alturas')
# Verificar si se ingresaron los valores correctamente
return unless input
# Convertir los valores ingresados a números de punto flotante
min_height = input[0].to_f
max_height = input[1].to_f
# Levantar al azar todas las caras dentro del rango de alturas
faces.each do |face|
next unless face.valid? # Verificar que la cara sea válida
# Generar una altura aleatoria dentro del rango
height = rand(min_height..max_height)
# Obtener las aristas de la cara
edges = face.edges
# Obtener el punto de origen para la extrusión
origin = edges[0].start.position
# Realizar la extrusión de la cara
new_face = face.pushpull(height.m)
next unless new_face # Verificar si se creó correctamente la cara extruida
# Mover la cara hacia abajo para mantener la misma base
next unless new_face.valid? # Verificar que la cara extruida sea válida
vector = new_face.normal.reverse
transformation = Geom::Transformation.translation(vector)
new_face.transform!(transformation)
end
Para aplicar colores en tonalidades específicas
Para este ejemplo están en la escala de grises, pero los colores los puedes dar tú, cambiar los valores, para esto te puedes valer de varias páginas en internet que te ayudarán con los valores numéricos exactos para cada color, como por ejemplo esta Haciendo clik ACÁ
# Obtener los objetos seleccionados
selection = Sketchup.active_model.selection
# Definir los colores en escala de grises
colors = [
Sketchup::Color.new(0, 0, 0), # Negro
Sketchup::Color.new(64, 64, 64), # Gris oscuro
Sketchup::Color.new(128, 128, 128),# Gris medio
Sketchup::Color.new(192, 192, 192) # Gris claro
]
# Aplicar colores a los objetos seleccionados
selection.each_with_index do |entity, index|
# Obtener el color correspondiente en función del índice
color = colors[index % colors.length]
if entity.is_a?(Sketchup::Group) || entity.is_a?(Sketchup::ComponentInstance)
# Crear un nuevo material con el color
material = Sketchup.active_model.materials.add("Material_#{index}")
material.color = color
material.alpha = 1.0
# Asignar el material al grupo/componente
entity.material = material
else
# Si el objeto no es un grupo ni componente, aplicar el color directamente
entity.material = color
end
end
Para escalar aleatoriamente
Me pareció bastante útil para elementos artísticos o decorativos, sin duda nos ahorrará mucho tiempo.
# Obtener los objetos seleccionados
selection = Sketchup.active_model.selection
# Escalar los objetos seleccionados
selection.each do |entity|
# Generar un factor de escala aleatorio en el rango de 0.5 a 2.0
scale_factor = rand(0.5..2.0)
# Obtener la posición de origen del objeto
bounds = entity.bounds
origin = bounds.center
# Calcular las dimensiones del objeto
width = bounds.width
height = bounds.height
depth = bounds.depth
# Calcular los factores de escala para mantener la relación 1:1
max_dimension = [width, height, depth].max
scale_x = scale_factor * (width / max_dimension)
scale_y = scale_factor * (height / max_dimension)
scale_z = scale_factor * (depth / max_dimension)
# Crear la transformación de escala
scale_transform = Geom::Transformation.scaling(origin, scale_x, scale_y, scale_z)
# Aplicar la escala al objeto
entity.transform!(scale_transform)
end
Conclusiones
En lo personal fue una gran sorpresa el saber que puedo integrar esta gran herramienta para el uso en una aplicación como sketchup pro a la vez que hizo que mi creatividad volara con la infinidad de cosas que prodría hacer a la vez que descubrimos las capacidades de esta gran herramienta como lo es el chat GPT y todas sus versiones, cabe aclarar que no es el único que hay, hay muchas inteligencias artificiales allá afuera que también merecen ser exploradas y puestas a prueba, sin embargo chat GPT ha desmostrado grandes capacidades en el ambito de la programación que es justamente lo que acabamos de ver, acabamos de programar en sketchup sin saber nada de programación.
Por otr lado no creo que este tipo de herramientas nos valla a quitar el trabajo a nosotros como arquitectos o como diseñadores en general, solamente que es responsabilidad y comprimiso nuestro el adaptarnos a estas nuevas tecnologías para no quedarnos atrás. El mundo de las tecnologías avanza muy rápido y la arquitectura no es indiferente a esto, es como cuando llegó la magia del autocad, ¿crees que los delineantes a mano de esa época hubieran mantenido sus puestos de trabajo si hubieran adoptado una posición reacia a la nueva decnología llamada autoca?.
Comentarios
Publicar un comentario