As COVID-19 continues to impact everyone, Microsol Resources is committed to helping our customers and communities. Need up-skilling and training? Need help to keep your team working together and collaborating?   LEARN MORE >



Back to Blog Posts

Construction Industry Outlook

2020 was an unforgettable year in many ways and one that may have permanently changed the world. 2020 and the early part of 2021 saw a downturn in construction starts. But as we’re reaching the mid-year point, things are starting to look up.

The architecture, engineering, and construction (AEC) industry were able to respond faster than other industries due to strong order books and demand from the residential segment.

2020 likely also helped AEC companies to reset and prepare sooner and more effectively for work, workforce, and workplace changes. The year ahead is only expected to accelerate these changes.

Connected construction presents a host of efficiency- and productivity-enhancing technologies that can enable new business models and strategies.

There may be another disruptive event around the corner that could catch the world off guard. But AEC firms that embrace digital, form strategic alliances, and prepare for the future of work are most likely to be better prepared for whatever comes next.


Dodge Data & Analytics’ Steven Jones shares the mid-year outlook program. Steven is a globally recognized expert in how emerging economic, practice, and technology trends are shaping the future of the design and construction industry. He speaks at conferences globally, authors the SmartMarket Report series on key industry trends, and hosts the ENR FutureTech events.

Steve outlines the national and regional starts forecast for 2021 and 2022, respectively, across our residential, nonresidential building, and nonbuilding sectors. The highlights will include those factors impacting the economic upturn now that the economy is starting to improve.

Watch this video and gain an understanding of the current market situation and a macroeconomic overview.



Steve does a deeper dive into what Dodge Data & Analytics think is going to be happening with the infrastructure bill. He shares some of what they’re learning in their quarterly surveys about the business health construction companies’ both commercial and civil projects.  Steven also looked at some high-frequency planning data to help the industry continue on its path to recovery.


Dodge Construction Outlook - US Total Construction Starts


Residential Construction

The pandemic has pushed many city dwellers to the suburbs as they look to avoid health concerns surrounding urban mass transit and public crowding. Near-record, low mortgage rates are expected to promote continued residential construction growth. Steve expects single-family home construction starts will rise as much as 7% in 2021; however, multi-family homes “will pay the price for single family’s gain,” with the dollar value of multi-family starts anticipated to fall by 1% this year.


Commercial Building

After dropping 23% in 2020, Steve forecasts a 5% dollar value increase in commercial starts in 2021. Steve also reports that “[w]arehouse construction will be the clear winner as e-commerce giants continue to build out their logistics infrastructure.”

Anirban Basu, the chief economist for Associated Builders and Contractors, reports that COVID-19 accelerated these preexisting commercial construction trends. Basu explains, “Among the most obvious trends in e-commerce, a trend that was gaining market share even before the global health crisis began. An ongoing proliferation of fulfillment and data centers will serve this ongoing boom. However, this could translate to tougher times ahead for retailers and shopping centers . . . .” Development site consultant Tom Stringer expects suburban commercial construction to grow as companies look to move offices away from densely populated areas and build new manufacturing and distribution centers to help alleviate pandemic supply chain issues.


Public Works

Steve expects public construction to remain relatively flat but stable during 2021. According to Basu, “Countervailing forces are at work in public construction. On one hand, weakened state and local government finances suggest weaker public works spending going forward. On the other hand, . . . federal spending on infrastructure could increase as part of a post-inauguration stimulus package. Republicans and Democrats do not agree on much, but leaders from both parties agree that America spends too little on infrastructure.” While the federal government recently extended the FAST Act (for Fixing America’s Surface Transportation), any growth in the public sector likely will depend on the further stimulus or infrastructure bills.


Utility Construction

With the growing push for renewables and other climate change initiatives, experts anticipate energy construction, especially large-scale solar and wind projects, will rise significantly. Steve forecasts a 35% gain for utilities and renewable energies construction in 2021.



