Mad Scientist (kakalambo) Mac OS
This wiki page is part of the documentation for The Original Egg-Bot. Click here to return to the Egg-Bot overview. |
Important note: Spiral Wrapped Text is no longer supported. It is still available in our repository for manual installation.
Introduction[edit]
Creating text which gently spirals around an egg makes for a fun and striking design. Make an egg with a favorite poem, text passage, or even an egg related recipe! This extension will automatically size your text to achieve a desired number of wraps around your egg. The text itself is drawn with vector fonts selected for use with the Eggbot [1]. The fonts are drawn as paths: they do not need to be converted to paths before plotting.
Basic operation[edit]
Remote Support Client Download Remote Support Agent Support Tools Malwarebytes – Spyware Removal Tool File size: 4.8 MB Microsoft Safety Scanner -Spyware Removal Tool Valid for only ten days after download File size: 70 MB SuperAntiSpyware – Spyware Removal Tool May cause Windows to fail to boot correctly, use at your own risk! Mac For recent macOS, 10.11 - 10.15 Catalina, and macOS 11 Big Sur. Our primary release of the EggBot software is available for Inkscape 1.0, and works under macOS 10.11 through macOS 11 Big Sur 1. Download and run the AxiDraw installer, which includes the EggBot software. Download and install Inkscape 1.0 for Mac 3. For a recent project, I needed to control sixteen or seventeen LEDs with a microprocessor.The one that I chose was the Atmel ATtiny2313, because it has 20 pins, with up to eighteen outputs, can run without an external oscillator, and is fairly inexpensive at around $2.00 per piece.
Type the desired text in the extension's 'Text' input field and then enter the number of times to wrap the text around the egg. You may optionally select one of three font styles: Sans, Times, or Script. If your text uses the characters '&' or '<' then they must be entered as '&' or '<', respectively. Before plotting on an egg, ensure that the option 'Egg (x) axis wraps around' is checked in the Eggbot Control extension's 'Options' tab.
The number of times to wrap need not be a whole number: you may use values such as 8.5. The extension sizes the text to achieve the necessary overall length. For instance, if you enter 8.5, then the text will have an overall length of 8.5 × 3200 pixels. Consequently, the more number of times the text wraps around the egg, the larger the size of the text. If the text seems too small, just increase the amount of wrapping. Conversely, if it is too large, decrease the amount wrapping. Note that if the text scales to too large of a size, then the wrapped text may overlap between wraps. If this occurs, decrease the size of the text by decreasing the amount of wrapping.
The three font styles, Sans, Times, and Script, represent a single stroke font without serifs (Sans), a Roman font with serifs (Times), and a single stroke cursive font (Script). These fonts correspond to the 'Sans 1-stroke', 'Serif medium', and 'Script 1-stroke' fonts of the Hershey Text extension.
Note that the extension's text input field is not very friendly: it's difficult to see all your text at once or to move about within the text. This is an Inkscape limitation. You may find it easier to edit your text in some other application and then cut-and-paste it into the extension's text input field [2].
Changing fonts and other markup[edit]
This extension supports a simple markup language which allows switching between font families as well as selecting between bold, italics, and emphasized font faces. This markup language uses an HTML-like syntax,
- <command>some text</command>
Mad Scientist (kakalambo) Mac Os 11
For example, to select one of the three font families Sans, Times, or Roman, use
- <sans>some text</sans>
- <times>some text</times>
- <script>some text</script>
Note that you do not need to enter '<' for the '<'.
To make the text bold, emphasized, or italicized, use the markup
- <b>Some bold text</b>
- <em>Some emphasized text</em>
- <it>Some italicized text</it>
These markups may be combined. For example,
- <b><it>That's absolutely beautiful!</it></b>
Note that the Sans font family has no italicized font while italics is redundant for the Script font family. The specific fonts used for each family are shown in the table below. The specific font names are the names used by the Hershey Font extension of the Render extension category.
Family | Normal | Bold | Italics | Bold + Italics |
---|---|---|---|---|
Sans | Sans 1-stroke | Sans bold | Sans 1-stroke | Sans bold |
Times | Serif medium | Serif bold | Serif medium italic | Serif bold italic |
Script | Script 1-stroke | Script medium | Script 1-stroke | Script medium |
To select specific fonts, use the markups shown below. Again, the font names are as per the Hershey Text extension.
Font | Markup |
---|---|
Sans 1-stroke | <futural>text</futural> |
Sans bold | <futuram>text</futuram> |
Serif medium | <timesr>text</timesr> |
Serif medium italic | <timesi>text</timesi> |
Serif bold italic | <timesib>text</timesib> |
Serif bold | <timesrb>text</timesrb> |
Script 1-stroke | <scripts>text</scripts> |
Script 1-stroke (alt) | <cursive>text</cursive> |
Script medium | <scriptc>text</scriptc> |
Gothic English | <gothiceng>text</gothiceng> |
Gothic German | <gothicger>text</gothicger> |
Gothic Italian | <gothicita>text</gothicita> |
Greek 1-stroke | <greek>text</greek> |
Greek medium | <timesg>text</timesg> |
Cyrillic | <cyrillic>text</cyrillic> |
Japanese | <japanese>text</japanese> |
Astrology | <astrology>text</astrology> |
Math (lower) | <mathlow>text</mathlow> |
Math (upper) | <mathupp>text</mathupp> |
Markers | <markers>text</markers> |
Meteorology | <meteorology>text</meteorology> |
Music | <music>text</music> |
Symbolic | <symbolic>text</symbolic> |
EMS Foo (any EMS font) | <emsfoo>text</emsfoo> |
As noted above, any of the 29 EMS fonts in the newer version of the Hershey Text extension can be invoked using markup which gives the name of the font in all lower-case without spaces.
To see examples of a given font, use the Hershey Text extension to draw samples.
Additional controls[edit]
To account for the horizontal compression which occurs when plotting on eggs, select the 'Stretch the text horizontally...' checkbox. That will horizontally stretch the text by 50% [3].
To rotate the text 180 degrees turning it upside down, check the 'Plot with the egg's bottom at the egg motor?' checkbox. You do not need to use this option if you have reversed the motion of both motors in the Options tab of the Eggbot Control extension.
Notes[edit]
1. For more information on these fonts, please see Hershey Text.
2. On Mac OS X, this can be difficult: you need to change the X11 preferences to allow cut and paste operations between the clipboard and pasteboard. This, however, is not a mode you want to leave enabled as it causes cut and paste operations on elements in your Inkscape drawings to work incorrectly.
3. This horizontal compression is a result of the egg's horizontal or equatorial circumference being less than its pole-to-pole circumference.
<<< Post process trace bitmap Spiral Wrapped Text Stretch >>>
Mad Scientist (kakalambo) Mac Os Download
Comments
- I must apologize; that description for how to upload the firmware was utterly terrible; it was more applicable to the v1 firmware than to the current process. I've updated it to say rather explicitly what you need to do. First, install the Alpha Clock Five library for Arduino, and then open up the example file from the menu to upload it.Please give that a try, according to the newly updated instructions, and let me know if you have any additional trouble.
- Hi Windell,No apologies necessary. If that is the worst that happens life is good :-)I did try again using the revised instructions on the Wiki and got further but still failed. I added the Alpha Five library (as that seemed to be the missing component from before) and opened up the appropriate sketch. This time when I went to verify and compile, I got these errors:Alpha_20_ino.cpp: In function 'void checkButtons()':Alpha_20_ino:272: error: 'minute' was not declared in this scopeAlpha_20_ino:273: error: 'hour' was not declared in this scopeAlpha_20_ino:361: error: 'adjustTime' was not declared in this scopeAlpha_20_ino:365: error: 'RTC' was not declared in this scopeAlpha_20_ino:365: error: 'now' was not declared in this scopeAlpha_20_ino:369: error: 'adjustTime' was not declared in this scopeAlpha_20_ino:372: error: 'RTC' was not declared in this scopeAlpha_20_ino:372: error: 'now' was not declared in this scopeAlpha_20_ino:379: error: 'adjustTime' was not declared in this scopeAlpha_20_ino:383: error: 'RTC' was not declared in this scopeAlpha_20_ino:383: error: 'now' was not declared in this scopeAlpha_20_ino:387: error: 'adjustTime' was not declared in this scopeAlpha_20_ino:391: error: 'RTC' was not declared in this scopeAlpha_20_ino:391: error: 'now' was not declared in this scopeAlpha_20_ino:521: error: 'RTC' was not declared in this scopeAlpha_20_ino:521: error: 'now' was not declared in this scopeAlpha_20_ino.cpp: In function 'void EndVCRmode()':Alpha_20_ino:928: error: 'now' was not declared in this scopeAlpha_20_ino:951: error: 'RTC' was not declared in this scopeAlpha_20_ino:951: error: 'setSyncProvider' was not declared in this scopeAlpha_20_ino:952: error: 'timeStatus' was not declared in this scopeAlpha_20_ino:952: error: 'timeSet' was not declared in this scopeAlpha_20_ino:967: error: 'setTime' was not declared in this scopeAlpha_20_ino:1073: error: 'second' was not declared in this scopeAlpha_20_ino:1128: error: 'hour' was not declared in this scopeAlpha_20_ino:1129: error: 'minute' was not declared in this scopeAlpha_20_ino.cpp: In function 'void processSerialMessage()':Alpha_20_ino:1221: error: 'time_t' was not declared in this scopeAlpha_20_ino:1221: error: expected `;' before 'pctime'Alpha_20_ino:1225: error: 'pctime' was not declared in this scopeAlpha_20_ino:1228: error: 'pctime' was not declared in this scopeAlpha_20_ino:1228: error: 'setTime' was not declared in this scopeAlpha_20_ino:1234: error: 'RTC' was not declared in this scopeAlpha_20_ino:1234: error: 'now' was not declared in this scopeAlpha_20_ino.cpp: In function 'void UpdateDisplay(byte)':Alpha_20_ino:1676: error: 'adjustTime' was not declared in this scopeAlpha_20_ino:1678: error: 'RTC' was not declared in this scopeAlpha_20_ino:1678: error: 'now' was not declared in this scopeAlpha_20_ino.cpp: In function 'void AdjDayMonthYear(int8_t, int8_t, int8_t)':Alpha_20_ino:1766: error: 'year' was not declared in this scopeAlpha_20_ino:1767: error: 'hour' was not declared in this scopeAlpha_20_ino:1767: error: 'minute' was not declared in this scopeAlpha_20_ino:1767: error: 'second' was not declared in this scopeAlpha_20_ino:1767: error: 'day' was not declared in this scopeAlpha_20_ino:1767: error: 'month' was not declared in this scopeAlpha_20_ino:1767: error: 'setTime' was not declared in this scopeAlpha_20_ino:1769: error: 'RTC' was not declared in this scopeAlpha_20_ino:1769: error: 'now' was not declared in this scopeAlpha_20_ino.cpp: In function 'void TimeDisplay(byte, byte)':Alpha_20_ino:1783: error: 'second' was not declared in this scopeAlpha_20_ino:1804: error: 'hour' was not declared in this scopeAlpha_20_ino:1830: error: 'minute' was not declared in this scopeAlpha_20_ino:1972: error: 'day' was not declared in this scopeAlpha_20_ino:1974: error: 'month' was not declared in this scopeAlpha_20_ino:2001: error: 'year' was not declared in this scopeAlpha_20_ino.cpp: In function 'void SerialPrintTime()':Alpha_20_ino:2088: error: 'hour' was not declared in this scopeAlpha_20_ino:2089: error: 'minute' was not declared in this scopeAlpha_20_ino:2090: error: 'second' was not declared in this scopeAlpha_20_ino:2092: error: 'weekday' was not declared in this scopeAlpha_20_ino:2092: error: 'dayStr' was not declared in this scopeAlpha_20_ino:2094: error: 'day' was not declared in this scopeAlpha_20_ino:2096: error: 'month' was not declared in this scopeAlpha_20_ino:2096: error: 'monthShortStr' was not declared in this scopeAlpha_20_ino:2098: error: 'year' was not declared in this scopeAlpha_20_ino.cpp: In function 'void EESaveSettings()':Alpha_20_ino:2265: error: 'RTC' was not declared in this scopeAlpha_20_ino:2265: error: 'now' was not declared in this scopeAfter the failure I thought perhaps I needed to actually import the Time and Alpha Five libraries once the sketch was loaded before compiling. I tried that and the same errors occur. Sorry to be a bother but am I still just missing something simple?
- edited January 2013It sounds like you do not have the Time library installed correctly. If I remove the Time library from its correct location, I get that same set of errors.Your 'libraries' folder should contain folders called 'Time' and 'alphafive,' and you should restart Arduino (close and reopen the program) after double-checking this. Both should show up in the Sketch > Import Library menu, and you should not import either.
- Okay, I rebooted into Windows to try again. I repeated the same steps and everything worked properly. I must have messed something up originally. Firmware is now updated successfully. Thanks for the help and for the great product.
- Hooray! And, *thank you* for pointing out that the directions were not clear. (Hopefully, it will be a better experience for the next person to come this way.)