Jeremy Tammik

August 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
31            


Twitter Updates

    follow me on Twitter
    August 29, 2014: Revit Server Thumbnail Requires Redistributable
    Comments: 0 | Categories: Fun , REST , Server
    Here is a quick answer to a simple Revit Server question to close for this week: Question: My application retrieves thumbnails of models stored on Revit Server 2014 via REST calls using the following code: WebRequest request = WebRequest.Create( "http://"...

    August 28, 2014: Exploring How to Remove a Shared Parameter Definition
    Comments: 0 | Categories: Debugging , Deletion , Getting Started , Parameters , RevitLookup
    Here is yet another example of the importance of the RevitLookup database exploration tool. In this case, Trevor Taylor of ZGF, Zimmer Gunsul Frasca Architects LLP, shows his use of it to discover how to remove a shared parameter definition....

    August 27, 2014: DevDay, Meetup and Hackathon Event Calendar
    Comments: 0 | Categories: 2015 , AU , Events , Hackathon , Meetup , News , Schedule , Training , Travel , View
    Here is a list of upcoming events, most of which I will be involved in in one way or another: DevDays 2014 DevDay & DevHack in Las Vegas Meetups and Hackathons DevDays 2014 Here is the list of cities and...

    August 26, 2014: Accessing Extensible Storage on OwnerFamily in Project
    Comments: 0 | Categories: 2015 , Algorithm , Data Access , Debugging , Events , Family , Migration , RevitLookup , Storage
    A couple of developers reported a problem accessing extensible storage data on families when they are loaded into a project in Revit 2015. This problem did not occur in previous versions. Luckily, a workaround is possible right now, designed and...

    August 25, 2014: How to Fail, Still Win Big and Handle Duplicate Types
    Comments: 0 | Categories: Element Creation , Failure , Family , Fun , Philosophy
    Let's start this week with a couple of interesting topics that have been hanging around a while up, one Revit API related and not: How to fail at almost everything and still win big Handling duplicate types when copying elements...

    August 24, 2014: Striving for Personal Peace Continued
    Comments: 2 | Categories: Philosophy
    Yesterday, I spent a day with a group of seven friends to talk and share our everyday issues based on the principles of non-violent communication, sharing and council. Now, after almost two years of meeting regularly like this, we have...

    August 22, 2014: Three.js AEC Viewer Progress on Two Fronts
    Comments: 2 | Categories: Adva , Cloud , Hackathon , JavaScript , JSON , Mobile , REST , va3c , View
    Along with our everyday workload, my colleagues and I are busy playing with the View and Data API and the powerful WebGL based viewer that is on the verge of release. Meanwhile, very significant progress has also been made on...

    August 21, 2014: Document Version, GUID and Number of Saves
    Comments: 0 | Categories: 2015 , Data Access , External , Git , Migration
    Alexander Buschmann of the IDAT Ingenieurbüro für Datenverarbeitung in der Technik GmbH added a new comment to the interesting discussion on detecting family modification: I'm a little bit late, but still: Since Revit2015 there is a class 'DocumentVersion' – it...

    August 20, 2014: Setting the Phase of a View
    Comments: 0 | Categories: Data Access , Parameters , View
    Here is a quick summary of one of the many issues being discussed on the Revit API forum, on changing the phase of a view, with a quick and happy conclusive result: Question: Is it possible to change the phase...

    August 19, 2014: Accessing Discipline and Duplicating View Template
    Comments: 0 | Categories: 2015 , Data Access , Discipline , Element Creation , VB , View
    I am back again in the land of the livin...

    August 12, 2014: Activate Your Family Symbol Before Using It
    Comments: 5 | Categories: Debugging , Element Creation , Family , Regen , Transaction
    Here is an interesting case with a simple solution that was rather hard to discover. In summary, you need to ensure that all family symbols are activated before making use of them. Question: I'm having a strange problem when replacing...

    August 11, 2014: Accessing a Revit Server Central Model Path
    Comments: 0 | Categories: REST , Server , Settings
    I am still enjoying my summer break, and back to work temporarily for just a couple of days in between. For today, I present the following summary of a recent discussion on accessing a Revit server central model path including...

    August 7, 2014: Autodesk Exchange Apps Hackathon
    Comments: 0 | Categories: Apps , BIM , Exchange , Getting Started , Hackathon , News , Training
    I am having a nice break. Here is a little news item on an exciting and profitable upcoming event to let you know I am still alive. Let's start with a brief historical flashback: Autodesk Exchange Apps Portathon September 13-14,...

    July 31, 2014: View and Data API Presentation Material
    Comments: 1 | Categories: 360 , Adva , Cloud , Mobile , View
    I presented the Autodesk View and Data API at the Basel.js meetup yesterday evening. Now I would like to share the material that I showed with you as well: Appetiser demos Introduction Slide deck and notes Curl shell scripts for...

    July 30, 2014: Launching a Stand-alone Executable
    Comments: 0 | Categories: .NET , External , gbXML , Getting Started , User Interface
    A colleague of mine asked for some help implementing a Revit add-in to launch an external stand-alone Windows executable from the Revit user interface. Since this might be useful to others as well, here is a summary of our discussion...

    July 29, 2014: Basel.js Meetup View and Data API Demo
    Comments: 0 | Categories: 360 , Adva , Climbing , Cloud , Data Access , Git , JavaScript , Meetup , Mobile , REST , View
    I am busy right now answering Revit API cases as usual, and preparing my Basel.js meetup View and Data API presentation for tomorrow evening. One of the cases caused me to add yet another iteration to last Friday's note on...

    July 24, 2014: Teaching a Man How To Fish and Schedule Creation
    Comments: 2 | Categories: 2013 , Data Access , Element Creation , Getting Started , Schedule , SDK Samples , Training
    As you all know, we at ADN spend a significant amount of our time ensuring that API information is available and easy to find for all. In order to find something, though, you often need to invest at least a...

    July 23, 2014: Wishlist, Blogging, Smartgeometry, Dynamo and FormIt
    Comments: 0 | Categories: Dynamo , FormIt , Geometry , News
    Here is today's bunch of exciting topics: Revit API wishlist survey results Blogging tips and tricks Smartgeometry 2014 conference Dynamo enhancements Dynamo and FormIt win Best in Show at AIA 2014 Completely lacking hardcore API stuff, for a change. Revit...

    July 22, 2014: Upgrading Family Files Silently, Part 2
    Comments: 2 | Categories: 2014 , Data Access , Family , Ribbon , Update , Utilities
    Last week, I provided some suggestions for upgrading family files silently, i.e. suppressing the warning messages displayed for every family file that requires updating when being loaded into a project, requiring a user confirmation for each one: Use a Revit...

    July 21, 2014: CreateLinkReference Sample Code
    Comments: 0 | Categories: 2014 , DMU , Element Relationships , Filters , Geometry , Links
    The Revit 2014 API introduced a whole bunch of linked RVT document interaction enhancements: Identifying links Obtaining linked documents Link creation Link load and unload Link path type Conversion of geometric references Room tag creation from linked rooms Picking in...

    July 16, 2014: The Road Ahead
    Comments: 0 | Categories: Cloud , Mobile , News , REST , Training
    Here is a recent presentation that I would like to share with you by Jim Quanci, Senior Director of the Autodesk Developer Network ADN, on current business aspects of interest to Autodesk, the industry in general, and obviously also us...

    July 15, 2014: Upgrading Family Files Silently
    Comments: 0 | Categories: Data Access , Family , Update
    Here is a recent case that I like and can share with you just as it is: Question: My add-in loads a number of predefined families into the current document. However, if many of them were saved in a previous...

    July 14, 2014: Autodesk View and Data API
    Comments: 0 | Categories: Adva , AU , Data Access , Family , Installation , View
    I was away for a few days last week in the beautiful Italian speaking southern part of Switzerland. Back again, as usual, I am confronted with a host of Revit API issues. The most important event last week for me...

    July 3, 2014: Moving an External Command Button within the Ribbon
    Comments: 4 | Categories: .NET , Automation , News , Ribbon , User Interface
    I recently presented Frode Tørresdal's unofficial custom ribbon button implementation showing how you can add a custom button that Revit knows nothing about to the ribbon and hook it up with the Idling event to perform some action requiring access...

    July 2, 2014: IFC GUID Algorithm Update and Family Modification
    Comments: 6 | Categories: 2015 , Algorithm , Debugging , Family , Git , IFC , Parameters , Update
    Two short topics for today, an important little IFC GUID algorithm bug fix and some thoughts on detecting family modification. IFC GUID Algorithm in C# Update Håkon Clausen implemented a bug fix update and created a GitHub repository for the...

    July 1, 2014: Referenced Files as a Service
    Comments: 1 | Categories: 2015 , Data Access , External , SDK Samples
    Many presentations at the Autodesk Technical Summit were confidential, but not all. One important class on published functionality of general interest that we can share here is 1-3 Referenced Files as a Service – a new way to provide data...

    June 30, 2014: Write Revit Add-ins No Coding Experience Required
    Comments: 0 | Categories: .NET , Getting Started , Git , Training , Wizard
    Adam Sheather of YTL Corporation created and presented a complete and in-depth Revit API introduction titled Learn to Write Add-ons No Coding Exp Required! for RTC, the Revit Technology Conference 2014, held in Australia, Europe and North America. He describes...

    June 27, 2014: AdnRme Migrated to Revit MEP 2015 on GitHub
    Comments: 13 | Categories: 2015 , Git , Migration , Parameters , RME
    John asked a very relevant question in a comment on the Revit 2015 Update Release 3 that prompted me to complete the rather overdue migration of the ADN Revit MEP sample add-in AdnRme to Revit MEP 2015. I also took...

    June 26, 2014: Refresh Element Graphics Display
    Comments: 0 | Categories: Algorithm , JavaScript , Regen , Schedule , Transaction , View
    I talked about how to refresh element graphics display back in 2011, and it seems like the time has come to revisit that topic. After that, I also want to mention an approach to determine the height of a schedule...

    June 24, 2014: Revit 2015 Update Release 3
    Comments: 7 | Categories: 2015 , Element Creation , Update
    Revit 2015 Update Release 3 has been published. It includes a large number of important new enhancements, as well as the improvements provided by the update releases 1 and 2. I count the following numbers of bullet items in the...

    June 23, 2014: Back from Sweden
    Comments: 0 | Categories: Element Creation , Geometry , Photo , Travel
    I returned from my wonderful relaxing outdoor vacation in the vast nature of Sweden and had numerous simple Revit API questions waiting for me on my return, e.g. Annotation Location property Placing ElementType instances Commercial use of the Revit API...

    June 10, 2014: Room Editor Live and Unofficial Custom Ribbon Button
    Comments: 6 | Categories: .NET , Automation , Cloud , Desktop , Events , External , Git , Idling , Mobile , Ribbon , Travel , User Interface
    I spent a wonderful weekend and yesterday's Whit Monday holiday enjoying high summer in Swiss nature with no electricity and a Chäschessi, the Swiss variant of a Jacuzzi or hot tub. Today I am leaving for a ten-day camping vacation...

    June 5, 2014: Technical Summit Day 1 and Removing RVT References
    Comments: 0 | Categories: Algorithm , Cloud , JavaScript , Links
    Yesterday was the first day of the Autodesk internal Technical Summit in Toronto, and pretty exciting. Also, I just had a note from Norway on how to remove references that looks worthwhile sharing. So here is a list of today's...

    June 2, 2014: The Revision API and a Form on the Fly
    Comments: 4 | Categories: .NET , 2015 , Data Access , Git
    Poetical, ain't it? One of the major Revit 2015 API additions is access to revisions. All prior versions provided very limited access to revision data in a project. Here are some things people achieved in spite of the limitations: Max'...

    June 1, 2014: RoomEditorApp Plurals and Free Educational Software
    Comments: 0 | Categories: Desktop , Getting Started , Music , Training
    Yesterday, I mentioned some last-minute clean-up of the JavaScript part of my room editor, adding the handlebars module and a call to refresh on save. Today, for the sake of completeness, I'll add a last-minute pass over the Revit add-in...

    May 31, 2014: Room Editor with Handlebars and Refresh
    Comments: 0 | Categories: Cloud , Git , HTML , JavaScript
    Somehow, I have a much harder time documenting my JavaScript exploits than my Revit API ones. The Autodesk Tech Summit is taking place in Toronto next week, and I am making those potentially disastrous last minute changes that every sane...

    May 30, 2014: Revit API Wishlist Survey
    Comments: 0 | Categories: News , Update
    Once again, the time has come for another round of API wishlist surveys. Revit 2015 Add-In Manager Before getting into the details of that, let me mention Augusto Gonçalves's useful note on the modified installation procedure for the Revit 2015...

    May 29, 2014: Exchange Apps Webinar Recording and Resources
    Comments: 0 | Categories: Apps , DevTV , Events , Installation , Training
    As you certainly know by now, the Autodesk Exchange Stores provide an efficient means to showcase and distribute your applications addressing a large world-wide audience. Furthermore, it is very easy. As krispy just said in this Revit API forum thread...

    May 28, 2014: Updated SDK, DevTV, BIM 360 News and Viewer
    Comments: 5 | Categories: BIM , Glue , JavaScript , News , SDK Samples , View
    A whole bunch of updates, with the last one mentioned being the most exciting by far: Revit SDK Update Release 2 DevTV Introduction to Revit 2015 API Programming DevDay Online – BIM 360 Glue DevDay Online – BIM 360 Field...

    May 27, 2014: ADN Revit 2015 API Training Material
    Comments: 0 | Categories: 2015 , Fun , Git , SDK Samples
    The ADN Revit API Training Material available on GitHub from the RevitTrainingMaterial repository has now been updated for the Revit 2015 API. Here is a direct link to download it as a zip archive. The Revit 2014 version is still...

    May 26, 2014: Properties in DWF, IFC, Tables and Extensible Storage
    Comments: 0 | Categories: Climbing , DWF , IFC , Parameters , Storage , Update
    Let's discuss a couple of questions that accumulated recently on various aspects of properties in general: Properties in DWF export Mapping Revit and IFC properties Storing a table in a project Updating versus adding new extensible storage schemas Before getting...

    May 22, 2014: TessellateSolidOrShell – Holes Versus Wholes
    Comments: 2 | Categories: Algorithm , Export , Geometry , Performance
    Let's try to clarify further the various options to retrieve closed faceted shells from a Revit BIM. When processed face by face, the Revit API will return gaps. This issue was addressed by the introduction of the TessellateSolidOrShell method. Let's...

    May 21, 2014: RvtVa3c Assembly Resolver
    Comments: 6 | Categories: .NET , Git , JavaScript , JSON , va3c
    One of the RvtVa3c implementation aspects that I mentioned was the fact that we ran into some problems using the standard .NET Microsoft System.Runtime.Serialization.Json.DataContractJsonSerializer class and chose to replace it with the more reliable Json.NET component instead. Serialisation is required...

    May 20, 2014: Views Displaying Given Element, SVG and NoSQL
    Comments: 2 | Categories: .NET , DWF , Export , Filters , Git , Hackathon , JSON , Performance , SVG , View
    I am slowly getting back to normal working mode after the AEC Hackathon last weekend and the neat project that we worked on there, so I finally get around to publishing this post that I started working on last week....

    May 19, 2014: RvtVa3c – Revit Va3c Generic AEC Viewer JSON Export
    Comments: 0 | Categories: Cloud , Desktop , Export , Geometry , JavaScript , JSON , Mobile , Utilities
    When you read this, I will already be sitting on the plane back from New York to Switzerland. Before leaving, though, I wanted to add some more explanations on the extremely fruitful work we accomplished this weekend. I am very...

    May 18, 2014: AEC Hackathon – From the Midst of the Fray
    Comments: 0 | Categories: Cloud , Desktop , Export , Geometry , Hackathon , JavaScript , JSON , Mobile
    The New York AEC Symposium and Hackathon is nearing its conclusion. The end and final result demos are scheduled for Sunday noon, coming up all too soon. A bunch of us have been working non-stop through the night since Saturday...

    May 16, 2014: New York Travel Preparation and ADN Job Opening
    Comments: 0 | Categories: Hackathon , News , Photo , Travel
    Friday – travel to New York to spend the weekend at the AEC Symposium and Hackathon. Before leaving, I revelled briefly in nature, celebrating a couple of hours of moderate weather after the cold and wet spell lately, before spending...

    May 15, 2014: DirectShape Performance and Minimum Size
    Comments: 0 | Categories: 2015 , Element Creation , Performance
    One of the exciting API enhancements in Revit 2015 is the Import API functionality providing the new DirectShape and TessellatedShapeBuilder classes. These enable significant performance enhancements and powerful new possibilities for generating libraries and importing geometry, especially repetitive shapes. On...

    May 14, 2014: Project Solon and BipChecker for Revit 2015 on GitHub
    Comments: 0 | Categories: 2015 , BPA , Data Access , Debugging , External , GBS , Getting Started , Git , Migration , Parameters , Utilities
    One of the handful of Revit database exploration tools that I use on a regular basis is BipChecker, the Revit built-in parameter checker, so that is a pretty obvious candidate for migration to Revit 2015... see below. Before I get...

    May 13, 2014: AEC Hackathon, DevGuide URL and AppStore Webinar
    Comments: 0 | Categories: Apps , Exchange , Getting Started , Hackathon , News , SDK Samples , Training , Update
    As mentioned, I registered for the upcoming AEC Symposium and Hackathon in New York this coming weekend, May 16-18. You can learn more about both at http://core.thorntontomasetti.com/aec-technology-symposium-2014, and especially check out the interesting projects proposed for the AEC Hackathon. I'm...

    May 12, 2014: Add-In Wizards for Revit 2015
    Comments: 1 | Categories: 2015 , Getting Started , Migration , Update , Utilities , VB , Wizard
    I updated my Visual Studio Revit add-in wizards for Revit 2015. The 2015 version generates the same boilerplate code as the reliable old Revit 2014 one and its update did, which can be simply deleted if not needed. I selflessly...

    May 9, 2014: Room Editor Element Properties and the Async Trap
    Comments: 0 | Categories: Algorithm , Cloud , JavaScript , REST , SVG
    I made significant progress with my Tech Summit preparations, in spite of trying to "dance at many weddings", as the Germans say, i.e. juggle too many balls at once, what with new technologies, meetups, hackathons, AU preparations, support cases, email...

    May 8, 2014: Multithreading Throws Exceptions in Revit 2015
    Comments: 6 | Categories: 2015 , Data Access , Debugging , Migration , Modeless , Update
    I have received several cases lately dealing with add-ins that have been working fine in previous versions of Revit and now throw various exceptions after migration to Revit 2015. Similar issues were also raised in the Revit API discussion forum,...

    May 7, 2014: On Handling Warnings and Failures
    Comments: 0 | Categories: 2015 , Failure , Getting Started , Migration , SDK Samples , Training , Update
    Many aspects of detecting and handling dialogues and failures have been discussed in the past. Let's look at this area again, based on two recent questions, a basic and an advanced one, and also mention some Revit 2015 enhancements to...

    May 5, 2014: New Revit 2015 SDK Samples
    Comments: 1 | Categories: 2015 , Migration , RevitLookup , RST , SDK Samples , Update
    Rather belatedly, I went through my usual analysis of the Revit SDK to determine the new samples added to the Revit 2015 SDK. While I was at it, I also migrated the DevDays samples for Revit 2015 UR1, since some...

    May 2, 2014: IFC Exporter Open Source Wiki
    Comments: 0 | Categories: 2015 , External , IFC , Update , Utilities
    As you certainly know, the Revit IFC exporter is open source and available from the sourceforge IFC Exporter for Revit project repository. It has now been updated to Revit 2015, obviously, covers import as well as export, and enhanced with...

    April 30, 2014: Revit as a Service and Sheet-View-Element Transforms
    Comments: 0 | Categories: Desktop , Element Relationships , Events , External , Geometry , Idling , Server , View
    Several people recently brought up the question of running Revit as a service, e.g. in this Revit API forum discussion thread, so let us take a closer look at that. I also finally got around to making some seriously overdue...

    April 28, 2014: Element Id – Export, Unique, Navisworks and Other Ids
    Comments: 4 | Categories: Data Access , DWF , Element Relationships , Export , IFC
    Here are a couple of discussions on the topic of Revit element ids, unique ids, and export ids. Some have been hanging around for a while, while others are more recent. We already looked at some aspects of this in...

    April 27, 2014: WAV Database, Python and GUI Tutorials
    Comments: 1 | Categories: MP3 , Music , Python
    My son Christopher is thinking of creating a music database for his personal use supporting some strict requirements that other databases do not fulfil. That prompted me to jot down some advice and a couple of starting points. The initial...

    April 26, 2014: Hackergarten Meetup
    Comments: 0 | Categories: Git , Hackathon , Utilities
    In order to become more immersed and fluent in web and mobile technologies, I participated in the Hackergarten meetup in Basel last week. We were a dozen people, mostly experienced in large-scale modern web and database technologies. The suggested topics...

    April 25, 2014: What's New in the Revit 2015 API
    Comments: 0 | Categories: 2015 , Getting Started , News , SDK Samples , Update
    I wanted to publish the 'What's New' section of the Revit 2015 API help file right away after the release of Revit 2015 and was caught up in too many other things. Here it is, at last. The information provided...

    April 22, 2014: WPF Fill Pattern Viewer Control Benchmark
    Comments: 0 | Categories: 2015 , Git , Performance , Utilities , View , WPF
    I recently presented Victor Chekalin's WPF control for viewing Revit fill patterns. In his comment, Victor already mentioned some worries about performance of this control and his intention to create a simple benchmark to monitor it. Well, here it is....

    April 18, 2014: RevitLookup for UR1, ADN, AEC and AU News
    Comments: 2 | Categories: AU , Git , Hackathon , News , ReCap , RevitLookup , Transaction
    Here are some of the non-confidential items from the new confidential April 17 Autodesk Developer News newsletter, plus one or two additional items of interest from myself and elsewhere: AEC Technology Symposium Migrate Autodesk Exchange Apps and publish 2015 versions...

    April 17, 2014: Determining the Size and Location of Viewports on a Sheet
    Comments: 0 | Categories: Desktop , Element Relationships , Git , View
    Today, let's look at how to determine the size and location of a sheet and the views displayed by it. This is part of the first and most Revit-related of the three enhancement goals for my simplified 2D BIM editor:...

    April 16, 2014: Migrating RoomEditorApp to Revit 2015
    Comments: 0 | Categories: .NET , 2015 , Desktop , Git , Migration , Python
    Yesterday I discussed the typical steps you would need to go through to set up a Revit 2015 add-in development environment. My top priority right now is getting my Tech Summit talk prepared, which involves adding some functionality to the...

    April 15, 2014: Compiling the Revit 2015 SDK and Migrating Bc Samples
    Comments: 1 | Categories: 2015 , Getting Started , Migration , Photo , SDK Samples , Update
    As I announced yesterday, Revit 2015 was released last week, the Revit SDK was posted and updated, RevitLookup for Revit 2015 is available on GitHub, the DevDays Online presentation on the new API functionality is available, and I migrated The...

    April 14, 2014: Category Support for Shared Type and Instance Parameters
    Comments: 5 | Categories: .NET , Algorithm , Data Access , Parameters
    Welcome to my last post on the Revit 2014 API, and one final new external command and update of The Building Coder sample collection before we migrate to Revit 2015. Revit 2015 was released last week, the Revit SDK was...

    April 11, 2014: Revit 2015 and Updated SDK Released
    Comments: 8 | Categories: 2015 , News , SDK Samples
    Here is just a quick note to tell you that Revit 2015 was released today, and you can now download it from the Autodesk Revit product site. The Revit 2015 SDK (Software Developers Kit) is also available from the Revit...

    April 11, 2014: Profiling Revit Add-ins and RoomEditorApp Enhancements
    Comments: 0 | Categories: .NET , Debugging , Desktop , Filters , Geometry , Performance
    Today we take a look a profiling tool that works with Revit add-ins, and a few small new enhancements to my RoomEditorApp. The entire following article was contributed by Ben Bishoff of Ideate Software: Profiling Revit Add-ins using GlowCode Performance...

    April 10, 2014: Transaction Group Regeneration for InstanceVoidCutUtils
    Comments: 0 | Categories: Element Relationships , Family , Git , Regen , Transaction
    We looked at a nice example of using Boolean operations and InstanceVoidCutUtils back in the year 2011, cutting out part of a beam using a void cutter family. I tried to make use of this again in a recent Revit...

    April 9, 2014: Revit 2015 API News – DevDays Online Recording
    Comments: 8 | Categories: 2015 , Migration , News , Update , User Interface , VB
    As the Walrus said, now "the time has come ... to talk of many things", including the highlights of the new Revit API functionality, so here we go! Welcome to my first post on the Revit 2015 API, disregarding the...

    April 8, 2014: No DevCamp – Better – NY AEC Technology Symposium
    Comments: 0 | Categories: BIM , External , Hackathon , News , Training
    I have some good news and some bad news for you. The good news is that Autodesk and ADN will be supporting the AEC Technology Symposium taking place in New York City May 16-18. The bad news is that we...

    April 7, 2014: Getting Serious Adding New Materials from List
    Comments: 0 | Categories: Element Creation , Git , Material , Update , User Interface , Utilities
    Here is a post on some serious usability enhancements for the AddMaterials add-in, which reads a list of material properties from an Excel spreadsheet and generates Revit material elements accordingly. It was originally presented for Revit 2011, reimplemented for Revit...

    April 5, 2014: BIM 360 Growing Fast
    Comments: 0 | Categories: 360 , BIM , Cloud , News
    I normally don't go and reprint press releases. They mostly don't have that much technical content, anyway :-) This one is important enough to warrant it, though, and may easily have slipped by you unnoticed if you are purely focussed...

    April 4, 2014: WPF Fill Pattern Viewer Control
    Comments: 5 | Categories: .NET , Git , User Interface , Utilities , WPF
    Today, I present a useful stand-alone WPF control for viewing Revit fill patterns, originally implemented by Victor Checkalin, Виктор Чекалин, shared with us by Alexander Ignatovich, Александр Игнатович, of Investicionnaya Venchurnaya Companiya, as part of further enhancements for the AddMaterial...

    April 3, 2014: RevitLookup for Revit 2015
    Comments: 2 | Categories: 2015 , Data Access , Debugging , Element Relationships , Getting Started , Migration , RevitLookup , SDK Samples , Utilities
    My first post dealing with Revit 2015 is dedicated to RevitLookup, the most important Revit database exploration tool, both for developers and interested non-developers. This is particularly urgent, since RevitLookup no longer is included in the standard Revit SDK (software...

    April 2, 2014: Selecting Sheets instead of Views in the RoomEditorApp
    Comments: 2 | Categories: .NET , Algorithm , BIM , Desktop , Git , View
    Today I look at interactively picking sheets to export, instead of views. First, however, I must mention the list of April Fool's posts compiled by Stephen Preston, including my own visionary idea to recycle waste as insulation and curtain wall...

    April 1, 2014: Automating Large Scale Waste Recycling and Sustainability
    Comments: 0 | Categories: BPA , Fun , News , Print
    Today we take a forward look at new solutions for the seemingly unrelated issues of waste recycling and sustainability, using rail-mounted robots and 3D printing technology in combination with novel materials: Sustainability 3D Printing Robots on Rails Recycling Waste into...

    March 31, 2014: Category Analysis with and without Python
    Comments: 0 | Categories: Data Access , Python , Utilities
    Here is a useful approach for analysing categories by Alexander Ignatovich of Investicionnaya Venchurnaya Companiya, originating from the following query: Question: How can I check that a given family is an annotation? For example, I have a family with BuiltInCategory.OST_GridHeads...

    March 29, 2014: Adding New Materials from List Enhancements
    Comments: 0 | Categories: Git , Material , Settings , Update , Utilities
    A weekend post, for a change. There is just too much going on! I recently reimplemented the AddMaterials add-in for Revit 2014, updating the simple little Revit 2011 system to generate new materials in a Revit project based on a...

    March 28, 2014: Creating a Sloped Floor
    Comments: 0 | Categories: Element Creation , Git , SDK Samples , User Interface
    Today, let's look at an interesting and overdue topic raised by the query on creating a sloped floor in the Revit API discussion forum, addressed with help from Jaap van der Weide and Joe Ye.Before getting to that, let me...

    March 26, 2014: Cannot Get BindingMap of a Family Document
    Comments: 3 | Categories: 2014 , Data Access , Family , Migration , Parameters
    Here is an issue trying to access the binding map of a family document that just re-arose as a new ADN support case. It took me a while (thank you, Google) to discover that I had actually already answered the...

    March 25, 2014: Selecting Visible Categories from a Set of Views
    Comments: 0 | Categories: .NET , Desktop , Git , Material , User Interface , View
    Today I look at interactively picking specific categories to export to the simplified 2D BIM editor cloud database from a list of all categories retrieved from a collection of elements displayed in a given set of plan views. This is...

    March 24, 2014: Another Balloon Tip Implementation
    Comments: 3 | Categories: .NET , User Interface , Utilities
    Alexander Ignatovich, or Игнатович Александр, responds to the recent discussion on using balloon tips in Revit and says: I want to share another solution for balloon tips for custom messages, without using the unsupported AdWindows library. Just see the project...

    March 21, 2014: Using Generic Collections with Filters and Forms
    Comments: 0 | Categories: .NET , Algorithm , Desktop , Filters , Git , View
    Today I discuss some uses of generics to elegantly and efficiently handle lists of Revit elements and .NET Windows forms, specifically: One line of code to retrieve all printable floor plan views from the BIM. One line of code to...

    March 20, 2014: Adding New Materials from List Updated
    Comments: 2 | Categories: .NET , 2014 , Algorithm , Filters , Git , Material , Migration , Utilities
    Back in the year 2010, I discussed a simple little system based on a Revit add-in named AddMaterials to generate new materials in a Revit project based on a list of required material properties stored in an Excel spreadsheet. The...

    March 18, 2014: Storing Revit Add-in Settings
    Comments: 7 | Categories: .NET , Data Access , Settings , Storage
    Here is another tip from the Revit API discussion forum that seems worthwhile cleaning up and making easy to find, on how to store plugin preferences, raised and discussed by Dimi, peterjegan and ollikat: Question: I am trying to find...

    March 17, 2014: Using Balloon Tips in Revit
    Comments: 0 | Categories: .NET , Automation , User Interface , Win32
    Here is another tip from Rudolf 'Revitalizer' Honke of Mensch und Maschine acadGraph, who provided most of the tips in the past making use of undocumented .NET and Autodesk API functionality provided by the UI Automation and AdWindows libraries, on...

    March 14, 2014: Determining the Quiescent State
    Comments: 2 | Categories: Algorithm , Events , External , Idling , Modeless
    I am still going through my emails after returning from the desert. Here is a summary of an interesting discussion between Katsuaki Takamizawa, Arnošt Löbel, Partha Sarkar, Joe Ye and Miroslav Schonauer on how to determine the quiescent state of...

    March 13, 2014: Detach Beam from Plane
    Comments: 4 | Categories: Algorithm , Element Relationships , Parameters , RST
    Here is a long-standing question raised once again now by Miroslav Schonauer of Autodesk Consulting and solved with help from Sasha Crotty of the Revit development team: Question: Is there a way to programmatically replicate the 'Detach from Plane' functionality...

    March 12, 2014: AutoCAD and Revit API Training in Peru
    Comments: 0 | Categories: Getting Started , Training
    My colleague Augusto Gonçalves points out that we are holding Spanish-language AutoCAD .NET and Revit API training classes in Lima, Peru on April 7-8, and April 9, 2014, respectively. To participate in either one, please complete the registration survey.

    March 12, 2014: Back from Desert and Two Happy Events
    Comments: 3 | Categories: Cloud , Desktop , Mobile , News , Photo , Travel
    I returned from my hike near Zagora in t...

    February 21, 2014: TextNote Leader Alignment
    Comments: 0 | Categories: Element Creation , Travel
    Let us explore TextNote leader alignment. Before getting to that, I'll just briefly mention that I still have unused vacation days from last year to use up, so I am going away again, this time on a desert hike near...

    February 19, 2014: More on Revit API Aspects and Features
    Comments: 0 | Categories: .NET , BIM , External , Family , Fun , IFC , Performance
    Yesterday, I mentioned a couple of Revit API aspects and features that triggered follow-up comments. Seeing as the topic appears to be of general interest, let's pick them up and continue this. I'll add a few other little titbits first,...

    February 18, 2014: Different Revit API Aspects and Features
    Comments: 2 | Categories: Events , External , Getting Started , Migration , Update
    The two most important recommendations I have for newbie Revit API developers are: Understand the Revit end user product paradigm, workflow and best practices Forget everything (well, some things) you know about any other CAD system programming I just gave...

    February 17, 2014: Wrangling Revisions with Ruby
    Comments: 0 | Categories: .NET , 2014 , DMU , Events , External , Idling , Macro , Ruby , Utilities
    Here is a write-up by Andy Holmes, Integration Specialist at OPX design consultancy on a Ruby project that uses a lot of different Revit API features, e.g., revisions on sheet, DMU updaters, Idling and document events, and creating a Ruby...

    February 14, 2014: Creating an Offset Wall Solution
    Comments: 3 | Categories: Element Creation , Parameters , Photo
    Happy St. Valentine's Day! As we all know and have known for a long time from the exploration of the wall compound layers, the Revit API wall location line is at the centre of the wall. There is no way...

    February 13, 2014: Daylighting Extension and Splitting with Taps
    Comments: 2 | Categories: BPA , Element Relationships , RME , Utilities
    Here is a quick update on the status of the daylighting analysis technology preview and some helpful advice for anyone trying to split a duct or pipe with taps. Daylighting Analysis The Daylighting Analysis for Revit technology preview free analysis...

    February 12, 2014: The 360 View
    Comments: 0 | Categories: Cloud , External , Glue , News
    There is a new kid on the block! The 360 View is a blog providing technical resources about BIM 360 product families, including Glue and Field, including API coverage, by Manu Venugopal, Integration Expert in Autodesk Consulting and our ADN...

    February 11, 2014: Getting Two Different Kinds of Joined Elements
    Comments: 0 | Categories: Element Relationships , Geometry , SDK Samples
    Revit loves creating and maintaining relationships, e.g. by joining elements and their geometry. Here are a couple of element joining topics that we touched on in the past: AutoJoinElements Joined Beam Geometry Access Wall Joins and Geometry Move Duct Join...

    Feed & Share