Free 3D Software for Civil Engineers

If you regularly read this blog, you already know we strongly believe 3D visualizations and environments will play a big role in the future of civil engineering. Over the last several years we've seen an increasing use of 3D products to help people better plan and build large-scale developments and structures. Last year, FHWA incorporated 3D into their Every Day Counts initiative, and recently President Obama announced the launch of two new digital manufacturing hubs. It's interesting to note the President's weekly address this week covered those launches along with a push for innovative infrastructure – one day, in our industry, both topics will most likely be closely aligned. But like any change or new innovation, there are naysayers and those who resist the transition, and there is little we can do to change their mind. Like the old draftsman clinging to his ink pen and Leroy set, they will be left behind. Instead of worrying about convincing them, we wanted to reach out to all of you who are looking forward to the future yet might not know where to start or to those of you who might be wondering how to pick up some 3D skills without having to spend a lot of money. Below we've listed several programs available for free or at a low cost. They are grouped by complexity of the software.

Introduction to 3D

Autodesk 123D – an Autodesk suite of free 3D software:

While Autodesk's flagship products like AutoCAD and 3ds Max might have a price tag out of reach for most of us, the company fortunately offers several free products you can use to build your 3D skills. You can even use most of these programs to create a 3D print of your creation! Here's a list of each program you can try out:

123D Catch – a computer, web-based, or mobile-based program allowing you to transform a photo into a 3D object

123D Design – a computer, web-based, or mobile-based program allowing you to create 3D designs

123D Creature – a mobile-based app allowing you to easily create a 3D creature

123D Sculpt – a mobile-based app allowing you to easily sculpt 3D models

123D Meshmixer – a computer-based program allowing you to develop 3D models

Tinkercad – a web-based program allowing you to create 3D models (this is free for personal use at this time, but may in the future transition to a low-cost subscription based program).

 

SketchUp – SketchUp Make is the free version of the popular 3D modeling program now owned by Trimble.  

Sketchup Interface

 

3D Tin – this free, web-based program allows you to easily create 3D models. You can save and export them and even send them to a 3D printing site. The key thing to keep in mind before using this site is that it requires a specific type of browser. I was able to use the most recent version of Firefox to access it. Below is the screenshot of a few 3D letters I easily created with the object-based tools. 

 

3D Tin Interface

 

MakeHuman – this is a free, computer-based program that allows you to create human 3D models. 

tree[d] – this is a free, computer-based program that allows you to easily create 3D models of trees. Below is a screenshot of the interface.

tree[d] interface

 

Intermediate Level 3D

The following programs will most likely require a little more effort to learn than those in the introductory category. Fortunately you can usually find your way around the software by making use of the tutorials and community forums available for each program:

Seamless 3D – this is a free, computer-based program that allows you to create 3D models. Below is a screenshot of the interface.

Seamless3D Screenshot

 

Sculptris – a free computer-based program allowing you to create 3D organic looking models

 

AC3D – a low-cost, computer-based program that allows you to create 3D models. At this time, the cost for one license is $89.95. Below is a screenshot of the interface.

AC3D Interface

 

Wings3D – this is a free, computer-based program that allows you to create 3D models. Below is a screenshot of the interface showing a model I uploaded of a creature I made using the 123D Creature software on my iPad.

Rendering in Wings3D of a creature model

RaySupreme 3D – this is a low-cost, computer-based program that allows you to create 3D models. At this time, the cost of the software is $39.99. Below is a screenshot of the interface showing a rounded cube.

Ray Supreme 3D Interface

 

Clara.io – Thanks to Mimetic Core for bringing this site to my attention after I posted this article. The site is in beta, but is very functional and easy to use. I am listing it as intermediate since it appears to offer more advanced 3D features than those included in the Introductory section. This is a free, browser-based program that allows you to create 3D models after you register on the site. There are also several pre-made models available for you to load and edit to get used to the software. You can see the ladybug model in the screenshot below.  

Clara.io Interface

Second Life / OpenSim – I'm including these free, computer-based programs even though many in the industry would not probably think of these as 3D modeling packages. This is probably because while both programs have always allowed people to create 3D models, until last year, whatever people created could not be exported for use in other programs. Fortunately within the last several months, a third-party developed the ability to export models created in these environments. So now, people can use the building tools in Second Life or Open Sim environments to easily create a 3D model and then export it. And even though the building of the model is relatively easy, I put the program in the intermediate category because the interface is much different than any of the other programs listed here and might take some time to get used to. This is because instead of just installing a software package and using the commands like a regular program, people build in Second Life/Open Sim by entering the software through an avatar or digital representation of themselves. I included a screenshot of the interface below showing my avatar building a basic cube in Second Life.

 

Second Life 3D Modeling Interface

 

Advanced Level 3D Modeling

The programs below are more involved than those listed above. Usually they have more advanced features and the interface is more complicated to navigate. While it will take some time to learn these programs, there are many tutorials and resources available online to help teach you what you need to know to use them.

Blender – this is a free, computer-based program that allows you to create 3D models. Blender is a very advanced tool with complex features including the ability to animate objects and create scenes, video games, and movies. Because of this, it does take some time to learn this program. Fortunately there are many resources and tutorials available.

