Wednesday, August 28, 2013

Reality Power Captured with ReCap Photo

ReCap Photo is the new and improved online image based modeling tool from Autodesk. It used to be called Photofly and later transitioned it to 123D Catch (still in service) as part of 123D family. I have played with it on and off for the last two years.
The concept is simple, you use your digital camera and take a series of pictures around an object or a building, upload it to the ReCap Photo site, then the images will be stitched together via the cloud computing service; as a result, the images are converted it to a 3D object for you.

ReCap Photo home page

I was yet again playing with this technology last week. Since my office is in downtown, I am surrounded by many historical buildings in the area. So I thought to try it with some classical ornament to see what result I get this time.

I found a flagpole with an interesting wrought iron ornament base near my office.

Using nothing but my Samsung S3 phone camera and took a series of pictures; uploaded it to the ReCap Photo site, and waited (depending on the scale and complexity of the object) for about 20-30 minutes. It turned the images into a 3D model and it was ready to view it online.

Series of snapshots with my phone camera

Prior to this experiment, I did go through some trial and errors in the past and learned a better way to take the pictures that the program recommended. The result? Very impressive!

3D view of the flag pole base with high level of detail on the surface
3D mesh of flag pole base
View from the bottom of the 3D model

In order to use this "model" (the online viewer mode is nothing but a composite images stitched together) for further study, ReCap Photo made the conversion from the online format to multiple different (obj., ecm., fbx., ipm and rcs.) formats that can be downloaded via Autodesk 360. There is one file format that I am particularly interested, which is (rcs.) format. (rcs) is a type of indexed point cloud file format that is compatible with ReCap Pro. If you are familiar with ReCap Pro, which came out as a trial version few weeks ago. You can now import your rcs. file in there, clean it up and import it to Revit for reference.

rcs. file (very large file) can be downloaded via Autodesk 360

rcs. file after clean up in ReCap Pro

Inset point cloud file as rcs. format

Point cloud file of the flag pole base in Revit

Once I imported the point cloud to Revit, it seemed like there was a scaling issue with the file. I remembered there was a way to scale properly when it was in 123D catch. I hadn't found it in ReCap Pro yet, perhaps I was missing something. However, I did find a way to scale this point cloud file directly in Revit. Under the type properties of the imported point cloud object, there is a scale parameter you can change it to the appropriate scale.

Scale Factor under type properties (Another way to scale something natively in Revit!?)

I think this could be an awesome addition tool for the Revit users. I could see using this tool as an alternative and yet affordable way to capture the existing building/structure; and one could incorporate this data back to Revit for design as well as documentation. However, I don't think they can be imported into Revit family environment yet. (I wish it can). I have come across and read some online resource about a workaround using AutoCad as a media to bring the point cloud file into Revit family though.

My next step is to try to use this tool for more studies on other Architectural elements. So stay tuned for the future post!

Monday, August 26, 2013

Hacking System Parameter in Door Family - Followup

First of all, I have received an overwhelming numbers of comments and feedback from my last post; and I wanted to thank all of you who took the time to read my blog. As a first time blogger, it is amazing to see there are so many people out there who have dealt with situation like this and always looking for solution. It takes one to share a simple idea and the result could be unpredictable.

As to follow up with some comments I received today, there is something I quite left out to mention using this "Hack". When changing from door category to generic (or other category) for the first time, if there is any existing element (e.g. Door frame, mullion, panel or glass) assigned to its sub-category, the assignment will be wiped out during the process once it is switched to generic model.

Once this is set to Generic Models...

 A simple fix is to re-assign the specific elements back to the sub-category that they belong. That will do it!

My 2 cents here is to have this trick applied early to the door family setting before you start creating parameters or geometries in the family. I did this exact switch and use it as a door template when we re-built all our door families for the office.

Thanks to Sherry Pittman and Darrell Smith who are nice enough to email me this oversight. I would also like to thank Craig Uptmor here as he was the person who suggested the trick of switching family category.

Saturday, August 24, 2013

