Skip to content

GetPoint.DrawLineFromPoint

Public Class

Use DrawLineFromPoint() if you want a dynamic line drawn from a point to the point being picked.

Namespace: Rhino.Input.Custom

Assembly: RhinoCommon (in RhinoCommon.dll)

**Since:**5.0

Syntax

public void DrawLineFromPoint(
Point3d startPoint,
bool showDistanceInStatusBar
)

Parameters

startPoint

Type: Rhino.Geometry.Point3d
The line is drawn from startPoint to the point being picked. If the base point has not been set, then it is set to startPoint.

showDistanceInStatusBar

Type:System.Boolean
if true, the distance from the basePoint to the point begin picked is shown in the status bar.

Remarks

Calling DrawLineFromPoint automatically enables drawing the line. Use EnableDrawLineFromPoint() to toggle the line drawing state.

Examples

using System;
partial class Examples
{
public static Rhino.Commands.Result AddLine(Rhino.RhinoDoc doc)
{
Rhino.Input.Custom.GetPoint gp = new Rhino.Input.Custom.GetPoint();
gp.SetCommandPrompt("Start of line");
gp.Get();
if (gp.CommandResult() != Rhino.Commands.Result.Success)
return gp.CommandResult();
Rhino.Geometry.Point3d pt_start = gp.Point();
gp.SetCommandPrompt("End of line");
gp.SetBasePoint(pt_start, false);
gp.DrawLineFromPoint(pt_start, true);
gp.Get();
if (gp.CommandResult() != Rhino.Commands.Result.Success)
return gp.CommandResult();
Rhino.Geometry.Point3d pt_end = gp.Point();
Rhino.Geometry.Vector3d v = pt_end - pt_start;
if (v.IsTiny(Rhino.RhinoMath.ZeroTolerance))
return Rhino.Commands.Result.Nothing;
if (doc.Objects.AddLine(pt_start, pt_end) != Guid.Empty)
{
doc.Views.Redraw();
return Rhino.Commands.Result.Success;
}
return Rhino.Commands.Result.Failure;
}
}
import Rhino
import scriptcontext
import System.Guid
def AddLine():
gp = Rhino.Input.Custom.GetPoint()
gp.SetCommandPrompt("Start of line")
gp.Get()
if gp.CommandResult()!=Rhino.Commands.Result.Success:
return gp.CommandResult()
pt_start = gp.Point()
gp.SetCommandPrompt("End of line")
gp.SetBasePoint(pt_start, False)
gp.DrawLineFromPoint(pt_start, True)
gp.Get()
if gp.CommandResult() != Rhino.Commands.Result.Success:
return gp.CommandResult()
pt_end = gp.Point()
v = pt_end - pt_start
if v.IsTiny(Rhino.RhinoMath.ZeroTolerance):
return Rhino.Commands.Result.Nothing
id = scriptcontext.doc.Objects.AddLine(pt_start, pt_end)
if id!=System.Guid.Empty:
scriptcontext.doc.Views.Redraw()
return Rhino.Commands.Result.Success
return Rhino.Commands.Result.Failure
if __name__=="__main__":
AddLine()