The construction industry is showing signs of growth in 2021 and beyond, but such growth may be checked by uncertainty and COVID-19’s lingering effects on construction operations. Contractors will continue to face pandemic-related time and cost impacts from added safety measures (PPE, physical distancing, screening), workforce shortages, and supply chain disruptions, all of which can cause delays, accelerations, and production losses.


Construction Outlook - Screenshot Long Term Changes Due to COVID


Contractors can manage these risks and enhance profitability by taking affirmative steps to protect their rights and claims under their contracts. Proactive measures include asking for extensions of time, ensuring compliance with all contractual notice requirements, and carefully tracking all extra work and costs.

For a continuing construction industry forecast, visit Dodge Data & Analytics.


Read More

How to Access an Autodesk BIM 360 Site

Autodesk is currently in its 3rd Generation Cloud platform for BIM collaboration tools in the cloud, but the 1st and 2nd generation platforms are still active. This post will guide you to the correct site, depending on which platform is used in your project or organization.

For each platform, access is controlled via Named User Subscription Licensing, which is tied back to a user’s  Autodesk Account. An account consists of an Autodesk ID, email, and password. After a user has been assigned a license and is added as a member to a Project, they can access the necessary BIM Sites simply by logging in. When using Revit, cloud-worksharing can be accessed via the Collaborate tab. In the web browser, the URLs listed below will take you to the main page or the last Project that was accessed.

1st Generation

First came BIM 360 Teams, combined with Collaboration For Revit (C4R), allows team members to collaborate on a central cloud model from anywhere in the world.

Versions of Revit: 2015-2018

Additional Installation: Collaboration for Revit (C4R)

URL: teams.autodesk360.com

2nd Generation

Next came BIM 360, which added better collaboration and project management tools, in addition to cloud clash detection, reporting and analytics, and cost management. C4R was improved and repackaged as BIM 360 Design.

Versions of Revit: 2018.3 – 2022

Additional Installation: Autodesk Cloud Models for Revit

URL: docs.b360.autodesk.com

3rd Generation

With the 3rd Generation platform, the Autodesk Construction Cloud, there is a common data environment from pre-design, design, and construction, all the way to operations and facility management. This allows team members to collaborate and share data through the entire life-cycle of the building.

Versions of Revit: 2021 – 2022

URL: acc.autodesk.com

Questions? Customers of Microsol Resources can contact our Technical Support Department for help with access by emailing support@microsolresources.com. If you are interested in hearing more about the different features of BIM 360 Teams, BIM 360, or the Autodesk Construction Cloud, please reach out to info@microsolresources.com.

Read More

Revit Adaptive Components with Rhino+Grasshopper

Rhino is an amazing tool for modeling and rationalizing complex geometries. Revit is a great tool for storing and managing a BIM project. With the recent release of Rhino 7 (or Rhino 7 WIP), and the creation of the Revit add-on Rhino.Inside Revit, it is easier than ever before to create BIM assemblies from complex geometries that can be scheduled and sectioned properly.

Rhino.Inside.Revit – Adaptive Component Workflow

In this post, I will provide a step by step workflow for creating a space frame with complex geometry, using the tools available in Rhino 7, Grasshopper (GH), Rhino.Inside.Revit (RiR), and Revit.

The tools that will be used are the following

  • Rhino
    • Image Sampler (GH)
    • Kangaroo (GH Plugin)
    • Quad Remesh (GH, new in Rhino 7)
    • Ghpython (GH)
  • Inside.Revit
    • Adaptive Components
    • Get Element Parameters
    • Set Element Parameters
  • Revit
    • Adaptive Component Family

Getting Started

If you haven’t used Rhino.Inside.Revit before, it may be best to review the installation requirements and instructions. Once everything is installed and ready to go, the Guides and Samples should provide enough of a footing to begin working with Rhino.Inside.Revit. If this is also the first time using Grasshopper, then I recommend reviewing these Grasshopper Tutorials and checking out the many instructional videos on YouTube. The Masterclass on Data Trees by David Rutten is particularly helpful for understanding the data structure that Grasshopper uses.

