<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SoliForum - 3D Printing Community — Threedub Parameters]]></title>
		<link>https://www.soliforum.com/topic/16899/threedub-parameters/</link>
		<atom:link href="https://www.soliforum.com/feed/rss/topic/16899/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Threedub Parameters.]]></description>
		<lastBuildDate>Sun, 19 Nov 2017 19:02:35 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139977/#p139977</link>
			<description><![CDATA[<div class="quotebox"><cite>razor_keen wrote:</cite><blockquote><p>Your info was very useful indeed. I now have a working query. I just have to work my sample program into threedub.<br />As far as the plug in I&#039;m thinking I can just add the encryption and serial used in threedub to make it work. Unfortunately I&#039;m not so good at making it multiple printer friendly but I can make two or three different visions for different printers. I&#039;m sure it&#039;s something simple but I&#039;ve only got a few months experience coding I think I&#039;m doing ok for what I got.</p></blockquote></div><p>I think make it work for Da vinci 1.0 and Jr. is good enough for now. Don&#039;t set your goal too high, work out all the small detail and make it work well for these two model is already a big achievement. You can always add support for other model later.</p><p>Make two or three different visions for different printers is a bad idea, you need to maintain multiple version, it is start of nightmare, trust me. It is a matter of get model name of the printer and execute device specific functions. Many beginner likes to copy and paste the whole function and rename it and make some simple change for different device, this is a bad idea. It is easy to write in the beginning but difficult to troubleshoot in the future. Make sure you structure your code to share as much code as possible for different device.</p>]]></description>
			<author><![CDATA[null@example.com (yizhou.he)]]></author>
			<pubDate>Sun, 19 Nov 2017 19:02:35 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139977/#p139977</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139974/#p139974</link>
			<description><![CDATA[<div class="quotebox"><cite>razor_keen wrote:</cite><blockquote><p>Ok well I see now how I can call system commands or open external programs but why exactly do I need to open xyz? I get to send a print to the printer but I&#039;m looking for a minimalistic approach. So as to not open two slicer programs. Your probably right, I&#039;m just not familiar with this approach and I need a bit more guidance. Thanks</p></blockquote></div><p>1. I think open xyzware is the easiest way to implement in your code. I&#039;m not saying you should not use threedub or send a print to the printer directly. I think when you get more experience and have more confidence, you should even allow user to choose open in xyzware, S3D, threedub, or direct send to printer (I think this is the &quot;right&quot; way of doing it). But for now, make simplest solution, debug the whole system, work out the details, then expand the function. </p><p>2. If you don&#039;t want to open two slicer programs, just save the file as .3w file in the save directory as the .gcode, popup a window showing file in the directory, user can double click to open in whatever apps they want. (I think this is also the &quot;right&quot; way of doing it).</p><p>3. Be able to call system command or 3rd party apps are important skills in any program language, as important as learning how to call system API, it really expand your ability to do things you can not imaging before.</p><p>4. When you trying to implement a function, think about how microsoft will do it, how google will do it, and how apple will do it. when you use other apps, pay attention to how they do thing that you don&#039;t know how in python.</p>]]></description>
			<author><![CDATA[null@example.com (yizhou.he)]]></author>
			<pubDate>Sun, 19 Nov 2017 18:46:15 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139974/#p139974</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139956/#p139956</link>
			<description><![CDATA[<div class="quotebox"><cite>razor_keen wrote:</cite><blockquote><p>Also, I&#039;ve been working on that plugin you spoke of.. how would I implement actual printing? I don&#039;t really know how the davinci communicates but I could spoof another printer and capture curas output and send it to threedub. It&#039;s not pretty but it would work. You spoke of a plug-in. Are you a coder is that something you could do?</p></blockquote></div><p>For simplicity, call xyzware and let xyzware do the rest. Keep this in mind, the less you do, the less bug and troubleshooting. Everything you code, must have good reason for it. you can call system command or shell command to execute 3rd party apps in python.</p><p><a href="https://stackoverflow.com/questions/89228/calling-an-external-command-in-python">https://stackoverflow.com/questions/892 … -in-python</a></p><p>If you really want to use threedub, you can include part of three dub code in the plugin, they are all python code, just make sure you communicate with Da Vinci 1.0 and Jr. in separate code based on the model name because the serial command are different.<br />you should set this goal 2nd piority because it add more complexity to the system.</p>]]></description>
			<author><![CDATA[null@example.com (yizhou.he)]]></author>
			<pubDate>Sun, 19 Nov 2017 14:07:14 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139956/#p139956</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139954/#p139954</link>
			<description><![CDATA[<div class="quotebox"><cite>razor_keen wrote:</cite><blockquote><p>No not quite. The info I&#039;m looking for is davinci specific. It&#039;s a type of send and respond. Yes you are correct I can find the com port and other info like this but it&#039;s not exactly what I&#039;m looking for. Which printer do you own. Maybe you could try it and then you will know exactly what I am looking for..</p></blockquote></div><p>OK, still not sure what exactly you are looking for, if you trying to get the query result for Da Vinci 1.0A, you will not be able to get from threedub. threedub is designed for jr.1.0, in the class DaVinciJr10(PrinterInterface), the DaVinciJr10 is actually the model name for jr.1.0, any place that execute code based on the model information will give you problem. you may need to define a class with Da vinci 1.0A model name and execute model specific command here.</p><p>Jr. command start with XYZv3/ but Da Vinci 1.0 command start with XYZ_@3D:</p><p><a href="https://github.com/foosel/OctoPrint/issues/510">https://github.com/foosel/OctoPrint/issues/510</a><br /><a href="https://github.com/jasongao/DaVinci1.0/blob/master/print-to-davinci.py">https://github.com/jasongao/DaVinci1.0/ … davinci.py</a></p>]]></description>
			<author><![CDATA[null@example.com (yizhou.he)]]></author>
			<pubDate>Sun, 19 Nov 2017 13:43:54 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139954/#p139954</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139931/#p139931</link>
			<description><![CDATA[<div class="quotebox"><cite>razor_keen wrote:</cite><blockquote><p>Does anyone know an alternate way to get the info like as was posted by bozot, off of a davinci 1.0a? Maybe USB sniffing of some sort?</p></blockquote></div><p>I&#039;m not good at English, do not understand what is your question, is this the information you are looking for?</p><p><a href="https://stackoverflow.com/questions/12090503/listing-available-com-ports-with-python">https://stackoverflow.com/questions/120 … ith-python</a></p><p><a href="https://stackoverflow.com/questions/1205383/listing-serial-com-ports-on-windows">https://stackoverflow.com/questions/120 … on-windows</a></p><p><a href="http://raaviblog.com/python-2-7-get-list-and-number-of-used-com-ports-in-system/">http://raaviblog.com/python-2-7-get-lis … in-system/</a></p>]]></description>
			<author><![CDATA[null@example.com (yizhou.he)]]></author>
			<pubDate>Sat, 18 Nov 2017 19:07:12 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139931/#p139931</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139864/#p139864</link>
			<description><![CDATA[<p>You use threedub with the -q and iy will return the status I posted.</p><p>threedub.exe -q</p>]]></description>
			<author><![CDATA[null@example.com (Bozotclown1970)]]></author>
			<pubDate>Fri, 17 Nov 2017 00:22:27 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139864/#p139864</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139860/#p139860</link>
			<description><![CDATA[<p>Ok, following what razor_keen posted I was able to send a file to my JR. I did not let it print, but I did let the download complete. Also I was able to query the printer for the following information:</p><div class="quotebox"><blockquote><p>Extruder temperature: 24<br />Nozzle information: GB-0002-0002-TH-57F-0353-46444<br />Language: en<br />Bed temperature: 20<br />Filament serial number: --------------<br />Printer status status: 10<br />m: 0,0,0<br />Versions firmware version: 2.2.0<br />Error status: 1073742345<br />Remaining filament: -1<br />fd value (unknown): True<br />fm value (unknown): True<br />SD Card present: True<br />Job progress percentage: 0<br />Job progress elapsed time: 0<br />Job progress estimated time: 0<br />Life left machine life: 67650<br />Life left extruder life: 47256<br />Serial number: 3F1J0PGBXTH54Q0153<br />Model name: dv1J00A000<br />System Attribute package size (/1024): p8<br />System Attribute t (unknown): t1<br />System Attribute c (unknown): c1<br />System Attribute auto leveling (+/-): a-</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (Bozotclown1970)]]></author>
			<pubDate>Thu, 16 Nov 2017 23:03:58 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139860/#p139860</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139821/#p139821</link>
			<description><![CDATA[<div class="quotebox"><cite>mjf55 wrote:</cite><blockquote><p>So, the linux serial port is only mentioned 3 time in the threedub set of code modules.&nbsp; 2 time as a comment/print statement and one time to set the default.&nbsp; That is in Printers.py:&nbsp; Perhaps you can change it to a windows COM port you want to use<br /></p><div class="codebox"><pre><code>class DaVinciJr10(PrinterInterface):
    name = &quot;davincijr&quot;
    QueryCmd = &quot;XYZv3/query={}&quot;
    ActionCmd = &quot;XYZv3/action={}&quot;
    ConfigCmd = &quot;XYZv3/config={}&quot;
    UploadCmd = &quot;XYZv3/upload={filename},{size}{option}&quot;
    FirmwareCmd = &quot;XYZv3/firmware={filename},{size}&quot;
    SaveToSD = &quot;,SaveToSD&quot;
    UploadDidFinishCmd = &quot;XYZv3/uploadDidFinish&quot;
    PauseCmd = &quot;M84 P&quot;
    ResumeCmd = &quot;M84 R&quot;
    CancelCmd = &quot;M84&quot;

    def __init__(self, device=&quot;/dev/ttyACM0&quot;):
        self.device = device</code></pre></div><p>Remember to reinstall it to get it active if you change it</p></blockquote></div><br /><p>Not sure I can because I am using the exe version, but I will look around and see what I can find. Thanks for the idea.</p>]]></description>
			<author><![CDATA[null@example.com (Bozotclown1970)]]></author>
			<pubDate>Wed, 15 Nov 2017 20:24:50 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139821/#p139821</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139820/#p139820</link>
			<description><![CDATA[<p>So, the linux serial port is only mentioned 3 time in the threedub set of code modules.&nbsp; 2 time as a comment/print statement and one time to set the default.&nbsp; That is in Printers.py:&nbsp; Perhaps you can change it to a windows COM port you want to use<br /></p><div class="codebox"><pre><code>class DaVinciJr10(PrinterInterface):
    name = &quot;davincijr&quot;
    QueryCmd = &quot;XYZv3/query={}&quot;
    ActionCmd = &quot;XYZv3/action={}&quot;
    ConfigCmd = &quot;XYZv3/config={}&quot;
    UploadCmd = &quot;XYZv3/upload={filename},{size}{option}&quot;
    FirmwareCmd = &quot;XYZv3/firmware={filename},{size}&quot;
    SaveToSD = &quot;,SaveToSD&quot;
    UploadDidFinishCmd = &quot;XYZv3/uploadDidFinish&quot;
    PauseCmd = &quot;M84 P&quot;
    ResumeCmd = &quot;M84 R&quot;
    CancelCmd = &quot;M84&quot;

    def __init__(self, device=&quot;/dev/ttyACM0&quot;):
        self.device = device</code></pre></div><p>Remember to reinstall it to get it active if you change it</p>]]></description>
			<author><![CDATA[null@example.com (mjf55)]]></author>
			<pubDate>Wed, 15 Nov 2017 20:18:58 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139820/#p139820</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139818/#p139818</link>
			<description><![CDATA[<p>The only reference to windows is the COM Port. Threedub does not accept the COM Port as a valid device name.</p>]]></description>
			<author><![CDATA[null@example.com (Bozotclown1970)]]></author>
			<pubDate>Wed, 15 Nov 2017 19:58:06 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139818/#p139818</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139817/#p139817</link>
			<description><![CDATA[<div class="quotebox"><cite>mjf55 wrote:</cite><blockquote><div class="quotebox"><cite>Bozotclown1970 wrote:</cite><blockquote><p>That is not the windows device name though. That is the Linux device address.</p></blockquote></div><p>Very true.&nbsp; I have no idea how windows / python translates a linux port to a windows com port.&nbsp; I wonder if google know.&nbsp; I think I&#039;ll ask.&nbsp; Back shortly</p></blockquote></div><p>Ok, so it looks like the PySerial package will figure out what com ports are available.&nbsp; See this link for a great little program that will show you what ports are available.&nbsp; I just tested it on Windows and Linux&nbsp; &nbsp;<a href="https://stackoverflow.com/questions/12090503/listing-available-com-ports-with-python">https://stackoverflow.com/questions/120 … ith-python</a> </p><p>Now, what are you trying to do, so maybe we can help?</p>]]></description>
			<author><![CDATA[null@example.com (mjf55)]]></author>
			<pubDate>Wed, 15 Nov 2017 19:56:07 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139817/#p139817</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139815/#p139815</link>
			<description><![CDATA[<p>I have been looking for the solution to this for two days. That&#039;s why I thought I would post here. These folks seem to know everything.</p>]]></description>
			<author><![CDATA[null@example.com (Bozotclown1970)]]></author>
			<pubDate>Wed, 15 Nov 2017 19:43:35 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139815/#p139815</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139814/#p139814</link>
			<description><![CDATA[<div class="quotebox"><cite>Bozotclown1970 wrote:</cite><blockquote><p>That is not the windows device name though. That is the Linux device address.</p></blockquote></div><p>Very true.&nbsp; I have no idea how windows / python translates a linux port to a windows com port.&nbsp; I wonder if google know.&nbsp; I think I&#039;ll ask.&nbsp; Back shortly</p>]]></description>
			<author><![CDATA[null@example.com (mjf55)]]></author>
			<pubDate>Wed, 15 Nov 2017 19:40:57 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139814/#p139814</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139813/#p139813</link>
			<description><![CDATA[<p>yup, the code (main.py) say this: ap.add_argument(&quot;-e&quot;, &quot;--device&quot;, default=&quot;/dev/ttyACM0&quot;, help=&quot;Printer device name or address&quot;)</p>]]></description>
			<author><![CDATA[null@example.com (mjf55)]]></author>
			<pubDate>Wed, 15 Nov 2017 19:36:39 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139813/#p139813</guid>
		</item>
		<item>
			<title><![CDATA[Re: Threedub Parameters]]></title>
			<link>https://www.soliforum.com/post/139812/#p139812</link>
			<description><![CDATA[<p>That is not the windows device name though. That is the Linux device address.</p>]]></description>
			<author><![CDATA[null@example.com (Bozotclown1970)]]></author>
			<pubDate>Wed, 15 Nov 2017 19:34:43 +0000</pubDate>
			<guid>https://www.soliforum.com/post/139812/#p139812</guid>
		</item>
	</channel>
</rss>
