Software Documentation

Software Documentation

Visual Descriptive Language (VDL)Documentation

Lite Hobbyist Pro Last updated: May 29, 2024

4 Creating or importing a simple “placeholder” cake simulation

For purposes of designing a show, you may not need a perfect simulation of a cake that you are planning on using.  That’s a good thing because if your cake is a consumer cake with a name like Galactic Gladiator, you may not have much to go on to make a VDL description.  Luckily, VDL makes it easy to create a simple “placeholder” cake simulation using whatever information you do have, which is often enough for designing a show.

An example of a simple cake VDL description is,

30mm 49 Shot 10s Time Rain Comet Cake Z-Shape

To put a description like this together, start with the size, then number of shots, then the duration, then the primary effect in the cake, then the word “Cake” and then the firing pattern (or leave the firing pattern blank if it is just straight up).  Optionally, you can include the prefire and the height, as in,

30mm 49 Shot 10s 2.1s PFT 90m Multi-Color Peony Cake Z-Shape

You can try out the simulation from the menu item, “Effects > Create effect”.  Type everything into the input box, and look at the green boxes to see if the software is interpreting the information correctly.


Figure 1 – Creating an effect from “File > Create effect” (or control-G)


If you are using the Hobbyist or Pro version of Finale 3D, you have the option of importing your effects from a CSV file.  In this case, the size, duration, height, and prefire (but not the number of shots) can be split off into separate columns in your CSV.  The software will automatically incorporate these metrics from separate columns into the created simulation, or will pull them out of the VDL or Description columns, or use defaults, if the separate columns for the metrics don’t exist in your CSV.  Thus in a CSV file, if the metrics are in separate columns then the descriptions look a little simpler, like:

49 Shot Multi-Color Peony Cake Z-Shape

Table 1 provides guidance for the format of the optional metrics of a cake.

Table 1 – Basic cake metrics

Term Format Example
Size The caliber of the effect, followed by “mm” or double quote or the word “inches” 3″ or 75mm
Number of shots The number of shots, followed by the word “Shot”; if the number of shots is 10 or less, then the cake is considered a single row slice cake; optionally you can also specify the number of rows by adding “N Rows” after the word cake, where N is the number of rows 10 Shot
Duration For cakes, the duration is from first shot to last break, in seconds.  The format is a number, followed by the character “s” or the word “seconds” 10s or 2.5s
Height Meters The lift height in meters, followed by “m” 90m
Prefire If prefire < 0.5, it specifies the “delay before simulation”; if prefire >= 0.5, is specifies the lift time for aerial shells; the format is a number, followed by “s” followed by “PFT” with a space after the “s” 2.3s PFT
Firing pattern The firing pattern can be left blank for straight up shots, or can be one of these words: Z-Shape, X-Shape, Fan, or FNR; FNR means “fan to the right in sequence”, in contrast to “fan” which implies simultaneous shots on each row Fan

Some types of effects used in a cake could be single rising effects or shells.  For example, does a 50mm Crossette Cake shoot crossette stars or shells containing crossette stars?  In general, VDL interprets ambiguous effect descriptions in cakes as rising effects instead of shells.  You can explicitly change the description to be a shell by adding the word “Shell” or “Aerial” to the description, as in,

50mm 10 Shot Aerial Time Rain Cake

which shoots 10 shells, as opposed to,

50mm 10 Shot Time Rain Cake

which shoots 10 comets.

VDL is capable of representing complex cake descriptions, including cakes that have multiple types of effects, and rows with different firing patterns and timings.  The basic parameters described in Table 1, though, are usually enough to create a cake simulation that adequate for scripting.