Jeremy Tammik

November 2014

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            


Twitter Updates

    follow me on Twitter
    August 22, 2008: Welcome
    Comments: 0 | Categories: News
    Welcome to The Building Coder, a blog dedicated to programmers working with the Revit API. My name is Jeremy Tammik and I work in the DevTech team, Autodesk's Developer Technical Services. We provide technical services to members of ADN, the...

    August 24, 2008: Introduction to DevTech
    Comments: 3 | Categories: News
    I'm very pleased to be part of a great team at Autodesk: DevTech, the Developer Technical Services team. Our focus is on providing high quality services to members of ADN, the Autodesk Developer Network. Aside from providing technical support for...

    August 26, 2008: Getting Started with the Revit API
    Comments: 4 | Categories: Getting Started
    The Autodesk Developer Center includes a good overview over the basic resources available for getting started with the Revit API, or Application Programming Interface. You will also find this page by searching for the keywords "revit devtv". The DevTV Introduction...

    August 28, 2008: The Revit SDK Contents
    Comments: 50 | Categories: Getting Started
    The Revit SDK or Software Developer Kit is included in every Revit product installation CD. You can search the installation for a file named *sdk*.zip. In Revit 2009, it is named 'Revit 2009 SDK.zip' and located in a subdirectory 'Utilities\Common\Software...

    August 30, 2008: Managing SDK Samples
    Comments: 0 | Categories: Getting Started , SDK Samples
    As mentioned in the previous post, the Revit SDK samples provide the biggest knowledge base on how to solve any specific programming task in Revit. The API documentation RevitAPI.chm lists the available classes and their properties and methods, and the...

    September 2, 2008: The SDK Samples Solution SDKSamples2009.sln
    Comments: 0 | Categories: Getting Started , RME , SDK Samples
    As mentioned in the previous post, the Revit SDK samples include a powerful tool to help manage the over hundred individual samples provided. On one hand, we wish to compile all the samples easily in order to load and execute...

    September 4, 2008: Loading SDK Samples
    Comments: 3 | Categories: Getting Started , SDK Samples
    The previous post discussed the use of the unified solution file SDKSamples2009.sln to manage, compile and search the entire collection of over hundred sample applications provided in the Revit SDK. In order to actually execute a sample for testing and...

    September 8, 2008: Debugging a Revit Add-In
    Comments: 6 | Categories: Debugging , Getting Started
    I often hear the question how to unload a Revit add-in. Unfortunately, this is not possible, due to the fundamental .NET framework mechanisms used to load and manage the plug-ins. Revit manages one AppDomain which is used to load all...

    September 11, 2008: What Next?
    Comments: 4 | Categories: Getting Started
    Now that we have got the getting started material out of the way, let us embark on the great adventure of free unstructured day to day blogging. If you think there is anything still missing for the getting started material,...

    September 16, 2008: Selecting all Walls
    Comments: 1 | Categories: Filters , Getting Started
    Now that we have covered the basics, let us get into some small examples of day to day issues that arise. I recently gave a Revit API introductory workshop. The first little sample add-in we wrote together as a first...

    September 18, 2008: Units
    Comments: 9 | Categories: Getting Started , Units
    In the previous post, we noted that the area parameter for a wall had a numerical value of 283.65 on one hand, but a string representation of '26.352 m²' on the other. The reason for these two different values is...

    September 22, 2008: Geometry Library
    Comments: 4 | Categories: AU 2008 , Geometry
    In a comment on What Next, Rod Howarth suggested looking a bit at functionality that involves using geometry, location points and other modelling based stuff. I think this is a brilliant idea; it fits in well with the introductory material...

    September 24, 2008: Geometry Viewers
    Comments: 7 | Categories: Geometry , SDK Samples
    The previous post provided an overview of the Revit geometry library and very briefly mentioned some geometry viewers provided in the Revit SDK samples. We will discuss these a little bit more before moving on to some own example code...

    September 26, 2008: Wall Dimensions
    Comments: 0 | Categories: Geometry
    After the diversion exploring the geometry related information and samples provided with the basic Revit SDK, let us finally get into an example of some own geometry related code. We present an algorithm to dimension an arbitrary Revit element containing...

    September 29, 2008: RoomsRoofs SDK Sample
    Comments: 0 | Categories: Element Relationships , Geometry , RME , SDK Samples
    Remaining on the track of geometrical topics, for the time being... A common inquiry is how to determine the roof part of the boundary of a given room or space. Currently, Revit does not expose such an API, and there...

    October 1, 2008: Relationship Inverter
    Comments: 14 | Categories: Element Relationships , Getting Started
    Moving away from the topic of geometry, I have another sample that I would like to share from the Revit API introductory workshop that I recently held. In this sample, we address the following topics: Using a Boolean combination of...

    October 3, 2008: Filter Performance
    Comments: 0 | Categories: Filters , Performance
    This post is entirely thanks to Guy Robinson, who has always been the quickest to test and comment on performance issues in the Revit API, in response to the previous post. He says: Like you, I initially thought the TypeFilter...

    October 4, 2008: AU 2008
    Comments: 6 | Categories: AU 2008 , News , RME
    I am very much looking forward Autodesk University 2008 in December in Las Vegas, where I will be presenting classes on some Revit API topics: DE101-3 The Revit SDK Sample Smörgåsbord Tue. 12/2 8:15 am - 9:45 am DE205-3 Enhancing...

    October 6, 2008: More Filter Performance
    Comments: 0 | Categories: Filters , Performance
    This post is a response to Guy Robinson's contribution on Filter Performance, and is also by a reader, Ralf Huvendiek. Ralf only recently started working on the Revit API, but brings such a wealth of prior programming experience and enthusiasm...

    October 7, 2008: Filter Performance Conclusion
    Comments: 0 | Categories: Filters , Performance
    Continuing the topic of the Revit API filter performance, Guy responds to Ralf: Ralf raises some good points. A good point on the order in filters, I did not think about that and I did think the speed improvement was...

    October 8, 2008: SDK Update Posted
    Comments: 0 | Categories: News , RME , Update
    The Revit 2009 web update 2 has been posted to the Autodesk product site for the English versions of Revit Architecture, MEP and Structure. Unlike previous versions, this update makes use of patching technology and does not require a complete...

    October 10, 2008: Picking a Point
    Comments: 4 | Categories: SDK Samples , User Interface
    I am regularly asked by developers how to pick a point in Revit. This is currently not possible. The wish has been registered, but there are no plans to provide this functionality in the short term. The only interactive selection...

    October 13, 2008: RVT File Version
    Comments: 4 | Categories: External , Utilities
    And now for something completely different. The Revit API does not provide any method for determining the version of an RVT file on disk. And even if it did, it would often be useful to be able to determine the...

    October 14, 2008: Application Events in VB
    Comments: 2 | Categories: Events , Getting Started , VB
    I do not work much in VB, but somebody recently asked how to subscribe to the Revit application events in that language. There is no VB sample for this in the Revit SDK samples, so I created the following little...

    October 16, 2008: Element Materials
    Comments: 8 | Categories: Geometry
    I recently heard several queries on how to access the surface material of a wall or other building element. There are several different ways to access materials defined on building elements. One method is discussed in the section 16.3 Element...

    October 20, 2008: Family Instance Materials
    Comments: 11 | Categories: Geometry
    In the previous post, we read out materials from walls and other building elements by querying them for their geometry, picking out all the solids, and iterating over their faces. However, for family instances such as doors and windows, we...

    October 23, 2008: Azimuth
    Comments: 9 | Categories: Geometry
    Several developers have asked how to determine the azimuth of an element, i.e. the angle between the element and true north. This calculation is obviously strongly affected by the project location. Determining the angle of an element is pretty simple....

    October 27, 2008: Converting between VB and C#, and .NET Decompilation
    Comments: 6 | Categories: Debugging , External , Getting Started , Utilities , VB
    Here is post to follow up on the comment on converting between C# and VB code by Rod Howarth on the post on Application Events in VB. First of all, converting code between C# and VB is possible and can...

    October 28, 2008: Obfuscation
    Comments: 2 | Categories: Utilities
    In response to the last post, Rod Howarth brought up the related topic of source code obfuscation for a .NET assembly. He says: Reflector is certainly a useful tool, and it’s good to delve into both your own code and...

    October 29, 2008: Element Bounding Box
    Comments: 5 | Categories: Geometry
    Here is a topic suggested by Michael Raps of the Institut 4D-Technologies and DataSpaces at the Fachhochschule Nordwestschweiz regarding the Element BoundingBox property. This property is documented in the Revit API help file, which says that it retrieves a box...

    October 31, 2008: Slab Boundary
    Comments: 13 | Categories: Geometry , User Interface
    Developers have frequently asked how to determine the boundary polygons of a horizontal slab, e.g. the loops formed by the bottom edges of all the vertical or 'side' faces in this floor: In this case, there is one outer and...

    November 3, 2008: Model Line Creation
    Comments: 18 | Categories: Debugging , Element Creation , Geometry , SDK Samples
    In the previous post, we determined the slab boundary polygons and displayed the resulting polygon data graphically for debugging and better understanding by creating model line segments for them in the Revit database. We did not go into any detail...

    November 5, 2008: Slab Side Faces
    Comments: 0 | Categories: Debugging , Geometry
    In the preceding post, we discussed the creation of model lines to graphically display certain polygons in space for debugging purposes. The polygons we display are slab boundaries calculated by iterating over all the horizontal faces of the slab and...

    November 6, 2008: Creating a new Type
    Comments: 4 | Categories: Element Creation
    This post is due to Joe Ye in our Beijing office. Many thanks, Joe! While proof reading my handouts for the Revit API tips and tricks session at AU, DE205-3 Enhancing Your Revit Add-In, Joe pointed out that creating a...

    November 7, 2008: Loading The Building Coder Samples
    Comments: 0 | Categories: Getting Started , SDK Samples
    As I write these blog entries, I continuously add new commands to The Building Coder sample project. While doing so, I wish keep my list of external commands up to date with a minimum of effort. I have several important...

    November 10, 2008: Adding a Shared Parameter to a DWG File
    Comments: 3 | Categories: DWG , Getting Started , Parameters , SDK Samples
    I was recently asked whether it is possible to attach a shared parameter to a DWG drawing file imported into a Revit model. The exploration of this issue was interesting enough for me to like to share it. First of...

    November 12, 2008: Editing a floor profile
    Comments: 3 | Categories: Element Creation , Geometry
    A question that recently came up was how to edit an existing floor profile. This also leads to the question of whether one can access the existing sketch lines through the API and modify them. In the user interface, one...

    November 14, 2008: Wall Compound Layers
    Comments: 13 | Categories: Geometry
    We have examined floor and slab geometry in some detail now, and would like to have a look at walls as well. One important aspect of walls is their internal layering, defined by the compound layer structure. In this post,...

    November 17, 2008: Wall Elevation Profile
    Comments: 16 | Categories: Geometry
    In this post, we explore how to determine the wall elevation boundary polygons, similarly to the floor boundary polygon algorithm. This functionality is frequently requested, last but not least in a comment by Art. The approach is similar to the...

    November 18, 2008: Visual Studio 2008
    Comments: 1 | Categories: Getting Started , News
    Can I use Visual Studio 2008 to develop Revit API applications for Revit 2009? The Revit API is .NET based, which insulates you from certain low-level details and enhances portability and interoperability compared to a more directly linked API such...

    November 18, 2008: Another Revit API Blog
    Comments: 10 | Categories: AU 2008 , Events , News
    My friend Monika just pointed out Matt Mason's blog to me, mainly due to his nice praise for The Building Coder. Thank you, Matt! And thanks to Monika for pointing it out. Matt covers a variety of CAD application development...

    November 19, 2008: Exploring Element Parameters
    Comments: 15 | Categories: Debugging , Getting Started , Parameters , Utilities
    Most non-geometrical element data in Revit is stored in element parameters, so this is obviously an important topic, and one that we have not explored much yet. We did touch on it when discussing adding a shared parameter to a...

    November 21, 2008: Defining a New Parameter
    Comments: 4 | Categories: Parameters
    Here are some frequent questions regarding the creation of new parameters: I want to store a new parameter in a Revit document. Is there a way to do this without binding it to a specific category? Is it always necessary...

    November 24, 2008: RealDWG and Object Enablers
    Comments: 14 | Categories: DWG
    Revit uses the RealDWG toolkit to implement the DWG file export and import functionality. A frequent question is whether there is any way to hook into this functionality, and how this relates to custom objects and DBX object enablers, like...

    November 26, 2008: Running AutoCAD inside Revit
    Comments: 14 | Categories: DWG
    The preceding post on RealDWG and object enablers discussed one potential method for making use of AcDb functionality to read and write AutoCAD DWG files inside of Revit. Assuming that you have a license for a full version of AutoCAD...

    November 28, 2008: Formatting unit strings
    Comments: 5 | Categories: Parameters , Units
    What methods can I use to create a properly formatted unit string according to the project units? If the value you are formatting resides in a Revit parameter, the answer is simple and a complete solution immediately provided by the...

    December 1, 2008: Wall Graph
    Comments: 6 | Categories: Element Relationships
    How can I retrieve the wall graph from the Revit API? I am trying to retrieve the wall connections or wall graph from a Revit drawing using the API. In AutoCAD Architecture, this is exposed through the wall graph class....

    December 2, 2008: AU Begins
    Comments: 0 | Categories: AU 2008 , Climbing , Events , News
    I have now arrived safely and happily at AU, with a day or two to acclimatise, un-jetlag, enjoy desert and nature and go climbing with Lisa and Steve on limestone in the Gun Club and with Manuela and Norbert on...

    December 3, 2008: Document IsModified Property
    Comments: 3 | Categories: Getting Started , Transaction
    Looking at the Document.IsModified property, one quickly notices that it is frequently set, even if no real modifications have been applied to a document. One reason for this is that every execution of an external command returning IExternalCommand.Result.Succeeded will cause...

    December 4, 2008: Parameter Modification Performance
    Comments: 3 | Categories: AU 2008 , Parameters , Performance , RME
    I just finished the third and final of my presentations at AU 2008 and had a great time doing so, with enthusiastic and friendly audiences. For a live impression of the atmosphere here, don't miss having a look at Kean's...

    December 5, 2008: Driving Revit from Outside
    Comments: 55 | Categories: External , Transaction , Win32
    We are winding up here at Autodesk University, with a final panel session to meet the AEC API experts yesterday afternoon, and one on advanced use of the Revit API this morning. One topic that keeps cropping up in infinite...

    December 8, 2008: Using Namespaces
    Comments: 19 | Categories: Getting Started
    Autodesk University is done and finished, but no rest for the wicked ... I am now on the Western European stage of the Devdays conference tour, with a first stop in London. On the trip here from Las Vegas, I...

    December 10, 2008: 2D Polygon Areas and Outer Loop
    Comments: 7 | Categories: Algorithm , Geometry
    When I started writing this post I was sitting in McCallan airport in Las Vegas enjoying a delay due to a faulty part added to the already delayed flight back to Europe. By now we have passed through London, Göteborg...

    December 11, 2008: Web Service
    Comments: 2 | Categories: External
    More than half way through our west European DevDays tour, we have had exciting days with lots of meetings, presentations, discussions, questions and answers in London, Göteborg and Frankfurt. Today we are in Milan, with the next stop in Paris...

    December 12, 2008: 3D Polygon Areas
    Comments: 4 | Categories: Algorithm , Geometry
    We continue the discussion initiated in the recent post on two-dimensional polygon area calculation. We can use these areas to determine which of the edge loops is the outer loop versus inner loops defining holes. The polygon with the largest...

    December 13, 2008: 64 bit Revit API Issues
    Comments: 2 | Categories: AU 2008 , Getting Started , News
    Successfully completed this year's conference tour, both Autodesk University and DevDays! This is just a little note to point to some useful information that is available on issues that may occur with Revit add-ins running on the 64 bit platform....

    December 15, 2008: Polygon Transformation
    Comments: 2 | Categories: Algorithm , Debugging , Geometry
    As promised in the discussion on three-dimensional polygon area calculation, I have now implemented some test code to transform the 3D polygon into a horizontal position. I can then ignore its Z coordinate and apply the 2D polygon area calculation...

    December 16, 2008: New Revit Applications
    Comments: 5 | Categories: AU 2008 , Events , External , News , User Interface , Utilities
    What kind of applications can you create today with the Revit API? A lot of exciting new products were displayed at Autodesk University. Lachmi Khemlani, the editor of AECbytes, provides an interesting overview of these in her article on the...

    December 18, 2008: PickOne
    Comments: 9 | Categories: Getting Started , SDK Samples , User Interface
    Here is a small note on how to make use of the PickOne Revit element selection method. For any source code example of how to use any Revit API method, one obvious to start looking is always the global solution...

    December 19, 2008: Linked Files
    Comments: 25 | Categories: Algorithm , DWG , Element Relationships , Filters , Parameters
    Here is pretty thorough exploration by Joe Ye on how to retrieve linked Revit files in a project. The built-in category of a linked Revit file is BuiltInCategory.OST_RvtLinks, and the class storing it in the Revit database is Instance. Therefore,...

    December 20, 2008: Happy Holidays
    Comments: 2 | Categories: Events , News
    I am taking a two-week break over the holiday season. Hurra! My blog output will slow down or more probably stop completely during this time. I wish all the readers of "The Building Coder" the very best. Thank you for...

    January 2, 2009: Happy New Year 2009
    Comments: 0 | Categories: Climbing , Events , News
    This break is great. I am really relaxing, and this machine is taboo ... and yet ... This is just a short note to say that I am having a good time, enjoying life, spending time with my kids and...

    January 5, 2009: Family Category and Filtering
    Comments: 5 | Categories: Element Relationships , Filters , Getting Started
    So here we are in a brand new year, 2009. Welcome back! Here is an interesting question regarding families, their categories, and filtering, raised last year by Martin Schmid of Autodesk. Question: In the following code, I attempt to use...

    January 6, 2009: Revit Serial Number
    Comments: 21 | Categories: External
    Here is a short and simple question with a simple answer. Question: How can I determine the Revit product's serial number? Answer: The Revit serial number is available in the Licpath.lic file, which is a text file located in the...

    January 7, 2009: Creating a Viewport
    Comments: 6 | Categories: Element Creation , Element Relationships , SDK Samples
    Here is another short and simple question and answer session from a dialogue between Greg Wesner and Harry Mattison, both of Autodesk. Question: I’m wondering if there is a way to create a new viewport on a sheet. I would...

    January 8, 2009: F# Programming Contest
    Comments: 0 | Categories: Algorithm , Events , F# , News
    Kean Walmsley just announced a programming contest using the exciting new functional .NET language F#. Since functional programming has many uses in all realms including architecture, there should be lots of scope for making use of it in conjunction with...

    January 9, 2009: Viewports and Sheets
    Comments: 13 | Categories: Element Relationships
    Jochen Reichert of the University of Stuttgart asks: How can I determine all the view ports of a drawing sheet and vice versa? To determine the view ports of a drawing sheet, you can simply use the ViewSheet Views property....

    January 12, 2009: PlanTopology Class
    Comments: 0 | Categories: Element Creation , Element Relationships
    Another question raised by Jochen Reichert of the University of Stuttgart last week was the use of the PlanTopology class and its members, which include: Circuits Level Phase Rooms This class represents a plan topology within the Revit project and...

    January 14, 2009: Hiding Linked Files
    Comments: 10 | Categories: DWG , Element Relationships
    Rod Howarth raised a question in the discussion on linked files: Question: I'm trying to make a command to turn off the visibility of linked Revit and DWG models in the current view. The intent is to turn off the...

    January 15, 2009: Barcelona Questions
    Comments: 4 | Categories: Element Creation , Element Relationships , Events , Filters , Parameters , SDK Samples , Transaction , Win32
    Thanks to Alex Vila Ortega of Autodesk Spain, I spent the last couple of days here in Barcelona giving a training class on the Revit API, with lots of professional and enthusiastic participants. Here are some of the questions that...

    January 16, 2009: Filter for Hosted Elements
    Comments: 0 | Categories: Element Relationships , Filters , Parameters
    Today was the last day of the Revit programming training here in Barcelona. One of the items we examined is yesterday's suggestion to use API filtering and the HOST_ID_PARAM to select the doors and windows hosted by a specific wall....

    January 17, 2009: Hello F# via C#
    Comments: 0 | Categories: F# , News
    Still in Barcelona, after a very interesting day spent with Alex Vila Ortega, who gave us on a tour of the Sagrada Familia cathedral by the famous Catalan architect Antoni Gaudi to discuss the interesting mathematical and geometrical aspects of...

    January 18, 2009: Transactions
    Comments: 6 | Categories: Events , Transaction
    We recently mentioned the need to open a transaction in an event handler. In that case, the transaction was required in a handler for the document closed and saved events on the application object. Here is another similar case involving...

    January 19, 2009: Toolbar Image List
    Comments: 2 | Categories: Getting Started , SDK Samples , User Interface
    Question: How can I define a separate icon for each item in a toolbar? I only see one single property on the Toolbar class, Image, which gets or sets the collection of images available to the toolbar button controls. But...

    January 19, 2009: Transaction Responsibility
    Comments: 0 | Categories: Events , Transaction
    The last post on transactions explained the need to open a transaction of our own before trying to modify a document during an event. That is actually not all. We also need to remember that starting a transaction is not...

    January 20, 2009: Room and Wall Adjacency
    Comments: 9 | Categories: Element Relationships , Geometry , SDK Samples
    Question: How can I obtain the part of a wall that touches a room, especially its face area? The wall can be adjacent to more than one room. Answer: You will probably find the Room object's Boundary property useful. It...

    January 21, 2009: Database Integration
    Comments: 4 | Categories: Element Relationships , Events , External , SDK Samples
    Here is an in-depth analysis of integrating Revit with external databases or other data sources performed end of last year by Miroslav Schonauer of Autodesk Consulting. Miro is a Senior Solution Architect in the AEC Solutions Division of Autodesk Consulting...

    January 22, 2009: Element Caching
    Comments: 0 | Categories: Element Relationships , Events , Filters , Performance
    Here is a question from Julien Duprat of Vertice: Question: I would like to know the best practises for data caching. This topic is mentioned in your tutorial on "Ten Steps for enhancing your Revit add-in". Specifically, I wonder: How...

    January 22, 2009: Walls and Doors on Two Levels
    Comments: 12 | Categories: Element Creation , Element Relationships , Geometry , Getting Started , Parameters
    Here is a little note to answer a question from Berria on creating walls and doors on two separate levels. This is a slightly edited version of the original query: Question: I need to create a house with two floors....

    January 23, 2009: AutoHotKey
    Comments: 3 | Categories: External , News , User Interface , Utilities , Win32
    Automate beyond the API ... Some parts of the Revit functionality are not yet accessible through the API, even though are repetitive tasks that are trivial to perform manually and a lot of work could be saved by automating them....

    January 24, 2009: Happy New Year in the East
    Comments: 0 | Categories: News
    I am always happy this time of year to hear from my far eastern colleagues about the biggest Chinese festival of the year, the Spring Festival and Chinese New Year. Here is calligraphy on this year's celebration that we received...

    January 26, 2009: Unit Types and Format Options
    Comments: 2 | Categories: RME , Units , User Interface
    Here is a question from Matt Mason and some exhaustive research results by Saikat Bhattacharya of Autodesk on unit types and their format options. To provide some context, UnitType is an enumeration listing all the unit types supported by Revit....

    January 27, 2009: Use F# Directly in Revit
    Comments: 6 | Categories: F# , Getting Started , News
    Still struggling to load a native F# module directly as a Revit add-in? Ralf Huvendiek had a quick look at this issue and created all three different flavours of external commands implemented in F# that can be called directly as...

    January 28, 2009: Room and Wall Adjacent Area
    Comments: 2 | Categories: Algorithm , Element Relationships , Geometry
    I continued the discussion on the room and wall adjacency with Massimiliano Revelli of Informatica System srl, because he is actually interested in determining the wall area adjacent to the room, and not just the overlapping curve segment length. The...

    January 29, 2009: Mechanical Duct Types
    Comments: 0 | Categories: Parameters , RME
    Question: When selecting duct type properties, under the mechanical heading, various fitting property values are specified. How can I find out what property a given fitting belongs to, i.e. is it an elbow, a transition or cross etc.? Obviously, the...

    January 30, 2009: Category Comparison
    Comments: 1 | Categories: Element Relationships , Getting Started , SDK Samples
    Still giving Revit Structure API training in Verona, Italy, we ran into a problem in one of the Revit SDK samples today. The FrameBuilder sample works with structural beams and framing elements. It implements a FrameData class which defines an...

    January 31, 2009: Verona Revit API Training
    Comments: 4 | Categories: Geometry , Getting Started , News , User Interface
    Yesterday was the last day of the advanced Revit Structure API training at Steel & Graphics srl in Verona, Italy, with Gianni, Stefano, Michele, Paolo, and we started diving into deeper topics. But first, here are some of the initial...

    February 2, 2009: Revit Window Handle and Modeless Dialogues
    Comments: 15 | Categories: External , User Interface , Win32
    Even though we cannot make use of the Revit API unless we are inside a Revit external command context, which is a modal state, there is still a lot of very useful functionality that can be provided with the help...

    February 3, 2009: Creating a Group and How to Fish
    Comments: 17 | Categories: Element Creation , Element Relationships , Getting Started , Group , SDK Samples
    Here is a question from Henry Medina on creating groups that might be of interest to a wider audience: Question: I have listened to your TV recording several times and was also able to run the Labs project. Your Labs...

    February 4, 2009: Compound Wall Layer Volumes
    Comments: 0 | Categories: Element Relationships , Geometry , Parameters , Units , User Interface
    Here I continue the discussion of one of the topics that were raised in the Revit API training in Verona last week. We can combine the two discussion strands analysing wall areas and compound wall layers to calculate the volumes...

    February 5, 2009: Creating a Wall with a Sloped Profile
    Comments: 31 | Categories: Element Creation , Geometry , Getting Started
    Here is a question from Winnie on the creation of walls with a sloped profile: Question: I'm having problems trying to create walls that have constant sloped top edge. I tried using the NewWall method and passed in a CurveArray...

    February 5, 2009: Developer Days Online
    Comments: 0 | Categories: Events , News
    Kean just revealed our plans for Developer Days Online, where we present overviews of the upcoming new Autodesk products and their APIs. The AEC related presentation will take place on February 12, 2009 at 4pm GMT, 5pm CET, 8am PDT,...

    February 6, 2009: Converting to Filters
    Comments: 2 | Categories: Element Relationships , Filters , Getting Started , Performance , SDK Samples
    This is a follow-up on the category comparison topic we brought up during the Revit Structure API training in Verona, Italy. We first ran into a language problem in the Revit SDK FrameBuilder sample and fixed that by converting the...

    February 9, 2009: Inserting a Column
    Comments: 14 | Categories: Element Creation , Element Relationships , Filters , Getting Started , Parameters , Units
    Here I continue the discussion of another of the topics that were raised in the Revit API training in Verona last week, on creating new column types and inserting column instances through the API. We explored the following topics: Retrieving...

    February 10, 2009: Bolt out of the Red
    Comments: 3 | Categories: External , News , User Interface , Win32
    Here is a short note to point out that Guy Robinson has posted some interesting Revit API solutions on his blog Bolt out of the Red. One that I found especially useful is on how to get a bitmap or...

    February 11, 2009: Inserting a Beam
    Comments: 25 | Categories: Element Creation , Element Relationships , Filters , Geometry , Getting Started , Parameters , SDK Samples , Units
    This is the final Verona installment, discussing the last remaining topic raised in the Revit API training in Verona the week before last, on creating new beam types and inserting beam instances through the API. Similar to the exploration concerning...

    February 12, 2009: List Railing Types
    Comments: 20 | Categories: Debugging , Element Relationships , Filters , Getting Started
    This is in response to a query from Berria on iterating over the railing types in the model. It is also once again about teaching how to fish, and not just feeding people, at least I hope so. If I...

    February 13, 2009: Boolean Operations for 2D Polygons
    Comments: 6 | Categories: Algorithm , Element Creation , External , Geometry , Utilities
    Friday the thirteenth! What has gone wrong so far today? Keeping my fingers crossed ... We recently discussed the issue of determining the wall area adjacent to a room and mentioned the fact that the simplest way to calculate such...

    February 16, 2009: Locked Dimensioning
    Comments: 16 | Categories: Debugging , Element Relationships , Parameters
    Here is a little exploration I embarked upon prompted by a question from Pierre-Nelson Navarra. It starts off as a rather esoteric search for connections between objects that have no API-accessible data, but ends up with a surprising twist, the...

    February 17, 2009: Utilizing Revit API Resources
    Comments: 18 | Categories: External , Getting Started , News , Parameters , SDK Samples
    Happy Birthday to The Building Coder Hooray! This is the hundredth posting to The Building Coder. I am celebrating by having a wonderful cup of chai and a muesli with my dear friend Andreas in the middle of a snowstorm...

    Feed & Share