Analyzing Building Geometry using the Revit API

Slides:



Advertisements
Similar presentations
Construction Documents and Details
Advertisements

Autodesk AEC DevCamp 2012 Geometry API in Autodesk Revit® 2013
SE427-1: The IF's of Revit® Ken Murphy
Extended Gaussian Images
Shared Graphics Skills Cameras and Clipping Planes
Modeling, Not Drafting, a Post-Tensioned Structure Joy Beers, SE LEED AP Structural Engineer at Leo A Daly Tomas Amor Structural Engineer at HGA Image.
© 2011 Autodesk Capitalize on Corridor Improvements in AutoCAD ® Civil 3D ® Don Quinn Civil Engineer / Eagle Point Product Specialist.
BIMteriors: Autodesk® Revit® Architecture for Commercial Interior Design John R. Ade, AIA Senior Applications Specialist Applied Software.
What's in Your Structural Model? Understanding Detail-Level Requirements Using Revit® Structure Derek J. Gilbert, P.E. Senior Structural Engineer Foley.
© 2012 Autodesk Autodesk® Revit® Families: The Basics AB6893-L Frank Sheiakh Revit Specialist, Bimit AB.
SolidWorks Teacher Guide Lesson9 School’s Name Teacher’s Name Date.
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Dr. Abdulrahman M. Al-Ahmari Industrial Engineering.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Industrial Engineering Program King Saud University.
© 2012 Autodesk Concrete Modeling Using Revit Structure Shruti Harve Senior Application Specialist, Ideate,Inc.
Incorporating Engineering into Autodesk® Revit® Structure: Project Procedures Desirée Mackey, PE Structural Engineer, Martin/Martin.
3-D Modeling Concepts V part 2.
V part 2 Obtained from a Guildford County workshop- Summer, 2014.
© 2011 Autodesk Simplified 5-Axis Machining Ann Mazakas Manager of Technical Communications | DP Technology Corp.
© 2011 Autodesk AC5089: Mesh Modeling in AutoCAD® Dave Young Application Engineer – Repro Products.
© 2011 Autodesk Navigating Through the Corridor using AutoCAD® Civil 3D®.NET API Augusto Goncalves Senior Developer Consultant at Autodesk.
© 2012 Autodesk Mass Lab: Building Masses So They Don't Blow Up Kelly Cone, Marcello Sgambelluri AB3074L.
© 2011 Autodesk Autodesk ® Revit ® MEP Content Creation Lab MP5076-L Ryan Tivis CAD/Model Manager – Ring & DuChateau Dennis Hopper CAD/BIM Manager – GE.
© 2012 Autodesk Dario Nicolini Product Manager Autodesk ® Inventor ® iLogic: a great Autodesk tool to improve Inventor features.
© 2012 Autodesk Taking Advantage of BIM for CFD Modeling MP3397-P Aryn Bergman Jun Ortega Energy Analyst, TL Circle; BIM Manager, FacebookApplications.
© 2011 Autodesk Shop Drawings in Autodesk® Revit®. What? It can Do That? Ron Palma Application Specialist.
Using Autodesk® Revit® Structure in Investigative Engineering Desirée Mackey, PE Structural Engineer / BIM Manager, Martin/Martin Brian Mackey BD Mackey.
© 2011 Autodesk Living the Dream: How to Automate Common Workflows and Tasks for Mechanical Engineers Plamen Hristov Virtual Design Manager.
© 2012 Autodesk Autodesk® Revit® Structure: From Design to Detailing and Fabrication to Construction Allen Levy Applications Specialist.
Slope It, Slope It Good: Sloping Framing in Autodesk® Revit® Structure
Get Connected Autodesk Revit MEP Connectors Demystified Shawn C. Zirbes Chief Technical Officer Image courtesy of Hobart, Yañez, Ramos, Maguey, and Martínez.
Quality Control for Autodesk® Revit® MEP Models
Chapter 3 Creating and Editing Sketched Features
© 2012 Autodesk AB6069-V A Few Million Points: Scan to BIM Beau Turner Product Director.
Engineering Graphics with SolidWorks
© 2011 Autodesk Autodesk® Revit® MEP: Project Startup Survival Kit Derek P. Renn AEC Technical Manager, Kelar Pacific.
© 2012 Autodesk Effective Collaboration Techniques for the Architect & Construction Engineer Using Copy Monitor in Autodesk Revit Jason Jones PES Structural.
Chapter 3 Creating and Editing Sketched Features.
© 2012 Autodesk Autodesk® Revit® MEP: Project Startup Survival Kit Derek P. Renn AEC Technical Manager, Kelar Pacific.
© 2012 Autodesk Autodesk® Revit® MEP Templates: Increasing Productivity Plamen Hristov Director of Design Technology Capital Engineering Consultants, Inc.
Chapter 7 Advanced Part Modeling Techniques. After completing this chapter, you will be able to perform the following: –Extrude an open profile –Create.
© 2012 Autodesk Autodesk Structural Curriculum 2013 Unit 2: User Interface Autodesk® Revit® Structure Software User Interface.
© 2011 Autodesk Automotive Surfacing Techniques with Autodesk ® Alias ® Surface Nils Kremser Major Accounts Automotive - Subject Matter Expert.
© 2011 Autodesk SE4247 – Modelling for Construction Ralph Pullinger Structural Technical Specialist, Autodesk, AEC Division (Northern Europe)
© 2014 Autodesk What’s New in Autodesk ® Advance Steel 2015 Presenter Name Presenter Title.
Rockin’ Hot Revit MEP 2011 Tips David Butts BIM Analyst – MEP – Gannet Fleming Image courtesy of Hobart, Yañez, Ramos, Maguey, and Martínez.
© 2012 Autodesk Autodesk® Revit® MEP: Get Current with Electrical Engineering Module 1 – Dual Circuiting Seth Mathis Schmidt Associates BIM Designer.
Chapter 3 Creating and Editing Sketched Features
Chapter 8 Engineering Geometry
Join us on Twitter: #AU2014. Class summary text goes here Class summary.
1 Ι © Dassault Systèmes Ι Confidential Information Ι Instructor’s Guide to Teaching SolidWorks Software Lesson 9 School’s Name Teacher’s Name Date.
© 2012 Autodesk Autodesk Structural Curriculum 2013 Unit 3: Modeling for Building Structures Building Information Modeling.
© 2010 Autodesk Autodesk BIM Curriculum 2011 Unit 1: BIM Modeling Basics Lesson 6: Views and Visualization Lesson Overview Summary In this lesson, students.
Computer – Aided Design Terminology You must have a generic understanding of commands and techniques which are used in a number of packages (YOU CANNOT.
Computer – Aided Design Terminology You must have a generic understanding of commands and techniques which are used in a number of packages (YOU CANNOT.
Learning Objectives Understand the concept of massing in Autodesk Revit Architecture. Create massing geometries using the Massing tool. Cut massing geometries.
3-D Modeling Concepts V part 2.
Auxiliary Views Chapter 7.
Chapter 4 Creating Placed Features
3-D Modeling Concepts V part 2.
Two-Dimensional Sketching
AB2623-Triage for Your Autodesk Revit Family
Sketching.
Advanced Autodesk® Revit® Modeling Techniques Using Complex Geometry
3-D Modeling Concepts V part B.
AB6105-V: Autodesk® Revit® Reality Check for Residential Construction
Chapter 3 Creating and Editing Sketched Features
Chapter 3 Creating and Editing Sketched Features
3-D Modeling Concepts V part 2.
Presentation transcript:

Analyzing Building Geometry using the Revit API Image courtesy of Hobart, Yañez, Ramos, Maguey, and Martínez Analyzing Building Geometry using the Revit API Scott Conover Software Development Manager, Revit API

Objectives See how Revit parameterizes 2D and 3D geometry Learn how to understand and apply transformations of geometry See the ray-tracing utilities assist with analysis of the physical relationships between elements in the Revit model Learn techniques for measuring material quantities including areas and volumes. Learn about a new geometric element filtering tool in 2011

Agenda 10 minutes 15 minutes 5 minutes Geometry extraction Curve, edge, and face geometry Transformations Special tools & techniques 5 minutes New in 2011

Geometry extraction Element.Geometry[Options] ComputeReferences – populates the geometry reference IncludeNonVisibleObjects – sets Revit to also return geometry objects which are not visible in a default view. Usually not useful (construction geometry) but some of this conditionally visible geometry represents real-world objects. DetailLevel –sets the detail level for the extracted geometry (default “medium”) View – this sets the view that governs the extracted geometry. If set, supersedes “DetailLevel”.

Geometry extraction Autodesk.Revit.DB.GeometryElement → .Objects property→ Solid – a boundary representation made up of faces and edges Curve – a bounded 3D curve Instance – an instance of a geometric element, placed and positioned within the element Instances contain another set of geometry: GetSymbolGeometry() - the geometry represented in the coordinate system of the family GetInstanceGeometry() - the geometry represented in the coordinate system of the project where the instance is placed Instances can be nested

Geometry extraction Other sources of geometry in the API LocationCurve – curve driven elements like walls, beams, ducts, pipes report their profile through this interface References of dimensions – the references contain information regarding the geometry they point to Structural AnalyticalModel – returns curves and faces representing the analytical model of structural elements FindReferencesByDirection() – discussed later in this course

Curve parameterization Normalized parameter: (0.0 →1.0). Easy to find locations based on curve segmentation (e.g. midpoint = 0.5) Raw parameter: any minimum and maximum possible, obtain from Curve.EndParameter[int]. Easy to find locations based on distance along the curve. Also the only way to evaluate unbound and cyclic curves which don’t use normalized parameters at all.

Curve parameterization Curve.Evaluate() – Returns the XYZ location of the given curve at a given parameter. Curve.ComputeDerivatives() – Returns a Transform containing: The XYZ location (.Origin) The first derivative/tangent vector of the given curve (BasisX). The second derivative/normal vector of the given curve (BasisY). The binormal vector of the given curve, defined as the cross-product of the tangent and normal vector (BasisZ).

Curve parameterization – find south facing walls

Curve types Bound line Unbound line (raw parameter only) Arc (IsBound = true) Circle (IsBound = false, raw parameter only, 0 to 2π) Elliptical arc (IsBound = true) Ellipse (IsBound = false, raw parameter only, 0 to 2π) NURBS spline Hermite spline

Curve analysis and processing Intersect() - allows you compare two curves to find how they differ or how they are similar. Can identify: Intersecting curves Coincident curves/collinear lines Overlapping curves Identical curves Totally distinct curves with no intersections Project() - projects a point onto the curve and returns information about the nearest point on the curve, its parameter, and the distance from the projection point Tessellate() - splits the curve into a series of linear segments, accurate within a default tolerance.

Face parameterization Faces in the Revit API can be described as mathematical functions of two input parameters “u” and “v”, where the location of the face at any given point in XYZ space is a function of the parameters. The U and V directions are automatically determined based on the shape of the given face.

Face parameterization Face.IsInside() – identifies if the given parameter is within the boundaries of the face Face.Evaluate() – Returns the XYZ location of the given face at a given UV value. Face.ComputeDerivatives() – Returns a Transform containing: The XYZ location (.Origin) The tangent vector in the U direction at the given UV (BasisX) The tangent vector in the V direction at the given UV (BasisY) The normal vector of the given face at the given UV (BasisZ)

Edge parameterization

Face types Plane – unit vectors in u and v Cylinder – extrude circle along line Cone – rotate line about axis Revolved face – rotate curve about axis Ruled face – sweep between profile curves/points Hermite face – interpolated face

Face analysis & processing Intersect() - allows you compute the intersection between a curve and face. Can identify: The intersection point(s) between the two objects The edge nearest the intersection point, if there is an edge close to this location Curves totally coincident with a face Curves and faces which do not intersect Project() - projects a point onto the face and returns information about the nearest point on the face, its UV parameters, and the distance from the projection point Triangulate() - splits the face into a series of triangular facets.

Coordinate transformations Rotation (BasisX, BasisY, BasisZ) Translation (Origin) Scaling Reflection Transform.OfPoint() – applies transformation to a 3D point Transform.OfVector() – applies rotational/reflectional/scaling transformation to a directional vector

Coordinate transformations Obtain transforms from: The GeometryInstance class (the transformation applied to the instance) A Reference containing a GeometryInstance A Panel element A 3D bounding box Create a transform from: Static properties on Transform (.Identity, .Reflection, .Rotation, .Translation) Multiplication of two Transforms (Transform.Multiply()) Scaling a transform (and possibly its origin) (Transform.ScaleBasis() and Transform.ScaleBasisAndOrigin()) The Transform constructor

Transformation of instances – south facing windows

Nested instances GeometryInstances may be nested inside other geometry instances Each instance has a Transform which represents the transformation from the coordinates of the symbol geometry to the coordinates of the instance In order to get the coordinates of the geometry of one of these nested instances in the coordinates of the document, concatenate the transforms together using Transform.Multiply() Shared families are different: geometry of the nested shared instance is not returned at all by the Element.Geometry call on the main family. Instead, you must find the shared family instances themselves (via FamilyInstance.SubComponents), and extract their geometry to get a complete picture of the main family instance’s geometry.

Project location Document.ActiveProjectLocation EastWest – east/west offset (X offset) NorthSouth – the north/south offset (Y offset) Elevation – the difference in elevation (Z offset) Angle – the angle from true north Find south-facing walls and windows using project north:

FindReferencesByDirection() Use Revit’s picking tools to find elements intersected with a ray cast in a given direction. Inputs: ray origin and direction, 3D view Returns: an array of References Intersects 3D geometry only The results reflect modifications to the input 3D view (section, visibility/graphics options) Finds both elements and geometric references Element references returned may not have a corresponding geometric object which is also intersected (for example, rays passing through openings in walls will intersect the wall and the opening element) References will be found and returned only for elements that are in front of the ray

FindReferencesByDirection() Find adjacent elements Measure distances Reflection and refraction studies

FindReferencesByDirection() Automatic routing

Material quantity extraction Element.Materials – obtains a list of materials within an element Element.GetMaterialVolume() – obtains the volume of a particular material in an element Element.GetMaterialArea() – obtains the area of a particular material in an element Apply to categories of elements where Category.HasMaterialQuantities is true. (e.g. walls, roofs, floors, ceilings, stairs, plus 3D families where materials can be assigned to geometry of the family, like windows, doors, columns, MEP equipment and fixtures, and generic models) Some members of the given categories still will not report material quantities. For example, curtain walls and curtain roofs will not report any material quantities themselves Volumes and areas may be approximate in some cases

Temporary element suppression How to get “gross material quantities” before elements are cut? Use Delete() inside a temporary transaction. This regenerates the cut geometry of the parent element and produces the correct quantities. (Hide() only removes the cutting element from view, without regeneration of the parent geometry)

Material quantity extraction – gross and net material quantities

BoundingBox filters to find elements (new in 2011) Use new BoundingBox filters to find elements BoundingBox filters BoundingBoxIsInsideFilter BoundingBoxIntersectsFilter BoundingBoxContainsPointFilter BoundingBox filters use “Outline”, a class that represents the bounding box aligned with the major axes of the Revit model Find terminals not in ceiling

Summary You have seen: How Revit parameterizes 2D and 3D geometry, and how to use the API to extract and analyze it How the Revit API uses transformations to represent geometry in different coordinate systems How to use the ray-tracing utilities to analyze the physical relationships between elements in the Revit model How to measure material quantities (both net values and gross values before material is removed) The new 2011 BoundingBox filters can be used to roughly locate elements by their geometry

Q & A

Autodesk [and other] are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2010 Autodesk, Inc. All rights reserved.