#这个脚本显示了一个示例集成一个挤出机RoboDK #我们需要添加这个脚本RoboDK项目不触发发送E值(挤出机参数)#这个脚本为了工作当我们运行3 d打印驱动程序(“机器人运行”选项)#通过以太网发送E_Value (ASCII数据)EXTRUDER_IP = ' 10.10.10.12 #挤出机的IP EXTRUDER_PORT = 100 #机服务器使用的端口一样从RoboDK进口* #所需mbox E_Value = #检查我们是否在另一个程序中运行这个程序,并传递参数import sys if len(sys.argv) > 1: E_Value = float(sys.argv[1]) #如果没有提供值,显示一个消息来打开或关闭挤出机如果E_Value为None: print('注意:这个宏可以被称为挤出机(0)打开它或挤出机(-1)关闭它')entry = mbox('打开或关闭挤出机',(' ON ', '1'), (' OFF', '-1'))如果没有entry:quit() E_Value = int(entry) ##可选,如果我们在模拟模式下运行,则忽略发送命令#从robolink导入* # API与RoboDK通信#RDK = robolink() #如果我们在模拟模式下停止#if RDK. runmode () == RUNMODE_SIMULATE: # quit() #实现套接字通信,通过以太网/套接字导入套接字BUFFER_SIZE = 1024 #构建字节数组发送bytes2send = bytes(str(E_Value) + '\0', 'ascii')打印("正在发送:+ str(bytes2send)) print("连接到%s:%i" % (EXTRUDER_IP, EXTRUDER_PORT)) #连接到挤出机并发送字节数组s = socket.socket(socket. port)。AF_INET, socket.SOCK_STREAM) s.connect((EXTRUDER_IP, EXTRUDER_PORT)) s.send(bytes2send) #读取响应:bytes_recv = s.c recv(BUFFER_SIZE) str_recv = bytes_recv.decode('ascii') s.close() print(" response: " + str_recv)