Blender Interface

 

DAZ 3D Suite of Products

In addition to their higher cost 3D program, Carrara (which is still fairly low-cost at $149.95 and $285.00 for the pro version), DAZ 3D offers several free and low-cost programs. Occasionally they have also allowed a free download of their products for limited times throughout the year. While you might have to devote more time to learning how to use these programs, there are many sites out there offering videos and tutorials to help you learn. 

Hexagon – this free, computer-based program allows you to create 3D models. Below is a screenshot of the interface showing a basic 3D object.

 

 

Hexagon Interface

DAZ Studio – this is a free, computer-based program that allows you to create 3D models, scenes, and artwork along with animations and poses. While I've posted this in the advanced section so it could be grouped with the other Daz products, DAZ Studio is actually very easy to use. Below is a screenshot of the interface. My main use of it at this time is to create poses for 3D models of people.

 

 

DAZ Studio Interface

Bryce – this is a low-cost (at the time of the post it was selling for $19.95) computer-based program that allows you to create 3D environments

 

Unity3D – this is a free, computer-based program that can be used to create 3D models. However, most people seem to be using this program to develop 3D environments into which they place 3D models made in other programs. Unity3D is a full-featured, advanced software package that takes some time to learn. Like the other programs listed in this post, there are many sites available online where you can find tutorials and other educational resources to help teach you how to use it. There is also a higher cost pro version of the program available, but most people can get by using the free version – particularly if you are just trying to become familiar with 3D modeling. Below is a screenshot of the interface of the free version showing a scene I created by following a tutorial.

Unity3D Interface

 

(Post updated March 2, 2014 to add Clara.io site)

Share

Are Gaming Engines the New CAD?

 

Rendering Behind the Scenes in Second Life

Over the past few years, I've spent considerable time online exploring many different virtual worlds or 3D immersive spaces. Some of these like World of Warcraft are designed to only offer a gaming experience while others like Second Life look like a game, but do not offer gaming as a primary function. My main reason for first visiting these environments was to explore their potential for supporting my work as a civil engineer. Even my decision to try out World of Warcraft was based on this – I only joined and started playing so I could attend a science conference held there in Spring of 2008. Of course, in my journey into 3D, I found there was so much more than what I could have imagined. While my focus had been on the use of these spaces to create or learn, I eventually realized these are actual places where people hang out and spend time with each other. Through the years, I've come to enjoy and appreciate the "metaverse" as a place to meet incredible people, attend classes or other events, or just spend some time having fun. But I've also continued to explore the possibility of using these spaces for my work. And even though I don't yet have any conclusions, I wanted to post some thoughts on how the technology is evolving to better fit into the delivery of AEC services. 

Background

After my first few visits to Second Life, I began learning to build and create 3D content using their software. Coming from a primarily 2D CAD background with only some experience in 3D, I didn't at first pick up on the 3D modeling foundation built into the Second Life tools. However, for building and creating in Second Life, this really wasn't a problem – the creators of the software made the tool so user-friendly that you really didn't need to know anything at all about 3D modeling or CAD to create something. But one frustrating issue for people who do use CAD was the inability to easily import into Second Life something that was drawn in a CAD program. We also could not export something we built in Second Life to CAD. And this seemed to be the main reason most people I showed Second Life to didn't think it would be useful in our work. 

Although Second Life still does not allow import/export of CAD drawings, the software was eventually changed to allow the use of 3D models. This development of alternative methods for creating objects in Second Life led me to work more diligently on developing my 3D modeling skills. As I started using programs like Blender, I was better able to see the similarities between the foundation of building in Second Life and 3D modeling. And my building experience in Second Life helped me to better understand and pick up 3D modeling skills.

Current State

