Click or drag to resize
ModelAidSettingsOrtho Property
Gets or sets the enabled state of Rhino's ortho modeling aid.

Namespace: Rhino.ApplicationSettings
Assembly: RhinoCommon (in RhinoCommon.dll) Version: 5.1.50000.0 (5.0.20693.0)
Syntax
public static bool Ortho { get; set; }

Property Value

Type: Boolean
Examples
using Rhino;
using Rhino.ApplicationSettings;
using Rhino.Commands;
using Rhino.Input.Custom;

namespace examples_cs
{
  public class OrthoCommand : Command
  {
    public override string EnglishName
    {
      get { return "csOrtho"; }
    }

    protected override Result RunCommand(RhinoDoc doc, RunMode mode)
    {
      var gp = new GetPoint();
      gp.SetCommandPrompt("Start of line");
      gp.Get();
      if (gp.CommandResult() != Result.Success)
        return gp.CommandResult();
      var start_point = gp.Point();

      var original_ortho = ModelAidSettings.Ortho;
      if (!original_ortho)
        ModelAidSettings.Ortho = true;

      gp.SetCommandPrompt("End of line");
      gp.SetBasePoint(start_point, false);
      gp.DrawLineFromPoint(start_point, true);
      gp.Get();
      if (gp.CommandResult() != Result.Success)
        return gp.CommandResult();
      var end_point = gp.Point();

      if (ModelAidSettings.Ortho != original_ortho)
        ModelAidSettings.Ortho = original_ortho;

      doc.Objects.AddLine(start_point, end_point);
      doc.Views.Redraw();
      return Result.Success;
    }
  }
}
from Rhino import *
from Rhino.ApplicationSettings import *
from Rhino.Commands import *
from Rhino.Input.Custom import *
from scriptcontext import doc

def RunCommand():
  gp = GetPoint()
  gp.SetCommandPrompt("Start of line")
  gp.Get()
  if gp.CommandResult() != Result.Success:
    return gp.CommandResult()
  start_point = gp.Point()

  original_ortho = ModelAidSettings.Ortho
  if not original_ortho:
    ModelAidSettings.Ortho = True

  gp.SetCommandPrompt("End of line")
  gp.SetBasePoint(start_point, False)
  gp.DrawLineFromPoint(start_point, True)
  gp.Get()
  if gp.CommandResult() != Result.Success:
    return gp.CommandResult()
  end_point = gp.Point()

  if ModelAidSettings.Ortho != original_ortho:
    ModelAidSettings.Ortho = original_ortho

  doc.Objects.AddLine(start_point, end_point)
  doc.Views.Redraw()
  return Result.Success

if __name__ == "__main__":
  RunCommand()
See Also