We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byJalynn Timperley
Modified over 2 years ago
© 2012 Autodesk Autodesk AEC DevCamp 2012 Geometry API in Autodesk Revit® 2013 Scott Conover Software Development Manager, Revit API & Interoperability
© 2012 Autodesk About this course Two sections Geometry extraction fundamentals Tools For more details: developers guide wikidevelopers guide wiki Samples – provided as course material
© 2012 Autodesk Learning Objectives At the end of this class, you will be able to: Extract and analyze the geometry of existing Revit elements Create and manipulate temporary curve and solid geometry Find elements by 3D intersection Find elements by ray projection and filtering Apply an ExtrusionAnalyzer to geometry Utilize parts to analyze geometry of HostObjects and their layers Extract and analyze the boundary geometry of rooms and spaces Analyze the geometry of point clouds
© 2012 Autodesk Geometry extraction in the Revit API
© 2012 Autodesk Geometry extraction Element.Geometry 3D model elements System family instances (walls, floors and roofs) Family instances (doors, windows, furniture, or masses) Returns GeometryElement containing:
© 2012 Autodesk Curves A path in 2 or 3 dimensions in the Revit model May represent the elements geometry (e.g. CurveElement) May represent a single piece of the geometry of an element (e.g. centerline of a wall or duct) Curves and collections of curves used as inputs in many places Consult wiki for curve types, analysis and mathematical representations
© 2012 Autodesk CurveLoop Specific chain of curves joined end-to-end Used as an output for some element boundary properties Used as input to several geometry and element creation routines Can be closed or open loop Create using: CurveLoop.Create() CurveLoop.CreateViaCopy() CurveLoop.CreateViaThicken()
© 2012 Autodesk Solids, faces and edges Solid Collection of faces and edges Typically full volumes A shell (partially bounded volume) can be encountered Sometimes Revit geometry has unused solids Face Mathematical function of u and v parameters in 3D space Consult wiki for face types, analysis and mathematical representations Edge Boundary curve of one or 2 adjacent faces Use parameters to analyze or convert to curve: Edge.AsCurve() Edge.AsCurveFollowingFace() functions.
© 2012 Autodesk Solid and face creation GeometryElement.GetTransformed() Copies an existing element geometry to a new location/orientation GeometryCreationUtilities Extrusion Revolution Sweep Blend SweptBlend Uses for created solid Display it (analysis visualization framework) Analyze it (volume, area, centroid calculations) Intersect it (element intersection filters) Combine it (boolean operations)
© 2012 Autodesk Boolean operations Combine input solids (add, subtract, intersect) BooleanOperationsUtils class ExecuteBooleanOperation() Copies input solids Produces new solid Inputs can be Revit element solids or temporary geometry ExecuteBooleanOperationModifyingOriginalSolid() Modifies the first solid directly First solid must be modifiable (not a Revit elements geometry)
© 2012 Autodesk Meshes, polylines and points Mesh Collection of triangular boundaries Forms a 3D shape Imported geometry Topography surfaces Results of Face.Triangulate() Polyline Collection of line segments defined by a set of coordinate points Imported geometry Point Represents a visible coordinate in 3D space Mass family elements (ReferencePoint)
© 2012 Autodesk GeometryInstances A set of geometry stored by Revit in a default configuration Transformed into the proper location as a result of the properties of the element Encountered in many Family instances (but not all)
© 2012 Autodesk GeometryInstances Different ways to parse GetSymbolGeometry() (no transform) – returns Revit geometry of the symbol Separate Transform property is also available GetSymbolGeometry (Transform) or GetInstanceGeometry (with or without Transform) – returns copy of Revit geometry For some cases (dimensioning, element referencing), use the Symbol Geometry to get a proper reference (and analyze the geometry via transform if needed)
© 2012 Autodesk Geometry tools in the Revit API
© 2012 Autodesk 2012 geometry tools Temporary solid geometry (already described) Boolean operations (already described) Element intersection filters Extrusion analysis Element.GetGeneratingElementIds CompoundStructure & HostObject utilities Parts Room & space geometry Energy analytical model Point cloud analysis
© 2012 Autodesk 2013 geometry API tools and changes ReferenceIntersector Split volumes Solid tessellation CylindricalHelix curve type GeometryElement as IEnumerable CurveLoop as IEnumerable
© 2012 Autodesk Element intersection filters ElementIntersectsElementFilter Passes elements by 3D geometry intersection Determined with same logic used by Revit for Interference Reports Some combinations of elements will never pass this filter Joined elements Non-solid elements (rebar) ElementIntersectsSolidFilter Passes elements intersecting any solid Solid obtained from anywhere including created from scratch or Boolean operation Passing elements must have solid geometry
© 2012 Autodesk Element intersection filters Using filters to check volume of access around doors Create solids around volume Highlight volumes with Analysis Visualization
© 2012 Autodesk ReferenceIntersector (2013) Ray-casts to find elements using a point and direction Target: Element, Face, Edge, Mesh or Curve ElementFilter or specific element Find() or FindNearest() Note issue with FindNearest() if no results will be found – fix in 2013 update release 1
© 2012 Autodesk ExtrusionAnalyzer Fits geometry into extruded profile Inputs: Solid geometry Plane Direction Results: Base profile Face alignment Example: Revits IFC exporter (available on Open Source) Open Source
© 2012 Autodesk Element.GetGeneratingElementIds Examines relationships among elements Window and door cutting walls Openings cutting hosts Face splitting faces Wall sweep or reveal traversing wall Walls joining to other wall(s) Elements extending to roof(s) More than one id may be returned
© 2012 Autodesk CompoundStructure & HostObject utilities HostObject Walls, floors, ceilings and roofs CompoundStructure Read/write layers Vertically compound layers Offset to location lines (finish face, core boundaries) Get layer widths HostObjectUtils GetSideFaces() – walls GetTopFaces()/GetBottomFaces() – floors, roofs, ceilings
© 2012 Autodesk Parts Construction modeling tool Divide HostObject elements from the design intent model by layer Further subdivisions possible By layer By grid By sketched curve Parts update with changes to their source elements PartUtils CreateParts() DivideParts() GetAssociatedParts()
© 2012 Autodesk Parts as a geometric analysis tool Easy access to the geometry of each of the layers of materials within a compound object East access to split resultant geometry by grid or layer Use temporary changes to extract information and then restore original model
© 2012 Autodesk Room & space geometry SpatialElementGeometryCalculator 3D geometry volume of room or space Relationships between the geometry and the boundary elements 2 options: SpatialElementBoundaryLocation –finish faces or boundary element centerlines for calculation StoredFreeBoundaryFaces – whether to include faces which dont map directly to a boundary element Results: SpatialElementGeometryResults The Solid volume representing the geometry (GetGeometry() method) The boundary face information (a collection SpatialElementBoundarySubfaces)
© 2012 Autodesk Room & space geometry Subfaces The face of the spatial element & the matching face of the boundary element Subface type (bottom, top, or side) Notes: Use same calculator for multiple elements Bottom faces (floors) never have boundary elements Openings are not included Geometry matches what Revit uses for boundary calculations
© 2012 Autodesk Energy analytical model Export to gbXML/ Heating and Cooling Loads features Analytical thermal model Spaces, zones and surfaces EnergyAnalysisDetailModel.Create() Options Level of computation (NotComputed, FirstLevelBoundaries, SecondLevelBoundaries, Final) Whether mullions should be exported as shading surfaces Whether shading surfaces will be included Whether to simplify curtain systems Same result as export to gbXML Example: Revits IFC exporter (available on Open Source)Open Source
© 2012 Autodesk Point cloud analysis Accessing Points in a Point Cloud PointCloudInstance.GetPoints(PointCloudFilter filter, int numPoints) Iterate the resulting points directly from the PointCollection return using the IEnumerable interface Get a pointer to the point storage of the collection and access the points directly in memory in an unsafe interface (C# or C++/CLI) Filters (PointCloudFilter) Limit the volume which is searched when reading points Govern the display of point clouds A collection of planar boundaries Checks if point is located on the positive side of each input plane Volume formed by a combination of planes
© 2012 Autodesk Point cloud analysis Filters used to affect display PointCloudInstance.SetSelectionFilter() PointCloudInstance.FilterAction None Highlight Isolate Example: visual representation of how well a given element aligns with points in the point cloud
© 2012 Autodesk Conclusions
© 2012 Autodesk Learning Objectives You have learned how to: Extract and analyze the geometry of existing Revit elements Create and manipulate temporary curve and solid geometry Find elements by 3D intersection Apply an ExtrusionAnalyzer to geometry Utilize parts to analyze geometry of HostObjects and their layers Extract and analyze the boundary geometry of rooms and spaces Analyze the geometry of point clouds
© 2012 Autodesk Caveats Keep edge cases in mind Possible for users to model situations which dont mesh well with the tools and might result in failure situations Samples do not cover these situations are not handled robustly Consider how robust solution should be: are there situations where it should or should not produce valid results?
© 2012 Autodesk Autodesk, AutoCAD, Civil 3D, DWG, Green Building Studio, Navisworks, and Revit 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. © 2012 Autodesk, Inc. All rights reserved.
© 2012 Autodesk The Revit MEP API Jeremy Tammik Principal Developer Consultant.
© 2012 Autodesk Autodesk Structural Curriculum 2011 Unit 6: Construction Documents and Details Construction Documents and Details.
© 2012 Autodesk Hidden Survey Gems: Using the COGO Editor and Mapcheck Analysis Tools and the New Survey Tools in AutoCAD® Civil 3D® 2013 Shawn Herring.
Introduction to Geographic Information Systems for Public Health Protection William D. Henriques, Ph.D., MSPH Environmental Toxicologist, GIS Coordinator.
Revit Technology Conference 2007 “Documentation in Revit” Steven Hutana.
© 2012 Autodesk BOMs in the Cloud with Autodesk PLM 360 (PL2818)PL2818 Hagay Dvir Product Manager.
Modeling Modeling is simply the process of creating 3D objects –Many different processes to create models –Many different representations of model data.
LS-DYNA ENVIRONMENT Back to Contents Oasys PRIMER 9.3 October 2008.
SAPScript Forms. SAPScript Form Components SAPScript Form Components A form of the graphical Form Painter consists of five components. In alphanumeric.
Mark Sherman Danilo Centazzo. 2 Introduction to FEMAP Agenda Day 1 Introduction Install, Setup and Customize FEMAP The User interface and the On-Line.
Business Objects Web Intelligence Business Objects Web Intelligence.
Class Topics Welcome and Introduction What is ArcGIS? What is ArcMap? Getting around ArcMap Working with Layers Accessing DNR Data Exploring Data Working.
Section Goals Understand Tables Know how to create, edit, and use Tables Investigate ‘nesting’ Tables Be able to format Tables.
Name: ………………………………………………………… Class:……………… Teacher:…………………………………………..
Unit-V -SOFTWARE QUALITY. To develop and deliver robust system, we need a high level of confidence that Each component will behave correctly Collective.
Copyright: Silberschatz, Korth and Sudarshan 1 Chapter 23: Advanced Data Types and New Applications.
ENGT 122 – CAD I CAD I – Outline & Chapter 1 – Intro to AutoCAD & Chapter 2 – Getting Started with Auto-CAD.
WS6-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory # Introduction to CFX Workshop 6 Electronics Cooling.
ORTHOGRAPHIC PROJECTION C H A P T E R F I V E. Technical Drawing with Engineering Graphics, 14/e Giesecke, Hill, Spencer, Dygdon, Novak, Lockhart, Goodman.
EQuest Quick Energy Simulation Tool. Main Points eQuest is a tool from the Department of Energy. –
Microsoft ® Office PowerPoint ® 2007 Training Get visual with SmartArt graphics.
1 Computer Systems & Architecture Lesson 3 5. Designing the Architecture.
Microsoft Access is a database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a Graphical User.
INTRODUCTION TO GIS. Geographic + Information + System Knowledge of proper geographic location is an important aspect in this technically advanced and.
© 2011 Autodesk AutoCAD LT ® 2012 Whats New. © 2011 Autodesk AutoCAD LT 2012 | Experience Productivity With AutoCAD LT ® 2012 software, incremental improvements.
Chapter - 5 Understanding Requirements Unit II. Introduction Definition : “The broad spectrum of tasks and techniques that lead to an understanding of.
03: Basic Principles of 2D Graphics. Lecturer Details Dr. Walid Khedr, Ph.D. Web: Department of Information.
Training workshop on GIS and Remote Sensing Applications in Agricultural Meteorology for the (SADC) Spatial Data Analysis WMO/FAO Training Workshop on.
What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute.
Objectives Learn the UNITS command for drawing unit setup.Learn the UNITS command for drawing unit setup. Learn to input engineering, architectural, and.
© 2016 SlidePlayer.com Inc. All rights reserved.