RhinoCommon API
DisplayPipelineDraw2dText Method (String, Color, Point2d, Boolean) |
Draws 2D text on the viewport.
Namespace: Rhino.Display
Assembly: RhinoCommon (in RhinoCommon.dll)

public void Draw2dText( string text, Color color, Point2d screenCoordinate, bool middleJustified )
Public Sub Draw2dText ( text As String, color As Color, screenCoordinate As Point2d, middleJustified As Boolean )
Parameters
- text
- Type: SystemString
the string to draw. - color
- Type: System.DrawingColor
text color. - screenCoordinate
- Type: Rhino.GeometryPoint2d
definition point in screen coordinates (0,0 is top-left corner) - middleJustified
- Type: SystemBoolean
if true text is centered around the definition point, otherwise it is lower-left justified.

using Rhino; using Rhino.DocObjects; using Rhino.Geometry; using Rhino.Commands; using Rhino.Input.Custom; namespace examples_cs { public class DrawStringCommand : Command { public override string EnglishName { get { return "csDrawString"; } } protected override Result RunCommand(RhinoDoc doc, RunMode mode) { var gp = new GetDrawStringPoint(); gp.SetCommandPrompt("Point"); gp.Get(); return gp.CommandResult(); } } public class GetDrawStringPoint : GetPoint { protected override void OnDynamicDraw(GetPointDrawEventArgs e) { base.OnDynamicDraw(e); var xform = e.Viewport.GetTransform(CoordinateSystem.World, CoordinateSystem.Screen); var current_point = e.CurrentPoint; current_point.Transform(xform); var screen_point = new Point2d(current_point.X, current_point.Y); var msg = string.Format("screen {0:F}, {1:F}", current_point.X, current_point.Y); e.Display.Draw2dText(msg, System.Drawing.Color.Blue, screen_point, false); } } }
Imports Rhino Imports Rhino.DocObjects Imports Rhino.Geometry Imports Rhino.Commands Imports Rhino.Input.Custom Namespace examples_vb Public Class DrawStringCommand Inherits Command Public Overrides ReadOnly Property EnglishName() As String Get Return "vbDrawString" End Get End Property Protected Overrides Function RunCommand(doc As RhinoDoc, mode As RunMode) As Result Dim gp = New GetDrawStringPoint() gp.SetCommandPrompt("Point") gp.[Get]() Return gp.CommandResult() End Function End Class Public Class GetDrawStringPoint Inherits GetPoint Protected Overrides Sub OnDynamicDraw(e As GetPointDrawEventArgs) MyBase.OnDynamicDraw(e) Dim xform = e.Viewport.GetTransform(CoordinateSystem.World, CoordinateSystem.Screen) Dim current_point = e.CurrentPoint current_point.Transform(xform) Dim screen_point = New Point2d(current_point.X, current_point.Y) Dim msg = String.Format("screen {0:F}, {1:F}", current_point.X, current_point.Y) e.Display.Draw2dText(msg, System.Drawing.Color.Blue, screen_point, False) End Sub End Class End Namespace
from Rhino import * from Rhino.DocObjects import * from Rhino.Geometry import * from Rhino.Commands import * from Rhino.Input.Custom import * from System.Drawing import Color def RunCommand(): gp = GetDrawStringPoint() gp.SetCommandPrompt("Point") gp.Get() return gp.CommandResult() class GetDrawStringPoint(GetPoint): def OnDynamicDraw(self, e): xform = e.Viewport.GetTransform( CoordinateSystem.World, CoordinateSystem.Screen) current_point = e.CurrentPoint current_point.Transform(xform) screen_point = Point2d(current_point.X, current_point.Y) msg = "screen {0}, {1}".format(screen_point.X, screen_point.Y) e.Display.Draw2dText(msg, Color.Blue, screen_point, False) if __name__ == "__main__": RunCommand()

Rhino for Mac
Supported in: 5.4Rhino for Windows
Supported in: 6.8