ภาษา Script ที่น่าสนใจในงาน CADCAM และ CNC

ในการทำงานในชีวิตประจำวัน ของผู้ใช Software Computer ที่เป็นโปรแกรมสำเร็จรูปต่าง ๆ อาจมีข้อจำกัดที่ยังต้องการปรับแต่งให้เหมาะสมกับงานนั้น ๆ ผู้ผลิต หรือ ผู้เขียน Software จะนิยมเปิดช่องทางให้ผู้ใช้เข้าถึงการปรับแต่ง Software นั้น ๆได้ที่เรารู้จักคือ การเขียน macro program ซึ่งที่แท้ควรจะเรียกเป็น Scripting Program มากกว่า ในงาน CAD CAM หรือ CNC เราาจะรู้จัก Auto LISP ซึ่งคือ Scripting Program ของ Autocad ที่เราสามารถนำมาปรับแต่ง โปรแกรม Autocad ให้เหมาะกับการใช้งานของผู้ใช้งาน


ยกตัวอย่างการใช้งานสำหรับการใช้ CNC Controller ควบคุมเครื่องจักรที่มีความสามารถมากกว่า CNC 


โปรแกรมจำพวก CAD

1.Autocad                               โปรแกรม Script คือ Autolisp
2.Sketchup                             โปรแกรม Script คือ Ruby Script
3.Inkscape 2D                         โปรแกรม Script คือ Python
4.Blender 3D                           โปรแกรม Script คือ Python

CNC Controller

1.Mach3                                 โปรแกรม Script คือ VB Script
2.LinuxCNC                            โปรแกรม Script คือ Python Script , TCL Script,
และ ออกแบบ User Interface ด้วย Glade Screen 





จากข้างต้น บางท่านอาจไม่เข้าใจว่า มันทำงานอย่างไร

ขอยกตัวอย่าง ในงานออกแบบ CAD

ใน Inkscape เราอยาก ออกแบบ เกียร์ ลักษณะของเกียร์ที่ขบกัน จะต้องมีลักษณะทาง วิศวกรรม ยกตัวอย่างตาม Link นี้เลยครับ มันคงวุ่นวายที่ต้องมานั่งคำนวน หากใช้การเขียน Script ถามตอบมันคงสะดวกดี เราก็ใช้  PYTHON  Script เขียนโปรแกรม ถามตอบ แล้วสร้าง แบบ ให้ออกมาตามต้องการได้




หรือ ใน 3D Blender เราอยากรับสัญญานการเขียนงานเป็นตำแหน่งการเคลื่อนที่ของมือศิลปินแล้วไปสร้างเป็นชิ้นงาน โดยผ่านการ Interface ด้วย Python แล้วนำไป แปลข้อมูลเป็น 3D ก็ทำได้ครับ มันน่าสนุกครับ

http://wiring.org.co/learning/tutorials/blender/index.html




แล้วเราจะเรียนรู้กันอย่างไร

1.เรียนภาษาอะไรก็ได้ สัก 1 ภาษา ภาษาถัดไปก็ไม่ใช่เรื่องยากครับ
2.ติดตาม อ่านคู่มือ จากผู้สร้าง Programming Script นั้น ๆ ครับ

ยกตัวอย่างตามนี้ครับ

1. การหาแผ่นคลี่ของกรวยใน Inkscape 


และ Blender3D





เรามาดูที่ CNC Controller กันบ้างครับ

ยกตัวอย่าง Mach3 CNC Controller อยากทำให้มันมีความสามารถ พิเศษเช่น Auto Zero Z หรือ การหา Center ของ วงกลม หรืการหาขอบชิ้นงาน ก็สามารถเขียนโปรแกรมผ่าน VB Script ของ Mach3 ได้


 1.Mach3




ตัวอย่าง Auto Zero Z VBScript จาก http://www.instructables.com/id/Mach3-Zero-Probe-Tool/

This VB Source code for the Probing Tool.
'VB Code Start
'-------------------
CurrentFeed = GetOemDRO(818)
DoSpinStop()

ZMove = 20.00 'Total lenght of Probe to move before Stop or no Contact Made.
ZOffset = 1.60 ' Plate Hight
ZSal = ZOffset + 2.00 '+ Free Hight, Will possition the Proble 2 MM over the Material.

StopZmove = 0
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code "G4 P2.5"
Code "G31 Z-"& ZMove & "F25"
While IsMoving()
Sleep(200)
Wend
Probepos = GetVar(2002)
If Probepos = - ZMove Then
responce = MsgBox ("**ERROR** " , 4 , "Probe **ERROR**" )
Code "G0 Z10"
StopZmove = 1
Code "F" &CurrentFeed
End If
If StopZmove = 0 Then
Code "G0 Z" & Probepos
While IsMoving ()
Sleep (200)
Wend
Call SetDro (2, ZOffset)
Code "G4 P1"
Code "G0 Z" & ZSal
Code "(Z zeroed)"
Code "F" &CurrentFeed
End If
Else
Code "(Check Ground Probe)"
End If
Exit Sub
'-------------------
'VB Code Stop

2.Linuxcnc

ตัวอย่าง การเขียน Python Script จาก http://wiki.linuxcnc.org/cgi-bin/wiki.pl?G12-13







แหล่งที่มา http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Gmoccapy

ในคราวต่อไปผู้เขียนจะพยายามเจาะลึกการเขียน Script ในโปแกรมต่าง ๆ มาเล่าสู่กันอีก