Connectivity IO record and replay add-on

This .NET plugin can record values being written to simulation through the Connectivity feature and then replay them into another simulation run without the external connection. It allows easier debugging of issues, non-realtime operations like recording or Blender animation export, and saving warmup sequences or demos with layouts to be used later.

Works with VC 4.4 and probably with VC 4.3. Install by copying the dll to your VC installation folder.
IO record and replay add-on.zip (14.8 KB)

Features:

  • Records input values coming from Connectivity to simulation and can replay them back into the simulation later without the external connection.
  • Replay uses simulation time scheduling so its accuracy doesn’t depend on playback speed or pauses.
  • Inputs to record are automatically imported from active “Server to simulation” variable groups, and can be different for each recording.
  • Multiple recordings can be taken and saved within the .vcmx file.
  • Can record and replay all simulation variable types supported by the Connectivity feature. However, saving recordings with Vector or Matrix values likely won’t work.

For debugging layouts this can also be used together with the Simulation time slider add-on.

Intended workflow:

  1. Set up a layout with some inputs coming from external system using the Connectivity feature.
  2. Create a new empty recording and set the plugin to “Record IO” mode.
  3. Run the simulation at 1x speed along with the external system using the Connectivity feature.
  4. Reset simulation, optionally save the recording with the layout.
  5. Disconnect from any servers in Connectivity.
  6. Select the recording, set the plugin to “Replay IO” mode.
  7. Run the simulation slower or faster than realtime as you please.
  8. Optionally if used for “warmup”, you can connect to the external system once playback has finished.

Here is a Connectivity performance test / demo layout with 2 recordings. However, this particular layout doesn’t run much faster than realtime with IO playback because it is a stress test.
More realistic use cases should run the playback much faster.
Pixels demo with recording.vcmx (14.8 MB)

4 Likes

Hi,

This is a great add-on.

Where is the recorded information stored?
For example, it would be very useful to be able to input and output in Excel in the form of a time chart.

Thanks

The recordings are embedded into the vcmx file as binary data and not really possible to extract manually.

Some kind of file based import and export would be feasible to implement, but a significant problem is that e.g. in simple “csv” format the recordings would easily grow to hundreds of megabytes or more. The format must in practice be such that each IO variable is defined once (and given a numeric id) and then all value changes across all variables are listed in simulation time order without repeating the “variable names”.

This kind of data is best stored in a time series database.