{"id":14476,"date":"2024-11-06T16:01:57","date_gmt":"2024-11-06T23:01:57","guid":{"rendered":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/?p=14476"},"modified":"2024-11-06T16:01:57","modified_gmt":"2024-11-06T23:01:57","slug":"knitscript","status":"publish","type":"post","link":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/2024\/11\/06\/knitscript\/","title":{"rendered":"KnitScript"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Scott Hudson is a researcher in Human Computer Interaction (HCI) from Carnegie Mellon University. His talk today covered several different areas of research, all of which can be viewed as tying in to Moore&#8217;s Law in some way.  The last area of research which Hudson touched on involved &#8220;abstracting and encapsulating&#8221; specialist knowledge in 3D printing, to enable greater adoption of the technology. The paper which I&#8217;ll talk about here, <a href=\"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3586183.3606789\">KnitScript: A Domain-Specific Scripting Language for Advanced Machine Knitting<\/a>, covers a similar line of thought; how to improve the usability of advanced features of knitting machines via a domain specific language (DSL).<br><br>Knitting machines are capable of generating novel and complicated structures in fabric. However, the existing high-level tools for designing knitting designs don&#8217;t allow users to take full advantage of the capabilities of the machines they&#8217;re using. There have been geometrical approaches, similar to FDM printers, where software is used to &#8220;slice&#8221; the knits. But these approaches have similar limitations to those of 3D slicers, and are incorporate difficult-to-learn approaches from other domains.<br><br>Hudson collaborated on developing KnitScript, which is a higher-level DSL for knitting machines. This scripting environment has two core parts &#8212; a virtual machine-model that captures the constraints of safe movements &amp; the properties of safe knits, and a &#8220;knit graph&#8221; which represents the actual structure of the fabric.<br><br>Users interact with the model in their script to grow the knit graph, which is translatable to machine code. There are several types (Needles\/Loops\/Carriers\/Yarn\/Sheet\/Carriage) provided for updating the state of the model.<br><br>In their paper, Hudson et al discuss several kinds of knits made via their DSL. They also provide some example activities which demonstrate the &#8220;expressiveness&#8221; of KnitScript, as measured via the lines of code (LoC) required for a weave, and the change in LoC to get a similar weave. The authors also conducted a usability study, which indicated that fairly short times are required by novice users of KnitScript to modify a script to produce different types of weaves. Currently, their script lacks some features of modern programming languages (such as debuggers), which they may tackle in future work.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Scott Hudson is a researcher in Human Computer Interaction (HCI) from Carnegie Mellon University. His talk today covered several different areas of research, all of which can be viewed as tying in to Moore&#8217;s Law in some way. The last area of research which Hudson touched on involved &#8220;abstracting and encapsulating&#8221; specialist knowledge in 3D printing, to enable greater adoption [&hellip;]<\/p>\n","protected":false},"author":69,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46,1],"tags":[],"class_list":["post-14476","post","type-post","status-publish","format-standard","hentry","category-studentwork24","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts\/14476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/users\/69"}],"replies":[{"embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/comments?post=14476"}],"version-history":[{"count":4,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts\/14476\/revisions"}],"predecessor-version":[{"id":14483,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts\/14476\/revisions\/14483"}],"wp:attachment":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/media?parent=14476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/categories?post=14476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/tags?post=14476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}