<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.extremist.software/index.php?action=history&amp;feed=atom&amp;title=Laser_Cutter%2FHackingRDWorks</id>
	<title>Laser Cutter/HackingRDWorks - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.extremist.software/index.php?action=history&amp;feed=atom&amp;title=Laser_Cutter%2FHackingRDWorks"/>
	<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Laser_Cutter/HackingRDWorks&amp;action=history"/>
	<updated>2026-04-05T08:12:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Laser_Cutter/HackingRDWorks&amp;diff=67929&amp;oldid=prev</id>
		<title>Rando: /* Loading &#039;.rd&#039; files onto the laser */</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Laser_Cutter/HackingRDWorks&amp;diff=67929&amp;oldid=prev"/>
		<updated>2018-08-31T09:28:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Loading &amp;#039;.rd&amp;#039; files onto the laser&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:28, 31 August 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Loading &amp;#039;.rd&amp;#039; files onto the laser ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Loading &amp;#039;.rd&amp;#039; files onto the laser ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The easiest way is to use a USB key, plug it into the laser, and load from the controller.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The easiest way is to use a USB key, plug it into the laser, and load from the controller&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.  It can also be loaded from a USB stick using RDWorks&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Automation ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Automation ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rando</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Laser_Cutter/HackingRDWorks&amp;diff=67928&amp;oldid=prev</id>
		<title>Rando: Created page with &quot;== Hacking RDWorks ==  RDWorks is a proprietary program which uses a proprietary format to save projects as .rld files.  These files themselves are not sent to the laser contr...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Laser_Cutter/HackingRDWorks&amp;diff=67928&amp;oldid=prev"/>
		<updated>2018-08-31T09:27:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Hacking RDWorks ==  RDWorks is a proprietary program which uses a proprietary format to save projects as .rld files.  These files themselves are not sent to the laser contr...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Hacking RDWorks ==&lt;br /&gt;
&lt;br /&gt;
RDWorks is a proprietary program which uses a proprietary format to save projects as .rld files.  These files themselves are not sent to the laser controller as-is, they are first converted to a .rd file, which is an RDCAM format, also proprietary.  The RDCAM file is read by the laser controller, which is the case of Noisebridge&amp;#039;s KaiTan CM-1309 is the  [http://en.rd-acs.com/prod_view.aspx?TypeId=50097&amp;amp;Id=160&amp;amp;FId=t3:50097:3 RDC6442G] controller.&lt;br /&gt;
&lt;br /&gt;
While it would be great to hack the .rld format, so far I have only found a decoder for the .rd format.  The .rd files are scrambled, but here is a tool which unscrambles them:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/kkaempf/ruida ruida]&lt;br /&gt;
&lt;br /&gt;
Note from [https://www.cnczone.com/forums/archive/index.php/t-330952.html here]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;quot;You are confusing file types. .rld is the file type RDWorks saves when saving a file to your hard drive. .rd is the type of file RDWorks creates and then sends to the machine itself. The laser machine controller can only read .rd files. If you send the file via USB cable from your PC, you don&amp;#039;t really see this process. If you tell RDWorks to save to a Udisk (USB stick) it will send and save the file to the USB stick. You then plug that into the machine and let the machine read it. If you have .rd files on a stick that you want to save to a PC, you have to download that from the stick within RDWorks to RDWorks and then save that to an .rld file from within RDWorks.&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to dump &amp;#039;.rd&amp;#039; file ==&lt;br /&gt;
&lt;br /&gt;
To dump a .rd file, use the &amp;#039;SaveToUFile&amp;quot; button.  Note this screenshot shows the model selection, which is only useful if you are using a locally installed copy of RDWorks.  The laser machine is already set up.&lt;br /&gt;
&lt;br /&gt;
[[File:Rdworks-screen.png|x640px]]&lt;br /&gt;
&lt;br /&gt;
== How to decode a &amp;#039;.rd.&amp;#039; file ==&lt;br /&gt;
Use the &amp;#039;decode&amp;#039; command from the ruida project above &amp;#039;/bin/decode &amp;lt;filename&amp;gt;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[[File: Ruida-decode.png|x640px]]&lt;br /&gt;
&lt;br /&gt;
This outputs a human readable command on the left and the actual commands sent to the laser controller on the right.&lt;br /&gt;
&lt;br /&gt;
The ruida project linked above gives a key for the commands.&lt;br /&gt;
&lt;br /&gt;
== Opening a &amp;#039;.rd&amp;#039; file ==&lt;br /&gt;
An &amp;#039;.rd&amp;#039; file cannot be opened in RDWorks directly, but can be viewed in the &amp;#039;Preview&amp;#039; screen.&lt;br /&gt;
&lt;br /&gt;
[[File: Rdworks-screen-preview.png|x640px]]&lt;br /&gt;
&lt;br /&gt;
In the preview screen, double click on the preview area, the black background.&lt;br /&gt;
&lt;br /&gt;
[[File: Rdworks-preview.png|x640px]]&lt;br /&gt;
&lt;br /&gt;
This will pop-up a dialog to select a file.  &lt;br /&gt;
&lt;br /&gt;
[[File: Rdworks-preview-dialog.png|x640px]]&lt;br /&gt;
&lt;br /&gt;
== Loading &amp;#039;.rd&amp;#039; files onto the laser ==&lt;br /&gt;
The easiest way is to use a USB key, plug it into the laser, and load from the controller.&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
The codes for the laser controller are not generic, the controller do not understand G-code for example. In order to interface with the controller, the controller specific commands must be used.&lt;br /&gt;
&lt;br /&gt;
One approach would be to attempt to use a different controller which can use G-code or equivalent.  This of course could damage the laser.  &lt;br /&gt;
&lt;br /&gt;
A second is to map the commands 1:1 from G-code to RDCAM.  The ruida project above provides a partial mapping, and if completed may be sufficient to fully map the two formats.  Fundamentally each command does not depend on the state of the machine:  turn the laser off will always turn it off, even if the laser is already off.  move to (X, Y) will always move the laser to the point (X, Y), regardless of where it was previously.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The only useful application I can think of so far is to automating the creation of test patterns where we want many different cut speeds and power.  Currently the laser is limited to 8 in any one design.  By automatically generating files that change these settings, a much better example tiling can be created without a lot of work from the designer.&lt;/div&gt;</summary>
		<author><name>Rando</name></author>
	</entry>
</feed>