G-code: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: date, title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by BOZ | Category:Articles with bare URLs for citations from July 2023 | #UCB_Category 239/706
Citations galore, rename section to be more precise (the background of G-code =/= an implementation of C-code), fix up infobox
Line 3:
{{redirect|RS-274|the photoplotter format|Gerber format}}
{{Infobox programming language
| name = machine codesG-code
| logo =
| caption =
| file ext = .gcode, .mpt, .mpf, .nc and several others
| paradigm = [[Procedural programming|Procedural]], [[Imperative programming|Imperativeimperative]]
| released = 1950s (first edition)<!-- {{Start date|YYYY1963}} (RS-->274)
| designer = [[Massachusetts Institute of Technology]]
| developer = [[Electronic Industries Alliance|Electronic Industries Association]] (RS-274), [[International Organization for Standardization]] (ISO-6983)
| developer =
| implementations = many,Numerous; mainly [[Siemens]] Sinumerik, [[FANUC]], [[Haas Automation|Haas]], [[Heidenhain]], [[Yamazaki Mazak Corporation|Mazak]], [[Okuma Corporation|Okuma]]. Generally there is one international standard—[[International Organization for Standardization|ISO]] 6983.
| latest release version =
| latest release date = <!-- {{start date and age|YYYY|MM|DD}} -->
| latest preview version =
| latest preview date = <!-- {{start date and age|YYYY|MM|DD}} -->
| typing =
| implementations = many, mainly [[Siemens]] Sinumerik, [[FANUC]], [[Haas Automation|Haas]], [[Heidenhain]], [[Yamazaki Mazak Corporation|Mazak]], [[Okuma Corporation|Okuma]]. Generally there is one international standard—[[International Organization for Standardization|ISO]] 6983.
| dialects =
| influenced by =
Line 28 ⟶ 21:
}}
 
'''G-code''' (also '''RS-274''') is the most widely used [[computer numerical control]] (CNC) and [[3D Printingprinting]] [[programming language]]. It is used mainly in [[computer-aided manufacturing]] to control automated [[machine tool]]s, as well as for [[Slicer (3D printing)|3D-printer slicer applications]]. The ''G'' stands for geometry. G-code has many variants.
 
G-code instructions are provided to a [[Programmable logic controller|machine controller]] (industrial computer) that tells the motors where to move, how fast to move, and what path to follow. The two most common situations are that, within a machine tool such as a [[Metal lathe|lathe]] or [[Milling (machining)|mill]], a [[cutting tool (machining)|cutting tool]] is moved according to these instructions through a toolpath cutting away material to leave only the finished workpiece and/or an unfinished workpiece is precisely positioned in any of up to nine axes<ref>Karlo Apro (2008). ''[https://books.google.com/books?id=Ws228Aht0bcC Secrets of 5-Axis Machining]''. Industrial Press Inc. {{ISBN|0-8311-3375-9}}.</ref> around the three dimensions relative to a toolpath and, either or both can move relative to each other. The same concept also extends to noncutting tools such as [[Forming (metalworking)|forming]] or [[Burnishing (metal)|burnishing]] tools, [[Gerber format|photoplotting]], additive methods such as [[3D printing]], and measuring instruments.
 
==Background and implementations==
==Implementations==
The first implementation of a numerical control programming language was developed at the [[Massachusetts Institute of Technology|MIT]] Servomechanisms Laboratory]] in the late 1950s. In the decades sincethat followed, many implementations have beenwere developed by manynumerous organizations, both (commercial and noncommercial) organizations. Elements of G-code hashad often been used in these implementations.<ref>{{cite book | last=Xu | first=Xun | date=2009 | url=https://www.google.com/books/edition/Integrating_Advanced_Computer_Aided_Desi/habcATPQWJ4C | title=Integrating Advanced Computer-aided Design, Manufacturing, and Numerical Control: Principles and Implementations | publisher=Information Science Reference | page=166 | isbn=9781599047164 | via=Google Books}}</ref><ref>{{cite book | last=Harik | first=Ramy | author2=Thorsten Wuest | date=2019 | url=https://www.google.com/books/edition/Introduction_to_Advanced_Manufacturing/O3h0EAAAQBAJ | title=Introduction to Advanced Manufacturing | publisher=SAE International | page=116 | isbn=9780768090963 | via=Google Books}}</ref> The mainfirst [[Technical standard|standardized]] version of G-code used in the United States, ''RS-274'', was settledpublished in 1963 by the [[Electronic Industries Alliance]] in(EIA; thethen earlyknown 1960sas Electronic Industries Association).<ref>{{Citationcite book needed| last=Evans | first=John M., Jr. | date=March1976 2010| url=https://www.govinfo.gov/content/pkg/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa/pdf/GOVPUB-C13-2ef4aaa5a150eedcb85a1e6985e90bfa.pdf | title=National Bureau of Standards Information Report (NBSIR) 76-1094 (R): Standards for Computer Aided Manufacturing | publisher=National Bureau of Standards | page=43}}</ref> In 1974, EIA approved ''RS-274-C'', which merged ''RS-273'' (variable block for positioning and straight cut) and ''RS-274-B'' (variable block for contouring and contouring/positioning). A final revision of ''RS-274'' was approved in February 19801979, as ''RS-274-D''.<ref>{{cite journal | last=Schenck | first=John P. | date=January 1, 1998 | url=https://link.gale.com/apps/doc/A20429590/GPS?sid=wikipedia | title=Understanding common CNC protocols | work=Wood & Wood Products | publisher=Vance Publishing | volume=103 | issue=1 | page=43 | via=Gale}}</ref><ref>{{citation| title = EIA Standard RS-274-D Interchangeable Variable Block Data Format for Positioning, Contouring, and Contouring/Positioning Numerically Controlled Machines |publisher = Electronic Industries Association |___location= Washington D.C. |date=February 1979}}</ref> In other countries, the standard ''[[International Organization for Standardization|ISO]] 6983'' (finalized in 1982) is often used, but many European countries use other standards.<ref>{{cite book | last=Stark | first=J. | author2=V.&nbsp;K. Nguyen | date=2009 | url=https://www.google.com/books/edition/Advanced_Design_and_Manufacturing_Based/RIgLRe12RD4C | chapter=STEP-compliant CNC Systems, Present and Future Directions | title=Advanced Design and Manufacturing Based on STEP | editor-last=Xu | editor-first=Xun | editor2=Andrew Yeh Ching Nee | publisher=Springer London | page=216 | isbn=9781848827394 | via=Google Books}}</ref> For example, ''[[Deutsches Institut für Normung|DIN]] 66025'' is used in Germany, and PN-73M-55256 and PN-93/M-55251 were formerly used in Poland.
 
Extensions and variations have been added independently by control manufacturers and machine tool manufacturers, and operators of a specific controller must be aware of the differences between each manufacturer's product.