Showing posts with label Vasari. Show all posts
Showing posts with label Vasari. Show all posts

Thursday, November 28, 2013

UNL 2013 - Conceptual Design with Vasari

In parallel with the UNL Dynamo class, I taught an additional 3-session mini-course on Conceptual Design with Vasari.  The course focused on the creation of a parametric tower using massing tools, pattern-based curtain systems, adaptive components, and analysis tools.

Each student created their their own massing concept that included parameters for studying variations.  The students also learned how to model and schedule adaptive components and develop their masses.  Students also explored the analysis tools including solar and the wind tunnel.  Broadly, this short exercise attempted to position BIM as an enabler for design iteration and decision making rather than just a tool for production.

Here are some of the results of the class...!
Student:  Alireza Karbasioun
Student: Sarah Pankow
Student:  Kaveh Alagheband
Student: Elizabeth Goll

Sunday, November 17, 2013

UNL Fall 2013 - Computational Design with Dynamo

Building on the Fall CASE workshops...

This fall semester, I instructed a 3-session UNL mini-course focused on computational design techniques with Dynamo and Vasari.  The design prompt was to develop a 'stadium' form and enclosure through the experimentation with different Dynamo workflows.  

Each student devised their own Dynamo system which mixed conceptual form making, adaptive component design, and the parametric logic of Revit.  Throughout the course, students documented their geometric explorations and iterations through diagrams, screen captures, and renderings. 

Here are some of the results...!  Great work, class!
Student:  Kaveh Alagheband
Hasib Momand
Student:  Grayson Bailey
Student: Kurt Lawler
Student: Alireza Karbasioun
Student: Charles Weak

Sunday, November 10, 2013

LunchBox for Dynamo 2013.11.11

I have posted a new LunchBox package for download by Dynamo users.  The intent of the package is to provide a growing list of Dynamo nodes for commonly used computational design techniques and other helpful nodes for data management.  Some of these nodes replicate a key nodes found in Grasshopper that are not yet included in Dynamo's core.  You can find my LunchBox plug-in for Grasshopper here... 

You can access LunchBox for Dynamo by visiting the "Search for a Package" under the packages menu.  As of this release, the package includes the following nodes...  Please note that you may need to get one of the latest Daily Builds of Dynamo for these to work properly.

Domain
  • Domain Variables:  Gets the Min and Max variables from a domain.
  • Get Domain:  Gets the domain from a list of numbers.
  • Remap Numbers:  Takes a list of numbers and maps them to a new domain.
Math
  • Mass Addition:  Adds a list of numbers
  • Mass Multiplication:  Multiplies a list of numbers
Curtain Panel
  • Curtain Panel Collector:  Gets a list of Curtain Panel instances in the document by Family Name
  • Adaptive Component Collector:  Gets a list of Adaptive Components in the document by Family Name
Random
  • Random Numbers:  Produces a list of Random Numbers using a Domain, Amount, and Seed.
  • Random Split List:  Randomly split a list into two lists.
Panel Grids by Face (previously found in the XYZ Cells by Face package)
  • Quad Grid by Face
  • Staggered Grid by Face
  • Diamond Grid by Face
  • Triangle Grid by Face

Sunday, October 27, 2013

Autumn Workshop Recap - Dynamo


It has been an excessively busy autumn season for workshops.  In September, we rolled out a series of workshop curricula for Rhino, Grasshopper, and DIVA.  This October has been a non-stop Dynamo frenzy.  I have had the pleasure of delivering Dynamo workshops to groups at firms including NBBJ, RDGAECOM, and Adrian Smith + Gordon Gill.  Finally, I capped off the month with a day long Dynamo workshop at Facades+ in Chicago!

Whew!

So what were those Dynamo workshops all about?  I have had several blog posts in recent months about Dynamo and its potential to be a valuable and much needed addition to the Revit workflow.  Dynamo is still in the fledgling stages of maturity and is certainly far form reaching 'Grasshopper-status' in terms of being a pervasive tool.  But surely that wouldn't stop readers of this blog from trying it out...Right?  It sure hasn't stopped some of the world's top architecture and design firms from trying their hand at it...



Dynamo Workshops

The Dynamo workshops start with the basics and then build towards an architectural application.  The fact that Dynamo sits on top of the Revit application already adds several layers of complexity to the overall workflow that users need to be aware of.  For one, Dynamo can be used in conjunction with Revit projects... or Revit families.  We can also mix and match standard Revit modeling techniques with Dynamo in ways that you cannot do with a look like Grasshopper which is more linear in its relationship to its core platform.

Geometry

The workshops then proceed into the geometric development of Revit elements inside of the massing environment.  During this phase, I walk participants through the opportunities for using Dynamo to develop geometric data and create conceptual forms.
Stadium exterior spline geometry definition.
Conceptual tower form definition.
Components

