Skip to main content
April 2, 2026Trevor Cornell/9 min read

Creating Interactive Animations with Scripter in Navisworks: Left and Right Door Open and Close Scripts

Master Interactive Door Animations in Navisworks Scripter

Prerequisites Check

This tutorial builds on previous lessons. Ensure you have the BIM361 model loaded from Lesson 3 and the Scripter tool enabled before proceeding with animation creation.

Animation Components Overview

Existing Animations

Approach animation and cut animation section plane created manually in previous lessons. These serve as the foundation for door scripts.

New Door Scene

Left and right door opening animations without closing sequences. This allows Scripter to control timing dynamically.

Interactive Scripts

Keyboard-triggered events that respond to user input for real-time door control during model navigation.

Creating the Door Animation Scene

1

Copy Existing Door Animations

Select left door, right-click to copy and paste. Repeat for right door to duplicate existing animations without recreating keyframes.

2

Create New Scene

Click Add Scene button and name it 'Doors'. Drag both door animations into this new scene container.

3

Remove Unwanted Keyframes

Delete closing keyframes by right-clicking each unwanted keyframe. Keep only the first two keyframes for opening motion.

4

Remove Camera Animation

This animation scene doesn't require camera movement, focusing solely on door mechanics for cleaner script execution.

Key Assignment Strategy

FeatureWorking KeysReserved Keys
Left DoorL keyAvoid system shortcuts
Right DoorR keyAvoid function keys
Close FunctionK keyC key (reserved)
Recommended: Test key assignments to avoid conflicts with Navisworks system shortcuts and ensure reliable script execution.
Key Assignment Limitation

Certain keys like 'C' are reserved by Navisworks and will not work in scripts. Always test key assignments and choose alternative keys when conflicts arise.

Script Event Configuration

On Key Press Condition

Primary event type for door control. Allows assignment of specific keyboard keys to trigger animations with customizable timing.

Trigger Timing Options

Key Down versus Key Up timing. Key Down provides immediate response when key is pressed for better user experience.

Animation Properties

Pause at End prevents animation reset. Start and End positions define scrubber movement along the timeline.

Current Position vs Start Position

Pros
Smooth continuation from any animation point
Prevents jarring jumps in door movement
Allows interruption of opening sequence
More realistic door behavior simulation
Cons
Requires careful coordination between door animations
May need testing to ensure proper synchronization
Complex logic for partial animation states
Multi-Animation Events

A single key press can trigger multiple animations simultaneously. This is useful for coordinated actions like closing both doors with one command rather than creating separate scripts.

Script Testing Protocol

0/6

Animation Workflow Progression

Step 1

Scene Setup

Load BIM361 model and enable Scripter tool with existing animations

Step 2

Animation Creation

Copy door animations and create new Doors scene with opening-only keyframes

Step 3

Script Development

Create Left Door Open and Right Door Open scripts with key assignments

Step 4

Close Script Logic

Implement Doors Close script with Current Position logic for both doors

Step 5

Testing & Validation

Enable scripts and test all key combinations for proper door behavior

This lesson is a preview from our Revit MEP Certification Course Online (includes software & exam). Enroll in this course for detailed lessons, live instructor support, and project-based training.

Welcome back to our comprehensive Navisworks video series. In this installment, we'll advance your scripting capabilities by diving deeper into Scripter functionality and building custom automation scripts from the ground up. We'll be working with the BIM361 model from Lesson 3, so ensure your model is loaded and ready. Once your workspace is prepared, activate the Scripter tool and navigate to the Animator tab within the Scripter panel—this is where we'll establish the foundational animations that will drive our event-based interactions.

At this stage, you should have two manually created animations in your toolkit: the approach animation and the cut animation featuring the section plane. Now we're going to construct a third, more specialized scene that focuses exclusively on door-opening sequences—specifically, the left and right doors opening without any closing animation. This strategic approach is crucial for maintaining precise control over animation timing. By creating isolated opening animations, we eliminate unnecessary interpolation sequences and allow Scripter to intelligently determine trigger timing based on user interactions, rather than being locked into predetermined animation lengths.

