|
本帖最后由 xuexibanyun 于 2021-5-22 18:19 编辑
情人节、520想给女朋友送一个特别的礼物?打开某宝搜一搜,发现了如下东东:
点进去看看,根据自己提供的照片定制的价格。。。打扰了。。。
然后百度了一下绕线画,发现了一个开源项目,网页链接如下:
https://halfmonty.github.io/StringArtGenerator/
1、设置好参数
2、上传图片,等待一小会儿,就会看见下边逐渐生成了绕线画和一个数组。
生成的效果图,我设置了2000线,线宽80,这样更接近我用写字机画出来的实际效果,如果用40或更小的参数,效果图会更好。
下边是生成的数组,把框里的数组复制出来,动手能力强的同学就可以找个板子,画个大圆,按照设置的pin数等分,按顺序标上序号,钉上钉子,开始按照数组顺序拉线啦。
但是,作为理工男,就这?太不高级了
然后一边查语法手册,一边撸了一段简单的python代码,把这一大串数组转化成了G代码。所以大家应该知道我想做什么了吧,嘿嘿。 - import math
- f=open('D:\gcode_output.txt','a')
- list=[******] #把数表copy到方括号里
- #生成的数表
- line=len(list) #线数
- n=360 #钉子数
- r=90 #圆形半径(mm)
- i=0
- f.write('S1000\n')
- f.write('F12000\n')
- f.write('G21\n')
- f.write('G90\n')
- f.write('G92 X0 Y0\n')
- while i<line:
- x=r*(1+math.cos((2*list[i]*math.pi)/n))
- y=r*(1+math.sin((2*list[i]*math.pi)/n))
- #print('G1 X%.3f'%x,' Y%.3f'%y)
- f.write('G1 X%.3f'%x)
- f.write(' Y%.3f\n'%y)
- if i==0:
- f.write('M3\n')
- f.write('G4 P0.5\n')
- i+=1
- f.write('M5\n')
- f.write('G0 X0 Y0\n')
- f.close()
复制代码 运行这段python代码,就可以在D盘目录下找到gcode_output.txt这个文件,打开就能看到生成的G代码了。
里边的半径r等参数需要根据你的写字机绘图面积进行更改。
接下来连接写字机,导入G代码,运行。。。
经过三个小时的等待,终于画好了,其实可以把写字机的速度设置更快一点的。
画出来的是镜像,不过大体已经实现了。
写字机上的笔是0.5mm的签字笔,画的线太粗,换个0.2或者更细的笔效果应该会更好,以后试试看。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|