Following the creation of geometry, the workshops then look at how Dynamo can be used to create and control Family elements such as adaptive components.  As part of this phase, the participants are also guided through basic Adaptive Component creation techniques.  We also made use of my custom XYZ Cells nodes available through the package manager.
Adaptive component panels.
Adaptive component pipes.
More panel craziness...
Parameters

After using Dynamo to create and place Revit elements, we then explored the use of Dynamo to manipulate Family instance parameters.  Given a paneling system, we created a simple point attractor relationship which was used to change an instance parameter for opening size.
Adaptive component panels with a variable instance parameter.
More adaptive and instance parametric goodness.
Workflows

Finally, the workshops addressed several opportunities for using Dynamo in the context of larger project workflows.  Dynamo has a set of Excel components which can read and write information using Excel worksheets.  The workshops used the excel nodes to parse pre-existing information and use the data to re-create complex structures originally derived in other programs, such as Grasshopper.
Space truss reconstructed using Excel data.

Sunday, September 15, 2013

Porting Panels for Dynamo

Dynamo has introduced a pretty cool way to share custom nodes and graphs.  To give this a try, I ported a few scripts from my Lunchbox plug-in to Dynamo custom nodes.  Users can search and install these scripts by looking for the XYZ Cells by Face package...

Contents
  • XYZ Quad Grid  by Face
  • XYZ Triangle Grid by Face
  • XYZ Diamond Grid by Face
  • XYZ Staggered Grid by Face

Custom user nodes can be installed through Dynamo's package manager.
The new Dynamo package manager... nice concept for distributing custom nodes!

The XYZ Cell nodes utilize some custom Python scripts.  Feel free to re-use and modify :)
A few different patterns made up of Adaptive Component panels

Monday, August 19, 2013

Parametric BIM: Facade Design Using Dynamo for Autodesk Revit


The Summer is quickly closing out and the Fall season will soon be upon us!  (...and then winter is coming...)

Join me in Chicago on October 24+25 for another Facades+.  You might remember that Michael McCune and I ran a Facades+ workshop this past Spring on the subject of interoperability.  This time out, I will cover Facade Design using Dynamo for Autodesk Revit and Vasari!

About the Workshop...

Dynamo is an open source graphical programming language for Autodesk Revit and Vasari. Dynamo can be used to customize a wide variety of computational design processes within Revit’s Building Information Modeling environment. This workshop will explore how Dynamo can be used as a took for studying parametric facades. Participants will learn how to use Dynamo for generating facade geometry, deploying Revit families, utlizing analysis information, and managing complex parameters.

Prerequisites

  • Basic knowledge of modeling in Revit and/or Vasari 

Required Software

  • Revit 2014 and/or Vasari Beta 3 
  • Dynamo

Sunday, July 28, 2013

Autodesk Edu Videos: Computational Design with Dynamo


A lot has happened with Dynamo since my last post about this new tool.  New nodes have been introduced, the program has grown much more stable, and the UI is looking slicker than ever.

CASE has been working with Autodesk's Dynamo development team and the Autodesk Education group to put together a short video series to introduce users to some key concepts for using Dynamo and Vasari for computational design.  With narration by yours truly, the 10 videos provide a step-by-step primer for computational design with BIM.  As Zach Kron put it, even your mom could get through these :)


The videos include a step-by-step 'classic' attractor point example.
The videos introduce some concepts for manipulating surface parameters.
The videos describe interactions with Revit/Vasari elements and parameters.

Friday, December 7, 2012

UNL Arch 223: Assignment 03


This is the the final of three assignments for the Fall Arch 223 undergraduate course at UNL...

This assignment transitioned the class from freeform modeling in Rhino (Assignments 01 and 02) to parametric modeling and BIM with Revit. The philosophy of the assignment was to introduce students to Revit with a selection of specific techniques and a focused design-based exploration.  The assignment itself was inspired by some of the student work found at Mark Green's ReThinking BIM Blog...

Revit is, of course, a massive program and I wanted to ensure that there was a design focus for a software that is typically associated with production and documentation. The design exercise was to design a  'bridge' by first developing parametric features such as adaptive components and pattern-based curtain systems.

They then had to document the design by developing a sheet set that fully leveraged the information they embedded into their components and families.  The final deliverable was a single DWF file containing drawings, diagrams, renderings, schedules, and a navigable 3D model.

 Great work students! 

 ... and, once again, fantastic lab instruction by the course TAs Matt Neaderhiser and Dan Williamson!

Student:  Charles Weak
Student:  Greg Preston
Student:  Sarah Schlegelmilch
Student:  Jati Zunaibi

Tuesday, November 20, 2012

Autodesk University 2012, See you next week!

Next week is the Autodesk University 2012 convention in Las Vegas, NV.  CASE will be out in force, so be sure to track us down.  Topics of conversation can and should include design technology, computation, Battlestar Galactica, Game of Thrones....  oh yeah... and figuring out how we can do business with you!

Track CASE down at the convention... or by checking out the #casetweetup event

