====== Draw UserTexts - User Manual ======
===== Introduction =====
//Draw UserTexts // is a plugin for Rhino 3D, designed to add the possibility to automatically insert texts based on the curves usertexts in your Rhino document.
===== Plugin installation =====
==== Overview ====
The plugin installer can be downloaded at: [[https://www.tomkod.com/product/draw-usertexts/]] \\
A free trial is included, and yearly licenses can be purchased on the aforementioned page.\\
//Draw UserTexts // works with Rhino 6((Rhino 6.15 or higher)) and Rhino7((Rhino 7.5 or higher)).
{{page>start:plugins:common#[Yak]&noindent&nofooter&nodate}}
{{page>start:plugins:common#[License activation]&noindent&nofooter&nodate}}
{{page>start:plugins:common#[Toolbar]&noindent&nofooter&nodate}}
===== Features and commands =====
==== DrawUserTexts_About ====
This command can be used only from the command line prompt. It displays the plugin's current revision and license status.
{{ :start:plugins:drawusertexts:drawusertexts_about.jpg?nolink&500 |}}
==== DrawUserTexts_License ====
This command can be used only from the command line prompt. It displays the plugin's activation form.
See [[drawusertexts-usermanual#license_activation]].
==== DrawUserTexts ====
Adds annotations along your 2D curves using our smart positioning system. If the curve is too short or there isn't enough space, a leader will be used instead.
=== Walkthrough ===
- Launch the command
- Select the target curves ⇒ a real-time preview is displayed
- Change any option if needed
- Right-click or press ENTER to validate
{{ :start:plugins:drawusertexts:dut_walkthrough.gif?nolink |}}
=== Scripted mode ===
No scripted mode is available for options at the moment.
=== Options ===
== Attribute ==
This option opens a form to pick the usertext that should be read, among a list of attributes existing in the model.
The Rhino's properties //#ObjectName// and //#ObjectLayerName// will also be available.
{{ :start:plugins:drawusertexts:dut_pickattribute.jpg?nolink |}}
If some curves don't have the selected usertext, the preview will display > instead, but those texts won't be created in the result.
{{ :start:plugins:drawusertexts:dut_missingattribute.jpg?nolink&200 |}}
== TextHeight ==
Changes the inserted text size.
{{ :start:plugins:drawusertexts:dut_textheight.jpg?nolink |}}
If your text height is too big compared you the size of your curves, it might considerably slow down the command preview, especially on large models. This is normal since our algorithms will have to try a lot more locations to fit the texts.
== Font ==
This option opens a form to pick the font name among your computer's installed fonts.
It might happen that the preview is not refreshed after a font is selected. This can be fixed by changing the text height afterward.
{{ :start:plugins:drawusertexts:dut_pickfont.jpg?nolink |}}
== UseCurveLayer ==
If //**UseCurveLayer=Yes**//, the generated texts will be in the same layers as their parent curves.
== Layer ==
This option opens a form to pick the output texts' layer.
Only visible if //**UseCurveLayer=No**//.
{{ :start:plugins:drawusertexts:dut_pickoutputlayer.jpg?nolink |}}
==== OutlineToLine ====
Converts outlines (plates) to single lines or arrows.
{{ :start:plugins:drawusertexts:otl_walkthrough.gif?nolink |}}
=== Walkthrough ===
- Select one or several outline curves(Usually a planar section). The selected curves will be automatically grouped according to the option 'GroupingMethod'. Conversely, when a curve is picked, the whole group will be selected.
- For each curve group, the main curve is kept and outlines or arrows are created. If the option is enabled, annotations will be also created. The result is previewed in real-time while using the command, as well as a key table to understand the preview's icons. {{ :start:plugins:drawusertexts:otl_key.jpg?nolink&250 |}}
- Set your options and fix the curve selection within groups if needed
- Right-Click or press ENTER to validate
Although this command can work with a lot of 2D originated from a 3D model (//Make2D//, etc...), it can be tricky to find the proper method for sections. We like using the plugin [[https://www.food4rhino.com/en/app/sectiontools-rhino|SectionTools]] because it is capable of keeping the usertexts from the 3D model, which makes it fit nicely with the option //'GroupingMethod'// set to //PartID//
=== Options ===
^ Type | Choose between Outline, Arrow, or Auto. When Auto is selected, the usertext “RhinoStructure:Type” will be read for each group. The result will be an arrow if the value is 'ARROW', else it will be an outline |
^ Layer | Select a layer for the result |
^ ChangeSide | Swap a group's offset or arrows orientation. {{ :start:plugins:drawusertexts:otl_changesideopt.jpg?nolink&350 |}} |
^ ChangeAllSides | Applies ChangeSide to every group |
^ ManualCurvesPick | Pick a group from your current selection, then select/deselect the curves that should be kept. Useful when automatic detection got it wrong |
^ LengthBetweenOffsets | Distance between two offset curves when the Outline mode is used |
^ Offset | Offset distance from the group's main curve |
^ LengthOffset | Length of every offset curve |
^ AngleArrow | Angle when arrow mode is used |
^ LengthArrow | Length of every arrowheads curve |
^ AddReference | When enabled, applies a specialized version of the //DrawUserTexts// command to your result |
^ TextHeight | Text height used when AddReference is enabled |
^ ReferenceAttributeKey | Defines which usertext should be read when //AddReference// is enabled((If //GroupingMethod// is //'PartID'// or //'Both'//, this value will also be used to group curves|
^ GroupingMethod|Defines how the curves should be grouped:
* **None**: Each curve will be considered independently. Appropriate for closed polycurves.
* **PartID**: Curves/Polycurves will be grouped together by their reference (Option //ReferenceAttributeKey// ).
* **RhinoGroup**: Curves/Polycurves will be grouped using rhino's groups. Any curve belonging to any group of the selected object will also be selected.
* **Both**: Curves/Polycurves will be grouped first using rhino's groups, then the groups will be completed by their reference (Option //ReferenceAttributeKey// ).
|