Naming Conventions
Components in a Rhino model are things like layers, annotation styles, block definitions, groups, objects, lights, materials..., etc. Some of them (layers, groups, block definitions, annotation styles..., etc.) require unique names in a model. Some others (objects, lights, materials..., etc.) can share names.
- Names cannot contain these symbols:
Tab, Delete (U+0080), or any other control character (UNICODE code point <= U+001F) - Names cannot begin with these symbols:
( ) [ ] { } - Spaces at the begin or end of a name are ignored.
- Rhino uses SPACE-COLON-SPACE " : " to add file name prefixes to these unique name components (groups, block definitions, line patterns, hatch patterns, annotation styles) from linked blocks. You are STRONGLY encouraged to avoid using SPACE-COLON-SPACE in component names.
Sorting order of names
| 1 | (Space) | 13 | / (Slash) | 25 | | (Pipe) |
| 2 | ! (Exclamation point) | 14 | : (Colon) | 26 | } (Right brace) |
| 3 | " (Double quote) | 15 | ; (Semicolon) | 27 | ~ (Tilde) |
| 4 | # (Hash) | 16 | ? (Question mark) | 28 | + (Plus) |
| 5 | $ (Dollar) | 17 | @ (At) | 29 | < (Less than) |
| 6 | % (Percent) | 18 | [ (Left bracket) | 30 | = (Equal) |
| 7 | & (Ampersand) | 19 | \ (Back slash) | 31 | > (Greater than) |
| 8 | ( (Left paren) | 20 | ] (Right bracket) | 32~41 | 0~9 (Numbers) |
| 9 | ) (Right paren) | 21 | ^ (Carrot) | 42 | ' (Apostrophe) |
| 10 | * (Asterisk) | 22 | _ (Underscore) | 43 | - (Hyphen) |
| 11 | , (Comma) | 23 | ` (Back tick) | 44~69 | A~Z (Upper case) |
| 12 | . (Period) | 24 | { (Left brace) | 70~95 | a~z (Lower case) |
Any symbol not listed above is sorted after lower case z ('z') by UNICODE code point value.
The C++ SDK Tool for sorting component names (layer, annotation style, block, group, ...):
int ON_wString::CompareAttributeName()