สร้างรูปทรงเรขาคณิต 3 มิติที่ยอดเยี่ยมโดยการเขียนโปรแกรม CNC-code: 8 ขั้นตอน (พร้อมรูปภาพ)

สร้างรูปทรงเรขาคณิต 3 มิติที่ยอดเยี่ยมโดยการเขียนโปรแกรม CNC-code: 8 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

Anonim

เครื่องจักรกลซีเอ็นซีทำให้ง่ายต่อการตัดออกรูปร่างที่แม่นยำและสอดคล้องกันมาก แต่บ่อยครั้งที่มัน จำกัด อยู่เพียงการตัดรูปร่าง 2D ออกไปเพื่อเหตุผลที่ชัดเจน ในขณะที่เรียนรู้วิธีการใช้งาน CNC เองเมื่อไม่นานมานี้ฉันขุดลึกลงไปในการสร้างรูปทรงเรขาคณิต 3 มิติที่สร้างแรงบันดาลใจด้วยความช่วยเหลือของการเขียนโปรแกรม สิ่งนี้ทำให้ฉันมีความรู้ในการสร้างเส้นทางที่กำหนดเองได้เร็วขึ้นและมีประสิทธิภาพมากขึ้นซึ่งยากขึ้นหรือเป็นไปไม่ได้ที่จะติดตั้งซอฟต์แวร์ CAM แบบมาตรฐาน

ในคำแนะนำนี้ฉันจะแนะนำคุณตลอดกระบวนการสร้างเรขาคณิตทางคณิตศาสตร์ขั้นสูงโดยใช้การเขียนโปรแกรมร่วมกับ cnc-machining ความรู้ที่คุณจะได้รับจากมันจะทำให้คุณสามารถตั้งค่า toolpaths ที่ซับซ้อนและมีประสิทธิภาพมากขึ้นและจะป้องกันไม่ให้ถูก จำกัด โดยข้อ จำกัด ของซอฟต์แวร์ CAM ของคุณ

ความรู้บางส่วนในงานสร้างนี้มีประโยชน์ต่อการวิจัยของ Jens Dyvik ตัวอย่างมากมายที่จะมอบให้นั้นทำโดยใช้ Colinbus ที่ Fablab Genk แต่ก็มีบางตัวอย่างที่สร้างขึ้นใน Shopbot เครื่องจักรที่ฉันใช้เคยถูกตั้งค่าในระบบเมตริกดังนั้นอย่าสับสนกับตัวเลขถ้าปกติคุณทำงานในหน่วยจักรวรรดิ

หากมีสิ่งใดที่ไม่ชัดเจนหรือไม่ถูกต้องแจ้งให้เราทราบเพื่อให้ฉันสามารถแก้ไขคำแนะนำได้

วัสดุ:

ขั้นตอนที่ 1: ทำความคุ้นเคยกับ CNC

หากคุณไม่เคยใช้ CNC มาก่อนคำศัพท์บางคำที่ใช้ในการสอนนี้อาจฟังดูแปลก ฉันจึงแนะนำให้ทำความคุ้นเคยกับซีเอ็นซีก่อนที่จะลองสิ่งที่คล้ายกันในคำแนะนำนี้ ใช้ซอฟต์แวร์ CAM ที่มาพร้อมกับเครื่องที่คุณสามารถเข้าถึงได้เนื่องจากจะให้แนวคิดเกี่ยวกับเวิร์กโฟลว์สำหรับการเริ่มงานกัด

ซอฟแวร์ CAM นั้นน่าเสียดายที่ไม่ใช่ปลั๊กแอนด์เพลย์ คุณจำเป็นต้องรู้เกี่ยวกับ feedrates, rpm, milling และอื่น ๆ และแม้ว่าซอฟต์แวร์จะทำให้ติดตั้ง Toolpaths ได้ง่าย แต่คุณยังต้องทำงานภายในขีดความสามารถของโปรแกรมที่สามารถใช้งานได้ การควบคุมอย่างเต็มที่เกี่ยวกับสิ่งที่เครื่องจะทำตามที่เราจะได้เรียนรู้ในขั้นตอนต่อไปเปิดโอกาสให้เราเปลี่ยนการตั้งค่า Toolpath ทุกส่วนซึ่งไม่สามารถทำได้ใน CAM-software

