Dear David,
Congratulations on the great progress you made!
I would love to see those samples side by side.
Yes, absolutely.
Revit is single threaded, and the API shares the same thread.
If a Revit command is active, no API code can be so at the same time.
You could create a string of commands to execute, and return to the API context after each execution completes, by subscribing to an Idling event.
If you wish to execute a certain command on a whole series of models, the easiest way to go might be via the journaling system.
That enables you to fully automatically drive both built-in Revit commands and API code from outside:
http://thebuildingcoder.typepad.com/blog/2010/07/ifc-import-and-conversion-journal-script.html -- IFC Import and Conversion Journal Script
http://thebuildingcoder.typepad.com/blog/2011/11/loading-an-add-in-with-a-journal-file.html -- Loading an Add-in With a Journal File
Cheers,
Jeremy


