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
Today, let's talk about the life span of Revit geometry and accessing the IFC GUID of an imported element: Life span and cloning of solids and faces Accessing the IFC GUID of an imported wall First, I'll just mention that I returned safe and sound from the successful fourth and last day of the Milano WebGL workshop, which we concluded with a group session guiding through the View and Data API tutorial. I wrote is a short report on that... Continue reading
Posted yesterday at The Building Coder
Image
Lots of things happening, making it challenging to find time for my Milano trip preparations: Accelerator in Prague One million AppStore downloads Responsive blogs now use Disqus comments Great series of AEC DevBlog articles: PipeScheduleType is missing for a RTE file Reading ASHRAE Table information from elements Reading Loss Methods available on Revit MEP Creating dimensioning between two detail components Placing a FamilyInstance on a wall face How to create a coloured detail line in family? How to create revision... Continue reading
Posted 6 days ago at The Building Coder
I suffer from acute and chronic responsiveness. That is unpleasant for me, although hopefully pleasing and useful for the rest of humanity. What I mean is, I tend to answer other people's questions and needs before taking care of my own. I am forever trying to stop doing that. One of these days, I certainly will. The topic I refer to above is not me, personally, though, but The Building Coder blog. Nowadays, web pages should be based on a... Continue reading
Posted 7 days ago at The Building Coder
Dear Matt, :-) Lucky for us all. Thank you for sharing! Cheers, Jeremy.
1 reply
Dear Peter, Yes, exactly! Thank you for your understanding. Great! Cheers, Jeremy.
1 reply
Image
My French colleague Olivier Bayle, co-author of the French AEC-related Village BIM blog, just re-raised the topic of my old solid centroid and volume calculation add-in. Let's also point out one or two of the numerous topics we tackled in the past few days on the Revit API discussion forum: Graphically displaying the centre of gravity using Dynamo GetCentroid on GitHub and blitz migration across four Revit API releases Finding the orientation of welded pipe outlets How to set the... Continue reading
Posted Jun 23, 2015 at The Building Coder
Dear Tim, Yes, sorry about that. I heard about this issue from others as well and even went and submitted an issue to have it resolved, REVIT-65682 [VerticalAlignment is read-only]. However, this is not an issue at all (unfortunately for you--sorry!), and the resolution is completely different, as you can see from the extensive discussion above with with David Rushforth. To cut a long story short, it should never have worked like that in the first place, i.e. in 2015. Cheers, Jeremy.
1 reply
Dear Modar, Did you regenerate the document after making the change? Did you solve the issue in the meantime? Thank you! Cheers, Jeremy.
1 reply
Dear Matt, Cool! Thank you very much for pointing it out! Cheers, Jeremy.
1 reply
Dear Matt, Thank you very much for pointing it out! So many possibilities... I can really use some help navigating my own blog now :-) Cheers, Jeremy.
1 reply
Dear Peter, You need to be within a valid Revit API context to make any calls at all to the Revit API. Please read up on this in the topic section on Idling and External Events for Modeless Access and Driving Revit from Outside: http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.28 No, you cannot post your own external command; only Revit can do that. Cheers, Jeremy.
1 reply
Image
Let's start the week with these topics: General approach to a Revit API programming task Revit API and AppStore success Architecture and AEC market disruption Autodesk 2016 AEC products Africa is really big, man We start off with something Revit API related, then move on to the Revit API and AppStore in general, architecture and AEC in general, and an interesting aspect of the world having almost nothing whatsoever to do with Revit or AEC at all. General Approach to... Continue reading
Posted Jun 22, 2015 at The Building Coder
Dear Paul, I agree with a lot of what you say. Still, unfortunately, as you certainly understand, we cannot change the state of the element identification just like that. I discussed the issue with Arnošt Löbel and Angel Velez of the Revit development team, and we came to the following conclusions: UniqueIds must stay the way they are due to their important role in worksharing. IFC and DXF must receive GUIDs because that is what they require. UniqueIds could certainly be added to the export along with the GUIDs in the long run. That is actually something you can achieve today yourself, especially for IFC, which can be customised, being open source. The method ExportUtils.GetExportId can be useful if you need a mapping between export GUIDs. The direction of UniqueId to GUID is trivial - just call the method. The reverse is possible too, albeit painful. Doable too, however, especially in cases when you know what you are looking for. Given the GUID of a wall, you can retrieve all walls from the model and test which one of them matches the given GUID. As said, it could be painful and require a lot of time to map all GUIDs to their original elements. Keep in mind that Revit does not see IFC, DWF, DWG, etc. as round-trip formats. This is due to the formats themselves, not Revit. I hope this clarifies and helps. Cheers, Jeremy.
Toggle Commented Jun 22, 2015 on UniqueId, DWF and IFC GUID at The Building Coder
1 reply
Dear Yaroslav, The connectors do indeed become invisible in a certain way. In the family definition context, they are represented by individual elements. When the MEP fitting is inserted as a family instance into the project, the individual connector elements are assimilated into connector objects on the family instance element: http://thebuildingcoder.typepad.com/blog/2009/04/mep-connectors.html From then on, the connector objects are accessible via and managed by the ConnectorManager, a property of the FamilyInstance.MEPModel, which can be any one of ElectricalEquipment, LightingDevice, LightingFixture, MechanicalEquipment and MechanicalFitting. These objects and their properties are absolutely not useless, as demonstrated by the ADN MEP sample application AdnRme: http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.40 A pretty exhaustive example demonstrating various ways to connect MEP elements with each other is provided, for pipes at least, by the rolling offset add-in: http://thebuildingcoder.typepad.com/blog/2014/01/final-rolling-offset-using-pipecreate.html I hope this helps. Cheers, Jeremy.
Toggle Commented Jun 22, 2015 on Nested Family at The Building Coder
1 reply
Dear Deyan, Thank you very much for your nice appreciation. I am very glad it helped and you have made such good progress. I am also glad you found part of the answer in the other post. Thank you for letting us know. I am not sure that you really need to save the new family to a file anymore, though. In theory, it should always have been possible to create a new family definition in memory only and load the resulting document without ever saving it to disk. That did not work for a while, but it may do so now. Cheers, Jeremy.
Toggle Commented Jun 22, 2015 on DWG and DWF Family Creation at The Building Coder
1 reply
Dear David, Simply run the code above in the active view. Cheers, Jeremy.
Toggle Commented Jun 19, 2015 on Floor Creation at The Building Coder
1 reply
Image
Let's discuss some more Revit add-in migration aspects and yet another completed migration task: ADN Revit API training labs Xtra migration Multi-version add-ins and CNC Direct ADN Revit API Training Labs Xtra Migration I recently mentioned that the official ADN Revit API Labs Training Material for Revit 2016 is available from the Revit Developer Centre and the Revit API Training GitHub repository. They are used for our standard two- or three-day hands-on Revit API introduction training courses. They are also... Continue reading
Posted Jun 18, 2015 at The Building Coder
Dear Than Naing Oo, Thank you for your appreciation. It sounds perfectly possible to me. If you need to interact with AutoCAD and you have both AutoCAD and Revit installed on the machine, you can make use of the AutoCAD.NET API from within your Revit add-in. Cheers, Jeremy.
1 reply
Dear Chris, Hmm. Yes, maybe that will help. I am on Mac Unix. I am so glad I left Windows :-) Good luck! Cheers, Jeremy.
1 reply
Dear Vinay, Read the getting started material and all will become clear: http://thebuildingcoder.typepad.com/blog/about-the-author.html#2 Cheers, Jeremy.
1 reply
Dear Dale, No problem at all. Do you mean that the workaround described above did not fix the issue for you? Oh dear! In that case, I would suggest submitting a new thread for your issue in the Revit API discussion forum: http://forums.autodesk.com/t5/revit-api/bd-p/160 The advantage of using that is that you can attach a minimal reproducible case to the issue: http://thebuildingcoder.typepad.com/blog/about-the-author.html#1b Oh no, re-reading your comment again, I have some bad news for you... well, not catastrophic, but not so pleasant either. As far as I understand, you cannot fix the mildly corrupted projects yourself. You will either have to revert to the previous version or submit an issue to Autodesk product support and ask them to fix them for you. Please refer to the issue numbers listed above to explain what the problem is. Cheers, Jeremy.
1 reply
Dear Chris, Wow, whoops, I am very sorry indeed to hear that. Good thing you made a backup. Strange though... it worked for me just the way it is listed above. Haven't used it for a while, though... From your description, I don't know exactly which code above you are referring to... Did you grab just a partial snippet and adapt it to your needs? Yes, certainly you can add tags without wiping out the existing ones. For instance, you can read the collection of all the existing tags, append a new entry to it, and write the updated and expanded list back to the audio data. Cheers, Jeremy.
1 reply
Dear Jacob, You can retrieve the view family type id from some other drafting view, if you happen to have one handy, or from the document via a filtered element collector. There are lots of samples how to do this in the topic groups on setting up section and 3D views: http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.38 http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.37 Cheers, Jeremy.
1 reply
Dear Ramzi, All custom collections that are removed from the Revit API are replaced by generic collections. In addition, some of the custom collections of Revit elements or objects derived from them are replaced by generic collections of ElementId instead. For an example were this is the case, and how to handle it, please look at this migration discussion of replacing the Selection.Elements property by the GetElementIds method: http://thebuildingcoder.typepad.com/blog/2015/06/cnc-direct-export-wall-parts-to-dxf-and-sat.html#2015.1 Cheers, Jeremy.
1 reply
Dear Harry, Sorry to hear about that. This is tracked in issue REVIT-48282 [DimensionSegment Prefix and Suffix crash Revit if empty]. As far as I can tell from the notes on that, the fix is included in Revit 2016. Can you confirm, please? Thank you! Cheers, Jeremy.
1 reply