skeleprint刀轨生成器

skeleprint_ui的Python项目详细描述


SkelePrint UI - G Code Generator
########################################

The SkelePrint user interface allows you to generate g code for the SkelePrint 3D printer.



…类:没有web

…图片::https://github.com/shubhjagani/skeleprint-ui/blob/master/screen-shot.png
:alt:skeleprint-ui
:宽度:100%
:对齐:居中



类::没有web没有pdf

…内容:

…章节编号:






安装
==




安装python
----




**苹果操作系统:**

…代码块::bash
sudo brew install python

代码块::bash
ruby-e"$(curl-fssl https://raw.githubusercontent.com/homebrew/install/master/install)"


安装homebrew可能需要几分钟。


**windows:**


ide`



安装pip
----


代码块::bash

cd./downloads/



您还可以使用python ide打开get-pip.py并运行脚本



installing skeleprint ui
mac os x,linux,…,
始终提供最新版本)是使用"pip"的。

现在只需打开终端或命令提示符,然后键入:

…代码块::bash
或命令提示符并键入:

…代码块::bash




将在桌面上创建一个快捷方式,其文件名为:skeleprint_ui.pyc。

如果将此文件设置为使用python ide打开,则现在只需打开此文件即可运行工具路径生成器gui。


代码块::bash
pip install--upgrade skeleprint_ui


通过检查"git"



usage
==



axial length
--

印刷品。通常这意味着它与打印床的轴向长度(220mm)相同。如果要打印较短或较长的螺旋,可以更改此选项。轴上的最大可移动距离约为280 mm,但不建议将轴行程最大化,因为这样会使打印更难删除。

打印床直径
——


打印床直径(mm)等于芯轴直径(10 mm)。这个值相当恒定,但如果芯轴涂有涂层或使用不同的芯轴,则可能需要进行修改。

印刷床。

根据为最终打印直径提供的值,算法检查要打印多少层使用以下逻辑:

…代码块::python

layers=(最终直径-打印床直径)*0.5)/(灯丝宽度*涂抹系数)
if(层<;1):
层=1.0


灯丝宽度
——


灯丝宽度(mm)等于所用针尖的内径。您可以在"本表"上查找针规尺寸的内径


螺旋角
----


螺旋角(度)是每层螺旋的角度。此值用于确定每个层需要多少个起点。通常无法以指定的确切角度打印,因为起始点的数目必须是整数。该算法取螺旋角的给定值,并对其进行微调,以确保起点的个数为整数。

螺旋角条件:

螺旋角必须在[0,90]度之间。

如果输入的角度大于90度,则将其设置为90度。这意味着图层将由许多(几乎)直线组成,并且有许多起点。

如果输入的角度小于0度,则将其设置为0度。这意味着层将由尽可能紧密地印刷在一起的单螺旋组成。

feedrate
——


feedrate(mm/min)等于基于挤压系统流速的移动速度。

该进给速度应在实验室中计算如下:


流速=ml/s=cm^3/s


nozzel的横截面积=mm^2


feed rate=流速/面积=mm/s*60=mm/min

使用滤泡算法的切向速度:



…代码块::python

斜边=(math.pi*直径)/math.cos(θ)
时间=斜边/进给速度
角速度=(2*math.pi)/时间
切向速度=角速度*(直径/2)

每一层的变化。

在100%时,层高度等于灯丝宽度。如果图层高度百分比小于100%,则径向轴仅向上移动灯丝宽度的某个百分比,这意味着您正在涂抹墨水。

我在处理这个问题时会格外小心。

将G代码发送到打印机
========


确保轴和径向轴限位开关未触发。如果当前按下它们,请关闭电源。您必须手动旋转轴才能将托架从限位开关上移开。一旦你有一个安全的距离(至少3毫米),你可以继续。

2.确保电源已连接到打印机。在这一点上,检查电线并确保所有东西都就位也是一个好主意。打开电源。在这一点上,你可能会看到一些马达"踢"到位。这就意味着它们处于闭环模式。你可以通过轻轻转动马达来检查它们是否处于闭环模式,你会感觉到很大的阻力。

4.现在,使用USB电缆将计算机连接到Arduino UNO,并打开通用GCode发送器(文件名:universal gcode sender.jar)


5。在程序的左上角,将波特率设置为115200。单击右侧的刷新按钮,确保您位于正确的USB端口上(也可以从下拉列表中选择它)。

6。现在单击"打开"打开到承载Skeleprint GRBL固件的Arduino的连接。连接后,您应该会在控制台中看到一堆以$1,$2开头的文本…

7.您还应该在左侧的机器状态部分看到一个红色横幅表示活动状态的手侧:警报。这意味着你已经连接到GRBL,它不知道它在哪里。

注:轴=X轴,旋转轴=Y轴,径向轴=Z轴。

8.现在我们把打印机放在家里。每次使用前你必须把打印机放在家里。要使打印机回到原点,请单击"命令:"字段并输入"$H"(不带引号)。你也可以按顶部的$H按钮。打印机应开始向右侧移动轴,并执行归位程序。

9.如果您想从当前位置继续而不返回原点,您可以输入命令"$X",它将绕过报警设置您的当前位置为(0,0,0)。但强烈建议您每次连接打印机时都将其放在家中。

注意:归位完成后,正x方向向左(<;--),正径向设置为向上。


10。轴现在定位。但是您仍然需要手动校准径向轴。您可以通过发出gcode命令(如"z-10.3"(向下移动10.3 mm))或使用右侧的"方向"按钮来执行此操作。一旦校准了径向轴,您需要通过点击顶部附近的"重置Z轴"按钮将该位置设置为0(如果您忘记了部分,则可以,因为GCode生成器的GCode会处理它)。

11.现在,您可以通过发出直接的gcode命令(如"x10 y10 z3.57"(沿X正方向移动10毫米,对打印床旋转一圈[10毫米=1圈],然后将Z轴向上移动3.57毫米)来进行所需的任何调整。要开始打印,请单击左侧"文件"部分下的"浏览",找到生成的gcode(应保存在桌面上名为"gcode"的文件夹中)。当你准备好点击发送开始打印!

13。点击暂停将暂停打印和gcode,但如果点击取消,您将失去您的位置。



g代码速成课程
----

g0-线性移动。它用于移动或作业,而不是打印。使用g0命令更改工作位置,因此请记住在完成调整后重置位置。

g1-用于打印的线性移动。您可以通过设置进给速度来设置速度。"G1 F300"将以300 mm/min的速度移动。只需定义一次,之后发送的任何移动都将以先前定义的进给速度移动。

x、y、z-移动相应的轴。与g0或g1命令结合使用。"G1 F300 x10 Y30 Z4英寸。如果在不添加g1的情况下发出move命令,它将执行g0移动。例如,发送"x120"与发送"g0 x120"相同。


m8-开始挤压。(当前未连接)

m9-停止所有外部机器。(停止挤出+关闭紫外线激光)。

g10 p0 l20 x0 y0 z0-将x、y、z轴坐标重置为(0,0,0)。

g21-将单位设置为mm。


g90-将打印机设置为在绝对距离模式下工作。


$h-开始重设原点循环。

$x-绕过警报。


$$-查看默认设置。

更多详细信息,请访问:https://www.shapeoko.com/wiki/index.php/g-code

补充软件
======


您应该下载整个补充软件文件夹。它是GRBL固件的所有源代码、Mechaduino PCB的固件和调整软件以及向Arduino发送G代码的G代码发送器程序的所在地。




meta
====


接口设计
----


接口是使用Tkinter for Python设计的。



_ pip:https://pip.pypa.io/en/stable/installing/
。_ PythonIDE:https://www.python.org/downloads/release/python-2713/
。_ git:https://github.com/shubhjagani/skeleprint_ui
。γ此表:http://www.sigmaaldrich.com/chemistry/stockroom anticles/learning center/technical library/needle gauge chart.html
。_ get-pip.py:https://bootstrap.pypa.io/get-pip.py
。_ skeleprint:http://skeleprint.ca







欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ZK我们可以保存Windows组件状态吗?   java中的xpath比较路径   将字符串解析为长字符串时出现java数字格式异常   Apache CXF中获取异常中的服务器stacktrace的java问题   java我正在用j2me编程,我需要用丰富的格式编写文本以获得帮助屏幕   Android Room数据库中id字段的java名称字段约定   对于API9,java ArrayList<HashMap<String,String>>无法正确转换为JSONArray   api是最初的Java理想死了吗?   opencv java中的python掩码图像   java为什么在实现克隆方法时返回super。克隆()不是此克隆()   java HttpUrlConnection是否存在并发惩罚?   有没有办法将java arraylist对象复制到codemodel生成的源代码中?