NOVO       ***    mikroCNC sada podržava Python 3.x interpreter za pisanje korisničkih skripti

Automatizacija sečenja laserom pomoću Pajtona

utorak, 01 april 2025

Zdravo,

U ovom videu možete da pogledate kako uz pomoć Python skripte u okviru softvera za upravljanje CNC mašinama mikroCNC izvršite automatizaciju procesa sečenja laserom. Softver mikroCNC je besplatan i može se preuzeti sa našeg sajta.

Proces laserskog sečenja je prikazan na redizajniranoj verziji 3D štampača starije generacije. Na 3D štampaču je zamenjena kompletna upravljačka elektronika. Za kontrolu se sada koristi Audioms Automatika ETH-MCI kontroler kretanja zasnovan na Ethernet komunikaciji sa računarom i 4 MST-109 mikrostep drajvera za koračne motore.

Za više detalja o ovoj temi pogledajte video koji sledi.

Preuzmite Pajton skripu koja se koristi u primeru prikazanom u video uputstvu:

zipM365.zip

ili jednostavno iskopirajte kod koji sledi:

import gcode
import mikrocnc as mcnc
import fileio as fio
import math
import sys # needed for input parameters

# L -> number of columns in a matrix
# P -> number of rows in a matrix
# Q -> x dimension of one block
# R -> y dimension of one block

#global parameters
xoffset = -33.5
yoffset = -42
feedrate = 700
laserOn = " A0.255\n"
laserOff = " A0.000\n"


# here we store the input parameters of the macro in local variables 
cntx = int(sys.argv[1]) 
cnty = int(sys.argv[2])
sx = int(sys.argv[3])
sy = int(sys.argv[4])


# create a file with custom gcode 
with fio.open('laser_test.tap','w') as file:
    
    xlength = cntx*sx
    ylength = cnty*sy
    
    # setup
    file.writeline('G90\n')
    file.writeline('M3 S10000\n')
    file.writeline(f'G0X{xoffset}Y{yoffset}' + laserOff)
    file.writeline(f'G1F{feedrate}\n')
    
    # trace horizontal lines
    file.writeline(f'G1X{xoffset+xlength}' + laserOn)
    for xLine in range(cnty):
        file.writeline(f'G0Y{yoffset+sy*(xLine+1)}' + laserOff)
    
        file.writeline(f'G1X{xoffset+xlength*((xLine)%2)}' + laserOn)
    
    # trace vertical lines
    invert = 1
    if(cnty%2):
        invert = 0
    file.writeline(f'G1Y{yoffset}' + laserOn)
    for yLine in range(cntx):
        if(invert):
            file.writeline(f'G0X{xoffset+sx*(cntx-1-yLine)}' + laserOff)
        else:
            file.writeline(f'G0X{xoffset+sx*(yLine+1)}' + laserOff)

        file.writeline(f'G1Y{yoffset+ylength*((yLine+1)%2)}' + laserOn)
    
    # final part
    file.writeline(f'G0X0Y0' + laserOff)
    file.writeline('M5\n')
    file.writeline('M30\n')
    
# Write success message in Macro log window
print("Script built successfully")

# load the gcode file into mikroCNC environment
gcode.LoadFile(mcnc.GetMacroPath()+'laser_test.tap')

 

Audioms Automatika doo tim za podršku

Novosti

  • Maj 2025.
    !!! NOVI PROIZVOD !!! ETH-COMPACT je 6-osni kontroler kretanja i…
  • Decembar 2024.
    mikroCNC softver za upravljanje CNC mašinama od verzije V0.46 podržava…
  • Oktobar 2024.
    Redizajniran proizvod DCS-3010(-HV) V.5 je redizajnirana verzija postojećeg servo drajvera…

logo footer

Razvoj i proizvodnja kontrolera kretanja i drajvera za upravljanje koračnim i DC servo motorima.

Pratite nas:

Youtube Instagram  Facebook
Twitter

Preuzmite 

Katalog proizvoda sa cenovnikom

Kontakt

AUDIOMS AUTOMATIKA DOO
Ibarskih rudara 3/8
34000 Kragujevac, Srbija

Tel.: 062 88 34 821
Web: www.audiohms.com
E-mail: prodaja@audiohms.com

Tehnička podrška
E-mail: office@audiohms.com