RhinoCommon API
ObjectTableAddLine Method (Point3d, Point3d) |
Adds a line object to Rhino.
Namespace: Rhino.DocObjects.Tables
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 5.0

public Guid AddLine( Point3d from, Point3d to )
Public Function AddLine ( from As Point3d, to As Point3d ) As Guid
Parameters
- from
- Type: Rhino.GeometryPoint3d
The line origin. - to
- Type: Rhino.GeometryPoint3d
The line end.
Return Value
Type: GuidA unique identifier for the object.

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; } }
Partial Class Examples Public Shared Function AddLine(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result Dim gp As New Rhino.Input.Custom.GetPoint() gp.SetCommandPrompt("Start of line") gp.Get() If gp.CommandResult() <> Rhino.Commands.Result.Success Then Return gp.CommandResult() End If Dim pt_start As Rhino.Geometry.Point3d = 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 Then Return gp.CommandResult() End If Dim pt_end As Rhino.Geometry.Point3d = gp.Point() Dim v As Rhino.Geometry.Vector3d = pt_end - pt_start If v.IsTiny(Rhino.RhinoMath.ZeroTolerance) Then Return Rhino.Commands.Result.[Nothing] End If If doc.Objects.AddLine(pt_start, pt_end) <> Guid.Empty Then doc.Views.Redraw() Return Rhino.Commands.Result.Success End If Return Rhino.Commands.Result.Failure End Function End Class
Python
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()
