{"id":412,"date":"2014-08-12T22:51:53","date_gmt":"2014-08-13T03:51:53","guid":{"rendered":"http:\/\/www.scorchworks.com\/Blog\/?p=412"},"modified":"2024-05-01T19:58:22","modified_gmt":"2024-05-02T00:58:22","slug":"a-much-faster-f-engrave-v1-40","status":"publish","type":"post","link":"https:\/\/www.scorchworks.com\/Blog\/a-much-faster-f-engrave-v1-40\/","title":{"rendered":"A Much Faster F-Engrave (V1.40)"},"content":{"rendered":"<p><a href=\"http:\/\/www.scorchworks.com\/Blog\/wp-content\/uploads\/fengrave.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-196\" src=\"http:\/\/www.scorchworks.com\/Blog\/wp-content\/uploads\/fengrave.png\" alt=\"F-Engrave\" width=\"444\" height=\"166\" srcset=\"https:\/\/www.scorchworks.com\/Blog\/wp-content\/uploads\/fengrave.png 444w, https:\/\/www.scorchworks.com\/Blog\/wp-content\/uploads\/fengrave-300x112.png 300w\" sizes=\"(max-width: 444px) 100vw, 444px\" \/><\/a><\/p>\n<p>The latest version of <a href=\"http:\/\/www.scorchworks.com\/Fengrave\/fengrave.html\">F-Engrave <\/a>includes major improvements to the v-carve calculation speed.\u00a0 The first is based on input from geo01005.\u00a0 He shared his work on his <a href=\"http:\/\/livingengineering.blogspot.com\/2014\/08\/f-engrave-v-carving-projects.html\">BLOG<\/a> and in this<a href=\"https:\/\/www.youtube.com\/watch?v=Wac3ZVh1jis\"> YouTube Video<\/a>.\u00a0 The added code that breaks up the design area into a grid and stores the grid locations that are within the tool diameter.\u00a0 The v-carve algorithm uses this data to skip over line segments that are farther than the max tool diameter from the current line segment.\u00a0 F-Engrave had previously skipped some segments but geo01005&#8217;s implementation was significantly (2 to 3 times) faster.<\/p>\n<p>In addition to the code changes geo01005 also showed that using <a href=\"http:\/\/psyco.sourceforge.net\/\">Psyco<\/a> with F-Engrave was of great benefit.\u00a0 Psyco is no longer supported and is not compatible with the latest (or most commonly used) Python distributions.\u00a0 However, the speed improvements were significant enough (3 to 4 times faster) to convince me to downgrade to Python 2.5 for the windows executable distribution.\u00a0 I am sticking with Psyco rather than another JIT compiler (pypy, Jython, IronPython, etc.) because Psyco is easy to implement and compatible with <a href=\"http:\/\/www.py2exe.org\/\">Py2exe<\/a>.\u00a0 I use Py2exe to generate the windows executable files.<\/p>\n<p>The final speed improvement, which is turning off plotting, has been available for some time in F-Engrave.\u00a0 I have not pushed the use of this feature because the savings has only been a small percentage of the total v-carve time (depending on the design).\u00a0\u00a0 With the other improvements included in V1.40 plotting has become a significant player in the total calculation time. \u00a0 Now turning off plotting can make the v-carve calculation 2 to 3 times faster (or significantly more depending on the design).\u00a0 I have added a check button to the calculation window so the plotting can be turned on\/off, on the fly, during the v-carve calculation.<\/p>\n<p>So if you are paying close attention you can see that all of these increases in speed build on each other (multiply not add) and result in a v-carve calculation <strong>12 to 36 times faster<\/strong> than in the previous versions of F-Engrave.<\/p>\n<p>I have also been digging into the code and fixing various minor bugs and adding some features to make aligning multiple v-carve files easier.\u00a0 Here are the highlights of the other changes:<\/p>\n<ul>\n<li>Changed Default Origin behavior (for DXF\/Image files) to be the origin of the DXF file or lower left corner of the input image. (&#8220;Bot-Left&#8221; still provides the same functionality of the old &#8220;Default&#8221; setting)<\/li>\n<li>Added automatic scaling of all linear dimensions values when changing between units (in\/mm)<\/li>\n<li>Fixed bug in clean up function in the v-carve menu. (the bug resulted in excessive Z motions in some cases)<\/li>\n<li>Fixed bug resulting in the last step of v-carving for any given loop to be skipped\/incorrect.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The latest version of F-Engrave includes major improvements to the v-carve calculation speed.\u00a0 The first..<\/p>\n","protected":false},"author":1,"featured_media":196,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/posts\/412"}],"collection":[{"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/comments?post=412"}],"version-history":[{"count":6,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/posts\/412\/revisions"}],"predecessor-version":[{"id":418,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/posts\/412\/revisions\/418"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/media\/196"}],"wp:attachment":[{"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/media?parent=412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/categories?post=412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scorchworks.com\/Blog\/wp-json\/wp\/v2\/tags?post=412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}