ขั้นตอนที่ 2: รหัส G คืออะไร

G-code เป็นภาษาที่ทำให้คอมพิวเตอร์ของคุณสื่อสารกับเครื่อง CNC ภายในซอฟต์แวร์ CAM ของคุณคุณสามารถแปลงไฟล์ CAD (3D หรือ 2D) ด้วย post-processor เป็นไฟล์ที่เครื่องของคุณจะเข้าใจ นี่คือรหัสที่ผู้ผลิตเครื่องใช้หรือทำขึ้นเพื่อใช้กับเครื่องของพวกเขา มันเป็นชุดของคำสั่งที่บอกเครื่องว่าจะไปที่ไหนและต้องทำอะไรและด้วยวิธีที่เรียบง่ายมันบอกอะไรแบบนี้:

- เพิ่มความเร็วของแกนหมุนถึง 18,000 รอบต่อนาที

- ตั้งความเร็วในการเคลื่อนที่ 35 มม. ต่อวินาที

- ย้ายไปที่coördinate x100, y100 เหนือวัสดุ

- เลื่อน 25 มม. ในทิศทาง z ลงและสำรอง

- ปิดแกนหมุน

- ไปที่จุดเริ่มต้น / 0 จุดบนเครื่อง

ความแตกต่างระหว่าง g-code เหล่านี้เป็นตัวอย่างวิธีการกำหนดคำสั่งให้ย้ายหรือหน่วยที่ทำงานหรือหากจำนวนลบในทิศทาง z อยู่เหนือหรือใต้ 0 จุดเป็นต้นในขั้นตอนถัดไปเรา คุณจะได้เห็นการตัดรหัสนี้เพื่อให้สามารถเขียนรหัสของคุณสำหรับเครื่องที่คุณใช้

ขั้นตอนที่ 3: ทำความเข้าใจกับรหัสจากเครื่องที่คุณเข้าถึงได้

เพื่อทำความเข้าใจว่าส่วนใดของรหัสทำในสิ่งที่คุณสามารถสร้างไฟล์ตัวอย่างง่ายๆโดยใช้ซอฟต์แวร์กล้องของคุณ โพสต์โปรเซสเซอร์ประมวลผลข้อมูลลงในรหัสที่ถูกต้องสำหรับเครื่อง จากนั้นเราสามารถวิเคราะห์ไฟล์นี้และวิศวกรย้อนกลับว่ามันทำงานอย่างไร คุณสามารถเปิดใน notepad และอ่านบรรทัดของรหัส หากคุณได้ดูตัวอย่างของรหัส shopbot คุณจะเห็นว่ารหัสจำนวนมากเป็นเพียงแค่พิกัดซึ่งบอกเครื่องว่าจะย้ายแกนหมุนไปที่ใด

และจากนั้นขึ้นอยู่กับเครื่องที่คุณใช้รหัสที่เหลือสามารถตรงไปตรงมาได้ (เช่นในตัวอย่างของรหัส shopbot M3 หมายถึง Mคลุกเคล้ากับcoördinateที่เฉพาะเจาะจงใน 3 มิติ) บางครั้งคุณสามารถค้นหาข้อมูลออนไลน์เพื่อคำอธิบายที่ชัดเจน ผู้ผลิตบางรายอาจให้รายละเอียดด้วยตนเองเช่น Shopbot เป็นต้น

http: //www.opensbp.com/files/QuickReference_bothpa …

เราจำเป็นต้องรู้ว่าคำสั่งต่าง ๆ เหล่านี้ทำอะไรได้บ้างในขั้นตอนต่อไปเราจะสร้างโค้ดประเภทนี้ขึ้นมาเองโดยใช้การเขียนโปรแกรม

ขั้นตอนที่ 4: การเขียนโปรแกรม - ตั๊กแตน