ALSO...If you haven't already, be sure to sign up for the class...

Coding Autodesk Vasari: Scripting for Conceptual Design 

I am teaming with Matt Jezyk and Zach Kron for this session on Wednesday morning 8:00AM-9:30AM (man, that's early)

We'll be showing off all sorts of computational goodies in our hands-on lab...




Friday, October 19, 2012

Import OpenNURBS for Vasari is here!

CASE is excited to announce the Beta release of Import OpenNURBS for Autodesk’s Vasari Conceptual Modeling Software.  The Beta is available for a limited time through the CASE Apps Add-in manager found at the CASE Apps website.

The Import OpenNURBS add-in facilitates early-stage interoperability by allowing designers to import conceptual geometry from Rhino into Autodesk Vasari.  Unlike importing and linking with other file formats, Import OpenNURBS will translate geometries as native Vasari elements to give designers the flexibility to further develop their designs using Vasari’s modeling and analysis features.

The Vasari Add-in reads the OpenNURBS file format (Rhino 4.0 3DM) and uses custom algorithms to reconstruct geometry using Vasari API methods.  Currently, the Add-in supports a broad range of OpenNURBS geometry.  At this stage, some geometry support has yet to be implemented but we are committed to expanding the functionality as new capabilities become available for OpenNURBS and the Vasari API.

We hope you enjoy testing the new Import OpenNURBS Beta for Autodesk Vasari... and we hope you can provide us with valuable feedback about the tool!

Try it.... test it... break it!  Then let us know what you think :)

Wednesday, August 15, 2012

ACADIA Workshop: Python Scripting for Revit and Vasari


This October, I will be instructing an ACADIA workshop:  Python Scripting for Revit and Vasari.  The workshop will cover the basics of using Python with an emphasis on the Conceptual Modeling capabilities of Revit and Vasari.  We will also investigate opportunities for extracting information from models and enabling workflows with other data sources.

Be sure to sign up at the ACADIA website and check out the other workshop offerings along with the conference info!



Wednesday, July 18, 2012

Now on YouTube! Vasari Talk 13: Scripting with Python

For those that missed my Vasari Talk about scripting with Python, you can now view the video on YouTube!

PART 1


PART 2

PART 3

Saturday, April 21, 2012

Revit API: Adaptive Components

Below are some tests for automating the creation of Revit's Adaptive Components using the API and Python.  

The placement of the Adaptive Components is driven from a Klein surface and quad grid created in Grasshopper using my LunchBox plug-in.  This workflow allows the user to create and manipulate a lightweight model in the Grasshopper environment and then automate the creation  of the design within the Revit/Vasari environment using native parametric elements.

For information on placing Adaptive Components with the API and Python....



Saturday, March 24, 2012

Revit API Notebook: Randomization Examples

Tired of making the 'same old' formula-driven shapes?  Why not sprinkle a dash of randomization into your BIM casserole.

This RevitPythonShell section looks at using .NET's Random class as a means of creating irregular geometry and adjusting family parameters.  The examples intentionally use modified code from previous basic examples so you can track the logic.




Tuesday, March 20, 2012

My Revit API Notebook!


This wiki page is my personal (re: public) diary for exploring the Revit API. This page is as much a resource for me as I hope it will be for others.

 Developing custom tools for Revit using the API can be a complicated endeavor. The program is quite complex and the development process is not nearly as straightforward as developing tools for more 'free geometry' modelers such as Rhino. Please see Jeremy Tammik's article titled BIM versus Free Geometry and Product Training for a more detailed explanation of the 'barriers to entry' in Revit API development.

This notebook attempts to remedy a few 'resource deficiencies' in learning and applying the Revit API in a design workflow…
  •  Design-Related Techniques: Most API examples I have found on the web are related to model management. For designers interested in computation and automation, finding good design-related examples can be a frustrating experience. The examples here show how the Revit API can be used as a design tool specifically within family creation environments such as the conceptual mass. 
  • Vasari Implementation: Vasari is essentially a stripped down version of Revit with additional conceptual design and analysis capabilities (and it's free!). Vasari also features a version of the Revit API. The examples here will focus on Varsari's capabilities but most will be applicable in the full versions of Revit. 
  • RevitPythonShell-Based Examples: Not many examples exist for using the RevitPythonShell Add-In. The tool provides many iterative scripting capabilities similar to those found in other popular modeling tools such as Rhino. This makes the Revit API much more accessible to designers and those in need of some quick automation!
My hope is that this will save designers time in being productive with the Revit API and perhaps contribute to the creation of a more serious 'scripting culture' around Revit and BIM tools in general….

Current examples include basic geometry creation techniques and family parameter manipuation.  I will progressively post more interesting examples in the coming weeks and months. Keep checking back!!!

This is still work in progress and I am learning new things every day. I am positive a few of you could teach me a thing or two… If you have any comments or suggestions please let me know! nmiller.arch@gmail.com 

Enjoy!

-Nathan Miller