miércoles, 9 de marzo de 2016

REVIT PYTHON SHELL | Otra forma de acceder a la API de Revit

Ya desde hace tiempo existen herramientas que nos permiten acceder a la API de Revit, como el Macro Manager y Visual Studio. Hace unos años surgió también Dynamo BIM y Revit PythonShell. Realmente todas son bastante útiles y cada una tiene sus diferencias al momento de utilizarlos. En este post únicamente me centraré en este último.

RevitPythonShell es una aplicación externa a modo de consola que sirve como un intérprete para IronPython (que según entiendo es como una integración del lenguaje de programación  Python con .NET Framework y lenguajes .NET). Esta consola permite movernos en un ambiente de programación que puede acceder a la API de Revit. 


Al principio estuve renuente de usarlo, pues ya usaba el Macro Manager ,Visual Studio y Dynamo BIM, así que por un tiempo lo dejé arrumbado. Pero últimamente que se me han presentado distintos flujos de trabajo durante la programación de comandos he decidido volver a utilizarlo. La razón principal ha sido porque es algo así como un híbrido entre el Macro Manager y Visual Studio, y lo digo en el sentido de que te permite crear un comando que ya aparece directamente en la interfaz del usuario y aunque siempre muestre el mismo icono, eso no lastima mis sentimientos. Pues muchas veces me dije a mi mismo: ¡Qué rayos! Voy a tener que crear un icono sólo para este simple comandito... Además es muy intuitivo, fácil de usar y no se anda con rodeos.


Por cierto, les dejo algunos enlaces en donde pueden encontrar información más específica:


Saludos.

miércoles, 3 de febrero de 2016

PYTHON SCRIPT | Pintar/Remover pintura

Innegablemente una de las tareas más tediosas, dolorosas y que consumen más tiempo en Revit es el pintar elementos y regiones divididas, ya que suelen ser cientos y cientos de superficies por pintar.


Si el objetivo de la programación es automatizar tareas ¿por qué no pintar cientos de superficies en unos segundos? Les dejo un video mostrando las capacidades de la API con Dynamo. Estoy seguro que derramarán lágrimas hasta los tipos más duros...


Saludos.



martes, 2 de febrero de 2016

Secretos AutoCAD | VARIABLES DE SISTEMA que te han hecho sufrir.

No cabe duda que la utilización de software creado para facilitar las tareas de dibujo es algo realmente bueno, pero inevitablemente como en toda relación surgen situaciones que en algún momento nos harán llorar y sufrir... y todo esto por no conocer bien a AutoCAD.


Si no sabían lo de las variables, debo comentarles que AutoCAD sí tiene algo llamado variables de sistema. Una variable es únicamente un nombre que almacena un valor, y una variable de sistema es un nombre que almacena un valor del ambiente operativo y de algunos comandos de AutoCAD. Las variables de sistema se utilizan principalmente al programar rutinas o comandos, pero no tocaremos ese tema acá.

Bueno, he aquí una lista con algunas variables épicas que los han hecho sufrir alguna vez. No les guarden rencor...

DIMASSOC
Controla la asociación que tiene la dimensión con respecto al objeto.
0 No crea asociación alguna con el objeto y además explota la dimensión.
1 Crea la dimensión sin explotar, pero ésta no tiene asociación con el objeto.
2 Crea la dimensión sin explotar, y ésta sí tiene asociación con el objeto.



PICKADD
Controla si los objetos que van siendo seleccionados se agregan al conjunto de selección o sustituyen al objeto anterior.
0 El objeto seleccionado sustituye al anteriormente seleccionado.
1 El objeto seleccionado es agregado al conjunto de selección.
2 Lo mismo que el anterior, pero también permite que el comando SELECT seleccione objetos.



PICKAUTO
Controla la selección de objetos mediante ventanas de selección.
0 Desactiva las ventanas de selección.
1 Activa las ventanas de selección y permite la selección de objetos al presionar el botón del mouse.
2 Activa las ventanas de selección y permite la selección de objetos al presionar y liberar el botón del mouse.



PICKDRAG
Controla cómo se comportan las ventanas de selección.
0 Permite la creación de la ventana de selección haciendo clic.
1 Permite la creación de la ventana de selección haciendo clic y arrastrando.
2 Permite los dos métodos anteriores.



PICKFIRST
Controla si los objetos se seleccionan antes o después de ejecutar un comando.
0 El objeto se selecciona después de ejecutar un comando.
1 El objeto se selecciona antes de ejecutar un comando.



FILEDIA
Controla si las ventanas de diálogo se muestran o no.
0 No muestra las ventanas de diálogo.
1 Muestra las ventanas de diálogo.


SELECTIONPREVIEW
Controla cómo se visualizan los objetos cuando se pasa por encima el cursor al ser seleccionados.
0 No se ilumina o resalta nada.
1 Se ilumina o resalta el objeto a pesar de que no exista algún comando activo.
2 Se ilumina o resalta el objeto únicamente al estar un comando activo.



Saludos.


sábado, 30 de enero de 2016

PYTHON SCRIPT | Creación de Suelos

Siempre que debía de crear docenas y docenas de suelos en Revit, me venía a la mente automáticamente alguna escena de terror. Pero debo reconocer que con algo de programación en Dynamo ya duermo más tranquilo por las noches.


Espero no tengan que correr la suerte de Georgie, así que anímense y comiencen a  investigar y a aprender más sobre programación y esas cosas. Les dejo un video acerca de creación de suelos en forma automatizada:


Saludos.

PYTHON SCRIPT | Habitaciones

Seguramente alguna vez han tenido que crear todas las habitaciones de un proyecto de un tamaño considerable. Realmente esa tarea puede volverse una pesadilla, ¿no creen? Afortunadamente existen herramientas como Dynamo que permiten automatizar tareas pesadillescas.


Les dejo un video sobre creación de habitaciones mediante Dynamo:


Saludos.