Here I am back from a very pleasant break.
As mentioned, I gave a Revit API training in Athens last week. I was able to extend my stay to visit the Acropolis and spend a wonderful extended weekend on the beaches of Limni or Λιμνι, on the island of Euboea. Very impressive, how the ancient Greeks built things that last for thousands of years, even though some renovation is required...
One interesting thing that I learned and was able to explore through first-hand experience during the training is the etymology of the English word masticate. I went out for a meal with my mainly Lebanese training participants, so we were speaking English and they spoke Arabic in this Greek environment. We had fish, salad, tzatsiki, water and ouzo (τζα&τζικι, ουζο) all very typical Greek, or rather Eastern Mediterranean. For dessert, as a present from the Egyptian chef, came a mastica liqueur, μαστιχα. This is produced from mastic, the resin of the Pistacia lentiscus shrub native to the Mediterranean. The really interesting point for me was that the same word 'mastic' is used in Arabic as well. I was surprised.
The training was unconventional, since these guys were all unusually experienced programmers, so I never needed to explain anything, just point out briefly how things works and they would immediately say 'ok, fine; next, please'. Mostly, in my trainings, I would like to go faster, and spend much too much time explaining .NET programming basics instead of the Revit API. This time, as soon as I got into any .NET related details, they got impatient and urged me to get on with the next topic. Great fun!
One thing we ended up looking at was the DynamicModelUpdate sample, which demonstrates an example of making use of the DMU or Dynamic Model Update framework. The version in the SDK does not work out of the box right now due to a mismatch between the namespace prefix of the class implementing the external application loaded by Revit. The add-in manifest file specifies the full class name 'Revit.SDK.Samples.DynamicModelUpdate.CS.AssociativeSectionUpdater'.
The two source files Application.cs and SectionUpdater.cs define the namespace 'DynamicModelUpdate' instead.
To fix the problem, simply replace the line
namespace DynamicModelUpdate
The correct specification in both files should be
namespace Revit.SDK.Samples.DynamicModelUpdate.CS
Once that is done, the sample works fine.
To return to the unbelievably unpopulated beaches of Limni, obviously mainly due to the current economic crisis, here are some final pictures; here is Limni itself and its beach:
A pier and beach all to ourselves:
Totally clear water:
Another nice lonesome beach to sleep on:
Here are yet more pictures.
A wonderful place to be, I must say. I really am overwhelmed by the beauty and friendliness of Greece!