Plan of Action

Before starting the process of creating a space frame, I am going to layout the general series of steps that will be taken to achieve this:

  1. Create a Revit model and a 4-point Adaptive Component Family
    1. Create a dimension instance parameter
    2. Create a material instance parameter
  2. Create / Generate a closed planar curve that represents the footprint of the space frame
  3. Subdivide the curve into 4-sided faces and modify the segments to create a 3D wireframe in the desired shape
  4. Extract the 4-points of each face
  5. Use Rhino.Inside.Revit to drive the 4-point Adaptive Component with the points from each subdivided face
  6. Change the dimension and material parameters of each Adaptive Component instance

This is a general outline for creating a space frame, and there is a lot of flexibility for design and customization. Finding an appropriate balance of automation and designer input will ultimately be determined by the designer, and the features of Rhino.Inside.Revit help to empower the designer by providing more means to produce.

Create Revit Model & Adaptive Component Family

The first steps will be to create a new Revit model and 4-point Adaptive Component:

For this example, I chose the Family Template ‘Curtain Panel Pattern based.rft’ which already has 4 adaptive points ready to go.

The first step in the Adaptive Component is to create a profile that will be extruded around the perimeter of the panel, creating the frame. If a frame were created from the profile shown below, it would create a 2”x6” frame.

However, in this example we want to have the ability to modify the thickness of the frame for each instance depending on position and orientation. For this exercise, select the 6” dimension and in the Contextual Modify Tab click the icon to Create Parameter:

Specify a Name and then make sure that it is a Family Instance Parameter. This will associate the parameter with this Family and allow for each instance to have a different value for the parameter. By default, the parameter will have the same value as the dimension before creating the parameter, but can be changed later in the settings. For this exercise, all instance parameters will be modified so the default value does not have as much consequence.

Now that the parameter has been created, the form for the frame can be generated by selecting the rectangular profile, and the reference lines that connect each Adaptive Point, the selecting Create Form.

Revit will intelligently extrude the profile along the reference lines.

Now, if the Panel_opening parameter is modified, the Family Instance will be changed accordingly. From here a 2D surface can be created by selecting the reference lines and pressing Create Form.

There will be two options available. When creating a proper Adaptive Component, the panel should be modeled as it will be build. For this exercise, however, we will choose simple modeling techniques. After selected Create Form above, two options will be presented:

  1. Create a surface and extrude upwards
  2. Create a 2D surface

Choose the 2D surface:

Once created, select the 2D surface and in the Properties panel, click the button all the way to the right for Material to Associate with Family Parameter.

In the dialog that pops-up, click the icon in the lower left corner to create a new parameter:

In the Parameter Properties dialog, choose Family, name the Parameter, and choose Instance again. Revit recognizes that this is a Material Parameter and specifies that accordingly.

After creating the Material Parameter, apply it to the 2D surface. This parameter will be driven later by the Grasshopper Script with Rhino.Inside.Revit components. Now that a simple Adaptive Component has been created, Insert into the Host RVT. Each instance of this Adaptive Component can now be driven by:

  1. XYZ of 4 adaptive points
  2. Panel Frame Thickness
  3. Material

Rhino.Inside.Revit Interface

In the Ribbon, navigate to Add-ins (or the tab that says Rhino.Inside) and click the Rhino icon that is labeled Start

Once the plugin is loaded, many of the buttons that were previously grayed-out will show as active and can be opened.

From Left to Right the buttons are:

Start– Within the panel under ‘More’ are buttons to information about the version of Rhino.Inside.Revit, Guides, Forums, Documentation and Blogs on the Revit API, as well as various options

Rhino– Opens Rhino 7 window

