dinsdag 29 juli 2014

Uitdaging voor developers: track changes in Revit

Wijzigingen bijhouden
Over het bijhouden van wijzigingen heb ik al eens vaker geschreven. Bij het documenteren van je model is het van belang dat een ontvanger ervan, zeker vanaf een contractfase, in kennis wordt gesteld van wijzigingen. Omdat in een model een wijziging zomaar op 5 verschillende plaatsen gedocumenteerd kan zijn, is het een hele klus om met wijzigingspijlen aan de slag te gaan.

De huidige workaround
In mijn eerdere posts kun je lezen hoe je dit op een gestructureerde manier kunt doen. De aanbevolen werkwijze is om bij het wijzigen een projectparameter met de wijzigingsronde of -datum in te vullen. Hierop kun je dan filteren om ze in een afwijkende kleur te laten oplichten in de documenten. Als een afwijkende kleur onvoldoende of ongewenst is, heb je zo in ieder geval een hulpmiddel om snel wijzigingspijlen te kunnen zetten.

Gewenste methode

Wat ik echter veel liever zou zien is een functie binnen Revit die vergelijkbaar is met de functie "redigeren" binnen Microsoft Word. Daarmee wordt het documenteren van wijzigingen niet alleen veel eenvoudiger, maar krijg je ook betere tools in handen om controle te houden over het ontwerpproces binnen een team.

Zo kun je de handelingen van bijvoorbeeld een stagiair of (onervaren) collega die even is bijgesprongen eenvoudig controleren zonder het model handmatig te moeten doorlopen. Of de constructeur kan middels een filter zo zien wat er sinds de vorige versie is veranderd. De architect kan wijzigingsvoorstellen doen of juist voorstellen van anderen controleren en accorderen cq afwijzen.

De praktijk
Of Autodesk een dergelijk functie aan het ontwikkelen is wordt niet bekend gemaakt. Het zou dus zo kunnen zijn dat we in Revit 2016 op onze wenken worden bediend. Maar het kan ook dat het er nooit in komt. Daarom zou ik alle developers van Revit Add-ins willen uitdagen om met de volgende vraag aan de slag te gaan.

De uitdaging
Ontwikkel een add-in voor Revit die wijzigingen geautomatiseerd bijhoudt in het BIM-model en dit grafisch kan tonen aan zowel de modelleur als de ontvanger van tekeningen. 

Handvatten voor de ontwikkelaar
Niet gehinderd door enige relevante programmeerkennis zou ik zeggen dat zoiets toch vrij eenvoudig te integreren moet zijn. Hoe? Revit maakt bijvoorbeeld een journal file aan waarin handelingen wordt vastgelegd. Misschien kun je daar gebruik van maken. Een andere (mogelijk nog betere) methode is dat er gebruik gemaakt wordt van een extra parameter dat aan elk element kan worden toegekend. Daarin worden het tijdstip waarop een element is aangemaakt en het tijdstip waarop het voor het laatst is gewijzigd vastgelegd. Die parameters worden dan door de Add-in automatisch ingevuld, om te voorkomen dat er menselijke fouten in sluipen. Daarvoor zou zo'n Add-in wel permanent 'geactiveerd' moeten zijn.

Doe mee!
Voel jij je geroepen en zie je mogelijkheden om hiervoor een tool te bouwen? Laat het me weten. Ik help graag mee door over de werking te brainstormen en met het testen van bèta's.

maandag 21 juli 2014

Autodesk Application Manager - Update

Error Code 1155
In een post van een paar weken geleden over de Autodesk Application Manager schreef ik dat deze tool bij mij niet werkbaar bleek door een niet nader gedocumenteerde "Error code 1155". Een tweet aan Autodesk met de vraag waar deze error door veroorzaakt zou kunnen worden bleef helaas onbeantwoord.




Omdat ik het wel erg prettig vind als ik niet zelf op zoek hoef te gaan naar software-updates, ben ik zelf nog verder gaan spitten in de hoop toch een oplossing te vinden. Dat is gelukt!

Rechtenkwestie
Wanneer je in de Application Manager klikt op "Install" wordt eerst het installatiebestand gedownload. Deze wordt standaard weggeschreven in de map
"C:\users\\documents\Autodesk Application Manager\\"
De submap wordt per update aangemaakt en bestaat uit niet meer dan een nummer, het installatiebestand heeft een naam in de opmaak ".msi.partial"
Tot zo ver gaat het goed, maar wanneer het installatiebestand volledig gedownload is, dient de extra extensie ".partial" te worden verwijderd door het bestand te hernoemen. Dan blijkt echter dat er onvoldoende rechten zijn om bestanden op deze locatie te hernoemen. Wanneer je het bestand kopieert naar bijvoorbeeld de "Downloads" map en handmatig de extensie ".partial" verwijderd, dan kun je het installatiebestand uitvoeren en wordt de update succesvol afgerond. Helaas wordt de Application Manager niet bijgewerkt en blijft hij melden dat de desbetreffende software moet worden bijgewerkt.

File Location wijzigen
Gelukkig biedt de Application Manager de mogelijkheid onder "Instellingen" om de locatie waar de installatiebestanden worden opgeslagen te wijzigen. Als deze eenmaal is ingesteld op een map waar je wel wijzigingsrechten hebt (ik laat hem downloaden naar "C:\autodesk\Application Manager") dan werkt het updaten eindelijk zoals het bedoeld is.

maandag 14 juli 2014

Wouldn't it be nice: Grids en Levels met Phasing parameters

Stel dat je bezig bent met een renovatieproject, waarbij een vleugel van het gebouw wordt gesloopt en een nieuwe vleugel wordt aangebouwd. Dan wil je de stramienen en levels van het te slopen deel alleen zichtbaar hebben op de tekeningen van de bestaande toestand en de slooptekeningen, terwijl de stramienen en levels van de nieuw te bouwen vleugel alleen zichtbaar hoeven te zijn op de tekeningen van de nieuwe toestand.

Helaas is dat momenteel niet mogelijk, dus vandaar deze "Wouldn't it be nice":



Autodesk, voeg zo spoedig mogelijk de parameters "Phase Created" en "Phase Demolished" toe aan de categorieën Grids en Levels!

Het is nu overigens met een workaround wel mogelijk om vrij vlot en goed het gewenste resultaat te krijgen:

  • maak een eigen Shared Project (instance) Parameter, genaamd "bouwdeelnummer" of iets dergelijks.
  • maak deze van toepassing op de categorieën grids en levels.
  • geef voor elk grid en level aan tot welk bouwdeel hij behoort.
  • maak in je viewtemplates een filter aan dat kijkt naar de ingevulde waarde van de zojuist aangemaakte parameter.
  • zet de gefilterde onderdelen uit.