The beauty of working in Navisworks lies in its ability to leverage existing work efficiently. Since we've already invested time in animating the door-opening sequences, we can duplicate these animations rather than rebuilding them from scratch using the Translate/Rotate tools. This workflow optimization is essential for professional-grade project management. Simply select the left door, right-click to access the context menu, choose Copy, then Paste. Repeat this process for the right door: select it, Copy, then Paste. This duplication method preserves all the timing and movement properties we've already fine-tuned.

With our door animations duplicated, we'll create a dedicated animation scene to house these elements. Click the plus button labeled "Add Scene" and name this new scene "Doors"—using clear, descriptive naming conventions will prove invaluable as your projects scale in complexity. Drag both the right door animation and left door animation into the Doors scene. The sequence order doesn't impact functionality since both animations carry identical titles and properties, but maintaining consistency in your workflow will serve you well in larger, collaborative projects.

For this particular animation scene, we're streamlining the setup by omitting camera movements—the focus remains purely on the mechanical door operations. You'll notice we now have both right door and left door selection sets within our Doors scene, but we're carrying over unnecessary keyframes from the original animations. Our goal is to retain only the first two keyframes that handle the opening sequence. Remove the excess keyframes by right-clicking each unwanted keyframe and selecting Delete. This precise editing ensures our door animations conclude at the second keyframe's endpoint, eliminating any unwanted closing motions that could interfere with our scripted control system.

Now we'll transition into the core scripting functionality. Navigate to the Scripter tab where we'll construct our first custom automation scripts. Begin by clicking "Add New Script" and create a script named "Left Door Open." Immediately follow this by creating a second script called "Right Door Open." Organization becomes critical as your script library expands, so let's establish good practices early: create a dedicated folder labeled "Doors" for these related scripts, then drag each script into this folder. This hierarchical organization will dramatically improve your efficiency when managing complex projects with dozens of scripted interactions.

