Using the Ruby Console

Available in TurboCAD LTE Pro only

When you first start TurboCAD, the Ruby Console opens as well. 

  
You can use the Ruby console to run functions, load ruby scripts, or even define new functions.

The top portion of the Ruby console is the Output Panel. This is where Ruby scripts will put text output, and where the Ruby engine will notify you of any errors that it has encountered, or provide other notifications. It is possible to copy text from the Output Panel to the clipboard for reuse in the Input Panel or elsewhere.

The bottom panel of the Ruby console is the Input Panel. Here you can type in any functions that you want to call, or define new values or even functions.

The Load… button allows you to open a ruby script using a standard "Open" dialog box.

The Save… button allows you to save the contents of the input panel as a ruby script using a standard "Save As" dialog box.

The Evaluate button tells Ruby to evaluate the text that you have typed into the Input Panel.

The Close button closes the Ruby Console. After you close the Ruby console you can re-open it at any time from the Scripts/Toggle Ruby Console menu command.

The Multiline checkbox allows you to turn Multiline input off or on.

  • When Multiline is unchecked (the default), only a single line of input in the input panel is evaluated. This mode is convenient for running already-defined functions or defining and setting variable values on the fly. In this mode, pressing the Enter key is the same as pressing the Evaluate button.
  • When Multiline is checked, you are allowed to enter as many different lines of text as you want. In this mode, the Enter key works to end the current line and move the cursor to a new line, instead of performing the Evaluate function. Multiline mode can be useful if you want to quickly define a simple function right in the Ruby console. After you are done entering lines, be sure to uncheck Multiline before pressing Evaluate.

Loading a script with the Load… button

To load a ruby script, click on the Load… button in the Ruby Console. This opens a dialog box that lets you browse to a ruby script and load its functions and other definitions into memory.


Note, however, that loading a script in this way will not automatically execute any of the methods in the script – you'll have to do that from the Ruby console as well. For example, if you want to execute a function draw_stuff which is contained in the ruby script ConsoleLoadSample.rb you would do the following:

  • Click on the "Load…" button.
  • Using the "Open" dialog, browse to the folder containing ConsoleLoadSample.rb.
  • Highlight ConsoleLoadSample.rb in the file list, and click "Open". The Output Panel adds a line "true" to indicate the script was opened successfully, but nothing else visibly happens.
  • Type "draw_stuff" in the Input Panel, and click Evaluate or press Enter. Now the function draw_stuff will perform whatever tasks it is supposed to.

Once the script has been loaded, it remains in memory for the duration of the TurboCAD session – you won't have to reload the script each time you want to run the draw_stuff function; simply enter "draw_stuff" in the input panel and press Enter to run the function again.


Loading a script using the load command

You can also load a script by using the load command in the Input Panel. In this case, you must specify the full path to the script, and use double backslashes as path separators. For example: load("C:
MyRubyScripts
draw_plus.rb")
If the script is loaded successfully, the Output Panel will print a "true" response. If not, the Output Panel will print out one or more error messages. As when you use the Load... button, loading a script in this fashion does not automatically run any of the functions in the script.

Defining a function in the Input Panel

To create a new function definition in the Ruby Console is straightforward. Let us walk you through a simple example:

  • Open the Ruby Console, if it's not already open.
  • Place a check mark in the Enable Multiline checkbox.
  • Type the following lines into the input panel, using the Enter key to end each line:

def sayit puts "There, I said it!" end

  • Uncheck Enable Multiline.
  • Click Evaluate. (Note: Don't press Enter. Use the Evaluate button.) The Output Panel should echo all the lines of the function, followed by "nil".
  • Type "sayit" in the Input Panel, and hit Enter or press Evaluate. The Output Panel should produce "There, I said it," followed by "nil".

Setting variables in the Input Panel

To set a single variable using the Input Panel, disable Multiline entry, and simply enter the variable's definition, and press Enter or click Evaluate. a = 5 press Enter To set a series of variables, enable Multiline entry and enter the variables, then disable Multiline entry and click Evaluate. a = 6 b = 4 c = 5 puts a puts a*b puts b+c
Disable Multiline and click Evaluate.

Clearing the Output Panel

Any time you want to clear the accumulated text in the console's Output Panel, use the cls command in the Input Panel: cls press Enter

More Ruby

Examples of Ruby scripts can be found in the RubyScripts folder within the Programs folder where you installed your application. Looking at these examples is the best way to familiarize yourself with Ruby in TurboCAD. For more advanced information there are several online sights dedicated to programming in Ruby, and there are many books available.

You will also want to familiarize yourself with the TurboCAD SDK for a better grasp of TurboCAD's functions. Some of the Ruby functions available emulate the functions of Ruby as used in Google SketchUp. Therefore it is advisable to look at the documentation of Ruby scripting in SketchUp as well.