ดังนั้นตอนนี้เรามีแนวคิดที่ดีกว่าเกี่ยวกับการทำงานของรหัสสำหรับเครื่องเราสามารถใช้ข้อมูลนี้เพื่อสร้างโพสต์โปรเซสเซอร์ของเราเอง ฉันใช้ Rhino กับปลั๊กอินเอนกประสงค์ Grasshopper สำหรับสิ่งนี้ Rhino เป็นซอฟต์แวร์ CAD ที่รวมการวาดภาพ 2D และสภาพแวดล้อมการสร้างแบบจำลอง 3 มิติไว้ในที่เดียว Grasshopper เป็นปลั๊กอินสำหรับการเขียนโปรแกรมโหนดบนแรดและขยายความสามารถของมันอย่างกว้างขวาง ฉันคิดว่ามีภาษาโปรแกรมหรือซอฟต์แวร์อื่น ๆ ที่อาจทำสิ่งที่คล้ายกัน แต่ฉันพบว่าคำสั่งผสมของการเขียนโปรแกรมและสภาพแวดล้อม 3 มิตินี้เป็นวิธีที่ง่ายที่สุดในการทำสิ่งนี้เพราะคุณได้รับสิ่งที่เกิดขึ้นในโค้ดของคุณ

สิ่งที่เราจะทำในคำสั่งนี้จะช่วยให้เราสามารถวาดเส้นในแบบ 3 มิติและสร้างไฟล์พา ธ ที่จะบอกให้เครื่องทำตามบรรทัดเหล่านั้น ในขั้นตอนก่อนหน้านี้เราเห็นว่าเส้นทางของเครื่องมือประกอบด้วยcoördinates ซึ่งหมายความว่าเราจำเป็นต้องแปลงบรรทัดของเราเป็นจุดดึงโคเทนเนทจากจุดเหล่านั้นและเปลี่ยนให้อยู่ในรูปแบบที่ถูกต้อง เราต้องจำไว้ว่าระหว่างบรรทัดเราจะต้องการย้ายไปด้านบนของวัสดุเพราะเราไม่ต้องการที่จะตัดวัสดุเมื่อมันไปจากบรรทัดหนึ่งไปอีกบรรทัดหนึ่ง นั่นหมายความว่าเราต้องคัดลอกจุดแรกและจุดสุดท้ายจากแต่ละบรรทัดและใส่ความสูง z เหนือวัสดุของเรา

หรือถ้าฉันจะลดความซับซ้อนของกระบวนการมันจะกลายเป็นเช่นนี้:

- สายอินพุต

- ตัวเลือก: เรียงลำดับบรรทัดเพื่อให้แน่ใจว่าบรรทัดนั้นถูกสีในลำดับที่ถูกต้องหากจำเป็น (สามารถใช้เพื่อเร่งความเร็วสิ่งต่าง ๆ ได้มาก)

- แปลงบรรทัดเป็นรายการของคะแนน

- คัดลอกจุดแรกและจุดสุดท้ายจากเส้นโค้งแยกcoördinatesแทนที่ z-coördinateด้วยจุดที่อยู่เหนือวัสดุสร้างจุดใหม่จากcoördinatesเหล่านั้นและใส่จุดนั้นในรายการด้านขวา (ก่อนจุดเริ่มต้นและ ด้านหลังจุดสุดท้ายของแต่ละบรรทัดภายในวัสดุ)

- แยกcoördinatesจากแต่ละจุด

- แปลงพิกัดเหล่านี้เป็นไวยากรณ์ที่ถูกต้อง (g-code ที่ทำงานบนเครื่องของคุณโดยเฉพาะ)

- รวมสิ่งนี้เข้ากับรหัสเริ่มต้นและจุดสิ้นสุดของไฟล์

- เปลี่ยนเป็นไฟล์ gcode

ขั้นตอนที่ 5: สร้าง Toolpaths & Test

ฉันสร้างนิยามตั๊กแตนพื้นฐานซึ่งฉันเพิ่มเป็นตัวอย่าง มันเป็นขั้นตอนที่ฉันอธิบายไว้ในขั้นตอนก่อนหน้าและแปลงบรรทัด 3 มิติเป็น shopbot หรือรหัส colinbus ฉันคิดว่ามันค่อนข้างมีประโยชน์ที่จะเข้าใจการทำงานของมันให้ดีขึ้น

