Tuesday, December 1, 2015

Live Streaming from Autodesk University

Whether you are not at AU in Las Vegas, or can only be in one place at time, Autodesk is generously live-streaming a bunch of their presentations starting at 10:30am PST on December 1, 2015.

See http://au.autodesk.com/au-online/live-stream

Tuesday, September 29, 2015

Project Tango Scanning to Revit

A couple of weeks ago, there was a Google Project Tango hackathon in Boston. Since we all got to use a Tango device, I thought I'd look into how it could be used with architecture software.

There is a free app called "Project Tango Constructor" which will let one shoot a 3D mesh with a range of 2 to 3 meters from the camera.

It works nicely but is very inaccurate. Sweeping a few meters down a room then going back can make an error of 30cm or more. Also, shiny black and metal surfaces do not really scan. Perhaps continued practice with it would produce higher-quality scans.

One can get the scan as OBJ onto a PC and look at it in MeshLab or Memento.

From Memento, it can be cleaned up and exported as RCP point cloud format, no colors, which then can be brought into Revit or AutoCAD.

It's okay for what it is, but do not depend on any accuracy. Something more specialized for the job (but 10 times more expensive) is the DotProduct handheld scanner.

Going directly from the OBJ mesh to Revit is possible with my Mesh Import app, after cleaning with Memento.

At $512, a Project Tango Tablet Development Kit may have some uses in the architecture or MEP field. Perhaps more accurate scanning software could be written for it.

Another good use is something new: Autodesk's Project Expo. One can view, in a semi-VR way, rendered Revit 3D models in Tango.

Sunday, February 15, 2015

Big Project Commandments

Last year I was working on a large, multi-phase, multi-discipline project at an architectural firm. These are some notes I took. Please consider this advice:

  1. Everybody, including people sending in RVTs from other disciplines, must have the same update release of Revit. The "Application Manager" that installs with Revit 2015 may falsely indicate that the software is all up to date. This post gives directions on how to get to R2: http://revitlearningclub.blogspot.com/2014/12/latest-autodesk-revit-2015-update-r2.html

    When everyone is using the same software version, we can seek other explanations when strange bugs are encountered. 
  2. Decide early what Phases will be used and what they will be called.
  3. Location: Everyone must know what the origin of the project should be so we can link our RVTs together without having to move them. If using laser scans, ideally they will use the same origin.
  4. Levels and Grids: Do not add unnecessary ones willy-nilly. Decide who controls them. Use Scope Boxes on large projects to control Level and Grid extents.
  5. Model things in 3D where possible if they will be seen in more than one view.
  6. Worksets: Use them for performance only. They are not layers. They are not phases.
  7. Model things rectilinearly when at all possible. Capturing reality has its limitations in Revit. Modelling walls not rectilinearly has a big overhead. Using a point cloud can help us average out the position of things and still keep them square. If you have to skew things, think about the implications.
  8. To keep maximum performance, when sharing RVTs in a large project between the architects and subs, the files need to have the views & sheets deleted and purge-unused. This is somewhat laborious. Decide who will do it. It's nice to have it done before the RVTs are transmitted.
  9. Press & Drag: It's on by default when Revit is installed. Having it turned off is safest in most cases while modelling in Revit. This will avoid inadvertent dragging of elements.
  10. Move with Disjoin. Be careful. Sometimes it's needed but it can cause major problems. See http://revitlearningclub.blogspot.com/2012/08/beware-disjoin.html
  11. Forget using Wall Sweeps. Model in-place with sketched profiles or profile families. This gives us more control, plus we can copy them around.
  12. Last one leaving for the evening does a save-as with compress Central.
  13. Everyone makes a new Local in the morning when starting work. Keep your old Locals if you have space. If something gets deleted accidently, it may be able to be copy-pasted in from an old Local.
  14. Purging-unused can help performance. It can also erase things we need. Use prudently.
  15. Worksharing Monitor is a good thing. It lets us see when others are synchronizing, etc. 
  16. Laser Scans: If existing conditions are important, having an in-context point cloud allows us to have a mostly objective knowledge of where things are in 3D space. If you've ever worked with scan data, going back to projects that don't have it and guessing where everything is is tough.

Monday, January 5, 2015

Turning artwork to mesh for import to Revit

This is a tutorial on making meshes for the Mesh Import app, which lets us bring meshes into Revit's project environment. This is one way of making a mesh.

The free online app, Tinkercad, lets one import an SVG and turn it into a solid.


Find or make an image and turn it into SVG formathttp://image.online-convert.com/convert-to-svg is an easy way to do it.

In Tinkercad, select your SVG:

Give it some parameters and click "Import":

You get this:

Download the OBJ:

Using the Revit add-in Mesh Import, import the new OBJ file:

 You get this:
Same thing in Revit with edge lines turned off

Use the art as you wish in your project:

Thursday, January 1, 2015

Getting Revit to start while debugging API apps with Visual Studio 2013

To debug Revit API apps with Visual Studio 2013, one has to start Revit 2015 and then run the DLL created.

Out of the box, one will get this crash of Revit before Revit even gets open:

As indicated in Jeremy Tammik's blog, the answer is to switch to managed compatibility mode.

Thence, Revit will start as expected under Visual Studio's debugger.

Tuesday, December 23, 2014

Photogrammetry Mesh into Revit as Point Cloud

I made a photogrammetry mesh of a building facade in the free version of Recap 360 from about 50 images. It came out really well, even though all of the photos were taken from ground level.

From there, I downloaded the files as a ZIP, which contains the mesh as OBJ. Its "materials" are also included, but using them is another issue.

I opened the mesh in the open-source MeshLab. It looks very good. 

The big challenge is to get it to the proper scale. A known distance on the building is required. I assumed that the double doors are 6 feet wide.

From the mesh, using the Measuring Tool in MeshLab, it read 4.493.

6 feet equals 1.83 meters 

I calculated 1.83 ÷ 4.493 = 0.407 (remembering that number).

I export from MeshLab as format XYZ. I believe that MeshLab writes a line in the file for each vertex point in mesh.

Thence, I started a new project in ReCap and chose the XYZ file.

How did I get the points scaled correctly?

ReCap's units are meters. Under the scan settings, I changed "Unit: 1 Meter" to 0.407.

I also reduced the decimation to 1mm.

The points came into ReCap.

I saved the RCP file to bring into Revit.

I imported the RCP into Revit, center-to-center.

Using Measure Between Two References in Revit, I found the point cloud's size to be correct. 

I then had to rotate, and move, the point cloud. Now, it's ready to trace.

PS: An alternative method would be to scale the mesh in MeshLab to meters before exporting the XYZ file. The concept is explained in this video: https://www.youtube.com/watch?v=6psAppbOOXM . That way, the scale would not have to be altered in ReCap.