Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developer:scriptsamples:dimscaletext [2015/09/14] (current)
Line 1: Line 1:
 +====== Scale Text by Dimension Scale ======
 +> **Developer:​** [[developer:​rhinoscript|RhinoScript]]
 +> **Summary:​** //How to properly scale text objects by the document'​s dimension scale.//
 +
 +=====Example=====
 +The following sample RhinoScript code demonstrates how to property scale text objects by the document'​s dimension scale.
 +
 +<code vb>
 + ​Option Explicit
 +
 + '​ Scales all text objects by the document'​s dimension scale
 + Sub DimScaleText
 +
 +   '​ Dim local variables
 +   Dim arrObjects, strObject, arrPlane, dblScale
 +
 +   '​ Get document'​s dimension scale  ​
 +   ​dblScale = Rhino.DimScale
 +   If dblScale = 1.0 Then 
 +     ​Rhino.Print "​Dimension scale set to 1.0."
 +     Exit Sub
 +   End If
 +
 +   '​ Get ids of all annotation objects ​   ​
 +   ​arrObjects = Rhino.ObjectsByType(512)
 +   If Not IsArray(arrObjects) Then 
 +     ​Rhino.Print "No text objects to scale."​
 +     Exit Sub
 +   End If
 +
 +   '​ Turn off viewport redrawing (faster) ​   ​
 +   ​Rhino.EnableRedraw False
 +
 +   '​ Save current view's construction plane
 +   ​arrPlane = Rhino.ViewCPlane(Rhino.CurrentView)
 +
 +   '​ Process each object
 +   For Each strObject In arrObjects
 +
 +     '​ Verify object is a text object
 +     If Rhino.IsText(strObject) And Rhino.IsObjectSelectable(strObject) Then
 +
 +       '​ Set the current view's construction plane to plane
 +       '​ that defines the position and orientatio of the text
 +       ​Rhino.ViewCPlane Rhino.CurrentView,​ Rhino.TextObjectPlane(strObject)
 +
 +       '​ Select the object
 +       ​Rhino.SelectObject strObject
 +
 +       '​ Scale the object by the dimension scale
 +       ​Rhino.Command "​_-Scale 0,0,0 " & CStr(dblScale),​ False
 +
 +       '​ Unselect the object
 +       ​Rhino.UnselectObject strObject
 +
 +     End If
 +   Next
 +
 +   '​ Restore current view's construction plane
 +   ​Rhino.ViewCPlane Rhino.CurrentView,​ arrPlane
 +
 +   '​ Turn on viewport drawing
 +   ​Rhino.EnableRedraw True
 +
 + End Sub
 +
 +</​code>​
 +
 +\\
 +
 +
 +{{tag>​Developer RhinoScript}}
  
developer/scriptsamples/dimscaletext.txt ยท Last modified: 2015/09/14 (external edit)