การบันทึกไฟล์ gcode จากไฟล์ตั๊กแตนที่คุณทำโดยคลิกขวาที่แผงสีเหลืองพร้อมรหัส (ทางขวาในไฟล์) และเลือกปลายทางของสตรีมซึ่งหมายถึงที่ที่คุณจะบันทึกไฟล์ เมื่อคุณตั้งชื่อไฟล์ให้แน่ใจว่าคุณเลือกส่วนขยายที่ gcode ของคุณใช้ สำหรับ Shopbot คือ. sbp สำหรับ colinbus คือ. c3d ฯลฯ … คุณสามารถค้นหาว่านี่คืออะไรโดยดูที่ไฟล์ toolpath ที่ส่งออกจาก cam-software ดังที่เราเห็นในขั้นตอนที่ 3

ก่อนที่คุณจะลองใช้รหัสที่สร้างเองเป็นครั้งแรกตรวจสอบให้แน่ใจว่าคุณอ่านรหัสและดูว่าทุกอย่างดูเหมือนว่าควรจะเป็น จากนั้นเรียกใช้ไฟล์ในอากาศและดูว่าเครื่องทำอะไร หากทุกอย่างดูเหมือนว่าควรให้เรียกใช้ไฟล์ลงในวัสดุและรู้สึกพึงพอใจในการกัดรหัสโปรแกรมที่คุณกำหนดเอง

จากที่นี่การสำรวจในตั๊กแตนสามารถเริ่มต้นได้ ความเป็นไปได้ของการรวมตั๊กแตนเข้ากับการตัดเฉือน cnc นั้นไม่มีที่สิ้นสุด ในขั้นตอนถัดไปฉันจะอธิบายวิธีสร้างตัวอย่างโดยใช้เครื่องมือเหล่านี้

ขั้นตอนที่ 6: ตัวอย่างที่ 1: แปลงภาพเป็นงานกัด 3D โดยใช้ V-bit

ภายในตั๊กแตนมีตัวอย่างภาพซึ่งสามารถอ่านค่าขาวดำของรูปภาพและแผนที่ที่มีค่าระหว่าง 0 ถึง 1 โดยมี 0 เป็นสีดำและ 1 เป็นสีขาว ดังนั้นสิ่งที่เราทำได้คือทำการแมปค่านั้นกับโดเมนอื่นที่จะควบคุมว่า v-bit ของเราจะไปลึกแค่ไหน ด้วยวิธีนี้เราสามารถสร้างความหนาของเส้นที่แตกต่างกันภายในวัสดุราวกับว่าเรากดหนักขึ้นและอ่อนลงด้วยดินสอบนกระดาษ

เนื่องจากตัวอย่างภาพต้องการคะแนนเป็นอินพุตเราจึงสามารถย้ายจุดเหล่านั้นไปยังความลึก z ที่เราต้องการได้อย่างรวดเร็ว หากเราจัดเรียงคะแนนของเราเป็นกลุ่มเราไม่สามารถสร้าง polylines 3D จากจุดเหล่านั้นและใช้ postprocessor เช่นในหนึ่งในขั้นตอนก่อนหน้านี้เพื่อเปลี่ยนเป็น gcode เมื่อคุณโม่ออกมาแนะนำให้ทาสีพื้นผิวด้านบนเพื่อให้ได้สีที่คมชัด

ฉันเพิ่มไฟล์ต้นฉบับที่ฉันใช้เพื่อให้สามารถเรียนรู้ได้ โปรดระวังว่าตัวประมวลผลภายหลังที่ใช้ในไฟล์ตัวอย่างนี้มีไว้สำหรับ Colinbus ไม่ใช่ Shopbot

คุณยังสามารถแปลง postprocessor เพื่อรับแต้มเป็นอินพุทและทำการเจาะทุกครั้งในความลึกที่แตกต่างกันด้วย v-bit ด้วยวิธีนี้คุณสามารถสร้างภาพสกรีนแม่พิมพ์บนเครื่องซีเอ็นซีได้เหมือนครั้งแรกที่ฉันลองใช้รหัสของตัวเอง (ดูภาพขั้นตอนก่อนหน้า)

