Configuring RvtSamples 2024 and Big Numbers

I left the Nice APS accelerator APS cloud accelerator and am returning to Switzerland, using the long train ride time to continue my Revit 2024 migration process, now addressing the RvtSamples external application ad-in:

Configuring RvtSamples 2024

Now that I completed installing Revit 2024, successfully compiled the Revit 2024 SDK samples and updated the RevitSdkSamples repository, the time is ripe to configure the RvtSamples external application to load all 246 Revit 2024 SDK sample external commands. Yes, 246 of them. Pretty hard to manage one by one.

Mainly, this consists of editing RvtSamples.txt, the input text file specifying the name and location of the commands and the .NET assembly DLLs implementing them.

Here is an overview of (most of) the history of RvtSamples, including its initial implementation and similar migration efforts in the past:

I already described how to handle some of the errors encountered in previous migration cycles listed above.

Here is an overview of the problematic add-ins this time around:

DatumsModification

Correct list of external commands for the DatumsModification add-in:

ContextualAnalyticalModel

The SDK source code implements the following 21 ContextualAnalyticalModel external commands:

These are the ContextualAnalyticalModel external commands listed in RvtSamples.txt:

Infrastructure Alignments

Toposolid

The Toposolid sample only has one entry in RvtSamples.txt specifying an external command named:

This command does not exist. Instead, the sample implements the following external commands:

Conclusion

This time around, I submitted a ticket with the development team in the hope of avoiding having to repeat this entire process for the next SDK update:

Some of the menus generated by RvtSamples had too many entries to display them all on my screen, so I modified the sorting and added two new groups for Analytical Model and Toposolid.

RvtSamples 2024

My current running version of RvtSamples is captured in RevitSdkSamples release 2024.0.0.3.

Consuming Huge Numbers of Element Ids

The Revit API discussion forum thread on how to draw a line visible on screen spawned several useful ideas on how to generate and display transient graphics for rubber banding functionality similar to AutoCAD jigs.

It also raised the question of generating (and consuming) huge amounts of element ids, since each transient element in a loop consumes a new element id, even if the transaction is never commited. Luckily, Revit 2024 upgraded ElementId storage to 64-bit.

Anyway, that question led to the following amusing discussion:

For some related facts, consult the illuminating ten-minute video by Numberphile explaining what is a billion?.