Beginning with the Left Door Open script, we'll establish our first conditional trigger. Navisworks offers various event types, but we'll focus on two primary conditions that form the backbone of most interactive presentations: On Key Press events for immediate user control, and Hotspot events for location-based triggers (which we'll explore in detail in our next session). Create a new event by selecting the On Key Press button—you'll immediately see the condition populate in your event list.

When you select the On Key Press event, the Properties panel reveals the configuration options that control how users interact with your model. This is where precise setup becomes crucial for professional presentations. Click on the key assignment box and press the "L" key on your keyboard to bind this action to the left door operation. In the "Trigger On" dropdown, maintain the "Key Down" setting. This configuration means the animation triggers the moment the key is pressed, rather than when it's released—providing immediate, responsive feedback that users expect in professional software demonstrations.


The action assignment is where your animation comes to life through user interaction. When someone presses the L key, we want to execute our left door opening animation. In the Properties panel, expand the animation dropdown, then navigate to the Doors scene and select "Left Door." Ensure "Pause at End" remains checked—this prevents the animation from automatically resetting after completion, maintaining the door in its opened state until another action is triggered. Configure the animation to start at the beginning (Start) and conclude at the end (End), meaning the scrubber will traverse the entire animation timeline from frame zero to the final frame number.

Understanding these start and end parameters opens up advanced animation control possibilities. Navisworks provides flexibility to begin animations at their endpoint and reverse to the start, commence from the current scrubber position, or even specify precise timing intervals. This granular control becomes invaluable when creating sophisticated presentation sequences or coordinating multiple building system operations simultaneously.

Let's replicate this process for the right door functionality. Select your Right Door Open script and create an On Key Press event, this time assigning the "R" key as the trigger. Maintain the Key Down trigger setting, and configure the action to play the right door animation from the Doors scene. Apply the same settings: Pause at End enabled, starting at Start, ending at End. The parallel structure between left and right door scripts demonstrates professional scripting practices—consistent patterns that are easy to maintain and troubleshoot.

Before testing our scripts, position your view to clearly observe both doors in action. Reset the door positions by moving the scrubber back to frame zero, establishing a clean baseline for testing. When you're ready to activate your scripts, click "Enable Scripts"—you'll notice the Scripter tab becomes locked, indicating that script execution mode is now active and editing functions are temporarily disabled.

With scripts enabled, ensure you've clicked somewhere in the main scene area (not on the Scripter panel) to activate the input focus. Press "R" and watch the right door respond immediately, then press "L" to operate the left door. Each keypress triggers its respective animation, demonstrating the direct relationship between user input and model behavior. While we haven't yet implemented closing functionality, you can restart any door animation by pressing its assigned key again—the animation will execute from start to end and pause, ready for the next interaction.

Now let's expand our scripting capabilities by adding door-closing functionality. First, disable "Enable Scripts" to return the Scripter interface to its editable state. Create a new script titled "Doors Close." Rather than creating separate left and right door closing scripts, this example will demonstrate how to execute multiple animations within a single event—a powerful technique for coordinating complex building system operations or synchronized equipment movements.

With the Doors Close script selected, create an On Key Press event. Through experience with various Navisworks implementations, certain keys prove problematic for script assignment—the "C" key is one such example that often conflicts with system functions. Instead, we'll assign the "K" key as our closing trigger, providing clear separation from our opening commands while maintaining intuitive user experience.


The closing animation requires more sophisticated logic than our opening sequences. Configure the first animation to target the Left Door from the Doors scene, but this time set the start position to "Current Position" rather than "Start." This crucial setting enables users to close doors even when the opening animation hasn't fully completed—instead of forcing the door to jump to its fully open position before closing, it smoothly continues from wherever the door currently sits. Set the end position to "Start," which represents the closed door state.

Add a second animation action to this same event for the right door, using identical settings: start from Current Position, end at Start. This dual-animation approach demonstrates the power of scripted coordination—a single keypress now manages both doors simultaneously, creating seamless user experiences that would require multiple manual operations otherwise.

Enable Scripts again to test your enhanced functionality. Remember the critical requirement: you must click within the main scene area first to establish proper input focus—if the Scripter panel remains selected, your keyboard inputs won't register with the animation system. Test the sequence by opening the right door (R), then the left door (L), followed by closing both doors (K). The synchronized closing action should smoothly return both doors to their starting positions.

To verify that the Current Position logic functions correctly, try opening one door partially, then trigger the close command before the opening animation completes. The door should smoothly reverse from its current position rather than jumping to fully open first—this refined behavior distinguishes professional presentations from basic demonstrations.

In our next video session, we'll explore advanced event types, particularly the powerful On Hotspot functionality that enables location-based triggers and proximity-activated animations. These techniques transform static models into interactive experiences where users can discover information and trigger animations simply by navigating through virtual spaces. Before concluding this session, remember to disable "Enable Scripts" to return to editing mode, then save your work using the standard Save function. Your enhanced model with its scripted interactions is now ready for the advanced techniques we'll cover next.

The scripting capabilities we've built today represent just the foundation of what's possible with Navisworks automation. As you continue developing these skills, you'll find that thoughtful script organization and consistent naming conventions become increasingly valuable, especially when collaborating with team members or returning to projects after extended periods.

Key Takeaways

1Copy existing animations rather than recreating them to save time and maintain consistency in door movement patterns.
2Remove closing keyframes from door animations to allow Scripter dynamic control over animation timing and sequencing.
3Use Key Down trigger timing for immediate response when users press assigned keys for better interactive experience.
4Avoid reserved keys like 'C' that conflict with Navisworks system shortcuts and may cause script failures.
5Set Pause at End to prevent automatic animation reset, maintaining door positions until next user interaction.
6Implement Current Position logic for closing scripts to prevent jarring jumps when interrupting opening sequences.
7Multiple animations can be triggered by single key press, enabling coordinated actions like simultaneous door closing.
8Always click in scene view rather than Scripter panel when testing scripts to ensure proper focus for event listeners.

RELATED ARTICLES