Open Viewport – Opens a minimalist window with a view into the Rhino Viewport

Toggle Preview – Toggle Rhino Model preview visibility

Python Editor – Opens a Python window for Rhino

Grasshopper – opens the GH window

Preview Geometry – OFF, Wireframe, or Shaded Rhino Preview Geometry

Solver – Turn solved ON or OFF for Grasshopper canvas (this controls whether the GH script is run automatically or not)

Recompute – Rerun the Active Grasshopper Script

Player – Run GH scripts without opening the GH window

Grasshopper Workflow

This example will create a space-frame, but to begin, I am going to load an image (The Microsol Resources Logo) into the image sampler in Grasshopper:

This can be added to Grasshopper by dragging and dropping it into the Grasshopper canvas. This automatically loads an image into the Image Sampler component, as shown above.  For this exercise, the image is a PNG has a transparent background. The image is 256×256 pixels, so by feeding in a 256×256 array of points into the Image Sampler, I can extract pixel information from the image.

The top (color) image is extracting the Red, Green, and Blue values of the pixels, and the lower (grayscale) image is extracting the brightness. These RGB values can be used to drive material parameters, such as the Tint color for the newly created Adaptive Component Material Parameter “Glass-mat”.

We’ll come back to this, but first, we need to start creating the geometry that will drive the Adaptive Components. Either with a simple script, or by tracing over the boundary of the three (3) distinct objects in the image, closed planar curves can be generated:

These curves can then be subdivided in a multitude of ways in Grasshopper. For this exercise, I am automatically subdividing each curve into Quads (a curve with 4 vertices) with the Quad Remesh Component:

This ensures that I can deconstruct each subdivision into four (4) vertices, which can later drive the Adaptive Components. If desired, I could use the vertices to drive the Adaptive Components right now on the subdivided planar surface, but before I do I want experiment with more Grasshopper components.

Kanagaroo provides tools for running physical simulations on Rhino objects. In this example, I want to keep all of the points that lie on the perimeter of the boundary curves anchored to the floor and apply a directional force to all of the remaining vertices and line segments. To do this, all vertices on the perimeter are determined and fed into the Anchor Kangaroo Component (Perimeter Anchor Points, below) which constraints those points in all XYZ directions:

The anchored points are identified as small green spheres in the image below:

In addition to anchoring the perimeter points, each of the line segments must have a way to respond and adapt to the forces being applied. To accomplish this a Spring Force is created from each line segment:

These Springs will generate a response to other forces being applied. Parameters such as Stiffness and Damping, may need to be adjusted so that the simulation converges to an equilibrium. If the forces are too extreme, then the resulting geometry could be crushed or stretched into a form that is undesirable.

Along with the Spring forces, a Unary Force is applied as a lifting force to every other vertex not on the perimeter. This is like creating a catenary curve from a gravitational force, but inverted, so the force is applied in the positive-Z direction.

It is important to keep in mind that all of the forces are dimensionless, but their magnitudes relative to each other will determine how the simulation plays out.

When all the forces have been created and fed into the Kangaroo Solver Component, the simulation can be run. At any time, or once the simulation has come to an equilibrium, the Trigger can be stopped and the resultant geometry can be reviewed:

Tweaking the Number Sliders for the forces will change the resulting Geometry. When it reaches a good state, the simulation can be stopped and we have a wireframe spaceframe, with all quads intact flowing out of the GeometryOut node on the Kangaroo Solver Component. The vertices of each quad can now be extracted and used to create new Adaptive Component instances. From GeometryOut, the quads are exploded into points, grouped into fours.

Rhino.Inside.Revit Workflow

Finally, the data is ready to pass to the Rhino.Inside.Revit (RiR) Components, which will serve as the anchor leg of this workflow. With the datatree of points fed into the RiR component Add Component (Adaptive), along with the Curtain Panel Family Type, default instances of each Adaptive Component will be created.