Hacking System Parameters in Door Family

All the component families in Revit have built-in (hard-coded) parameters for each category; most of them are for scheduling purpose or data storage. By default, they are listed as "Type Parameters" and there is no way you can change how they are within the family. Under the family type, all the predefined parameters are listed there. If you try to click "modify", you will learn that they are greyed out. As for door family, one of the built-in parameter that allows user for schedule is "Fire Rating". This particular parameter, which is just a "text" parameter let you identify if the door is rated. However, this will always be a "type" parameter in Revit.
Here's come the problem. If I need a door to be rated, I have to make a new type for this door (say a hollow metal door) as a rated door that is different from a non-rated door. As a result, you could end up with many more duplicates for the same type of doors.

For many users, they would create their own "Fire Rating" parameter as an instance base shared parameter (if needed for tagging) or just a project parameter and use it for schedule. I often find this annoying since the available fields from the door schedule will now have 2 parameters both call "Fire Rating". I have seen people somehow get confused and not knowing which one to use.

My office was undergoing a process of re-building all the door families for our office library. I was discussing this same issue with some of my peers about what's the best way to handle this. As it turns out, there is a much easy and elegant way to get around this without using user-created parameters for fire rating.

Hard-coded "Fire Rating" parameter that is locked/greyed out
What I had to do was to open a door family --> Family Types, first to input a value (I put 90 MIN or it can be any text) under "Fire Rating".

Next is to go to Family Category --> change your door from doors category to other category. In my case, I just chose the Generic Models category.

Since Generic Models do not have built-in parameter for "Fire Rating", Revit will now treat this parameter as a user-defined parameter; therefore, you can now go in and modify it!

Just go to modify and switch from "Type" to "Instance". Voila! You now have this as an instance parameter!!!

However, don't forget to go back to Family Category and switch it back from generic models to doors.

Put this modified door back into the project and now you can assign "Fire Rating" as an instance parameter under properties.

This trick should also work on other hard-coded parameters in other families. The key to understand this is to switch the original family to something that does not have its specific parameter built-in. Hope this will be a helpful tip and I think the factory should somehow re-think how the users want to utilize family parameter in projects.

Friday, August 16, 2013

Curtain Wall and Engraving - Part 2

Continue on the study from my earlier post, I wanted to see the possibility of using this trick on other curtain wall panels. My good friend Kelvin Tam from Revit Swat also used this trick to create a goodbye wall from his farewell post to his firm.
At my office, we use many different architectural corrugated panels as design elements in our design. Modeling in Revit seems to be a bit of challenge. Since the panel can be as thick as 4" sometimes 6" at one point, using basic wall to represent the idea sometimes just doesn't cut it. Therefore, I came up with the idea using curtain wall to model as corrugated panel, which looks something like this:

Corrugated panel modeled as curtain wall

So, the idea of using a solid cutting out the curtain panel has become another layer of challenge. Inspired by Kelvin's post, I wanted to try for myself to use other languages in the model text and use them for cutting. From his tips, using Google Translate is probably the easiest way to get all the text I need to test it. In my case, I use the word "Welcome" from different languages.

All I need to do is copy and paste from Google translate to the instance parameter from my family...

Google translate offers over 70 different languages, I was very impressed by how easy it is to convert one language to another; Revit seems to take it pretty well and display it as model text.
However, once I used the model text on the corrugated panel, I started to see some unstable behavior. Since the corrugated panel is made up with nothing but curtain mullion, in order to let the solid to cut out the "panel", I had to make multiple cuts on the panel. In some case, I was able to make a clean cut to the entire panel, like this:

Other times, it is not as I expected, I get warnings like this for a few times on some words/characters:

It left me with some unlikeable result:

This also happened to the word "welcome" in Russian:

In conclusion, I think using a combination of this trick with Google translate worked out pretty well to my satisfaction. At the end, I was able to get different languages on a plain curtain panel.


Wednesday, August 14, 2013

Tracking Paint Surface and Schedule in Revit

