This is Jeremy Tammik's Typepad Profile.
Join Typepad and start following Jeremy Tammik's activity
Join Now!
Already a member? Sign In
Jeremy Tammik
Switzerland
Interests: rock climbing
Recent Activity
Image
Here is a query and some sample code from a Revit API newbie that led to several different interesting topics, in particular some ruminations on planes, projections, picking points and common extension methods that I hope will be of use... Continue reading
Posted 8 minutes ago at The Building Coder
Dear Nik, Thanks for asking. No, not as much as I would like and need, I'm afraid. Too many comments on the blog, and other queries :-) No, I have never heard of such an issue before. How strange. It also seems a bit strange to me to create the marker first, and then use that to drive the elevation. Sounds like a very user interface oriented sort of approach. Have you tried to create the elevation all on its own? And add a marker afterwards? Alternatively, you should actually be able to create the new elevation anywhere you want and then modify its Z coordinate later to anything you like. I hope this helps. Cheers, Jeremy.
1 reply
Dear Sabatierae, Glad to hear it works now. Cheers, Jeremy.
1 reply
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://<ServerName>"... Continue reading
Posted 3 days ago at The Building Coder
Dear Rey, Yes, I see no reason whatsoever why that should interfere with Revit in any way. My guess is that Revit will neither notice nor care. Cheers, Jeremy.
1 reply
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.... Continue reading
Posted 4 days ago at The Building Coder
Dear Waleed, Sorry for the late answer. I would suggest debugging the method in question and exploring exactly what happens interactively in the debugger. That should show you what object is causing the problem right away. Cheers, Jeremy.
1 reply
Dear Shaun, Sorry for the late answer. The chances of duplicate ids are almost if not exactly zero, as far as I know, for all elements that are newly generated. The only danger that can arise is if these companies copy files back and forth and start new projects based on files that already contain some elements. Those elements would obviously have the same unique ids. I hope this clarifies. Cheers, Jeremy.
1 reply
Dear Megan, First of all, thank you for submitting your question here as a comment for all to share and participate in, instead of a private email message. I do not know what you mean by bsDD. Strictly speaking, Revit has no such thing as an IFC GUID. Each Revit element is always equipped with two identifiers, the element id and the unique id. A third identifier for exporting the element to other file formats can be generated by the ExportUtils.GetExportId method. That is what we referred to as IFC GUID above. The Revit element unique id uniquely identifies the building element across all projects and models. The unique id consists of a standard GUID plus an additional so-called epoch id. The element id is a simple integer number and is only unique within the individual project file. The export id or IFC GUID maps to the Revit element unique id and also uniquely references the building element. It is not identical to the unique id, though. I hope this clarifies. For further information and how to convert between these formats, please refer to the discussion above and the links it contains. Cheers, Jeremy.
1 reply
Image
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... Continue reading
Posted 5 days ago at The Building Coder
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... Continue reading
Posted 6 days ago at The Building Coder
Dear Sabatierae, Congratulations on compiling.and exporting successfully. The original code for Revit 2013 is provided in the zip file adn_labs_2013_2012-09-19.zip above. A more up-to-date version of the ADN labs for Revit 2014 is provided here: http://thebuildingcoder.typepad.com/blog/2013/09/10000000000th-post-and-element-type-parameters.html http://thebuildingcoder.typepad.com/blog/2013/10/revit-2013-api-developer-guide-pdf.html Note that the elements to export are selected using a filtered element collector. Maybe the phases are not normal Revit database elements and are not retrieved through the filtered element collector. Do you see the phases in RevitLookup? That uses the same approach to retrieve the elements it displays when snooping the database. Debugging RevitLookup should show you how you can retrieve the phases you are after. Or, if RevitLookup does not display them either, it proves that you need to use some other method, e.g. by iterating over the Document.Phases property. Cheers, Jeremy.
1 reply
Dear Albert, Please do not yell. Thank you. No sorry, I cannot provide much advice on this, beyond underlining that the example you refer to is a programming example. Mainly, it presents source code that you can reuse in your own programming efforts. You can implement your own solution based on it in any version of Revit that you like. You do need it to support the Idling event or external events, though. Revit 2013 or any later version is fine. I hope this helps. Cheers, Jeremy.
1 reply
Dear Bt, Before you do anything else whatsoever, and before I answer a single further question of yours, please work through the getting Revit API started material: http://thebuildingcoder.typepad.com/blog/about-the-author.html#2 That will answer all those questions. Have fun! Cheers, Jeremy.
1 reply
Dear Albert, What we present here is not so much a program as a programming solution. You can implement your own solution based on this in any version of Revit that you like. You do need it to support the Idling event or external events, though. Revit 2013 or anything newer than that is fine. Revit Server is not required. This has nothing whatsoever to do with Revit Server. Cheers, Jeremy.
1 reply
Dear Frank, Thank you for your appreciation. I am sure you will resolve your issue. Good luck! Cheers, Jeremy.
Toggle Commented 7 days ago on Rotate True North at The Building Coder
1 reply
Dear Theo, Thank you for your appreciation and sharing your valuable experience here. You say: "... it would be great to have access to some more Revit files with BIM data that have been converted to the Three.js JSON format. This would really help with testing and feature development. Perhaps we could talk this over in the vA3C Google Group?" Yes, of course, I would love to. Just point me where, please, or start a new thread for the topic. I will love to help, and hope that it should not be a huge effort to update the existing Revit exporter to achieve that. Thank you! Cheers, Jeremy.
1 reply
Image
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... Continue reading
Posted 7 days ago at The Building Coder
Dear Romeu, I forwarded your message and the email address that you used to submit it to the developer, so he can contact you either here in public or in private, if he would prefer. Cheers, Jeremy.
1 reply
Dear Steven, Thank you for your appreciation. I admit I was uncertain whether to publish anything so personal, so your comment is all the more important and valuable for me. Cheers, Jeremy.
1 reply
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... Continue reading
Posted Aug 24, 2014 at The Building Coder
Dear Drew, Of course it is possible to modify the current document based on the interaction with the dockable panel, and a very common use case it is indeed. You simply must be aware of the fact that the dockable panel lives in a modeless context and has no direct access to a valid API context. You can use the Idling event (less recommended) or an external event (much better) to gain access to a valid Revit API context. There are lots of examples demonstrating how to do this: http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.28 Most of them are not directly related to the dockable panels, but the principles are exactly the same. Modeless is modeless. Here are my topics specific to dockable panels: http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.4 If you implement something nice and simple and generic based on this, please feel free to write a guest blog post describing it. I am sure that would be helpful for others as well. Thank you! Cheers, Jeremy.
1 reply
Dear S. Kamalanathan, I would not recommend using the Idling event for this. As you might expect, there is nothing similar to the AutoCAD command ended reactor: http://thebuildingcoder.typepad.com/blog/2012/10/porting-an-autocad-application.html The most direct way I can think of is to subscribe to the DocumentChanged event: http://thebuildingcoder.typepad.com/blog/2010/04/element-level-events.html Don't miss this discussion and the numerous comments on it: http://thebuildingcoder.typepad.com/blog/2012/06/documentchanged-versus-dynamic-model-updater.htm Cheers, Jeremy.
1 reply
Image
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... Continue reading
Posted Aug 22, 2014 at The Building Coder
Dear Drew, Yes, you can certainly add links in the comments here. I do so all the time. You can post the sample in any one of various places and add a link to it in a comment here. Two typical repositories that others have used in the past include gist and dropbox: https://gist.github.com https://www.dropbox.com On the other hand, since I am anything but a VB aficionado, I would suggest that you be better off to submit the issue as a new discussion thread in the Revit API discussion forum, so that others can chip in as well: http://forums.autodesk.com/t5/Revit-API/bd-p/160 The discussion forum supports inline images (actually, so do the comments here) and attachments, so you can provide your complete sample code and VB solution right there on the spot. I hope this helps. Cheers, Jeremy.
1 reply