ขั้นตอนที่ 7: ตัวอย่างที่ 2: เส้นโค้ง

ตัวอย่างนี้เป็นการวาดด้วยมือบางส่วนและตั๊กแตนบางส่วน สิ่งที่ฉันทำคือการสร้าง 4 บรรทัดซึ่งส่วนบนสุดและส่วนล่างสุดเป็นส่วนโค้งพื้นฐานจากวงกลมและสองบรรทัดที่อยู่ตรงกลางเป็นคลื่นลอนแบบสุ่มที่ฉันวาด จากนั้นฉันใช้ตั๊กแตนเพื่อสร้างบรรทัดการเปลี่ยนแปลงระหว่างพวกเขา เรียกว่า "เส้นโค้ง Tween" ฉันต้องการสร้างพื้นผิวของเส้นที่เส้นโค้งทวีคูณเหล่านี้อยู่ด้านบนของพื้นผิว ดังนั้นสิ่งที่ฉันทำคือทำเส้นแบ่งระหว่างเส้นโค้งช่วงการเปลี่ยนภาพซึ่ง v-bit จะตามมา

ตอนนี้เราจบลงด้วยเส้นโค้งในแบบ 2D แต่เราต้องการทำให้เป็นแบบสามมิติเพื่อให้ขอบท้ายอยู่ในระดับเดียวกัน สิ่งที่ฉันทำคือการหาร v-bit curves ขึ้นเป็นจุดและสำหรับแต่ละจุดที่ฉันคำนวณระยะทางกับเส้นโค้งที่ใกล้ที่สุด เนื่องจากฉันใช้บิต 90 องศาฉันรู้ว่าระยะทางไปยังกราฟการเปลี่ยนแปลงที่ใกล้เคียงที่สุดนั้นก็เป็นความลึกของ v-bit ของเราด้วย (ดูภาพ v-bit) หากคุณไม่เข้าใจว่าทำไมคุณสามารถค้นหาตรีโกณมิติ ดังนั้นการย้ายจุดหารในทิศทาง z ลงโดยใช้ระยะทางไปยังเส้นโค้งที่อยู่ใกล้ที่สุดเราจะได้เส้นโค้ง 3 มิติที่เราสามารถใช้กับตัวประมวลผลภายหลังได้อีกครั้ง

ฉันยังจัดเรียงเส้นโค้งและพลิกโค้งทุกเส้น สิ่งนี้จะเพิ่มเวลาในการกัดเนื่องจากทำให้แน่ใจว่าเครื่องจะไม่เคลื่อนที่ไปอีกด้านหนึ่งเหนือวัสดุทุกเส้นโค้ง

ฉันได้เพิ่มไฟล์แรดและตั๊กแตนเพื่อให้คุณสามารถแยกแยะว่าเป็นอย่างไร มันเป็นคำนิยามเก่า ๆ ดังนั้นฉันค่อนข้างมั่นใจว่ามีสิ่งที่สามารถทำได้เร็วกว่าหรือแตกต่างกัน

ขั้นตอนที่ 8: ตัวอย่างที่ 3: Sinus Bowl

สิ่งนี้ที่ฉันทำในขณะที่ฉันกำลังทำแบบฝึกหัดเกี่ยวกับการเรียนรู้ Python ในตั๊กแตน มีบางขั้นตอนที่เกี่ยวข้องก่อนการกัดขั้นสุดท้ายและฉันแน่ใจว่ามีวิธีที่รวดเร็วกว่าในการทำสิ่งนี้จากที่ฉันทำในเวลา แต่ที่นี่มันจะไป

ภายในองค์ประกอบของหลามฉันสร้างรหัสเพื่อสร้างจุดสำหรับสร้างพื้นผิวคลื่นไซนัสขนาด 100x100 มม. (ฉันคิดว่าฉันเรียนรู้จากบทช่วยสอนบางอย่าง แต่จำไม่ได้ว่าที่ไหนถ้ามีใครรู้บอกฉันหน่อยเพื่อที่ฉันจะเพิ่มได้)