Ever wonder what happened to the wall (or a surface) that was painted at one point? Can you find out where they are in the project? I learned something interesting about using a schedule to find them.
Keep reading...

Recently, I have a project where there is a need to define another material on the same wall (in this case, it is for CMU wall). Since we will need a different CMU finish to differentiate within a wall, so I suggested using the Split Face and the Paint tool to get the job done.

As I look into the paint surface, I thought it would be important to schedule the "paint" area in a schedule to calculate the actual area. To do so, I use Material Takeoff in Revit to generate an area for the paint surface.

In this case, I choose "Wall" as a category

Next window allows me to add fields to my schedule, I then notice there is a field/parameter called "Material: as paint". Sounds like something suitable in this occasion.

As I move on to the filter tab, something interesting shows up...
I can now set the "Material: as paint" to equal to "Yes", which means I tell Revit that this schedule only look for the "Paint" surface on all walls; the next filter rule, I can even set it to a specific material to be included in this schedule.

The last thing is to tell Revit to calculate total area for this particular material.
Once this is done. Volia! I can now let Revit to keep track on all my "paint" surface.

What's more is you use "Highlight in Model" to make Revit show you which wall that has been "painted".

This trick offers another easy way to help you keep track the "painted" wall.
Afterall, it seems like the Material Takeoff schedule can do more than just schedule. Hope you will find it useful!

Thursday, August 8, 2013

Curtain Wall and Engraving

To start off with my first post, I want to share this trick I have known for some time. Back in Autodesk University (AU2012), I taught a class called "Unfold the Curtain! Think Outside the Curtain Wall Tool in Autodesk Revit", I showed a number of examples of how to trick out using the curtain wall tool. At the end of the presentation, I talked about an undocumented feature that was "new" since Revit 2012.
For many years, we are familar with using "Void" to make cutout in Revit, whether it is in project or family environment. However, you can never "touch" the curtain wall when it comes to making "void" within the system. Yes, you can edit profile or put empty panel within the wall to achieve certain desired shape, it will never allow the users to cut out part of the curtain mullion or make cut to customed curtain panels.
Ever since version 2012, you can use a "solid" from a family to cut out curtain wall system, this has become a great discovery for me. So now you can do something that looks like this...

(Image from Hole in the Wall Game Show)
The concept is simple, I make a Generic family (it can be any category actually) as a solid (in this case, just a simple extrusion), let the family intercept the curtain wall, then use "Cut Geometry" to cut out the curtain panel.

Once I made all the cut in the curtain wall, I have a yes/no parameter to control the visibility of the solid so that I can "turn off" the solid. As a result, it would appear that the curtain wall is cut out by a void. The good news is you can use the same family to make multiple cuts and it will work on the mullions as well.
So, the question is "Can we put it to a good use in a real project?" Recently, I have a project where we need to incorporate a lot of texts on a metal scrim system, the panels along with the design of the text are supposed to be fabricated with CNC machine. Since we built the metal scrim using curtain wall, using model text on the surface of the wall seems to be a decent solutions. Problem is in-place model text doesn't have the ability to cut out the curtain wall. Then I tried making a face-based family with just the model text and see if Revit will let me use the same trick on curtain panels. To make it more flexible, I even set up the parameter where I can change the text size, the depth as well as the text content.

Surprisingly, I was able to place this face based family hosted to the curtain panel and use cut geometry to cut them out. Because I have an instance parameter where I can edit the text, I can put different content and place it anywhere.

I can also use this trick on concrete panel (made by curtain wall), in this example, I have a parameter where I can control the depth of cutting the concrete.

I hope this might offer another way of dealing with signage or text in Revit, especially if you need them to be part of the curtain wall design.
Stay tuned on the future post as I will show another way of using this soid cut trick on curtain wall.

Friday, August 2, 2013

Welcome Post

Welcome to my blog!
I have been wanting to do this for a long time to create my own blog. I hope to share my experience in new technology in architecture, my special interest is to focus on my work using Revit.