1. 䛿䛨䜑䛻
3D䝥䝸䞁䝍䜢⏝䛧䛶3ḟඖ䛾䜸䝤䝆䜵䜽 䝖䜢㐀ᙧ䛩䜛䛸䛝䠈㏻ᖖ䛿3D CAD䛷タィ䛧 䛯䝰䝕䝹䜢䝇䝷䜲䝃䛸䜘䜀䜜䜛䝋䝣䝖䜴䜵䜰䛷 Ỉᖹ䛻䝇䝷䜲䝇䛧䛶䠈䛭䛾⤖ᯝ䜢䝥䝸䞁䝍䛻䛚 䛟䛳䛶༳ๅ䛩䜛䠊 CAD䛜ฟຊ䛩䜛䝣䜯䜲䝹 ᙧᘧ䛿䛥䜎䛦䜎䛰䛜䠈䝇䝷䜲䝃䛻䛚䛟䜛䛻䛿 STL (Standard Triangulation Language䜎䛯 䛿 Stereo-Lithography) 䛸䛔䛖ᐉゝⓗ䛺ᙧᘧ 䛾䝣䜯䜲䝹䛜⏝䛥䜜䜛䠊 STL 䛿䝰䝕䝹䛾 ⾲㠃ᙧ≧䜢3ゅᙧ䛾㞟ྜ䛻䜘䛳䛶㏆ఝ䛩䜛 (ෆ㒊䛿⾲⌧䛷䛝䛺䛔)䠊 3D䝥䝸䞁䝍䛻䛿䛔䜝䛔䜝䛺✀㢮䛜䛒䜛䛜䠈 Ᏻ ౯ 䛺 䝍 䜲 䝥 䛿 FDM (Fused Deposition Modeling䠈⇕⁐ゎ✚ᒙ)ᆺ䛸䜘䜀䜜䠈䛸䛛䛧 䛯䝣䜱䝷䝯䞁䝖(䝥䝷䝇䝔䜱䝑䜽)䜢䝜䝈䝹䛾ඛ➃ 䛛䜙ᑕฟ䛧䛶䛛䛯䜑䜛(ᅗ㻌1)䠊 FDM ᆺ䛾䝥 䝸䞁䝍䜢䛴䛛䛖䛸䛝䠈䝇䝷䜲䝇䛧䛯⤖ᯝ䛿㏻ᖖ G-code [Kra 00]䛸䛔䛖CAM ⏝ゝㄒ䛷⾲⌧ 䛥䜜䜛䠊CAD䛜ฟຊ䛩䜛䝰䝕䝹䛿㟼ⓗ(ᐉ ゝⓗ)䛰䛜䠈G-code䛿䜒䛸䜒䛸ᕤసᶵᲔ䛾ล 䛾ືస䜢䛒䜙䜟䛩䛾䛷ືⓗ(ᡭ⥆䛝ⓗ)䛷䛒 䜛䠊G-code䛻䜘䛳䛶䝥䝸䞁䝖䞉䝦䝑䝗䛾ືస䜔 䝥䝷䝇䝔䜱䝑䜽䜢ᑕฟ䛩䜛㏿ᗘ䛺䛹䜢ᣦᐃ䛩 䜛䛣䛸䛜䛷䛝䜛䠊 G-code䛻䜘䜛䝁䝬䞁䝗䛾䛸䛧䛶 2 䛴䜢䛒 䛢䛶䛚䛟䠊G0䛸䛔䛖䝁䝬䞁䝗䛿༢⣧䛺䝒䞊䝹 䛾⛣ື䜢ᣦ௧䛩䜛䠊䛯䛸䛘䜀 ᅗ1 FDMᆺ3D䝥䝸䞁䝍䛾ཎ⌮ ("FDM by Zureks" by Zureks - WikimediaCommons) G0 X0 Y0 Z0 F3600 䛸䛔䛖䝁䝬䞁䝗䛿ศ㏿3600mm䛷ᗙᶆ(0, 0, 0)䛻⛣ື䛩䜛䛣䛸䜢ᣦ௧䛩䜛䠊 䜎䛯䠈G1 䛸䛔䛖䝁䝬䞁䝗䛿ษ๐ᆺ䛾ᕤసᶵᲔ 䛻䛚䛔䛶䛿ຍᕤ䛧䛺䛜䜙䛾⛣ື䜢ព䛩䜛 䛜䠈ຍᆺ (additive)䛾ᕤసᶵᲔ䛷䛒䜛3D 䝥䝸䞁䝍䛻䛚䛔䛶䛿༳ๅ䛧䛺䛜䜙䛾⛣ື䜢ᣦ
3D
䝥䝸䞁䝍䛻䜘䜛
“3
ḟඖ䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇”
㔠⏣ Ὀ
Dasyn.com [email protected] ᴫせ: 3D䝥䝸䞁䝍䛷㐀ᙧ䛩䜛䛸䛝䠈㏻ᖖ䛿3D CAD䛷タィ䛧䛯㟼ⓗ(ᐉゝⓗ)䛺䝰䝕䝹䛾䝕 䞊䝍䜢ຍᕤ䛧䛶䝥䝸䞁䝍䛻䛚䛟䜛䠊䛧䛛䛧䠈ᬑཬ䛧䛶䛔䜛FDMᆺ3D䝥䝸䞁䝍䛜ධຊ䛩䜛䛾䛿 䝥䝸䞁䝖䞉䝦䝑䝗䛾⛣ື䛸䝣䜱䝷䝯䞁䝖䛾ᑕฟ䜢ไᚚ䛩䜛ືⓗ䛺ᡭ⥆䛝䛷䛒䜚䠈䛣䜜䜢䜘䜚⣲┤䛻 䝥䝻䜾䝷䝭䞁䜾ゝㄒ䛺䛔䛧䝷䜲䝤䝷䝸䛩䜜䜀䠈䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛾䜘䛖䛺᪉ἲ䛷3D䜸 䝤䝆䜵䜽䝖䛜⏕ᡂ䛷䛝䜛䠊 䛣䛾䛂䝍䞊䝖䝹3D ༳ๅ䛃䛾䝷䜲䝤䝷䝸䜢Python䛻䜘䛳䛶グ㏙䛧ヨ ⏝䛧䛶䜏䛯䠊䛣䛾䝷䜲䝤䝷䝸䛿බ㛤䛧䛶䛔䜛䠊3D䝥䝸䞁䝍䛷䛿ᐂ䛻༳ๅ䛷䛝䛺䛔䛣䛸䛜䝛䝑䜽 䛻䛺䜛䛜䠈䛭䛾ၥ㢟䜢䛖䜎䛟䜽䝸䜰䛷䛝䜜䜀3D䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛷䛘䛜䛔䛯ᅗᙧ䜢ᐇ≀䛻 䛩䜛䛣䛸䛜䛷䛝䜛䠊䜻䞊䝽䞊䝗: FDMᆺ3D䝥䝸䞁䝍䠈䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䠈Fused Deposition Modeling䠈⇕⁐ ゎ✚ᒙᆺ3D䝥䝸䞁䝍
௧䛩䜛䠊䛯䛸䛘䜀 G0 X0 Y0 Z0 F3600 E100 䛸䛔䛖䝁䝬䞁䝗䜢ᐇ⾜䛩䜛䛸䠈E100䛻䜘䛳䛶ᣦ ᐃ䛥䜜䜛㔞䛾䝣䜱䝷䝯䞁䝖䜢ᑕฟ䛧䛺䛜䜙⛣ື 䛩䜛䠊 (䝣䜱䝷䝯䞁䝖䛾㔞䛿ᣦᐃ䛻䛧䛯䛜䛳䛶 ┦ᑐ್䜎䛯䛿⤯ᑐ್䛷ᣦᐃ䛥䜜䜛.) FDMᆺ䝥䝸䞁䝍䛾䝥䝸䞁䝖䞉䝦䝑䝗䛿㏻ᖖ䛿 䛛䛞䜙䜜䛯᪉ྥ䛻䛧䛛䛖䛤䛛䛺䛔䛜䠈ᐇ䛿䛭 䜜 䜢 䜒 䛳 䛸 ⮬ ⏤ 䛻 䛖 䛤 䛛 䛩 䛣 䛸 䛜 䛷 䛝 䜛 䠊 FDMᆺ䛾䝥䝸䞁䝍䛷䛿㏻ᖖ䠈Ỉᖹ䛻䝇䝷䜲䝇 䛥䜜䛯ᒙ䛤䛸䛻༳ๅ䛩䜛䛾䛷䠈ᒙ㛫䛾⛣ື䛾 䛸䛝௨እ䛿䝥䝸䞁䝖䞉䝦䝑䝗䛜ᆶ┤᪉ྥ䛻䛖䛤䛟 䛣䛸䛿䛺䛔䠊 䛧䛛䛧䠈G-code䜢䛴䛛䛘䜀䝦䝑 䝗䜢⮬⏤䛺᪉ྥ䛻⛣ື䛥䛫䜛䛣䛸䛜䛷䛝䜛䠊 䛯䛸䛘䜀䠈ᗙᶆ(x0, y0, z0)䛻䛔䜛䛸䛝䛻䛴䛞 䛾䝁䝬䞁䝗䜢ᐇ⾜䛩䜛䛸䠈䝥䝸䞁䝖䞉䝦䝑䝗䛿 (x1, y1, z1)䛻⛣ື䛩䜛䠊 G0 Xx1 Yy1 Zz1 䛯䛰䛧䠈3D䝥䝸䞁䝍䛾䛺䛛䛻䛿ᆶ┤⛣ື䛜 ᚓព䛺䜒䛾䛜ከ䛔䛾䛷ὀព䛜ᚲせ䛷䛒䜛.
2. 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇
䛣䛾❶䛷䛿(2ḟඖ) 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇 䛸䛭䛾3ḟඖ䜈䛾ᣑᙇ䛻䛴䛔䛶ㄝ᫂䛩䜛䠊 2.1 2D䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇 䝍 䞊 䝖 䝹 䞉 䜾 䝷 䝣 䜱 䜽 䝇 䛿 1960 ᖺ ௦ 䛻 Seymore Papert(䝟䝟䞊䝖)䜙䛻䜘䛳䛶ᑟධ䛥 䜜䛯䠊Papert䛿䛣䛹䜒䛷䜒䛴䛛䛘䜛䜘䛖䛻䝥䝻 䜾䝷䝭䞁䜾ゝㄒLogo䜢タィ䛧䛯䠊Logo䜢䛴 䛛䛖䛸䠈䛂䜹䝯䛃䛾㌶㊧䛷2ḟඖ䛾⥺⏬䜢䛛䛛 䛫䜛䛣䛸䛜䛷䛝䜛䠊 䛣䜜䛜䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽 䝇䛷䛒䜛䠊 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛾ᇶᮏⓗ䛺ᥥ⏬䝁䝬 䞁䝗䛿䛴䛞䛾 3䛴䛷䛒䜛䠊 z Forward d 䛸䛔䛖䝁䝬䞁䝗䛻䜘䜚䠈䜹䝯䛿㊥ 㞳d䛰䛡๓㐍䛩䜛䠊 z Turn left a 䛸䛔䛖䝁䝬䞁䝗䛻䜘䜚䠈䜹䝯䛿ゅ ᗘa°䛰䛡ᕥ䛻䜎䛜䜛䠊 z Turn right a 䛸䛔䛖䝁䝬䞁䝗䛻䜘䜚䠈䜹䝯䛿ゅ ᗘa°䛰䛡ྑ䛻䜎䛜䜛䠊 䛣䜜䜙䛾䝁䝬䞁䝗䜢⏝䛩䜛䛣䛸䛻䜘䛳䛶䠈 䜹䝯䜢2ḟඖ✵㛫䛾䛺䛛䛷⮬⏤䛻䛖䛤䛛䛩䛣 䛸䛜䛷䛝䠈ᅗ2䛾䛾䜘䛖䛻䛭䛾㌶㊧䜢⾲♧ 䛩䜛䛣䛸䛜䛷䛝䜛䠊 ᅗ2 2 ḟඖ䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇 2.2 3D䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛿䜒䛸䜒䛸2ḟඖ䛾䜒 䛾䛰䛳䛯䛜䠈䛭䛾ᚋ䠈䛂3ḟඖ䝍䞊䝖䝹䞉䜾䝷䝣 䜱䜽䝇䛃䛻䜘䛳䛶 3ḟඖ䛾ᅗᙧ䜢䛘䛜䛟䛾䛻䜒 ⏝䛥䜜䜛䜘䛖䛻䛺䛳䛯 (䛯䛸䛘䜀 [Ver 14] [Tip 10])䠊 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䜢 3ḟඖ䛻 ᣑᙇ䛩䜛䛻䛿䠈ᇶᮏⓗ䛻䛿 forward, (turn) left, (turn) right䛾䜋䛛䛻ୖୗ᪉ྥ䛻⛣ື䜎 䛯䛿ᅇ㌿䛩䜛䝁䝬䞁䝗 (䛯䛸䛘䜀 up, down) 䜢㏣ຍ䛩䜜䜀䜘䛔䠊 䛥䜙䛻䠈Bernd Paysan 䛿䠈」㞧䛺3ḟඖᙧ≧䜢ᐜ᫆䛻䛴䛟䜚䛰䛩䛣 䛸䛜䛷䛝䜛“Dragon Graphics” [Pay 09]䛸䛔䛖 ᣑᙇ䛥䜜䛯3D 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䜢ᥦ 䛧䛶䛔䜛䠊 䛧䛛䛧䠈䛣䜜䜙䛿䛔䛪䜜䜒 2ḟඖ 䛾䝕䜱䝇䝥䝺䜲䛷⾲♧䛩䜛䛯䜑䛾䜾䝷䝣䜱䜽䝇 䛷䛒䜚䠈䜹䝯䛾㌶㊧䛜3ḟඖ䛷⾲♧䛥䜜䜛䜟 䛡䛷䛿䛺䛔䠊3. 3D
༳ๅ䛻䜘䜛
“䝍䞊䝖䝹䞉䜾䝷䝣䜱
䜽䝇
”
䛣䛾⠇䛷䛿3D䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛻䜒䛸 䛵䛟3D༳ๅᶵ⬟䜢᳨ウ䛧䠈䛭䛾タィ䞉ᐇ 䛻䛴䛔䛶䛾䜉䜛䠊䛣䛾ᶵ⬟䜢䝍䞊䝖䝹3D༳ ๅᶵ⬟䛸䜘䜆䠊3.1 ᴫせ G-code䛿ᡭ⥆䛝ⓗ䛺䛾䛷䠈䝍䞊䝖䝹䞉䜾䝷䝣 䜱䜽䝇䛸ྠ➼䛾䝁䝬䞁䝗䜢ᐇ⾜䛥䛫䜛䛣䛸䛜䛷 䛝䜛䠊䜒䛳䛸䜒䠈G-code䜢ே㛫䛜┤᥋᭩䛟䛣䛸 䛿ᬑ㏻䛿䛺䛔䛧䠈䜰䝉䞁䝤䝸ゝㄒ䛾䜘䛖䛺䜒䛾 䛺䛾䛷ே㛫䛜᭩䛟䛾䛻㐺䛧䛶䛿䛔䛺䛔䠊䛧䛛 䛧䠈3 ḟඖ䛾ᥥ⏬䝁䝬䞁䝗䜢 G-code 䛻⩻ヂ 䛩䜛䛾䛿ᐜ᫆䛷䛒䜛䠊 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇 䛾ሙྜ䛻䛿䠈Forward䝁䝬䞁䝗䜢G1䝁䝬䞁䝗 䛻ኚ䛩䜛䛰䛡䛷䜘䛔䠊 䛯䛰䛧䠈䝥䝸䞁䝖䞉䝦䝑䝗䛾ᗙᶆ䛿㏻ᖖ䛿䝕 䜹䝹䝖ᗙᶆ䛻䜘䛳䛶グ㏙䛩䜛䛾䛷䠈䛭䜜䜢䝍 䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛻䛚䛡䜛䜘䛖䛻㐍⾜᪉ྥ 䜢ᇶ‽䛻䛩䜛ᚲせ䛜䛒䜛䠊 䛧䛛䛧䠈䛣䜜䜒䛴 䛞䛾䜘䛖䛻䛩䜛䛣䛸䛻䜘䜚䠈ᐜ᫆䛻ᐇ⌧䛥䜜 䜛䠊➨ 1䛻䠈䜹䝯䛾᪉ྥ䜢G-code ⏕ᡂ䝥䝻 䜾 䝷 䝮 䛜 グ ᠈ 䛩 䜛 䜘 䛖 䛻 䛩 䜛 䠊 ➨ 2 䛻 䠈 forward䝁䝬䞁䝗䜢⩻ヂ䛩䜛㝿䛻⌧ᅾ䛾ᗙᶆ 䛸᪉ྥ䛸䛛䜙䛴䛞䛾ᗙᶆ䜢ィ⟬䛧䛶 G1䝁䝬 䞁䝗䛾ᘬᩘ䛸䛩䜛䠊➨ 3䛻䠈turn left䛚䜘䜃 turn right䝁䝬䞁䝗䜢⩻ヂ䛩䜛㝿䛻䛿䠈グ᠈䛧 䛶䛔䜛᪉ྥ䜢ಟṇ䛩䜛䠊ୖୗ䛾ືస䛻㛵䛧 䛶䜒ྠᵝ䛰䛜䠈䛭䜜䛻䛴䛔䛶グ㏙䛩䜛䛻䛿䠈 䜎䛪ᗙᶆ⣔䜢㑅ᢥ䛩䜛ᚲせ䛜䛒䜛䠊 3.2 ᗙᶆ⣔䛾㑅ᢥ䛸ୖୗ䛾⛣ື 䜹䝯䛾ᗙᶆ⣔䛸䛧䛶ᴟᗙᶆ䜢⏝䛩䜛᪉ἲ 䛸⟄ᗙᶆ䜢⏝䛩䜛᪉ἲ䛸䛜䛒䜚䠈ୖୗ䛾 ⛣ື䜢グ㏙䛩䜛᪉ἲ䛿䛭䜜䛻౫Ꮡ䛩䜛䠊 ᴟᗙᶆ䛿䝣䝷䜲䝖䝅䝭䝳䝺䞊䝍䛸ྠᵝ䛾ᗙᶆ ⣔䛷䛒䜚䠈䜹䝯䛾⛣ື᪉ྥ䛿㔜ຊ䛾᪉ྥ䛸䛿 ↓㛵ಀ䛻䛝䜎䜛䠊3D༳ๅ䛻䛚䛔䛶䛿㔜ຊ䜢 ⪃៖䛩䜛䛣䛸䛜Ḟ䛛䛫䛺䛔䛾䛷䠈䛣䜜䛷䛿༳ ๅྍ⬟ᛶ䜢ಖド䛩䜛䛾䛜ᅔ㞴䛻䛺䜛䠊 䛴䜎 䜚䠈䝣䝷䜲䝖䞉䝅䝭䝳䝺䞊䝍䛷䛿 (䛒䜛䛔䛿䛯䜆 䜣ᐇ㝿䛻㣕⾜ᶵ䜢᧯⦪䛧䛶䛔䛶䜒) 㖄┤᪉ ྥ䛜䜟䛛䜙䛺䛟䛺䛳䛶ቒⴠ䛧䛜䛱䛰䛜䠈3D༳ ๅ䛷䜒ྠᵝ䛾䛣䛸䛜䛚䛣䜛䠊 ⟄ᗙᶆ䛻䛚䛔䛶䛿䜹䝯䛾⛣ື᪉ྥ䛿䛴 䛽䛻Ỉᖹ䛷䛒䜛䛸䛩䜛䠊ᆶ┤᪉ྥ䛻⛣ື䛩 䜛䛸䛝䛿䛭䛾ኚ䜢グ㏙䛩䜛䛜䠈䜹䝯䛾᪉ྥ 䛿ኚ䛧䛺䛔䠊 䛣䛾᪉ἲ䛷䛿㔜ຊ䛾᪉ྥ䛜 䜹䝯䛻ᑐ䛧䛶୍ᐃ䛺䛾䛷䠈ᴟᗙᶆ䜢䛴䛛䛖䜘䜚 ༳ๅ䛩䜉䛝䜸䝤䝆䜵䜽䝖䛜䝕䝄䜲䞁䛧䜔䛩䛔 䛸䛛䜣䛜䛘䜙䜜䜛䠊 3.3 䝍䞊䝖䝹3D༳ๅ䛸 3D䝍䞊䝖䝹䞉 䜾䝷䝣䜱䜽䝇䛸䛾䛱䛜䛔 ୖグ䛾䜘䛖䛻䠈3D䝥䝸䞁䝍䜢䛴䛛䛘䜀䠈3ḟ ඖ䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛾䜘䛖䛺᪉ἲ䛷䜸䝤䝆 䜵䜽䝖䜢䛛䛯䛱䛵䛟䛳䛶䛔䛟䛣䛸䛜䛷䛝䜛䛜䠈䝍 䞊䝖䝹 3D༳ๅ䜢3ḟඖ䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽 䝇䛸ẚ㍑䛩䜛䛸2䛴䛾䛱䛜䛔䛜䛒䜛䠊 ➨ 1䛻䠈䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛻䛚䛔䛶䛿 3ḟඖ✵㛫䛾䛹䛣䛻䛷䜒⮬⏤䛻⥺䜢䜂䛟䛣䛸 䛜䛷䛝䜛䛜䠈3D༳ๅ䛻䛚䛔䛶䛿ᆅୖ䛷༳ๅ 䛩䜛䛛䛞䜚䛿ᑕฟ䛥䜜䛯䝣䜱䝷䝯䞁䝖䜢䛥䛥䛘䜛 䜒䛾(䝃䝫䞊䝖)䛜ᚲせ䛷䛒䜚䠈✵୰䛻༳ๅ䛩 䜛䛾䛿ᅔ㞴䛷䛒䜛䠊 ➨ 2䛻䠈䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛻䛚䛔䛶䛿 ༳ๅ㏿ᗘ䜔䝣䜱䝷䝯䞁䝖ᑕฟ㔞䛺䛹䛾༳ๅ䝟 䝷䝯䝍䜢ไᚚ䛩䜛ᚲせ䛜䛒䜛(ไᚚ䛩䜛䛣䛸䛜 䛷䛝䜛)䠊 䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛻䛚䛔䛶䜒⥺ 䛾䜅䛸䛥䛺䛹䜢䛛䛘䜛䛣䛸䛜䛷䛝䜛䛜䠈3D༳ ๅ䛷䛿䛝䜜䛔䛻༳ๅ䛩䜛䛻䛿༳ๅ㏿ᗘ䜢䛚 䛥䛘䜛ᚲせ䛜䛒䜛䛸䛣䜝䛺䛹䠈䝍䞊䝖䝹䞉䜾䝷䝣 䜱䜽䝇䛻䛿䛺䛔᮲௳䛜䛒䜛䠊
4. 㑅ᢥ⫥䛸䝷䜲䝤䝷䝸䛾タィ
䛣䛾❶䛷䛿䝍䞊䝖䝹3D༳ๅᶵ⬟䛾ᥦ౪ᙧ ែ䛻㛵䛩䜛㑅ᢥ⫥䛻䛴䛔䛶䛾䜉䠈䛭䛾䛺䛛 䛛䜙㑅ᢥ䛧䛶ᐇ䛧䛯Python䝷䜲䝤䝷䝸䛻䛴 䛔䛶䛾䜉䜛䠊 4.1 䝍䞊䝖䝹3D༳ๅᶵ⬟䛾䛯䜑䛾㑅 ᢥ⫥ 䝍䞊䝖䝹3D༳ๅ䛿ᡭ⥆䛝ⓗ䛻グ㏙䛩䜛䛾 䛜⮬↛䛷䛒䜛䛛䜙䠈Logo䜔䛾䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛸ྠᵝ䛻䝥䝻䜾䝷䝭䞁䜾ゝㄒ䛾୍㒊 䛸䛧䛶ᥦ౪䛩䜛䛾䛜⮬↛䛷䛒䜛䠊䛭䜜䜢๓ᥦ 䛸䛩䜛䛸䠈2䛴䛾㑅ᢥ⫥䛜䛛䜣䛜䛘䜙䜜䜛䠊 z Logo䛾䜘䛖䛺ゝㄒ䜢タィ䛩䜛䠊 z ᪤Ꮡ䛾ゝㄒ䛾䝷䜲䝤䝷䝸䜢㛤Ⓨ䛩䜛䠊 䛣䛾㑅ᢥ⫥䛾䛖䛱ᚋ⪅䜢㑅ᢥ䛧䛯䛜䠈䛭䛾 ⌮⏤䛿䛴䛞䛾䛸䛚䜚䛷䛒䜛䠊 Logo䛜タィ䛥 䜜䛯௦䛻䛿䜎䛰䝥䝻䜾䝷䝭䞁䜾ゝㄒ䛾ᩘ䛿 䛩䛟䛺䛟䛶䠈ᣑᙇ䛧䛶䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䜢䛟 䜏䛣䜐䛾䛜ᐜ᫆䛷䛺䛔䛯䜑䛻᪂ゝㄒ䜢䛴䛟䜛 䛸䛔䛖㑅ᢥ䛜䛺䛥䜜䛯䛾䛷䛒䜝䛖䠊䛧䛛䛧䠈⌧ ᅾ䛷䛿ᣑᙇྍ⬟䛺ゝㄒ䛿ከᩘ䛒䜚䠈᪂ゝㄒ 䜢ᑟධ䛩䜛䜉䛝⌮⏤䛿䛺䛔䛸䛛䜣䛜䛘䜙䜜 䜛䠊 䜂䜝䛟⏝䛥䜜䛶䛔䜛ゝㄒ䛻䛟䜏䛣䜣䛰 䜋䛖䛜䠈⏝䛧䜔䛩䛔䛸䛛䜣䛜䛘䜙䜜䜛䠊 䛭 䜜䛜䝷䜲䝤䝷䝸䛸䛔䛖᪉ἲ䜢㑅ᢥ䛧䛯⌮⏤䛷䛒 䜛䠊 ゝㄒ䛸䛧䛶䛿 Python䜢㑅ᢥ䛧䛯䛜䠈䛭䜜 䛿䠈䝰䝎䞁䛺ゝㄒ䛾䛺䛛䛷Python䛜ẚ㍑ⓗ ᬑཬ䛧䛶䛔䜛䛛䜙䛷䛒䜛䠊䜒䛱䜝䜣䠈䜋䛛䛻䜒 ᬑཬ䛧䛶䛔䜛ゝㄒ䛿䛒䜛䛜䠈䛭䛾䛺䛛䛛䜙 Python 䜢㑅ᢥ䛧䛯䛾䛿㊃䛾ၥ㢟䛷䜒䛒 䜛䠊 4.2 Python䛾䛯䜑䛾䝷䜲䝤䝷䝸 ⴭ⪅䛿䝍䞊䝖䝹 3D ༳ๅ䛾䛯䜑䛾 Python 䝷䜲䝤䝷䝸turtle.py䜢㛤Ⓨ䛧䛶䠈䜸䞊䝥䞁䞉䝋 䞊䝇䛷ᥦ౪䛧䛶䛔䜛 (http://bit.ly/ZEyLzx or http://www. kanadas.com/program/2014/08/-3d_3d_python.html)䠊 䛯 䛰 䛧 䠈 䜎 䛰 ≉ ᐃ 䛾 3D䝥䝸䞁䝍(Rostock MAX)䛷䛧䛛䛴䛛䛘䛺 䛔䛺䛹䠈ᡂᗘ䛜䜂䛟䛔䛣䛸䜒䛒䜚䠈䛔䜎䛾䛸䛣 䜝䛿䛸䛟䛻ᐉఏ䛧䛶䛿䛔䛺䛔(䛭䜜䛻䛧䛶䜒䠈 Google䛷᳨⣴䛧䛶䜏䛯䛜ᐜ᫆䛻䜏䛴䛛䜙䛺 䛔䛾䛷䠈䛩䛣䛧䛟䜅䛖䛜ᚲせ䛺䜘䛖䛰)䠊 䛣䛾䝷䜲䝤䝷䝸䜢⏝䛩䜛䛣䛸䛻䜘䛳䛶 G-code䛾䝥䝻䜾䝷䝮䜢⏕ᡂ䛩䜛䛣䛸䛜䛷䛝䜛䠊 䛩䛺䜟䛱䠈䛴䛞䛾䜘䛖䛺䝥䝻䜾䝷䝭䞁䜾䛜ྍ⬟ 䛻䛺䜛䠊䜹䝯䛾㐍⾜᪉ྥ䜢๓᪉䛸䛩䜛⟄ᗙ ᶆ䛻䜘䛳䛶䝥䝸䞁䝖䞉䝦䝑䝗䛾⛣ື᪉ྥ䜢グ㏙ 䛩䜛䠊forward(r, z)䛻䜘䛳䛶z᪉ྥ䛻⛣ື䛧 䛺䛜䜙๓㐍䛩䜛 (G-code䜢⏕ᡂ䛩䜛)䛣䛸䛜 䛷䛝䜛䠊 䛯䛸䛘䜀䠈⼺᪕䜢䛘䛜䛝䛺䛜䜙䝣䜱䝷䝯䞁䝖䜢 䛛䛥䛽䛶䛔䛟䝥䝻䜾䝷䝮䛿䛴䛞䛾䜘䛖䛻グ㏙ 䛩䜛䛣䛸䛜䛷䛝䜛䠊 init(FilamentDiameter, HeadTemperature, BedTemperature, CrossSection, x0, y0, 0.4) dz = 0.4 / 72 for j in range(0, 16): for i in range(0, 72): forward(1, dz) left(5) init䛿ึᮇ䛾䛯䜑䛾㛵ᩘ䛷䛒䜚䠈䛒䛸䛷ㄝ ᫂䛩䜛䠊䛣䛾䝥䝻䜾䝷䝮䛿5°䛪䛴72ᅇ䜎䛜 䜚䛺䛜䜙㏆ఝⓗ䛺䜢䛘䛜䛔䛶䛔䛟2D䝍䞊䝖 䝹䞉䜾䝷䝣䜱䜽䝇䛾䝥䝻䜾䝷䝮䛻䛱䛛䛔䠊䛱䛜 䛖䛾䛿䜎䛳䛩䛠๓㐍䛩䜛䛛䜟䜚䛻dz(mm)䛪 䛴ୖ᪼䛧䛶䛔䛟䛣䛸䛷䛒䜛䠊䝣䜱䝷䝯䞁䝖䛾䜅䛸 䛥䛿 0.4 mm䛷䛒䜛䛣䛸䜢௬ᐃ䛧䛶䛔䜛䠊 72 ᅇ䛾⛣ື䛷䛱䜗䛖䛹0.4mmୖ᪼䛩䜛䛣䛸䛻䜘 䛳䛶䠈✵୰䛻༳ๅ䛩䜛䛣䛸䛺䛟䠈䝣䜱䝷䝯䞁䝖䜢 䛝䛱䜣䛸䛛䛥䛽䛶䛔䛟䛣䛸䛜䛷䛝䜛䠊ᐇ㝿䛻䛿 ᑕฟ䛧䛯䝣䜱䝷䝯䞁䝖䛾䜅䛸䛥䛿0.4mm䜘䜚䛩 䛣䛧䜅䛸䛔ᚲせ䛜䛒䜛(ᑕฟ㔞䜢ㄪᩚ䛧䛶䛭 䛾䜘䛖䛻䛩䜛)䠊 䛴䜎䜚 “ᒙ” 䛾䛒䛴䛥䛜 0.4 mm䛸䛔䛖䛣䛸䛰䛜䠈⼺᪕䛺䛾䛷ṇ☜䛻䛿ᒙ 䛻䛺䛳䛶䛔䛺䛔䠊䛭䛖䛩䜜䜀䝣䜱䝷䝯䞁䝖䛹䛖䛧 䛜䛚䛧䛴䛡䜙䜜䛶᥋╔䛧䠈䛛䜣䛯䜣䛻䛿䛿䛜 䜜䛺䛟䛺䜛䠊 ึᮇ㛵ᩘ init䛻䜘䛳䛶䛴䛞䛾್䜢ㄪᩚ 䛩 䜛 䛣 䛸 䛜 䛷 䛝 䜛 䠊 ᭱ ึ 䛾 ᘬ ᩘ FilamentDiameter䛿䝥䝸䞁䝍䛻䛚䛔䛶⏝䛩 䜛䝣䜱䝷䝯䞁䝖䛾䜅䛸䛥䛷䛒䜚䠈㏻ᖖ䛿1.75mm 䜎䛯䛿3mm䛷䛒䜛䠊 2␒䜑䛚䜘䜃3␒䜑䛾ᘬᩘ䛿䛭䜜䛮䜜タ ᐃ䛩䜛䜉䛝䝥䝸䞁䝖䞉䝦䝑䝗䛸䝥䝸䞁䝖䞉䝧䝑䝗 (༳ๅྎ)䛾 ᗘ䛷䛒䜛䠊 FDMᆺ䛾䝥䝸䞁䝍 䛷䛿㏻ᖖABS䜎䛯䛿PLA(䝫䝸ங㓟)䛸䛔䛖
䝥䝷䝇䝔䜱䝑䜽䜢⏝䛩䜛䛜䠈ABS䛿 240°C 䛟䜙䛔䠈PLA䛿200°C䛟䜙䛔䛷⏝䛩䜛䠊䝥 䝸䞁䝖䞉䝧䝑䝗䛿 PLA䛻䛴䛔䛶䛿ຍ⇕䛧䛺䛔 (0䜢ᣦᐃ) 䛷䜘䛔䛜䠈ABS䛻䛴䛔䛶䛿 80– 110°C䛟䜙䛔䛾 ᗘ䛻ຍ⇕䛩䜛䠊ABS 䛿 ᗘ䛜䛥䛜䜛䛸⦰䛧䛶䝥䝸䞁䝖䞉䝧䝑䝗䛛䜙䛿䛜 䜜䜛䛛䜙䛷䛒䜛䠊 4␒䜑䛾ᘬᩘCrossSection䛿ᑕฟ䛩䜛䝣䜱 䝷䝯䞁䝖䛾᩿㠃✚䜢ᣦᐃ䛩䜛䠊䛣䜜䛿䝣䜱䝷䝯 䞁䝖䛾ᑕฟ㔞䜢ไᚚ䛩䜛䛯䜑䛻䛒䛯䛘䜛䠊 FDMᆺ 3D䝥䝸䞁䝍䛻䛚䛔䛶䛿╔䛥䜜䛯 䝣䜱䝷䝯䞁䝖䛾䛚䛟䜚㔞 (䛺䛜䛥)䛻䜘䛳䛶䛭䛾 㔞䜢ᣦᐃ䛩䜛䛜䠈䛣䜜䛷䛿䝣䜱䝷䝯䞁䝖䛾䜅䛸 䛥(1.75mm䜎䛯䛿3.0mm)䛻䜘䛳䛶ᑕฟ㔞 䛾ᣦᐃ䜢䛛䛘䛺䛡䜜䜀䛺䜙䛺䛔䠊䛭䛣䛷䠈ᑕ ฟ䛥䜜䜛䝣䜱䝷䝯䞁䝖䛾᩿㠃✚䛻䜘䛳䛶ᑕฟ㔞 䜢ไᚚ䛩䜛䜘䛖䛻䛧䛶䛔䜛䠊䛣䛖䛩䜜䜀䝣䜱䝷 䝯䞁䝖䛾䜅䛸䛥䜢䛛䛘䛯䛸䛝䛿init䛾᭱ึ䛾ᘬ ᩘ䛾್䜢䛛䛘䜛䛰䛡䛷䛩䜐䠊 ᭱ᚋ䛾3䛴䛾䝟䝷䝯䝍䛿༳ๅ䜢㛤ጞ䛩䜛 ⨨䛾ᗙᶆ䛷䛒䜛䠊 䛣䜜䜙䛿䝕䜹䝹䝖ᗙᶆ䛻䜘 䛳䛶䛒䛯䛘䜛䠊 ୖグ䛾䜘䛖䛻༳ๅ䝟䝷䝯䝍䛾䛖䛱䝣䜱䝷䝯䞁䝖 ᑕฟ㔞䛾ึᮇ್䛿 init䛻䜘䛳䛶ᣦᐃ䛩䜛䛣 䛸䛜䛷䛝䜛䛜䠈䛭䜜䛿༳ๅ୰䛻ኚ᭦䛩䜛ᚲせ 䛜⏕䛨䜛䠊䜎䛯䠈༳ๅ㏿ᗘ䛿ึᮇ್䜒ᅛᐃ䛥 䜜䛶䛔䜛䛾䛷䠈᭱ึ䛛䜙ᣦᐃ䛩䜛ᚲせ䛜⏕䛨 䜛 䛣 䛸 䜒 䛒 䜛 䠊 䛣 䜜 䜙 䛿 䠈 ᚲ せ 䛺 䛸 䛝 䛿 setVelocity䛚䜘䜃 setCrossSection 䛸䛔䛖㛵 ᩘ䜢⏝䛧䛶ኚ᭦䛩䜛䛣䛸䛜䛷䛝䜛䠊
5. ᐇ㦂
䛔䛟䛴䛛䛾ᅗᙧ䜢䛸䛧䛶䠈turtle.py 䜢 ⏝䛧䛶䜏䛯䠊䛻䜒䛔䛟䛴䛛䝣䝸䞊䛾䝒䞊䝹 䜢⏝䛧䛯䛭䛾㛤Ⓨ䞉༳ๅ㐣⛬䛸⤖ᯝ䜢ሗ࿌ 䛩䜛䠊 5.1 㢟 ⟄ (⼺᪕)䠈䛽䛨䜜ᅄゅ㗹䠈ᖹ㠃䝣䝷䜽䝍 䝹䛺䛹䛾㢟䜢䛣䛣䜝䜏䛯䠊 ᅗ㻌3䛻䛣䜜䜙䜢 䜾䝷䝣䜱䜽䝇䛻䜘䛳䛶⾲♧䛧䛯䜒䛾䜢䛧䜑䛩䠊 ᅗ3(c)䛾䜘䛖䛺2ḟඖ䛾䝣䝷䜽䝍䝹䛿3D䝥 䝸䞁䝍䛷༳ๅ䛩䜛䜸䝤䝆䜵䜽䝖䛸䛧䛶䛿䛔䜎䜂 䛸䛴䛷䛒䜚䠈䝣䝷䜽䝍䝹ᅗᙧ䛸䛧䛶䛿䜋䜣䛸䛖䛿 3D䝣䝷䜽䝍䝹䜢䛯䜑䛧䛯䛔䠊 䛧䛛䛧䠈ⴭ⪅䛜 ▱䜛䛛䛞䜚䛾 3D䝣䝷䜽䝍䝹䛿䜏䛺ᐂ䛻༳ๅ 䛩䜛ᚲせ䛜䛒䜛䛯䜑䠈㏻ᖖ䛾 3D༳ๅ䛷䛿 䛴䛟䜜䛺䛔䠊 (a) ⟄ (⼺᪕) (b) 䛽䛨䜜ᅄゅ㗹 (c) 䝣䝷䜽䝍䝹ᅗᙧ (2ḟඖ) ᅗ3 䝍䞊䝖䝹3D༳ๅ䛾䛯䜑䛾㢟 (Repetier Host 䛻䜘䜚⾲♧) 5.2 ᪉ἲ ᇶ ᮏ ⓗ 䛺 ᡭ 㡰 䛿 䛴 䛞 䛾 䛸 䛚 䜚 䛷 䛒 䜛 (ᅗ㻌4)䠊 1) 䝥䝻䜾䝷䝮グ㏙䛸G-code⏕ᡂ 2) 䜾䝷䝣䜱䜽䝇䛻䜘䜛☜ㄆ 3) 3D༳ๅ 䛩䛺䜟䛱䠈䜎䛪䝥䝻䜾䝷䝮䜢グ㏙䛧䠈䛭䛾䝥 䝻䜾䝷䝮䜢⏝䛧䛶 G-code䜢⏕ᡂ䛩䜛䠊䛭 䛧䛶䠈䛭䛾 G-code䜢䛭䜜⏝䛾䝒䞊䝹䛷⾲♧ 䛧䛶ᙧ≧䜢☜ㄆ䛩䜛䠊ᡂຌ䛧䛯䜙༳ๅ䛧䛶䜏 䜛䠊䛧䛛䛧䠈䛣䛾ᡭ㡰䜢1ᅇᐇ⾜䛩䜛䛰䛡䛷ᡂຌ䛩䜛䛣䛸䛿䜎䛪䛺䛔䠊䛧䛯䛜䛳䛶䠈䛣䜜䜙 䜢ᡂຌ䛩䜛䜎䛷䛟䜚䛛䛘䛧䛯䠊 1) 䝥䝻䜾䝷䝮グ㏙ 2) 䜾䝷䝣䜱䜽䝇䛻䜘䜛☜ㄆ 3) 3D༳ๅ ᅗ4 䝍䞊䝖䝹 3D ༳ๅ䛾ᡭ㡰 1ᅇ䛷ᡂຌ䛧䛺䛔䛾䛿䠈䝒䞊䝹䛷䛾⾲♧䛜 ᡂຌ䛧䛶䜒༳ๅ䜢䛰䜑䛻䛩䜛せᅉ䛜ከ䚻䛒䜛 䛛䜙䛷䛒䜛䠊 init䛿 3D䝥䝸䞁䝍䜢䛻ึ ᮇ䛩䜛䜟䛡䛷䛿䛺䛔䛾䛷䠈ึᮇ䜟䛩䜜 䜒䛚䛣䜛䛜䠈䛣䜜䛿ᐜ᫆䛻ゎỴ䛷䛝䜛䠊ABS 䛸PLA䛾䛒䛔䛰䛷䛿䜒䛱䜝䜣䠈ྠ✀䛾䝥䝷䝇 䝔䜱䝑䜽䛷䜒 ᗘタᐃ䜢䛛䛘䛺䛡䜜䜀䛺䜙䛺 䛔䛣䛸䜒䛒䜛䛜䠈䛣䜜䜒ㄪᩚ䛿ẚ㍑ⓗᐜ᫆䛷 䛒䜛䠊 䜔䛳䛛䛔䛺䛾䛿䠈䝣䜱䝷䝯䞁䝖䜢䛪䜙䛧 䛶䛛䛥䛽䛶䛔䛟䛯䜑䠈䛖䜎䛟䛛䛥䛽䜙䜜䛪䛻㝗 ἐ䛧䛯䜚⬺ⴠ䛧䛯䜚䛩䜛䛣䛸䛷䛒䜛䠊䛭䛾䛿 䛒䛸䛷䛧䜑䛩䠊 㝗ἐ䛩䜛䛣䛸䛜䛥䛡䜙䜜䛺䛔 ᙧ≧䛾䛸䛝䛿䠈䝥䝸䞁䝖䞉䝦䝑䝗䛾ୖ᪼䝢䝑䝏䜢 䛥䛢䛺䛡䜜䜀䛺䜙䛺䛔䛣䛸䜒䛒䜛䠊 ௨ୗ䠈䛣䜜䜙䛾䝇䝔䝑䝥䜢䜘䜚䛟䜟䛧䛟䜏䛶䛔 䛟䠊 5.2.1 䝥䝻䜾䝷䝮䛾グ㏙䛸G-code⏕ᡂ 䝥䝻䜾䝷䝮䜢グ㏙䛧ᐇ⾜䛩䜛䛯䜑䛻䛿䠈䛩 䛝䛺 Python⏝䛾䜶䝕䜱䝍䜔㛤Ⓨ⎔ቃ䜢䛴䛛 䛘䜀䜘䛔䠊ⴭ⪅䛾㊃䛿Emacs䛺䛾䛷䠈䛭 䜜 䜢 䛴 䛛 䛳 䛶 グ ㏙ 䛧 䝁 䞁 䝟 䜲 䝹 䛧 䛶 䛔 䜛 (ᅗ5)䠊 䛭䛾䝥䝻䜾䝷䝮䜢ᐇ⾜䛩䜛䛸ᶆ‽ฟ ຊ䛛䜙G-code 䛜䛘䜙䜜䜛䛾䛷䠈䛭䜜䜢䝣䜯䜲 䝹䛻䛔䜜䜛䠊䛸䛟䛻䛴䛡䛟䜟䛘䜛䛣䛸䛿䛺䛔䠊 ᅗ5 䜶䝕䜱䝍/㛤Ⓨ⎔ቃ䛻䜘䜛グ㏙䞉䝕䝞 䜾 (Emacs) 5.2.2 䜾䝷䝣䜱䜽䝇䛻䜘䜛సရ䛾☜ㄆ G-code 䜢ධຊ䛧䛶䜾䝷䝣䜱䜽䝇䛷⾲♧䛩䜛 䝥䝻䜾䝷䝮䛸䛧䛶ẚ㍑ⓗ౽䛺䛾䛿Repetier Host 䛸 䛔 䛖 3D 䝥 䝸 䞁 䝍 ⏝ 䝒 䞊 䝹 䛷 䛒 䜛 (ᅗ6)䠊 Repetier Host䛿 Windows, Macin-tosh䛾䛔䛪䜜䛷䜒ືస䛩䜛䠊㢮ఝ䛾䝒䞊䝹 䛿䜋䛛䛻䜒䛒䜛䛸䛛䜣䛜䛘䜙䜜䜛䛜䠈Repetier Host䛿⾲♧ᶵ⬟䜒ከᵝ䛷䛒䜛䛖䛘䠈䛣䜜䜢䛴 䛛䛘䜀☜ㄆ䛰䛡䛷䛺䛟༳ๅ䜎䛷䛷䛝䜛(䛿䛪 䛷䛒䜛)䠊 䜴䜱䞁䝗䜴䛾ྑഃ䛻⾲♧䛥䜜䛶䛔䜛 䛾䛿G-code䛷䛒䜛䠊 ᅗ6 Repetier Host 䜢⏝䛧䛯 䜾䝷䝣䜱䜽䝇䛻䜘䜛సရ䛾☜ㄆ
䛣䛾䝇䝔䝑䝥䛷䛿䛖䜎䛟༳ๅ䛷䛝䛭䛖䛛䛹䛖䛛 䜢䝒䞊䝹䛾ᶵ⬟䜢䛴䛛䛳䛶☜ㄆ䛧䠈どぬⓗ 䛻☜ㄆ䛩䜛䠊䛧䛛䛧䠈䝒䞊䝹䛨䛯䛔䛷䛿䝁䝬 䞁䝗ᵓᩥ䛜䛯䛰䛧䛔䛛䛹䛖䛛䛺䛹䠈䜘䜟䛔䝏䜵 䝑䜽䛧䛛䛷䛝䛺䛔䠊䜎䛯䠈䜂䛸䛜䜏䛶䜒༳ๅྍ ⬟ᛶ䛜ุᐃ䛷䛝䛺䛔䛣䛸䜒ከ䛔䠊䛭䛾⌮⏤䛾 䜂䛸䛴䛿䠈༳ๅ䝥䝻䝉䝇䛿ືⓗ䛰䛜䜾䝷䝣䜱 䝑䜽⾲♧䛿㟼ⓗ䛰䛛䜙䛸䛔䛖䛣䛸䛷䛒䜛䠊 వㄯ䛰䛜䠈Repetier Host䛿ධຊ䛥䜜䛯 G-code䛻䜅䛟䜎䜜䜛䝇䝷䜲䝇䛾ᩘ (ᒙᩘ)䜢䜒䛸 䜑䜘䛖䛸䛩䜛䠊䝍䞊䝖䝹3D༳ๅ⏝䛾G-code 䛻䛚䛔䛶䛿z㍈᪉ྥ䛻⮬⏤䛻⛣ື䛷䛝䜛䛾 䛷ወጁ䛺䛣䛸䛜䛚䛣䜛䛜䠈䛭䜜䛷䜒䠈⭾䛺 ᒙᩘ䜢䛛䛮䛘䜛䛺䛹䛧䛶䠈䛺䜣䛸䛛㏣㝶䛧䛶䛟 䜜䜛䠊 5.2.3 సရ䛾༳ๅ 䛩䛷䛻᭩䛔䛯䜘䛖䛻3D༳ๅ䛾䛯䜑䛾䝥䝻 䜾䝷䝮䛸䛧䛶䛿Repetier Host䛜䛴䛛䛘䜛䛿䛪 䛰䛜䠈ⴭ⪅䛾⎔ቃ(Windows Vista) 䛷䛿䜘䛟 ㏵୰䛷䛸䜎䜛䛾䛷༳ๅ䛻䛿䛴䛛䛳䛶䛔䛺䛔 (䛯䛰䛧䠈᭱᪂∧䛷䛹䛖䛺䜛䛛䛿䛯䛧䛛䜑䛶䛔 䛺䛔)䠊㏵୰䛷䛸䜎䜛䛸༳ๅ䜢᭱ึ䛛䜙䜔䜚䛺 䛚䛥䛺䛡䜜䜀䛺䜙䛺䛔䠊䜒䛳䛸䜒䠈๓グ䛾䜘䛖 䛺䜸䝤䝆䜵䜽䝖䛻䛚䛔䛶䛿༳ๅ㛫䛜ᩘศ⛬ ᗘ䛺䛾䛷䠈䛭䛖䛺䛳䛶䜒༳ๅ䛻ఱ㛫䛛䛛䛛 䜛䛚䛚䛟䛾3D༳ๅ䜘䜚䛿⿕ᐖ䛿䛩䛟䛺䛔䠊 䛭 䜜 䛷 䜒 䠈 ኻ ᩋ 䛜 䛺 䛔 䜘 䛖 䛻 䛩 䜛 䛯 䜑 䠈 Pronterface 䛸䛔䛖༳ๅ⏝䝋䝣䝖䜴䜵䜰䜢⏝ 䛧䛶䛔䜛(ᅗ7)䠊䛣䜜䜒Windows, Macintosh 䛾୧᪉䛷ືస䛩䜛䠊Pronterface䜒䛻Ᏻ ᐃ䛧䛶䛔䜛䜟䛡䛷䛿䛺䛔䛜䠈ලྜ䛿䛒䛳䛶 䜒༳ๅ䛜䛸䜎䜛䛣䛸䛿䜎䜜䛷䛒䜛䠊 5.3 ༳ๅ㐣⛬䛸⤖ᯝ ༳ๅ䛾䜘䛖䛩䜢䝡䝕䜸䛷ᙳ䛧䛯䠊 䛣䛣䛻 䛾䛫䜛䛣䛸䛿䛷䛝䛺䛔䛜 YouTube 䛻ᢞ✏䛧 䛶䛔䜛(http://youtu.be/7H5-acxQ_RE)䠊 ᅗ7 Pronterface䛻䜘䜛సရ䛾༳ๅ 㗹䜔䛽䛨䜜ᅄゅ㗹䛾䜘䛖䛻๓㐍䛸ᅇ㌿䜢 䛟䜚䛛䛘䛧䛶䛴䛟䜛ᅗᙧ䛾䜢ᅗ8䛻䛧䜑䛩䠊 㗹䛾ሙྜ䛿䛚䛺䛨䝟䝍䞊䞁䜢䛟䜚䛛䛘䛧䛶 䛔䛟䛜䠈䛽䛨䜜ᅄゅ㗹䛾ሙྜ (a)䛿䝟䝍䞊䞁 䛜⦰ᑠ䛧䛶䛔䛟䠊(a)䛾2␒䜑䛾┿䛿᭱ึ 䛾┿䛸䛚䛺䛨ᅄゅ㗹䜢䛖䛘䛛䜙䛖䛴䛧䛯䜒䛾 䛰䛜䠈䛣䛖䛩䜛䛸ᅗ2䛾ᖹ㠃ᅗᙧ䛸䛾㛵ಀ䛜 䜘䛟䜟䛛䜛 (䛯䛰䛧䠈ᅗ2䛿ᣑ䛩䜛᪉ྥ䛻 䛘䛜䛔䛶䛔䜛)䠊 ྠᵝ䛻ᣑ䛧䛶䛔䛟䝟䝍䞊 䞁䜒䛴䛟䜛䛣䛸䛜䛷䛝䜛䛜䠈䛭䛾䜢 (b)䛻䛧 䜑䛩䠊䛯䛰䛧䠈᥋ᆅ㠃✚䛜䛱䛔䛥䛟䛶༳ๅ୰ 䛻䛿䛜䜜䜔䛩䛔䛾䛷䠈ὀព䛜ᚲせ䛷䛒䜛䠊 䜾䝷䝣䜱䜽䝇䛾ሙྜ䛿⦰ᑠ䛧䛺䛜䜙䛛䛔䛶䜒 ᣑ䛧䛺䛜䜙䛛䛔䛶䜒䛚䛺䛨⤖ᯝ䛜䛘䜙䜜䜛 䛜䠈䝍䞊䝖䝹3D༳ๅ䛾ሙྜ䛿䛣䛾䜘䛖䛻䛧䛯 䛛䜙䛴䜏䛒䛢䛶䛔䛟䛾䛷⦰ᑠ䛸ᣑ䛸䛷䛣䛸 䛺䜛ᙧ≧䛜⏕ᡂ䛥䜜䜛䠊
(a) 䛽䛨䜜ᅄゅ㗹 (⦰ᑠ䛧䛶䛔䛟䝟䝍䞊䞁) (b) ᣑ䛧䛶䛔䛟䝟䝍䞊䞁䛾 ᅗ8 ༳ๅ⤖ᯝ – ᅇ㌿䛸⦰ᑠ䞉ᣑ ᅗ9䛿䜒䛖䛩䛣䛧䛛䜟䛳䛯䛴䛛䛔䛛䛯䛾 䛷䛒䜛䠊(a)䛿䛩䛷䛻䛧䜑䛧䛯ᖹ㠃䝣䝷䜽䝍䝹 䛷䛒䜛䠊䛣䛾ሙྜ䛿ᯞ䛜ศᒱ䛧䛶䛔䛟䛾䛷䠈 ᫂♧ⓗ䛻ศᒱⅬ䛻䜒䛹䛳䛶༳ๅ䛩䜛ᚲせ䛜 䛒䜛(䝥䝻䜾䝷䝭䞁䜾ゝㄒ䛾⎔ቃ䛿ᡭ⥆䛝䜘䜃 䛰䛧䛾ᐇ⾜䛜⤊䛩䜜䜀⮬ືⓗ䛻䜒䛸䛻䜒 䛹䜛䛜䠈turtle.py䛷䛿䛭䜜䛜䛷䛝䛺䛔䛾䛷᫂ ♧ⓗ䛻䜒䛹䛥䛺䛡䜜䜀䛺䜙䛺䛔)䠊䜒䛹䜛䛸䛝 䛻⣒(䛸䛔䛖䜋䛹䜋䛭䛟䛺䛔䛜)䜢䜂䛔䛶䛧䜎 䛳䛶䛔䜛䠊 䛣䜜䜢䛺䛟䛩䛻䛿䠈䛥䜙䛻䛟䜅䛖䛜 ᚲせ䛷䛒䜛䠊 (a) 2ḟඖ䝣䝷䜽䝍䝹ᅗᙧ (b) ๓㐍䛸ゅᗘ䛜ᣑ䛩䜛ᅇ㌿䛻䜘䜛2ḟ ඖᅗᙧ (c) ୖୗ䛾䝣䜱䝷䝯䞁䝖䛾䛛䛥䛺䜚䛜䛩䛟䛺䛔ᅗ ᙧ ᅗ9 䛾༳ๅ (b)䛿๓㐍䛸ᅇ㌿䜢䛟䜚䛛䛘䛧䛶䛔䛟䛸䛝䛻ᅇ ㌿ゅ䜢䛰䜣䛰䜣䛚䛚䛝䛟䛧䛶䛔䛟䛸䛝䛻䛷䛝 䜛䠈ⴭ⪅䛜䛩䛝䛺2ḟඖ䝟䝍䞊䞁䛷䛒䜛䠊䝥 䝻䜾䝷䝭䞁䜾䞉䝅䞁䝫䝆䜴䝮䛾ཎ✏䛷䜒䠈䛒䜎䛳
䛯䝇䝨䞊䝇䛻ྠᵝ䛾䝟䝍䞊䞁䜢䛘䛜䛔䛯䛣䛸 䛜䛒䜛[Kan 85]䠊 3ḟඖ䛾䛸䛝䛿䛝䛱䜣䛸䛴䜏䛛䛥䛽䜛䝟䝍䞊 䞁䛰䛡䠈䛭䜜௨እ䛷䛿 2ḟඖ䛾䝟䝍䞊䞁䛧 䛛䛴䛟䜜䛺䛔䛸䛔䛖䛾䛷䛿䛴䜎䜙䛺䛔䛾䛷䠈 (c)䛿䝣䜱䝷䝯䞁䝖䛜䛻䛿䛴䜏䛛䛥䛺䜙䛺 䛔䛺3ḟඖ䝟䝍䞊䞁䜢䛴䛟䛳䛶䜏䛯䛷䛒 䜛䠊䜎䛰䜾䝷䝣䜱䜽䝇䜢⾲♧䛧䛶䛔䛺䛛䛳䛯䛾 䛷䠈䛣䛣䛻䛒䜟䛫䛶䛒䛢䜛䠊 ᭱ึ䛿 0.4mm 䛤䛸䛻䝣䜱䝷䝯䞁䝖䛜䛛䛥䛺䜛䜘䛖䛻䝕䝄䜲䞁䛧 䛯䛜䠈䛭䜜䛷䛿䛴䜆䜜䛶䛧䜎䛖䠊䛭䛣䛷䠈䝣䜱 䝷䝯䞁䝖䛾䜅䛸䛥䛿0.4mm䛾䜎䜎䠈“ᒙ”䛾䛯 䛛䛥䛿0.3mm䛤䛸䛻䛧䛶䠈䝬䜽䝻䛻䛿䛯䛰䛧 䛔ᙧ≧䛜䛘䜙䜜䜛䜘䛖䛻䛧䛶䛔䜛䠊䛭䜜䛷䜒䠈 ┤ୗ䛾䝣䜱䝷䝯䞁䝖䛛䜙䛿䛪䜜䛯䝣䜱䝷䝯䞁䝖䛿 䛩䛣䛧ୗ䛻ኚᙧ䛧䛶䛔䜛䠊 䛛䛥䛺䛳䛶䛔䜛㒊 ศ䜢䛥䜙䛻䜈䜙䛩䛸䛥䜙䛻ኚᙧ䛩䜛䛜䠈䛣䛾⛬ ᗘ䛰䛸䜎䛰䜋䜌䝕䝄䜲䞁䛧䛯䛸䛚䜚䛾䛛䛯䛱 䛾䜘䛖䛻䜏䛘䜛䠊 䛹䛖䛔䛖ኻᩋ䛜䛚䛣䜚䛖䜛䛛䜢䛧䜑䛩䛾䜒㔜 せ䛰 䛸䛚䜒 䛖 䛾 䛷䠈 ᆺ ⓗ䛺 䜢 䛒䛢 䜛䠊 ᅗ9(c)䛿䛒䜛ព䛷䛿༳ๅ䛻ኻᩋ䛧䛯䛰 䛜䠈ពᅗⓗ䛷䛒䜛䠊䛭䜜䛻ᑐ䛧䛶ᅗ10䛾᭱ ึ䛾┿䛿ពᅗ䛧䛶䛔䛺䛛䛳䛯䛒䛝䜙䛛䛺ኻ ᩋ䛷䛒䜛䠊䛴䜎䜚䠈⟄䜢䛛䛟䛸䛝䛻䛩䛣䛧 䛪䛴┤ᚄ䜢ᣑ䛧䛶䛔䛟䛸䠈2␒䜑䛾┿䛾 䜘䛖䛻䛒䜛⛬ᗘ䜎䛷䛿䛯䛰䛧䛟䛴䜏䛛䛥䛺䜛 䛜䠈㝈⏺䜢䛣䛘䜛䛸䛴䜏䛛䛥䛺䜙䛺䛟䛺䜛䠊䝣 䜱䝷䝯䞁䝖䜢䛱䛲䜑䜛᪉ྥ䛻䛱䛛䜙䛜䛛䛛䛳䛶 䛔䜛䛸䛝䛿䠈䛣䛾┿䛾䜘䛖䛻䝣䜱䝷䝯䞁䝖䛜ᘼ 䜢䛘䛜䛟䛛䜟䜚䛻୍㒊䛜䝅䝵䞊䝖䜹䝑䝖䛥䜜䛶 ⥺ศ䛻䛺䛳䛶䛧䜎䛖䠊
6. 㛵㐃◊✲
3D 䝥 䝸 䞁 䝍 䛿 ຍ ᆺ ຍ ᕤ (additive manufacturing, AM)䜢䛚䛣䛺䛖ᕤసᶵᲔ䛸䛛 䜣䛜䛘䜙䜜䛶䛔䜛䛜䠈䝁䞁䝢䝳䞊䝍ᩘ್ไᚚ (CNC)䛻䜘䜛ᕤసᶵᲔ䛾Ṕྐ䛿᪕┙䠈䝣䝷䜲 䝇┙䛺䛹䛾ษ๐ᆺຍᕤ䛛䜙䛿䛨䜎䛳䛶䛔䜛䠊 1950-60 ᖺ௦䛻䛿ษ๐ᆺ䝒䞊䝹䛾䛯䜑䛾䝥 䝻䜾䝷䝭䞁䜾ゝㄒ䛜䛥䛛䜣䛻◊✲䛥䜜䛶䛔䛯䠊 䛭䛾䛺䛛䛷௦⾲ⓗ䛺䜒䛾䛜MIT䛻䛚䛔䛶㛤 Ⓨ䛥䜜䛯APT[Bro 63]䛷䛒䜛䠊䝍䞊䝖䝹3D ༳ๅ䛿䝒䞊䝹䛾⛣ື䜔ຍᕤ䜢ᡭ⥆䛝ⓗ䛻ᣦ ♧䛩䜛Ⅼ䛷APT䛻䛱䛛䛔䛜䠈ຍᆺຍᕤ䜢 ┠ⓗ䛸䛧䛶䛔䜛Ⅼ䜔⏝䛧䛶䛔䜛ᗙᶆ⣔䛜䛣 䛸䛺䛳䛶䛔䜛䠊 䜎䛯䠈turtle.py䛿ỗ⏝ゝㄒ䛾 䝷䜲䝤䝷䝸䛷䛒䜛䛸䛔䛖Ⅼ䛷 CNCᑓ⏝ゝㄒ䛸 䛧䛶タィ䛥䜜䛶䛔䜛 APT 䛸䛿䛱䛜䛔䛜䛒䜛 (ᑓ⏝ゝㄒ䜢タィ䛧䛯Ⅼ䛷Logo 䛻䛱䛛䛔䛸 䜒䛔䛘䜛)䠊䛧䛛䛧䠈䝍䞊䝖䝹3D༳ๅ䛿1960 ᖺ௦௨㝆 CAD䛾Ⓨᒎ䛻䜘䛳䛶䜟䛩䜜䜙䜜 䛶䛔䛯ᡭ⥆䛝ᆺゝㄒ䛻䜘䜛ᶵᲔຍᕤ䛾䝸䝞䜲 䝞䝹䛰䛸䜒䛔䛘䜛䛰䜝䛖䠊 ᅗ10 ༳ๅኻᩋ䛸ᡂຌ7. ⤖ㄽ
䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛻䜒䛸䛵䛔䛶3D䜸䝤 䝆䜵䜽䝖䜢⏕ᡂ䛩䜛䛯䜑䛾 䛂䝍䞊䝖䝹 3D༳ ๅ䛃 䛾䝷䜲䝤䝷䝸䜢Python䛻䜘䛳䛶グ㏙䛧ヨ ⏝䛧䛶䜏䛯䠊 䛣䛾䝷䜲䝤䝷䝸䛸 G-code 䝒䞊䝹䠈3D䝥䝸䞁䝍➼䜢䛟䜏䛒䜟䛫䜜䜀䠈䝍䞊䝖 䝹3D༳ๅ䛾㛤Ⓨ⎔ቃ䜢ᐇ⌧䛩䜛䛣䛸䛜䛷䛝 䜛䠊3D䝥䝸䞁䝍䛷䛿ᐂ䛻༳ๅ䛷䛝䛺䛔䛣䛸䛜 䝛䝑䜽䛻䛺䜚䛖䜛䛜䠈䛭䛾ၥ㢟䜢䛖䜎䛟䜽䝸䜰䛷 䛝䜜䜀 3D䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛷䛘䛜䛔䛯 ᅗᙧ䜢ᐇ≀䛻䛩䜛䛣䛸䛜䛷䛝䜛䠊 ᚋ䛾ㄢ㢟䛸䛧䛶䛿䠈䛔䜝䛔䜝䛺䛛䛯䛱䠈䛸 䛟䛻ୖୗ䛾䝣䜱䝷䝯䞁䝖䛾䛛䛥䛺䜚䛜䛩䛟䛺䛔 ᅗᙧ䜢䛯䜑䛩䛣䛸䠈⌧ᅾ䛾䝷䜲䝤䝷䝸䜢䛴䛛䛳 䛯䛟䜅䛖䜔䝷䜲䝤䝷䝸䛾ᣑᙇ䠈ᴟᗙᶆ䜢䛯䜑䛩 䛣䛸䛺䛹䛜䛒䜛䠊 䛺䛚䠈䛣䛾䝇䝷䜲䝗䛸ㄽᩥ䛾䛯䜑䛻䛴䛞䛾 URL䜢⏝ព䛧䛶䛔䜛䠊⿵㊊䛺䛹䛜䛒䜜䜀䠈䛣 䛣 䛻 グ ㏙ 䛩 䜛 䠊 http://bit.ly/1sr1008 (http://www.kanadas.com/papers/2014/08/-3d_3.html)䠊䜎䛯䠈䛣䛾ሗ࿌䛷䛿䜹䝯䜢୰ᚰ䛸 䛩䜛ᗙᶆ⣔䛰䛡䜢䛒䛴䛛䛳䛯䛜䠈䝕䜹䝹䝖ᗙ ᶆ䜢䛴䛛䛳䛯䜋䛖䛜䛘䛜䛝䜔䛩䛔ᅗᙧ䛜䛒䜛 (䜐䛧䜝䛭䛾䜋䛖䛜ከ䛔䛸䛛䜣䛜䛘䜙䜜䜛)䠊䛭 䛾䛯䜑䛾䝷䜲䝤䝷䝸䜔᪉ἲ䜒䛒䜟䛫䛶㛤Ⓨ䛧 䛶䛔䜛䠊
㉁䞉ᛂ⟅
ཷ䛡䛯㉁ၥ䞉ពぢ䜢グ㘓䛧䛯䝯䝰䜢䛺䛟䛧䛶 䛧䜎䛳䛯䛾䛷⌧䛩䜛䛣䛸䛜䛷䛝䛺䛔䠊 䛧䛛 䛧䠈3௳䛾䛖䛱2௳䛿䠈ᣦ♧䛥䜜䛯䛸䛚䜚䛻䝥 䝸䞁䝖䞉䝦䝑䝗䜢䛖䛤䛛䛩䛛䜟䜚䛻༳ๅ䝁䝬䞁䝗 䛺䛔䛧༳ๅ䝕䞊䝍䛻㐺ษ䛺⦅㞟䜢䜋䛹䛣䛧䛶 䛛䜙༳ๅ䛩䜛䜋䛖䛜䜘䛔䛾䛷䛿䛺䛔䛛(䛸䛟䛻 㠃䛸䛧䛶䛒䛴䛛䛖䛾䛜䜘䛔䛾䛷䛿䛺䛔䛛)䛸䛔 䛖ෆᐜ䛰䛳䛯䛸グ᠈䛧䛶䛔䜛䠊䛣䛖䛩䜛䛣䛸䛷 ᣦ♧䛥䜜䛯䛸䛚䜚䛻┤᥋༳ๅ䛩䜛䜘䜚༳ๅྍ ⬟ᛶ䛻㛵䛩䜛ไ⣙䜢䜈䜙䛫䜛䛾䛷䛿䛺䛔䛛䛸 䛔䛖䛣䛸䛷䛒䜛䠊 䝍䞊䝖䝹3D༳ๅ䛷䛿༳ๅྍ⬟䛷䛒䜛䛯䜑 䛻䛝䜃䛧䛔ไ⣙䛜䛒䜚䠈䛭䜜䜢ゎᾘ䜒䛧䛟䛿㍍ ῶ䛩䜛䛣䛸䛻㉁ၥ䞉ពぢ䛜䛒䛴䜎䛳䛯䛾䛰䜝 䛖䠊 Ⓨ⾲ᙜ᪥䛿䛒䛔䜎䛔䛺䛣䛯䛘䛧䛛䛷䛝䛺 䛛䛳䛯䛜䠈䛔䜎䛛䜣䛜䛘䛺䛚䛩䛸䠈」㞧䛺䛧 䛛䛡䜢䛔䜜䜛䛣䛸䛿䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛾┤ ほᛶ䜢䛭䛣䛺䛖䜘䛖䛻䛚䜒䛖䠊Ᏻᐃ䛺༳ๅ䛾䛯 䜑䛻䛿ୖୗ䛾䝣䜱䝷䝯䞁䝖䛜䛛䛥䛺䜛ᚲせ䛜䛒 䜚䠈ᚲ↛ⓗ䛻㠃䜢ᙧᡂ䛩䜛䠊䛧䛛䛧䠈䛭䜜䛿 ᮏ᮶䠈䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䛜䜑䛦䛩䜉䛝䜒䛾 䛷䛿䛺䛔䠊㠃䜢䛒䛴䛛䛖䛻䛿䜐䛧䜝䝕䜹䝹䝖 ᗙᶆ䛾䜒䛸䛷㒊ရ䜢䛟䜏䛯䛶䛶䛴䛟䜛䜋䛖䛜㐺 䛧䛶䛔䛶䠈䛭䜜䛿䝍䞊䝖䝹䞉䜾䝷䝣䜱䜽䝇䜢䜑䛦 䛧䛶䛔䜛䛣䛾◊✲䛸䛿䜉䛴䜒䛾䛰䛸䛛䜣䛜䛘 䜙䜜䜛䠊 䝍䞊䝖䝹3D༳ๅ䛨䛯䛔䜢Ⓨᒎ䛥䛫䜛䛻䛿䠈 3D䝥䝸䞁䝍䜢ᨵⰋ䛧䛶ᐂ䛻༳ๅ䛷䛝䜛䜘䛖䛻 䛩䜛䜉䛝䛰䜝䛖䠊ᐇ㝿䠈ᐂ䛻༳ๅ䛷䛝䜛䝥䝸䞁 䝍䜒㛤Ⓨ䛥䜜䛶䛔䜛䠊ཧ⪃ᩥ⊩
[Bro 63] Brown, S. A., Drayton, C. E., and Mittman, B., “A Description of the APT Language”, Communications of the ACM,
Vol. 6, No. 11, pp. 649䇴658, 1963.
[Kan 85] 㔠⏣ Ὀ, “䝇䞊䝟䞊䞉䝁䞁䝢䝳䞊䝍 䛻䜘䜛 Prolog䛾㧗㏿ᐇ⾜”, ➨ 26ᅇ䝥䝻 䜾䝷䝭䞁䜾䞉䝅䞁䝫䝆䜴䝮ሗ࿌㞟, pp. 47䇴56, 1985.
[Kra 00] Kramer, T. R., Proctor, F. M., and Messina, E. “The NIST RS274NGC Interpreter - Version 3”, NISTIR 6556, August 2000.
[Pay 09] Paysan, B., ““Dragon Graphics”, Forth, OpenGL and 3D-Turtle-Graphics”, August 2009, http://bernd-paysan.de/-dragongraphics-eng.pdf
[Tip 10] Tipping, S., “Cheloniidae”, December 2010, http://spencertipping. -com/cheloniidae/src/cheloniidae.pdf [Ver 14] Verhoeff, T., “3D Flying
Pipe-Laying Turtle”, Wolfram Demonstrations Project, http://demonstrations.wolfram. -com/3DFlyingPipeLayingTurtle/