As you can see, each panel that was created has the same thickness throughout (6”). After creation, the parameters controlling thickness can be modified manually, or generatively.

Let’s assume we want the thickness to depend on the orientation of the panel. If more vertical, then the frame thickness will be smaller, and the glass panel will be larger; more closed if horizontal. The definition below takes in the points and determines a thickness, with maximum thickness determined by half of the smallest line segment in the panel. The output will drive the new value of the parameter Panel_thickness.

The RiR component Set Element Parameter requires three (3) inputs:

  1. Adaptive Component
  2. Parameter Key (Panel_thickness)
  3. Parameter Value

Connecting the calculated Panel_thickness parameters above, and the previously created instances of the Adaptive Component, the parameters can be modified with Set Element Parameter. Horizontal panels across the top of the middle structure are oriented more horizontally, and thus show nearly closed.

With the panel thickness adjustable down to each instance, it gives granular control over the output, which was specified in the Parameter when it was created within the Adaptive Component.

Now, if we rewind back to when we extracted the RGB values from the image, we can prepare the data to modify the Material Parameter Glass_panel.

By comparing the pixel color in the image to the location of the panel, RGB colors can be assigned to panels. These RGB values are then used to create names for Material Assets that will have distinct colors. In this case, there are a total of seven (7) distinct colors, so seven different Assets and Colors will be created. These are all Grasshopper Components.

Note: Technically there are seven distinct colors detected by the Image Sampler, but this could reasonably be reduced to three (3) without changing the appearance much. Sometime high precision is necessary, but similar to Significant Figures from Mathematics it may be prudent to rationalize or round values so that custom fabrication costs are reduced.

These names and colors are connected to RiR components Create Appearance Asset and Create Material. This creates seven new Materials and Appearance Assets, duplicated from the specified template material: Glass. The color is connected to the Color and Tint Color inputs for Create Appearance Asset.

In the component Modify Material Assets, the newly created Assets and Materials are fed in so that the default Assets for Glass are swapped out for the new Assets. There is a lot going on in the background to make this happen.

Finally, with Set Element Parameter and connecting the 1) Adaptive Components 2) Parameter Key (Glass_mat) and 3) New Material Assignments, the Materials will be applied to each instance parameter, all originally driven by the pixel color in the image.

These colors can be changed later with ease simply by swapping the original image that was driving Material RGB values.

Or apply a gradient of colors across all of the panels!


This workflow is meant to demonstrate how BIM objects can be generatively designed in Revit, with the wealth of tools available in Rhino and Grasshopper. Rhino’s Geometry engine enables the creation of complex geometries, such as Non-Uniform Rational B-splines (NURBS) that would be impossible or very time-consuming to replicate Revit, but easy with Rhino.Inside.Revit. Beyond the base functionality of Rhino+GH, Food4Rhino is a great resource for free and paid plugins for Rhino and Grasshopper, and what has been presented in this post is just the edge of what is possible. Image processing can allow for a hand-drawn sketch to drive the creation of BIM objects, and audio processing can allow sound and music to drive parameters. This tool has the potential to revolutionize how designers generate and engage with Building Information Models; find your inspiration and let it flow!

If you are interested in a 4-hour workshop on Rhino.Inside.Revit, please review our class outline. Contact training@microsolresources.com with any questions and to schedule a class.

Read More

Latest Tweets

MicrosolTweets @MicrosolTweets
Don't miss our August 12th webinar to get an introduction to @Bluebeam Revu Basics. Get a walk-through of #Bluebeam https://t.co/5aQl34525G
We are excited to announce that @Enscape3d has released its latest version, Enscape 3.1! Enscape 3.1 makes it even… https://t.co/HKtRMdbWfJ
#RhinoInsideRevit (RiR) 1.0 Release Candidate is now available!! Element Tracking is new. #Grasshopper RiR componen… https://t.co/mXLqRZnrmm
Load More...