Over the last few years, software has been developed by other companies to allow people to create virtual spaces. Most are not exactly like Second Life, but they are similar. Many offer the ability to import 3D models, but most don't offer the same flexibility found in Second Life to easily create objects entirely within the software. The only other software I have found with the same ease of use for building objects entirely within the software is Open Simulator (OpenSim) – a spin-off of Second Life. Other programs, like Unity3D, rely heavily on the import of 3D models. Based on my use of these programs, I've listed below a few of my observations in using these packages to create a representation of an AEC project:

  • Many AEC projects require the ground to be shown. If a contour file for the project is available, this information can be used by changing it into the proper format. The user can then apply these contours to the ground in both Second Life/OpenSim and Unity3D.  (You can learn the most about doing this in Second Life/OpenSim by visiting Darb Dabney's blog: http://blog.3dg.is/.) In Second Life/OpenSim there is also an option to create ground from an object rather than the default ground or terrain.
  • Landscaping is also an important part of most AEC projects. In Second Life/OpenSim landscaping is created the same way everything other than the ground is created – by using objects. In Unity3D, generating landscaping is very easy because there are specific tools for creating trees and plants.
  • Design components present more of a challenge than the ground and landscaping. While tools like Second Life/OpenSim and Unity3D allow for the import of 3D models, neither work seamlessly with standard AEC CAD tools. So to create a road project, I could make a 3D model of it in a modeling program and import it. But I have not yet found a way to make sure the import retains the proper dimensions – in Second Life and in Unity3D, I've had to mess with the scale and then worry if the object is the correct size. I could try to work within the programs and create objects directly in the environment. This works well in Second Life/OpenSim but only for linear alignments – horizontal and vertical. And if I create only within the software, I am limited to the use of basic shapes. More complex shapes can only be accurately created using a 3D modeling program and imported in.
  • And this brings me to the issue of texturing or applying the "pictures" or graphics to the objects. Texturing an object finalizes its appearance and helps make objects appear more real so it is very important. In Second Life/OpenSim each object created has a plywood texture or look as a default. In Unity3D, the object is white by default. What I've found is there's a lot of flexibility in texturing objects within Second Life/OpenSim, but not so much in Unity3D. For example, if I wanted to create a cube with six different textures on each face, this is easily done in Second Life/OpenSim by creating a basic cube object, clicking each face, and choosing the corresponding image to apply. But to do this in Unity3D, I have to create additional objects on which to apply the texture then attach each object to the corresponding face of my cube. Another method of doing this in Unity3D is to create an image file that when applied to the 3D object will wrap the correct texture around the object so that the proper image ends up on each face. While the wrapped image sounds fairly easy, the problem is that each time I want to change the image on one face, I have to create a new image to wrap around the cube. Unity3D is applying one image to the cube as a standard 3D modeling program would while Second Life/OpenSim offers the ability to apply different images to different parts of a model.
  • If you want others to visit your virtual project site, it's probably easiest to do so using Unity3D because it's easily accessed through a browser. Second Life/OpenSim require the download and installation of a viewer software program and registration to allow the user to log in. Both formats allow for both single user access and multiple user access. (Unity3D can be accessed by multiple users through an application like Jibe.)
  • Both programs allow for the ability to program objects, but the programming language and interface within Unity3D is more common and flexible.
  • Neither program seems to have an easy export out to CAD. 

So based on the above points, a designer would choose between Second Life/OpenSim and Unity3D based on the project needs. If the final product would need to retain the flexibility to be changed, it's best to probably stick with something like Second Life/OpenSim. But if once completed, the project will probably not be changed, it's best to keep it in Unity3D. Fortunately at least two companies (Arch Virtual/Tipodean Technologies and Rezzable) are offering methods to either convert a project built in OpenSim to Unity3D or the ability to view a project built in OpenSim through a Unity3D viewer. So if a user wanted the flexibility of creation offered by OpenSim but the ease of access of Unity3D and didn't anitipate needing to change much after it was completed, they could build the project in OpenSim and convert to Unity3D or view through a Unity3D "window." The need for programming flexibility might also play a part in the decision, particularly if someone wanted to model traffic through a project site.

The Future

One of the big complaints about Second Life is that they don't understand their users. I sometimes wonder if it's because they set out to create a type of modeling or CAD tool and ended up unintentionally creating a place. And because they still view themselves as a software company creating tools, they have a diffcult time understanding how to manage and deal with this other aspect of their creation including the fact that most users want to use it as a place. (On a side note, I also work for a city so understand well the community management side of this and have been fascinated to watch how the company handles the same exact issues we face every day in our cities.) I am also not sure they are planning on shifting focus away from this "software first" attitude. They have made acquisitions and statements that lead me to believe they are further developing features and tools that could possibly enhance their existing offering. And because right now their creation tools offer the most flexibility, I am hoping they are moving in this direction even though I do also wish they would embrace the social side of their creation.

As for Unity3D, I think we will see the users develop the path through which this software can be implemented for AEC users. Perhaps with plug-ins and other developments with 3D modeling, this software might one day be better suited for renderings of AEC projects. Right now, one of the best examples of this type of use has been created by Jon Brouchoud working with his wife, Kandy, and Chris Collins. They have created a virtual representation of the downtown area of Dubuque, Iowa. Their project is also promoted on Kickstarter where people can donate to development of additional features. You can learn more about this project by clicking the widget below:

Most of you working in the AEC industry might wonder where our traditional CAD companies are in all of this. Unfortunately, the real innovation in 3D visualizations for the average user is not coming from Autodesk or Bentley. While Autodesk has amazing products that cover many of the aspects of the discussion above, they have not created a seamless path between them. And their programs seem to have a much steeper learning curve than those discussed above – not one person I have talked to who uses Civil3D has said it was a quick or easy program to learn. And there's just not been a strong showing by Bentley in the 3D arena.

The other side of all this is the cost. Anyone can use the Second Life/OpenSim/Unity3D tools for free while CAD programs from Autodesk and Bentley cost way too much for the average person to purchase and maintain a subscription. Perhaps if Autodesk one day better integrates all their tools, designs the tools with an easier user interface or improves the learning curve, and the price becomes more reasonable for the average user, they would most likely have an edge – particularly because many firms already have their CAD software. But based on the movement by these other companies, I wonder if one day in the future we'll be developing plans primarily using 3D modeling tools like Blender/Hexagon/ZBrush and gaming engines or tools like Unity3D and Second Life/OpenSim.

 

 

 

 

Share