Today, I take a quick look at various methods to integrate transient graphics into Revit and point to articles of interest on other current non-API-related topics such as chess AI, basic income and the effectiveness of lockdowns:
- Transient graphics
- AI learns to emulate human-style chess
- Basic income as fault-tolerant engineering
- Lockdown effectivity
Here is an answer I put together to address the Revit API discussion forum thread on how to draw transient graphics in Revit:
Question: I want to draw 2D texts in a view, like Transient Graphics in AutoCAD. These texts draw upon all model elements and will not adapt their size when scaling the view. This can be applied to a situation such as when the grid names are outside of the view, the texts representing the grids display at the edge of view, so the user can easily know the current position while modelling.
Answer: Two pieces of Revit API functionality come to mind: the older Analysis Visualisation Framework or AVF and the more recent DirectContext3D.
AVF is designed for displaying structural and other analysis results on the BIM element faces. The Building Coder has presented numerous examples in the past, starting with the decade-old Revit webcam.
DirectContext3D is for displaying external graphics in the context of a Revit model:
IDirectContext3DServerinterface for displaying arbitrary 3D graphics in Revit, introduced in Revit 2018
- The DuplicateGraphics SDK sample demonstrates basic usage
- How to draw or render over the active view
- DirectContext Rectangle Jig example
- IDirectContext3DServer and scene size
For your use case, however, I can well imagine that a simpler and more effective solution can be implemented independently of Revit and its API, by making use of the native Windows API or .NET libraries.
However, that lies outside my area of expertise, so I have no specific advice to offer in that area.
Except: maybe you can simply use the
DrawText function from
AI Learns to Emulate Human-Style Chess
The Microsoft Research Blog published an article on the human side of AI for chess demonstrating how AI can be taught to emulate human moves rather than the 'non-human' style developed by pure self-learning AI implementations.
Basic Income as Fault-Tolerant Engineering
Scott Santens presents an engineering argument for basic income based on the fundamental engineering principle of utilising fault-tolerant design in critical life support systems.
Lockdown effectivity is scientifically analysed in a peer-reviewed article in the European Journal of Clinical Investigation (EJCI) on Assessing Mandatory Stay-at-Home and Business Closure Effects on the Spread of COVID-19, concluding that:
While small benefits cannot be excluded, we do not find significant benefits on case growth of more restrictive NPIs (nonpharmaceutical interventions). Similar reductions in case growth may be achievable with less restrictive interventions.