เพื่อสร้างการเปลี่ยนแปลงอย่างราบรื่นจากพื้นผิวเรียบไปยังพื้นผิวคลื่นบาปนี้ฉันทำการแมปตัวเลขอีกครั้งโดยใช้ตัวทำแผนที่กราฟ สิ่งเหล่านี้จะสร้างตัวคูณสเกลที่เราจะใช้ ไม่ใช่วิธีที่สะอาดที่สุดในการสร้างพื้นผิวนี้ แต่ใช้ได้กับแอปพลิเคชันนี้ ดังนั้นผมจึงปรับแต่ละจุดในทิศทาง z จากจุดสูงสุดของพื้นผิวบาปของเราและชิ้นส่วนที่จะถูกแบนจะถูกลดขนาดด้วยค่า 0.001 เพื่อสร้างพื้นผิวที่ดูเรียบ (แม้ว่ามันจะไม่แบนอย่างสมบูรณ์)

จากนั้นฉันคำนวณระยะห่างระหว่างจุดศูนย์กลางของจัตุรัสกับแต่ละจุดจากพื้นผิวบาปที่เราสร้างขึ้น ฉันจัดเรียงรายการของจุดตามระยะทางนั้นและเลื่อนจำนวนของรายการของจุดที่ปรับขนาดลงเพื่อสร้างรูปร่างโดม (เพราะเราคำนวณระยะทางจากศูนย์กลางมันจะสร้างรูปทรงวงกลมนี้)

จากนั้นฉันก็สั่งให้จุดเหล่านั้นเป็นรายการของจุดเพื่อสร้างโพลีลีน ฉันสร้างโพลิลีนเหล่านี้เพิ่มความสูงที่แตกต่างกันดังนั้นฉันสามารถทำขั้นตอนคร่าวๆได้ ดังนั้นฉันจึงใช้มันกับ postprocessor ที่เราเคยใช้ก่อนทำการหยาบบนต้นโอ๊ก แต่สำหรับเส้นทางสุดท้ายฉันต้องการใช้ทางเดินเป็นเกลียวและต้องทำวิธีแก้ปัญหาเพื่อให้ได้:

ดังนั้นจาก polylines สุดท้ายฉันสร้างพื้นผิว 3 มิติ จากนั้นฉันก็อบผิว 3 มิติลงในแรดและดึงเกลียว 2d ขึ้นไปเหนือพื้นผิว จากนั้นฉันก็ทำการชดเชย (ด้วยรัศมีของบิตจมูกลูก) บนพื้นผิวและฉายเกลียวลงบนพื้นผิวนั้นเพื่อให้ตรงกับขอบของ ballnose กับพื้นผิวที่ฉันต้องการสร้าง จากนั้นเมื่อตั้งค่าความสูง z บนเครื่องฉันเลื่อนจุดศูนย์ลงด้วยระยะทางที่ตรงกับรัศมีของบิต 0 จุดในทิศทาง z ตอนนี้อยู่ที่กึ่งกลางของบิต จากนั้นฉันใช้ตัวประมวลผลภาพหลังลงบนเส้นโค้งเกลียวที่คาดการณ์ไว้และนั่นแหละ!

ตอนนี้สิ่งนี้จะยากต่อการอ่านข้อความของฉันดังนั้นฉันขอแนะนำให้ดูไฟล์ของฉันเพื่อทำความเข้าใจให้ดีขึ้น คุณจะต้องมีส่วนประกอบของไพ ธ อนซึ่งคุณสามารถหาได้จากเว็บไซต์ food4rhino: ที่นี่

แล้วมันก็ขึ้นอยู่กับคุณ! ฉันหวังว่าคุณจะได้เรียนรู้อะไรบางอย่างจากคำแนะนำนี้และในกรณีที่คุณใช้มันเพื่อทำสิ่งที่ฉันชอบที่จะเห็นผลลัพธ์!

รองชนะเลิศอันดับที่ใน

การแข่งขัน CNC 2016