<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>CNCGRAF: Software for controlling CNC machines</title>
	<atom:link href="https://cncgraf.com/en/feed/" rel="self" type="application/rss+xml" />
	<link>https://cncgraf.com/en</link>
	<description></description>
	<lastBuildDate>Tuesday, 4 November 2025, 16:25:53 GMT</lastBuildDate>
	<language>English (UK)</language>
	<sy:updateperiod>
	hourly	</sy:updateperiod>
	<sy:updatefrequency>
	1	</sy:updatefrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://cncgraf.com/wp-content/uploads/2023/04/cropped-app-32x32.png</url>
	<title>CNCGRAF: Software for controlling CNC machines</title>
	<link>https://cncgraf.com/en</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Upgrade from cncGraF 7, NC-EASY (EAS GmbH), InfoCAM (Infotec Team) to cncGraF 8</title>
		<link>https://cncgraf.com/en/2025/10/31/upgrade-cncgraf7-nceasy-infocam-cncgraf-8/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Fri, 31 Oct 2025 11:51:09 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[cncGraF Upgrade]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=6096</guid>

					<description><![CDATA[In this article, we will show you step by step how you can switch from cncGraF 6/7, InfoCAM (Infotec Team) or NC-EAS(Y) (EAS GmbH) to the new cncGraF 8 version free of charge - including the transfer of your previous settings.]]></description>
										<content:encoded><![CDATA[<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading has-text-align-center has-large-font-size translation-block">Upgrade from cncGraF 6/7, NC-EASY, <br>InfoCAM to cncGraF 8</h1>



<p class="wp-block-paragraph translation-block">In this article, we will show you step by step how you can switch from <strong>cncGraF 6/7</strong>, <strong>InfoCAM</strong> (<strong>Infotec Team</strong>) or <strong>NC-EAS(Y)</strong> (<strong>EAS GmbH</strong>) to the new <strong>cncGraF 8</strong> version free of charge - including <strong>transferring your previous settings</strong>.</p>



<p class="wp-block-paragraph">You can download the current version of cncGraF 8 from <a href="https://cncgraf.com/en/download-cncgraf-cnc-control-software/" data-type="page" data-id="24">download here</a>.</p>



<h2 class="wp-block-heading has-large-font-size">Why switch to cncGraF 8?</h2>



<p class="wp-block-paragraph translation-block">The new cncGraF 8 offers <a href="https://cncgraf.com/en/cncgraf-8-cnc-control-software-whats-new/" data-type="page" data-id="10" target="_self">many new functions</a>, improved performance, an optimised user interface and support for current controller generations.</p>



<p class="wp-block-paragraph">In addition, support for older versions will be discontinued. Switching to cncGraF 8 ensures that you will continue to receive updates and technical support.</p>



<h2 class="wp-block-heading has-large-font-size">Requirements for the upgrade</h2>



<p class="wp-block-paragraph">At least the smc5d-p32 controller is required for the upgrade. Of course, the newer smc5d-m4 controller is also fully compatible.</p>



<h3 class="wp-block-heading has-large-font-size">From which versions can an update be made?</h3>



<p class="wp-block-paragraph translation-block">An upgrade to <strong>cncGraF 8</strong> is generally possible from all older <strong>cncGraF</strong>, <strong>InfoCAM</strong> or <strong>NC-EASY</strong> versions, <strong>as long as they use the smc5d-p32 controller or higher</strong>.</p>



<p class="wp-block-paragraph">That means:</p>



<ul class="wp-block-list">
<li class="translation-block"><strong>cncGraF 6</strong> and <strong>cncGraF 7</strong> can be updated to <strong>cncGraF 8</strong>,</li>



<li class="translation-block">as well as <strong>all versions of InfoCAM</strong> (Infotec Team) and <strong>NC-EASY</strong> (EAS GmbH),<br><strong>if you are already working with the smc5d-p32 controller or a newer controller generation.</strong></li>
</ul>



<p class="wp-block-paragraph">All these programmes use the same smc5d-p32 controller and have a comparable range of functions. This makes it easy to switch to cncGraF 8 without having to recreate your machine parameters.</p>



<p class="wp-block-paragraph translation-block"><strong>Tip:</strong><br>You can easily see which <strong>controller</strong> you are currently using in the <strong>„Help → About“</strong> menu (when the controller is connected). The example image below shows <em>Controller</em>: <strong>smc5d-p32</strong>.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="600" height="270" src="https://cncgraf.com/wp-content/uploads/2025/10/check-version.png" alt="" class="wp-image-6110" srcset="https://cncgraf.com/wp-content/uploads/2025/10/check-version.png 600w, https://cncgraf.com/wp-content/uploads/2025/10/check-version-300x135.png 300w, https://cncgraf.com/wp-content/uploads/2025/10/check-version-18x8.png 18w" sizes="(max-width: 600px) 100vw, 600px" /></figure>



<h3 class="wp-block-heading has-large-font-size">Step 1: Save system settings</h3>



<p class="wp-block-paragraph translation-block"><strong>Important</strong>: Before you start the upgrade, you should regularly back up your previous settings to avoid data loss. To do this in your old software, go to:<br><br><strong>Settings → System settings → Save...</strong><br><br>The backup file created (e.g. with the extension .sbf2, .sbf8 or config.xml) is required later to transfer the settings to cncGraF 8.<br><br>It is best to save this file on a separate data carrier or USB stick.</p>



<h3 class="wp-block-heading has-large-font-size">Step 2: Installing cncGraF 8</h3>



<p class="wp-block-paragraph translation-block">The installation of cncGraF 8 takes place in a new programme directory.<br>Your previous version (<em>e.g. cncGraF 7, InfoCAM or NC-EASY</em>) remains untouched.<br>This allows you to use both versions in parallel and test the transition at your leisure.<br><br><strong>Note</strong>:<br>Depending on the software version, a firmware upgrade may be required after installation.</p>



<h3 class="wp-block-heading has-large-font-size">Step 3: Apply settings in cncGraF 8</h3>



<p class="wp-block-paragraph">After installation, you can simply import your previously saved settings:</p>



<p class="wp-block-paragraph"><strong>Settings → System settings → Restore / Load (config.xml)...</strong></p>



<p class="wp-block-paragraph">This means that almost all parameters are automatically transferred to the new version. </p>



<p class="wp-block-paragraph translation-block"><strong>Exception:</strong> When importing a <em><strong>config.xml</strong></em> file, all <strong>machine settings</strong> and <strong>dialogue settings</strong> are adopted, but <strong>not the tool store</strong>. In this case, the <strong>tool store must be set up again manually</strong>.</p>



<h3 class="wp-block-heading has-large-font-size">Step 4: Checking the transferred values</h3>



<p class="wp-block-paragraph translation-block"><strong>cncGraF 8</strong> automatically adopts almost all previous settings.</p>



<p class="wp-block-paragraph translation-block">Only some parameters - such as the <strong>reference sequence of the axes</strong> (<em>machine parameter → pin assignment</em>) or the <strong>axis sequence</strong> when approaching the <strong>zero point</strong>, <strong>parking point</strong> and <strong>measurement point</strong> - should be checked after the import and redefined if necessary.</p>



<p class="wp-block-paragraph translation-block"><strong>Note:</strong><br>We are continuously developing <strong>cncGraF</strong>. However, due to new functions and technical changes, it is not always possible to ensure full compatibility with all older versions (<em>including very old cncGraF, InfoCAM or NC-EASY versions</em>).<br><br>There is therefore <strong>no guarantee</strong> that all settings will be applied automatically.<br>It is <strong>strongly recommended</strong> to check all important machine parameters and position settings after the upgrade.</p>



<h3 class="wp-block-heading has-large-font-size">Conclusion: Easy change, full compatibility</h3>



<p class="wp-block-paragraph">The upgrade to cncGraF 8 is free, quick and guarantees future compatibility and technical support. Regardless of whether you have previously used cncGraF 7, InfoCAM or NC-EASY - the upgrade is worthwhile in any case.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>3D finder: Simple zero point determination and measurement</title>
		<link>https://cncgraf.com/en/2024/04/25/3d-finder-probe-touch-probes-sensors/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Thu, 25 Apr 2024 11:00:15 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[3D Taster]]></category>
		<category><![CDATA[3D Finder]]></category>
		<category><![CDATA[3D Messtaster]]></category>
		<category><![CDATA[Nullpunktbestimmung]]></category>
		<category><![CDATA[Vermessung]]></category>
		<category><![CDATA[Werkzeuglängensensor]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=5098</guid>

					<description><![CDATA[The 3D finder, also known as a 3D touch probe, is a tool that is used specifically for zero point determination and measurement on CNC machines. This article first explains how the 3D touch probe is calibrated on a CNC machine and then describes how it can be used efficiently.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading has-text-align-center has-tertiary-background-color has-background has-large-font-size" id="3-d-finder-3-d-messtaster-fur-nullpunktbestimmung-und-vermessung">3D finder: Simple zero point determination and measurement</h1>



<p class="wp-block-paragraph translation-block">The <strong>3D finder</strong>, also known as <strong>3D touch probe</strong>, is a tool that is used specifically for zero point determination and measurement on CNC machines. This article first explains how to calibrate the 3D finder on a CNC machine with <a href="https://cncgraf.com/en/cncgraf-8-cnc-control-software-range-of-functions/" data-type="page" data-id="8" target="_self">cncGraF</a> and then describes how it can be used efficiently.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="735" height="63" src="https://cncgraf.com/wp-content/uploads/2023/04/Symbolleiste_3D_Taster_gross.jpg" alt="cncGraF: 3D button status bar" class="wp-image-111" srcset="https://cncgraf.com/wp-content/uploads/2023/04/Symbolleiste_3D_Taster_gross.jpg 735w, https://cncgraf.com/wp-content/uploads/2023/04/Symbolleiste_3D_Taster_gross-600x51.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/04/Symbolleiste_3D_Taster_gross-300x26.jpg 300w" sizes="(max-width: 735px) 100vw, 735px" /></figure>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-wide"/>
</div>



<div class="wp-block-group alignfull has-base-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h2>Overview</h2><nav><ul><li class=""><a href="#1-was-benotige-ich-um-den-3-d-finder-optimal-nutzen-zu-konnen">1. what do I need to be able to use the 3D Finder optimally?</a><ul><li class=""><a href="#zusatzliche-ausrustung-werkzeuglangensensor">Additional equipment: Tool length sensor</a></li></ul></li><li class=""><a href="#2-montage-und-vorbereitung-des-3-d-messtasters">2. assembly and preparation of the 3D measuring probe</a></li><li class=""><a href="#3-kalibrierung-des-3-d-messtaster-mit-cnc-gra-f">3. calibration of the 3D measuring probe with cncGraF</a><ul><li class=""><a href="#werkzeuglangensensor-kalibrieren">Calibrate tool length sensor</a></li><li class=""><a href="#3-d-messtaster-kalibrieren">Calibrate 3D measuring probe</a><ul><li class=""><a href="#uberprufung-der-messergebnisse">Checking the measurement results</a></li></ul></li></ul></li><li class=""><a href="#4-verwendung-des-3-d-messtasters-in-der-cnc-gra-f-software">4. use of the 3D touch probe in the cncGraF software</a></li><li class=""><a href="#5-messergebnisse-fur-nullpunktbestimmung-verwenden">5. use measurement results for zero point determination</a></li><li class=""><a href="#6-zusammenfassung">6. summary</a></li></ul></nav></div>



<h2 class="wp-block-heading has-text-align-left has-base-background-color has-background has-large-font-size" id="1-was-benotige-ich-um-den-3-d-finder-optimal-nutzen-zu-konnen">1. what do I need to be able to use the 3D Finder optimally?</h2>



<p class="wp-block-paragraph">To use a 3D finder, you first need the device itself, of course. There is a wide range of 3D finders on the market, with prices varying from cheap to expensive. Personally, I use an inexpensive 3D measuring probe from China.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f56f613f wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img decoding="async" width="1004" height="1024" src="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-1004x1024.jpeg" alt="Inexpensive 3D touch probe from China" class="wp-image-5537" srcset="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-1004x1024.jpeg 1004w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-scaled-600x612.jpeg 600w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-294x300.jpeg 294w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-768x783.jpeg 768w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-1506x1536.jpeg 1506w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-2009x2048.jpeg 2009w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch2-12x12.jpeg 12w" sizes="(max-width: 1004px) 100vw, 1004px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-1024x768.jpeg" alt="Packaging of the 3D measuring probe from China" class="wp-image-5536" srcset="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-1024x768.jpeg 1024w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-scaled-600x450.jpeg 600w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-300x225.jpeg 300w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-768x576.jpeg 768w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-1536x1152.jpeg 1536w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-2048x1536.jpeg 2048w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-16x12.jpeg 16w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>



<h3 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="zusatzliche-ausrustung-werkzeuglangensensor">Additional equipment: Tool length sensor</h3>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:32% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="385" height="389" src="https://cncgraf.com/wp-content/uploads/2024/04/Toollengthsensor.jpg" alt="Tool length sensor for zero point determination" class="wp-image-5485 size-full" srcset="https://cncgraf.com/wp-content/uploads/2024/04/Toollengthsensor.jpg 385w, https://cncgraf.com/wp-content/uploads/2024/04/Toollengthsensor-100x100.jpg 100w, https://cncgraf.com/wp-content/uploads/2024/04/Toollengthsensor-297x300.jpg 297w, https://cncgraf.com/wp-content/uploads/2024/04/Toollengthsensor-12x12.jpg 12w" sizes="auto, (max-width: 385px) 100vw, 385px" /></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph translation-block">In addition, a <a href="https://www.cnc-controller.eu/shop/werkzeuglngentaster/" target="_blank" rel="noreferrer noopener">tool length sensor</a> is required. This sensor is permanently mounted at one point on the machine. <br>It is essential for the automatic determination of the Z zero point. <br>In combination with the 3D finder, the tool length sensor enables fully automated determination of the Z zero point.</p>
</div></div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="2-montage-und-vorbereitung-des-3-d-messtasters">2. assembly and preparation of the 3D measuring probe</h2>



<div class="wp-block-media-text has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 32%"><div class="wp-block-media-text__content">
<p class="wp-block-paragraph translation-block">The 3D finder must be mounted next to the milling cutter on a <a href="https://www.cnc-controller.eu/shop/befestigung-schiene-fr-taster/" target="_blank" rel="noreferrer noopener">fixing rail</a>. By lowering the 3D Finder onto this rail - whether manually or automatically - the device is ready for use. It is essential that the 3D finder is always lowered lower than the longest milling cutter and is always set to the same position.</p>
</div><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="631" height="1024" src="https://cncgraf.com/wp-content/uploads/2024/02/montage-631x1024.jpeg" alt="" class="wp-image-5534 size-full" srcset="https://cncgraf.com/wp-content/uploads/2024/02/montage-631x1024.jpeg 631w, https://cncgraf.com/wp-content/uploads/2024/02/montage-scaled-600x973.jpeg 600w, https://cncgraf.com/wp-content/uploads/2024/02/montage-185x300.jpeg 185w, https://cncgraf.com/wp-content/uploads/2024/02/montage-768x1246.jpeg 768w, https://cncgraf.com/wp-content/uploads/2024/02/montage-947x1536.jpeg 947w, https://cncgraf.com/wp-content/uploads/2024/02/montage-1263x2048.jpeg 1263w, https://cncgraf.com/wp-content/uploads/2024/02/montage-7x12.jpeg 7w, https://cncgraf.com/wp-content/uploads/2024/02/montage-scaled.jpeg 1578w" sizes="auto, (max-width: 631px) 100vw, 631px" /></figure></div>
</div>



<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>



<h2 class="wp-block-heading has-tertiary-background-color has-background has-large-font-size" id="3-kalibrierung-des-3-d-messtaster-mit-cnc-gra-f">3. calibration of the 3D measuring probe with cncGraF</h2>



<h3 class="wp-block-heading has-tertiary-background-color has-background has-large-font-size" id="werkzeuglangensensor-kalibrieren">Calibrate tool length sensor</h3>



<p class="wp-block-paragraph translation-block">Firstly, the tool length sensor must be calibrated in <a href="https://cncgraf.com/en/cncgraf-8-cnc-control-software-range-of-functions/" data-type="page" data-id="8" target="_self">cncGraF</a>. Calibration is easy with the wizard in the menu „<strong>Move -&gt; Tool length sensor -&gt; Calibrate</strong>“. Simply follow the instructions step by step.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="724" height="505" src="https://cncgraf.com/wp-content/uploads/2024/04/kalibrieren.jpg" alt="cncGraF: Calibrate tool length sensor with the wizard" class="wp-image-5651" style="width:456px;height:auto" srcset="https://cncgraf.com/wp-content/uploads/2024/04/kalibrieren.jpg 724w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrieren-600x419.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrieren-300x209.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrieren-18x12.jpg 18w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>



<p class="wp-block-paragraph"><br><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> If your tool length sensor is already calibrated, this step can be skipped.</p>



<h3 class="wp-block-heading has-tertiary-background-color has-background has-large-font-size" id="3-d-messtaster-kalibrieren">Calibrate 3D measuring probe</h3>



<p class="wp-block-paragraph">The 3D measuring probe is also conveniently calibrated with an assistant. To do this, a small pocket is milled from aluminium or another material with the dimensions 12x12mm and a depth of 5mm using a 3mm end mill. The edges of the milled pocket are then scanned with the 3D finder.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="563" src="https://cncgraf.com/wp-content/uploads/2024/04/kalibrierung.jpg" alt="Wizard for calibrating the 3D Finder" class="wp-image-5512" style="width:611px;height:auto" srcset="https://cncgraf.com/wp-content/uploads/2024/04/kalibrierung.jpg 1024w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrierung-600x330.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrierung-300x165.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrierung-768x422.jpg 768w, https://cncgraf.com/wp-content/uploads/2024/04/kalibrierung-18x10.jpg 18w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading has-tertiary-background-color has-background" id="uberprufung-der-messergebnisse">Checking the measurement results</h4>



<p class="wp-block-paragraph translation-block">The measurement results can be viewed under „Machine parameters -&gt; Sensors“ in the cncGraF control software. <br><br>As the screenshot below shows, the deviations at the tip of the probe are almost 1 mm in both X+/X- and Y+/Y-. This illustrates that it is almost impossible to mount the 3D probe in such a way that it does not show any deviations. <br><br>The length of the probe and its mounting contribute to the fact that even minimal inaccuracies in the mounting „add up“ at the tip of the probe.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="430" src="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results-1024x430.jpg" alt="" class="wp-image-5554" srcset="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results-1024x430.jpg 1024w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results-600x252.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results-300x126.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results-768x323.jpg 768w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results-18x8.jpg 18w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-results.jpg 1107w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>Advantages of this method</strong></p>



<p class="wp-block-paragraph">This method makes it possible to identify deviations along the X (for movements in X+ and X-) and Y axes (for movements in Y+ and Y-). These deviations are then automatically corrected during edge detection and calculations, resulting in a significant improvement in measurement accuracy.</p>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="4-verwendung-des-3-d-messtasters-in-der-cnc-gra-f-software">4. use of the 3D touch probe in the cncGraF software</h2>



<p class="wp-block-paragraph">The 3D touch probe is operated in the cncGraF software via integrated dialogues. The following functions are implemented:</p>



<ul class="wp-block-list">
<li>Determination of the outer corners including Z-height</li>



<li>Determining the inner corners</li>



<li>Determination of the outer centre of the circle including Z-height</li>



<li>Determining the centre of the circle inside</li>



<li>Determining the centre of a rectangle outside including Z-height</li>



<li>Determining the centre of a rectangle inside</li>



<li>Surface measurement in the X, Y and Z axes</li>



<li>Scanning the outer corner and the side: Based on the values determined, the drawing is positioned so that it corresponds to the alignment of the material on the machine.</li>
</ul>



<p class="wp-block-paragraph">Screenshots of the various dialogues can be found in the gallery below.</p>



<figure class="wp-block-gallery has-nested-images columns-2 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="684" height="367" data-id="5693" src="https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen.jpg" alt="cncGraF: Determination of the outer corners including Z-height with 3D-Finder" class="wp-image-5693" srcset="https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen.jpg 684w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-600x322.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-300x161.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-18x10.jpg 18w" sizes="auto, (max-width: 684px) 100vw, 684px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="616" height="357" data-id="5692" src="https://cncgraf.com/wp-content/uploads/2024/04/ecke-innen.jpg" alt="cncGraF: Determination of inner corners with 3D finder" class="wp-image-5692" srcset="https://cncgraf.com/wp-content/uploads/2024/04/ecke-innen.jpg 616w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-innen-600x348.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-innen-300x174.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-innen-18x10.jpg 18w" sizes="auto, (max-width: 616px) 100vw, 616px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="556" height="288" data-id="5691" src="https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-innen.jpg" alt="cncGraF: Determination of the circle centre inside with 3D measuring probe" class="wp-image-5691" srcset="https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-innen.jpg 556w, https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-innen-300x155.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-innen-18x9.jpg 18w" sizes="auto, (max-width: 556px) 100vw, 556px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="541" height="326" data-id="5690" src="https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-aussen.jpg" alt="cncGraF: Determination of the circle centre outside including Z-height with 3D-Finder" class="wp-image-5690" srcset="https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-aussen.jpg 541w, https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-aussen-300x181.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/kreismittelpunkt-aussen-18x12.jpg 18w" sizes="auto, (max-width: 541px) 100vw, 541px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="526" height="325" data-id="5689" src="https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-aussen.jpg" alt="cncGraF: Determining the centre of a rectangle outside including Z-height with 3D finder" class="wp-image-5689" srcset="https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-aussen.jpg 526w, https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-aussen-300x185.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-aussen-18x12.jpg 18w" sizes="auto, (max-width: 526px) 100vw, 526px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="616" height="309" data-id="5688" src="https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-innen.jpg" alt="cncGraF: Determining the centre of an internal rectangle with 3D touch probe" class="wp-image-5688" srcset="https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-innen.jpg 616w, https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-innen-600x301.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-innen-300x150.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/mitte-rechteck-innen-18x9.jpg 18w" sizes="auto, (max-width: 616px) 100vw, 616px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="571" height="324" data-id="5687" src="https://cncgraf.com/wp-content/uploads/2024/04/oberflaeche-xyz.jpg" alt="cncGraF: Surface measurement in the X, Y and Z axes with 3D probe" class="wp-image-5687" srcset="https://cncgraf.com/wp-content/uploads/2024/04/oberflaeche-xyz.jpg 571w, https://cncgraf.com/wp-content/uploads/2024/04/oberflaeche-xyz-300x170.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/oberflaeche-xyz-18x10.jpg 18w" sizes="auto, (max-width: 571px) 100vw, 571px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="892" height="471" data-id="5686" src="https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-drehen.jpg" alt="cncGraF: Scanning the outer corner and the side: Based on the values determined, the drawing is positioned so that it corresponds to the alignment of the material on the machine." class="wp-image-5686" srcset="https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-drehen.jpg 892w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-drehen-600x317.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-drehen-300x158.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-drehen-768x406.jpg 768w, https://cncgraf.com/wp-content/uploads/2024/04/ecke-aussen-drehen-18x10.jpg 18w" sizes="auto, (max-width: 892px) 100vw, 892px" /></figure>
</figure>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Tip: Checking the 3D Finder before touching it</strong></p>



<p class="wp-block-paragraph translation-block">Before the scanning process is started, you can check the functionality of the 3D finder. <br><br>In each dialogue window for these functions, the status of the input is shown by a green round dot. If you press the 3D finder with your finger, the status should change (the green dot goes out or lights up).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="690" height="83" src="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-status.jpg" alt="Check the status of the 3D Finder before use" class="wp-image-5625" srcset="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-status.jpg 690w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-status-600x72.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-status-300x36.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-status-18x2.jpg 18w" sizes="auto, (max-width: 690px) 100vw, 690px" /></figure>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="5-messergebnisse-fur-nullpunktbestimmung-verwenden">5. use measurement results for zero point determination</h2>



<p class="wp-block-paragraph translation-block">The measurement results can be used to determine the zero point either automatically or manually. For manual zero point determination, the dialogue window „ Set zero point <img loading="lazy" width="28" height="31" class="wp-image-5634" style="width: 28px" src="https://cncgraf.com/wp-content/uploads/2024/02/nuulpunkt-setzen.jpg" alt="">“ must be called up after the successful measurement. In this dialogue, the option „<strong>Last scan position</strong>“ is active and already preselected in the „Coordinates“ option selection group for existing measurement results.</p>



<p class="wp-block-paragraph">Automatic zero point determination can be activated. The corresponding option can be found in the window frame of every dialogue relating to measuring with the 3D measuring probe.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="690" height="82" src="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen.jpg" alt="Calling up the options for automatic zero point determination via 3D measuring probe" class="wp-image-5631" srcset="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen.jpg 690w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-600x71.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-300x36.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-18x2.jpg 18w" sizes="auto, (max-width: 690px) 100vw, 690px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="526" height="140" src="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-dialog.jpg" alt="3D probe settings in cncGraF" class="wp-image-5661" srcset="https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-dialog.jpg 526w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-dialog-300x80.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/04/3d-touch-optionen-dialog-18x5.jpg 18w" sizes="auto, (max-width: 526px) 100vw, 526px" /></figure>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="6-zusammenfassung">6. summary</h2>



<p class="wp-block-paragraph">We hope that this guide has provided you with helpful information on using the 3D touch probe and the cncGraF software for zero point determination and measurement.</p>



<p class="wp-block-paragraph">Yours sincerely, Your BOENIGK-electronics Team</p>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>G-code drilling cycle G81, G82, G83, G73 and G84: Step-by-step instructions</title>
		<link>https://cncgraf.com/en/2024/02/03/g-code-drilling-cycle-g82-cycles-drilling-programme/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Sat, 03 Feb 2024 12:00:00 +0000</pubDate>
				<category><![CDATA[G-Code]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Bohrzyklen]]></category>
		<category><![CDATA[Gewindebohrzyklus]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=5120</guid>

					<description><![CDATA[In this article, we will take a detailed look at the G-code drilling cycle. You can then easily integrate these commands into your projects. Have fun reading!]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4145d225 wp-block-group-is-layout-constrained" style="padding-right:0;padding-left:0">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading alignwide has-text-align-center has-base-background-color has-background has-large-font-size" id="g-code-bohrzyklus-g-81-g-82-g-83-g-73-und-g-84-schritt-fur-schritt-anleitung">G-code drilling cycle G81, G82, G83, G73 and G84: Step-by-step instructions</h1>



<p class="wp-block-paragraph">In the previous blog posts, „<a href="https://cncgraf.com/en/2023/12/20/cnc-programming-g-code-learn-commands/" data-type="post" data-id="3742">CNC programming: Learn G-code - Quick and easy</a>“ and „<a href="https://cncgraf.com/en/2024/01/15/cnc-programming-g-code-learning-part2/" data-type="post" data-id="4387">Learning G-Code Part 2/2: Advanced CNC programming</a>„, we learnt the basics and advanced aspects of G-code programming. However, one important G-code command has not yet been covered in these articles - the G-code drilling cycle.<br><br>In this article, we will take a detailed look at the G-code drilling cycle. You can then easily integrate these commands into your projects. Have fun reading!<br><br>We use our free G-Code Simulator as a working tool <a href="https://cncgraf.com/en/cncgraf-8-cnc-control-software-range-of-functions/" data-type="page" data-id="8">cncGraF</a>.<br>„<a href="https://cncgraf.com/en/download-cncgraf-cnc-control-software/" target="_blank" rel="noreferrer noopener">Click here to download cncGraF free of charge“</a>.</p>



<p class="wp-block-paragraph">To find out more about our G-Code Simulator, please click here<br>„<a href="https://cncgraf.com/en/2023/12/20/free-g-code-simulator-cnc-emulator/" data-type="post" data-id="3822">cncGraF: Free G-code simulator and CNC machine emulator</a>„.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="836" src="https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-1024x836.jpg" alt="cncGraF 8: Free G-code simulator and CNC machine emulator" class="wp-image-4998" style="width:625px;height:auto" srcset="https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-1024x836.jpg 1024w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-600x490.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-300x245.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-768x627.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-15x12.jpg 15w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei.jpg 1045w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h4>Overview</h4><nav><ul><li class=""><a href="#bohren-ohne-g-code-bohrzyklus">Drilling without G-code Drilling cycle</a></li><li class=""><a href="#g-code-bohrzyklus-g-81-und-g-82">G-code drilling cycle: G81 and G82</a></li><li class=""><a href="#g-code-befehl-g-80">G-Code command: G80</a></li><li class=""><a href="#g-code-bohrzyklus-g-83-tieflochbohren-mit-spanabfuhr">G-code drilling cycle: G83 Deep-hole drilling with chip removal</a></li><li class=""><a href="#g-code-bohrzyklus-g-73-tieflochbohren">G-code drilling cycle: G73 Deep hole drilling</a></li><li class=""><a href="#g-code-gewindebohrzyklus-g-84">G-code tapping cycle: G84</a></li></ul></nav></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator alignfull has-text-color has-tertiary-color has-alpha-channel-opacity has-tertiary-background-color has-background"/>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-container-core-group-is-layout-4145d225 wp-block-group-is-layout-constrained" style="padding-right:0;padding-left:0">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="bohren-ohne-g-code-bohrzyklus">Drilling without G-code Drilling cycle</h2>



<p class="wp-block-paragraph">As drilling only requires a lowering in the Z-axis, this can also be carried out without the G-code drilling cycle. To do this, simply use the G-code command <strong>G01 Z</strong> is used. An example (excerpt) of the corresponding G-code looks like this:</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th class="has-text-align-left" data-align="left">Example </th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left"><em>; 10 mm into the workpiece at a feed rate of 600 mm per minute</em><br><strong>G01 Z-10 F600</strong><br><em>; wait 1 second</em><br><strong>G04 H1</strong><br><em>; Lift the tool at rapid speed to the height Z = 5 mm above the zero point</em><br><strong>G00 Z5</strong></td></tr></tbody></table><figcaption class="wp-element-caption">Drilling with <strong>G01 Z</strong> without G-code drilling cycle</figcaption></figure>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator alignfull has-text-color has-tertiary-color has-alpha-channel-opacity has-tertiary-background-color has-background"/>



<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="g-code-bohrzyklus-g-81-und-g-82">G-code drilling cycle: G81 and G82</h2>



<p class="wp-block-paragraph">The simplest drilling cycle is the G-code command <strong>G81</strong>. This drilling cycle is used for simple drilling, while the command <strong>G82 </strong>additionally enables drilling with a dwell time at the bottom of the hole.<br><br>The <strong>G81</strong>/<strong>G82</strong>-command has the following syntax: <br><strong>G98(G99) G81(G82) X Y Z R F (P)</strong><br><br>The parameters are as follows:</p>



<ol class="wp-block-list">
<li>With the parameter <strong>G98</strong>/<strong>G99 </strong>The retraction height to which the tool should move after the drilling cycle is defined.<br><strong>G98 </strong>- The starting height (starting height) is approached after the drilling cycle.<br><strong>G99 </strong>- the retraction height (defined in the parameter <strong>R</strong>) is approached after the drilling cycle.<br><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> If no parameter <strong>G98 </strong>or <strong>G99 </strong>is specified, then <strong>G98</strong>.</li>



<li>The parameters <strong>X,Y,Z</strong>: <br><strong>X</strong> - Position X<br><strong>Y</strong> - Position Y<br><strong>Z</strong> - Depth Z (absolute)</li>



<li><strong>R</strong> - Incremental value of the retraction plane, in relation to the starting point in the Z-axis</li>



<li><strong>F</strong> - Feed speed in mm/min</li>



<li>The G-Code drilling cycle <strong>G82 </strong>also has the parameter <strong>P</strong> for waiting time in milliseconds <br>(1000ms = 1sec.) at the bottom of the hole</li>
</ol>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th class="has-text-align-left" data-align="left">Example</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left"><strong>G00 Z0</strong><br><strong>G98 G82 X10 Y10 Z-3 F300 P100</strong></td></tr></tbody></table><figcaption class="wp-element-caption">Drilling cycle <strong>G82</strong> with the parameter <strong>P</strong></figcaption></figure>



<p class="wp-block-paragraph">In the example above, a hole is drilled at positions X10 and Y10, with a drilling depth of 3 millimetres. In addition, a dwell time (parameter <strong>P</strong>) of 100 milliseconds, during which the milling machine pauses. At the end of the drilling process, the starting height, which in this case is Z=0, is approached again.</p>



<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="g-code-befehl-g-80">G-Code command: G80</h2>



<p class="wp-block-paragraph">The drilling cycle is started with the command <strong>G80</strong> or by another G-code command such as <strong>G00 </strong>or <strong>G01 </strong>deleted.</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th class="has-text-align-left" data-align="left">Example</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left"><strong>G98 G82 X20 Y20 Z-3 F300 P100</strong><br><em>; Repeat drilling cycle at three points </em><br>X30 Y20<br>X40 Y20<br>X50 Y20<br><em>; Delete drilling cycle</em><br><strong>G80</strong></td></tr></tbody></table><figcaption class="wp-element-caption">In this example, the drilling cycle <strong>G82 </strong>with the specified parameters. The drilling cycle is then repeated 3 times at different positions, whereby the settings of the drilling cycle are retained. Finally, the drilling cycle is ended with <strong>G80</strong> deleted.</figcaption></figure>



<hr class="wp-block-separator alignfull has-text-color has-tertiary-color has-alpha-channel-opacity has-tertiary-background-color has-background"/>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="g-code-bohrzyklus-g-83-tieflochbohren-mit-spanabfuhr">G-code drilling cycle: G83 Deep-hole drilling with chip removal</h2>



<p class="wp-block-paragraph">Compared to the drilling cycles <strong>G81</strong>/<strong>G82</strong> this drilling cycle contains an additional parameter <strong>Q</strong>. The parameter <strong>Q</strong> is used to control the chip removal. As chips are produced during drilling, this drilling cycle is particularly recommended for deep hole drilling.<br><br>The <strong>G83</strong>-command has the following syntax: <br><strong>G98(G99) G83 X Y Z R F P Q</strong></p>



<p class="wp-block-paragraph">The parameters are the same as for the G-code drilling cycle <strong>G81/G82</strong>, but with an additional parameter:<br><strong>Q</strong> - Drilling depth per infeed defined in millimetres</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th class="has-text-align-left" data-align="left">Example</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left"><strong>G00 Z0</strong><br><strong>G98 G83 X10 Y10 Z-9 F300 P100 Q3</strong></td></tr></tbody></table><figcaption class="wp-element-caption">Drilling cycle <strong>G83 </strong>with the parameter <strong>Q</strong></figcaption></figure>



<p class="wp-block-paragraph">In the example above, a hole is drilled at positions X10 and Y10, with a drilling depth of 9 millimetres. In addition, a dwell time of 100 milliseconds is executed at the bottom of the hole, during which the milling machine pauses. The hole is drilled with a triple infeed, as the plunge depth per infeed is 3 millimetres (parameter <strong>Q</strong>). At the end of the drilling process, the initial height Z=0 is approached. The graphic below explains the parameter <strong>Q</strong>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="481" height="296" src="https://cncgraf.com/wp-content/uploads/2024/02/parameter-q.jpg" alt="The parameter Q: G-code drilling cycle G83 " class="wp-image-5202" srcset="https://cncgraf.com/wp-content/uploads/2024/02/parameter-q.jpg 481w, https://cncgraf.com/wp-content/uploads/2024/02/parameter-q-300x185.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/02/parameter-q-18x12.jpg 18w" sizes="auto, (max-width: 481px) 100vw, 481px" /></figure>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-base-background-color has-background has-large-font-size" id="g-code-bohrzyklus-g-73-tieflochbohren">G-code drilling cycle: G73 Deep hole drilling</h2>



<p class="wp-block-paragraph">This drilling cycle corresponds to drilling cycle G83, with the difference that a short lift-off distance is approached after each chip removal with Q. The setting for the lift-off distance can be made in cncGraF under „Settings -&gt; Options -&gt; G-Code“.</p>
</div>



<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>



<h2 class="wp-block-heading has-tertiary-background-color has-background has-large-font-size" id="g-code-gewindebohrzyklus-g-84">G-code tapping cycle: G84</h2>



<p class="wp-block-paragraph">Finally, we turn our attention to the supreme discipline of tapping with the G-code command <strong>G84</strong>. This command can be used to create both right-hand and left-hand threads. Please note that a spindle with both anti-clockwise and clockwise rotation is required.</p>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> In cncGraF under „Settings -&gt; Options -&gt; G-Code“, the option „<strong>Use old G84 version</strong>“ must be deactivated. This old version of the <strong>G84 </strong>command does not comply with the G-Code standard, but is still supported by cncGraF to ensure compatibility with old G-Code programmes.</p>



<p class="wp-block-paragraph">The <strong>G84</strong>-command has the following syntax: <br><strong>G98(G99) G84 X Y Z R P F M</strong><br><br>The parameters for <strong>G84 </strong>are as follows:<br><strong>X</strong> - Position X<br><strong>Y</strong> - Position Y<br><strong>Z</strong> - Depth Z (absolute)<br><strong>R</strong> - Incremental value of the retraction plane in relation to the starting point in the Z-axis<br><strong>P</strong> - Waiting time in milliseconds (1000ms = 1sec.) at the bottom of the hole<br><strong>F</strong> - Feed speed in mm/min<br><strong>M </strong>– <strong>M03 </strong>Right-hand thread, otherwise <strong>M04 </strong>Left-hand thread</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">Example</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left"><strong>G00 Z0</strong><br><strong>G98 G84 X10 Y10 Z-10 F300 P100 M03</strong></td></tr></tbody></table><figcaption class="wp-element-caption">Tapping cycle <strong>G84</strong> as right-hand thread</figcaption></figure>



<p class="wp-block-paragraph">In the above example, a right-hand thread (parameter <strong>M03 </strong>for clockwise rotation) with a depth of 10 millimetres and a feed speed of 300 mm/min. At the bottom of the hole, a waiting time of 100 milliseconds (parameter <strong>P</strong>) is executed.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="wp-block-paragraph">We hope that this article will help you to quickly find your way around the world of drilling cycles.<br><br>Yours sincerely, Your BOENIGK-electronics Team</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.cnc-controller.eu/" target="_blank" rel="noreferrer noopener">To the online shop</a></div>
</div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Learning G-Code Part 2/2: Advanced CNC programming</title>
		<link>https://cncgraf.com/en/2024/01/15/cnc-programming-g-code-learning-part2/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Mon, 15 Jan 2024 08:00:55 +0000</pubDate>
				<category><![CDATA[G-Code]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[CNC Programmierung]]></category>
		<category><![CDATA[G-Code-Simulator]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=4387</guid>

					<description><![CDATA[In the first part of the series „CNC programming: learning G-code - quick and easy“, we learnt the basics of G-code. In this article, you will learn more commands such as subroutines, loops, IF statements and R parameters.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading alignfull has-text-align-center has-base-background-color has-background has-large-font-size" id="g-code-lernen-teil-2-2-fortgeschrittene-cnc-programmierung">Learn G-Code Part 2/2: <br>Advanced CNC programming</h1>



<p class="wp-block-paragraph">In the first part of the series „<a href="https://cncgraf.com/en/2023/12/20/cnc-programming-g-code-learn-commands/" data-type="post" data-id="3742">CNC programming: Learn G-code - Quick and easy</a>“ we learnt the basics of G-code. In this article, you will learn more commands such as subroutines, loops, IF statements and R parameters.</p>



<p class="wp-block-paragraph"><strong>Motivation</strong>In CNC manufacturing, it is often necessary to produce similar parts with slight variations. Creating a new G-code file for every small change using CAD/CAM software can be time-consuming. A good solution is to use a customisable G-code file. With parameters, changes in the G-code file can be implemented quickly and easily, which saves time and increases flexibility. In this article, you will learn how parameterised G-code programming makes your CNC processes more efficient.</p>



<p class="wp-block-paragraph">For CNC programming (G-code), we use our CNC control software as a free G-code simulator. Click here <a href="https://cncgraf.com/en/download-cncgraf-cnc-control-software/" data-type="page" data-id="24">here</a>, to download cncGraF for free.</p>



<p class="wp-block-paragraph">To find out more about the free G-Code Simulator, click on the blog article <br>„<a href="https://cncgraf.com/en/2023/12/20/free-g-code-simulator-cnc-emulator/" data-type="post" data-id="3822">cncGraF: Free G-code simulator and CNC machine emulator</a>„.</p>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h4>Overview: Advanced CNC programming</h4><nav><ul><li class=""><a href="#g-code-unterprogramme">G-Code: Subroutines</a><ul><li class=""><a href="#unterprogramm-verwaltung">Sub-programme management</a></li></ul></li><li class=""><a href="#g-code-schleifen">G-Code: Loops</a></li><li class=""><a href="#was-ist-ein-r-parameter">What is an R parameter?</a></li><li class=""><a href="#was-ist-eine-if-anweisung">What is an IF statement?</a></li><li class=""><a href="#komplettes-g-code-beispiel">Complete G-code example</a></li><li class=""><a href="#zusammenfassung">Summary</a></li></ul></nav></div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="g-code-unterprogramme">G-Code: Subroutines</h2>



<p class="wp-block-paragraph">First, we add a subroutine. We will use the G-code example from the first part of this series „<a href="https://cncgraf.com/en/2023/12/20/cnc-programming-g-code-learn-commands/" data-type="post" data-id="3742">CNC programming: Learn G-code - Quick and easy</a>„. The extended G-code lines are colour-coded in <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Light red </mark></strong>highlighted. The G-code then looks like this:</p>
</div>



<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>



<p class="wp-block-paragraph"><em>; G-code file: Production of a rectangle on 22/12/2023</em><br><em>; Update on 23.01.2024</em><br><em><br>; Tool number 1 is selected</em><br><strong>T1<br></strong><em>; Lift the tool at rapid speed to the height Z = 10 mm above the zero point</em><strong><br>G00 Z10<br></strong><em>; Move to position X = 10 and Y = 10 at rapid speed</em><strong><br>G00 X10 Y10</strong><br><em>; Switch on the work spindle with M3 at a speed of 2000 rpm</em><br><strong>M3 S20000<br></strong><em>; Wait 5 seconds until the spindle speed is reached</em><strong><br>G04 H5</strong><br><br><em>; Relative dimensioning <em>(chain dimension)</em>, Command G91 is active</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G91</mark><br><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">P1 </mark></strong><em>; Subprogramme 1 is called up</em><br><strong><br></strong><em>; End of programme</em><strong><br>M5 M30<br><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"> </mark></strong><em>; Start of sub-programme 1 </em><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><br>M99 P1<br></mark></strong><em>; Move to the centre of the rectangle</em><strong><br>G00 X50 Y30<br></strong><em>; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</em><strong><br>G01 Z-12 F600<br></strong><em>; Circle (d=20mm, centre 60×60) clockwise<br>; travelling at a feed rate of 600 mm per minute</em><strong><br>G02 I0 J20<br></strong><em>; Lift tool at rapid speed : Z = 10mm above the zero point</em><strong><br>G00 Z12<br></strong><em>; Move to position X = 10 and Y = 10 at rapid speed</em><strong><br>G00 X-50 Y-30<br></strong><em>; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</em><strong><br>G01 Z-12<br></strong><em>; Traverse rectangle 100×100 mm at a feed rate of 600 mm per minute</em><strong><br>G01 X100<br>G01 Y100<br>G01 X-100<br>G01 Y-100<br></strong><em>; Lift tool at rapid speed : Z = 10mm above the zero point</em><strong><br>G00 Z12<br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M99</mark> </strong><em>; End of sub-programme 1</em></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="270" height="279" src="https://cncgraf.com/wp-content/uploads/2024/01/g-code-teil2-datei-unterprogramm.jpg" alt="G-code file: Rectangle and circle" class="wp-image-4993" srcset="https://cncgraf.com/wp-content/uploads/2024/01/g-code-teil2-datei-unterprogramm.jpg 270w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-teil2-datei-unterprogramm-12x12.jpg 12w" sizes="auto, (max-width: 270px) 100vw, 270px" /></figure>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="wp-block-paragraph">The G-code (see above) describes the processing of a rectangle and a circle, whereby the two shapes are described in the sub-programme <strong>1 </strong>are defined. The sub-programme is started with the command <strong>P1 </strong>in the main programme. </p>



<p class="wp-block-paragraph">The definition of the sub-programme begins with the command <strong>M99 P1</strong> and ends with <strong>M99</strong>. All subroutines are located at the end of the main programme, i.e. after the command <strong>M30</strong>, which marks the end of the main programme. The number of the sub-programme is indicated by the number after ‚<strong>P</strong>‚ labelled - in this case <strong>1</strong>.</p>



<p class="wp-block-paragraph">G-code subroutines have the following structure:<br><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G91</mark> </strong><em>; Relative dimensioning (incremental dimension) is activated</em><br><em>; Main programme</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">P1 </mark></strong><em>; Subprogramme 1 is called up</em><br><em>; Main programme</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M30</mark><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"> </mark></em></strong><em>; End of the main programme</em></p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M99 P1</mark></strong><br><em>; Contents of the sub-programme</em> 1<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M99</mark></strong></p>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> Please note that at the beginning of the main programme the command <strong>G91 </strong>must be set to activate relative dimensioning (incremental dimension). All subsequent coordinate specifications are therefore relative values. This is necessary so that the sub-programmes can be placed at any position.</p>



<h3 class="wp-block-heading has-large-font-size" id="unterprogramm-verwaltung">Sub-programme management</h3>



<p class="wp-block-paragraph">The CNC control software <a href="https://cncgraf.com/en/cncgraf-8-cnc-control-software-range-of-functions/" data-type="page" data-id="8">cncGraF</a> has an integrated sub-programme management function. All subroutines can be saved there. In such a case, the subroutine does not have to be contained in the G-code file; instead, the subroutine is only called in the main programme with the G-code command ‚<strong>P</strong>‚ and the sub-programme number (here <strong>P1</strong>).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="967" height="769" src="https://cncgraf.com/wp-content/uploads/2024/01/g-code-unterprogramm-verwaltung.jpg" alt="CNC programming: G-code sub-programme management integrated in CNC control system" class="wp-image-4704" srcset="https://cncgraf.com/wp-content/uploads/2024/01/g-code-unterprogramm-verwaltung.jpg 967w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-unterprogramm-verwaltung-600x477.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-unterprogramm-verwaltung-300x239.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-unterprogramm-verwaltung-768x611.jpg 768w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-unterprogramm-verwaltung-15x12.jpg 15w" sizes="auto, (max-width: 967px) 100vw, 967px" /></figure>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> If a sub-programme with the same sub-programme number (the number after ‚<strong>P</strong>‚) is present both in the G-code file and in the subroutine management, the subroutine from the G-code file is used. The software first searches for the subroutine in the file and only then in the G-code management. This makes it possible to ‚overwrite‘ the subroutine in the administration.</p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="g-code-schleifen">G-Code: Loops</h2>



<p class="wp-block-paragraph">To duplicate the shapes defined in the subroutine, the subroutine must be called several times. This is done with the G-code commands<strong> G25 Q</strong> and <strong>G26 </strong>realised for loops. <br>The G-code section in the main programme then looks as follows: </p>



<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G25 Q4</mark></strong><br><strong>P1</strong><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong> </strong></mark>; Subprogramme 1 is called up</em><br><strong>G00 X110</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G26</mark></strong></p>



<p class="wp-block-paragraph">With <strong>G25 Q</strong> and <strong>G26 </strong>a loop is programmed. <strong>G25 </strong>defines the start of the loop, and with <strong>G26 </strong>the loop is ended. The parameter <strong>Q</strong> defines the number of runs. In our example <strong>4</strong> runs are defined. After each sub-programme call, there is a relative position shift in X for the next sub-programme with the line: <strong>G00 X110</strong>.</p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="was-ist-ein-r-parameter">What is an R parameter?</h2>



<p class="wp-block-paragraph"><strong>An R parameter is a placeholder (variable) in the range from R1 to R999 in which a value is saved. </strong>Example: <strong>R10 </strong>= 99.567. This line defines the parameter <strong>R10</strong>, which represents the value <strong>99.567</strong> contains. <br>By calling the R parameter (here <strong>R10</strong>), its value can be accessed in the G code. Please note the following when using the R parameters:</p>



<ul class="wp-block-list">
<li><strong>Basic arithmetic operations Addition, subtraction, multiplication and division</strong> can be executed within a parameter. When calculating the values, the rule „<strong><mark style="background-color:#ff7d7d" class="has-inline-color has-custom-hintergrund-1-b-5-e-3-ff-color">Dot before dash</mark></strong>“ is applied. The brackets are not supported. <br>Example:<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R56</mark> </strong><em>= 10/2 - 2</em>*2<br>The result is <strong>1</strong></li>



<li>R parameters can be used within the calculation. <br>Example:<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R55</mark></strong> = 10 <br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>R56</strong> = <strong>R55</strong></mark>/2 - 2*2<br>The result is <strong>1</strong></li>



<li>R parameters can be assigned in the following places in the G code:<br>Command G00, example G00 X<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R10</mark></strong><br>Command G01, example G01 X<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R10</mark></strong> Y<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R11 + 6 / 2</mark></strong><br>Command G02/G03 X/Y (arc commands), example: G02 I20 J20 X<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R10</mark></strong> Y<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R10</mark></strong><br>Command G25 Q (loop), example: G25 Q<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=<strong>R4</strong></mark><br>Command G53-G60 X/Y/Z, example G54 X<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=<strong>R20</strong></mark><br>IF statement command, example: $IF <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R100</mark></strong>==1</li>



<li>R parameters are global parameters, i.e. if they are defined at the beginning of the G-code file, they are available for the entire file.</li>



<li>R parameters can also be used in sub-programmes.</li>



<li>The values of the R parameters are displayed at the bottom of the status bar of the text editor (see screenshot below)</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="923" height="352" src="https://cncgraf.com/wp-content/uploads/2024/01/g-code-parameter.jpg" alt="" class="wp-image-4734" srcset="https://cncgraf.com/wp-content/uploads/2024/01/g-code-parameter.jpg 923w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-parameter-600x229.jpg 600w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-parameter-300x114.jpg 300w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-parameter-768x293.jpg 768w, https://cncgraf.com/wp-content/uploads/2024/01/g-code-parameter-18x7.jpg 18w" sizes="auto, (max-width: 923px) 100vw, 923px" /></figure>



<p class="wp-block-paragraph">In the following, we add parameters to our loop. The G-code snippet then looks like this in the main programme:<br><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R4=4</mark></strong><em> ; <em>R4</em></em> <em>Parameter (placeholder) with the value 4 as the number of passes</em> <em>create</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R5=110</mark></strong> <em>; R5 parameter (placeholder) with the value 110 for new X position of the sub-programme</em><br><br><em>; Assignment of the value via parameter R4</em><br><strong>G25 Q<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R4</mark></strong><br><strong>P1</strong><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong> </strong></mark>; Subprogramme 1 is called up</em><br><strong>G00 X<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R5</mark></strong> <em>; Relative displacement, defined in the R5 parameter</em><br><strong>G26</strong></p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="was-ist-eine-if-anweisung">What is an IF statement?</h2>



<p class="wp-block-paragraph">The <strong>IF statement </strong>is used to check a condition. If this condition is fulfilled, the commands within the condition are executed. The following operations are available:<br>equal <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">==</mark></strong> <br>unequal<strong> <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">!=</mark></strong> <br>greater than or equal to <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">&gt;=</mark></strong> <br>less than or equal to <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">&lt;=</mark></strong></p>



<p class="wp-block-paragraph">The IF statement consists of the following commands <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$IF $ENDIF $ELSE $ELSEIF</mark></strong>. The IF statement must stand alone in the line. IF statement can be contained in the main programme and in the sub-programme.</p>



<p class="wp-block-paragraph"><strong>Example 1: $IF $ENDIF</strong></p>



<p class="wp-block-paragraph"><strong>R57=10</strong> <em>; Create parameter R57 (placeholder) with the value 10</em><br><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$IF R57== 10</mark></strong><br><em>; This G-code content is executed because parameter R57 has the value 10 (equals is fulfilled)</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$ENDIF</mark></strong></p>



<p class="wp-block-paragraph"><strong>Example 2: $IF $ELSEIF $ENDIF</strong></p>



<p class="wp-block-paragraph"><strong>R57=9</strong><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>$IF</strong> <strong>R57</strong>&lt;=9</mark><br><em>; This content is executed because parameter R57=9 (less than or equal to is fulfilled)</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$ELSEIF R57&gt;=10</mark></strong><br><em>; This content is NOT executed because parameter R57 has the value 9.</em><br><em>; Changing the value to 10 or higher in parameter R57 means that </em><br>; <em>this content is executed</em>.<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$ENDIF</mark></strong></p>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Please note!</strong> An IF statement within another IF statement is not supported (see table below).</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>WRONG</th><th>CORRECT</th></tr></thead><tbody><tr><td><strong><mark style="background-color:#ffd57c" class="has-inline-color">$IF R200==0</mark></strong><br><em>; G-Code: Contents</em><br><mark style="background-color:#ffd57c" class="has-inline-color"><strong>$IF R1==1</strong> <br><em>; G-Code: Contents</em><br><strong>$ENDIF</strong></mark><br><em>; G-Code: Contents</em><br><strong><mark style="background-color:#ffd57c" class="has-inline-color">$ENDIF</mark></strong></td><td><strong>$IF R200==0</strong><br><em>; G-Code: Contents</em><br><strong>$ENDIF</strong><br><strong>$IF R1==1</strong><br><em>; G-Code: Contents</em><br><strong>$ENDIF</strong></td></tr><tr><td></td><td></td></tr></tbody></table><figcaption class="wp-element-caption">An IF statement within another IF statement is not permitted!</figcaption></figure>
</div>



<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>



<h2 class="wp-block-heading has-tertiary-background-color has-background has-large-font-size" id="komplettes-g-code-beispiel">Complete G-code example</h2>



<p class="wp-block-paragraph">Now that we have learnt about programming subroutines, loops, R parameters and IF statements, we will expand our example to include these commands. <br>Our G-code then looks like this:</p>



<p class="wp-block-paragraph"><em>; G-code file: Production of a rectangle on 15/01/2024</em><br><em>; Update on 23.01.2024</em><br><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R3=3</mark> </strong><em><strong>;</strong> Set the number of passes in Y</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R4=4</mark> </strong><em>; Set number of runs in X</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R5=110</mark></strong> <em>; X Shift for new sub-programme</em> set<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R6=110</mark></strong>; <em>Y Shift for new sub-programme</em> set<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R7=1</mark></strong> <em>; Specify whether a circle is to be created, 1 - yes, 0 - no</em></p>



<p class="wp-block-paragraph"><em>; Tool number 1 is selected</em><br><strong>T1</strong><br><em>; Lift the tool at rapid speed to the height Z = 10 mm above the zero point</em><br><strong>G00 Z10</strong><br><em>; Move to position X = 10 and Y = 10 at rapid speed</em><br><strong>G00 X10 Y10</strong><br><em>; Switch on the work spindle with M3 at a speed of 2000 rpm</em><br><strong>M3 S2000</strong><br><em>; Wait 5 seconds until the spindle speed is reached</em><br><strong>G04 H5</strong><br><br><em>; Relative dimensioning (incremental dimension) is activated</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G91</mark></strong><br><br><em>; Assignment of the value via parameter R3</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G25 Q=R3</mark></strong><br><em>; Assignment of the value via parameter R4</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G25 Q=R4</mark></strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">P1</mark><em> </em></strong><em>; Subprogramme 1 is called up</em><br><strong>G00 X<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R5</mark></strong> <em>; Relative displacement, defined in the R5 parameter</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G26</mark></strong><br><strong>G00 Y<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=R6</mark></strong> <em>; Relative displacement in X, defined in the R6 parameter</em><br><strong>G00 X<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">=-R5*R4</mark></strong> <em>; Relative displacement in X to starting position</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G26</mark></strong></p>



<p class="wp-block-paragraph"><em>; End of programme</em><br><strong>M5 M30</strong></p>



<p class="wp-block-paragraph"><em>; Start of sub-programme 1</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M99 P1</mark></strong><br><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$IF R7==1</mark></strong><br><em>; Move to the centre of the rectangle</em><br><strong>G00 X50 Y30</strong><br><em>; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</em><br><strong>G01 Z-12 F600</strong><br><em>; Circle (d=20mm, centre 60×60) clockwise<br>; travelling at a feed rate of 600 mm per minute</em><br><strong>G02 I0 J20</strong><br><em>; Lift tool at rapid speed : Z = 10mm above the zero point</em><br><strong>G00 Z12</strong><br><em>; Move to position X = 10 and Y = 10 at rapid speed</em><br><strong>G00 X-50 Y-30</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">$ENDIF</mark></strong><br><br><em>; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</em><br><strong>G01 Z-12</strong><br><em>; Traverse rectangle 100×100 mm at a feed rate of 600 mm per minute</em><br><strong>G01 X100<br>G01 Y100<br>G01 X-100<br>G01 Y-100</strong><br><em>; Lift tool at rapid speed : Z = 10mm above the zero point</em><br><strong>G00 Z12</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M99</mark> </strong><em>; End of sub-programme 1</em></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="836" src="https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-1024x836.jpg" alt="G-Code Simulator cncGraF: Use of subroutines in G-Code" class="wp-image-4998" srcset="https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-1024x836.jpg 1024w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-600x490.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-300x245.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-768x627.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei-15x12.jpg 15w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-teil2-datei-komplette-g-code-datei.jpg 1045w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="wp-block-paragraph">Several R parameters, loops and IF statements are used in the G code (see above). The G-code file can be changed very easily using the R parameters. The R parameters <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R3 </mark></strong>and <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R4 </mark></strong>define the number of parts in X and Y. The R parameters <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R5 </mark></strong>and <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">R6 </mark></strong>determine the distance between the parts in X and Y, and the last parameter, <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>R7</strong></mark>, defines whether a circle is to be output or not (see IF statement in the subroutine).</p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="zusammenfassung">Summary</h2>



<p class="wp-block-paragraph">In this blog article, we have looked at the various facets of CNC programming. Starting with the basics, which are explained in the article <br>‚<a href="https://cncgraf.com/en/2023/12/20/cnc-programming-g-code-learn-commands/" data-type="post" data-id="3742">CNC programming: Learn G-code - Quick and easy</a>‚ to advanced topics such as R parameters, loops and IF statements. We have thus covered the breadth and depth of CNC programming.<br><br>We hope that this blog article will help you to achieve the desired success.<br>Yours sincerely, Your BOENIGK-electronics Team<br></p>
</div>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.cnc-controller.eu/" target="_blank" rel="noopener">To the online shop</a></div>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CNC programming: Learn G-code</title>
		<link>https://cncgraf.com/en/2023/12/20/cnc-programming-g-code-learn-commands/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Wed, 20 Dec 2023 13:09:53 +0000</pubDate>
				<category><![CDATA[G-Code]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[CNC Programmierung]]></category>
		<category><![CDATA[CNC-Maschinen-Emulator]]></category>
		<category><![CDATA[G-Code lernen]]></category>
		<category><![CDATA[G-Code-Simulator]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=3742</guid>

					<description><![CDATA[In modern manufacturing, G-code is generated automatically by CAD/CAM software, which means that manual programming of G-code is rarely necessary. Nevertheless, it is important to know the basics of G-code programming.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading alignwide has-text-align-center has-tertiary-background-color has-background has-large-font-size" id="cnc-programmierung-g-code-lernen-einfach-und-schnell">CNC programming: <br>Learn G-code - Quick and easy</h1>



<p class="wp-block-paragraph">G-code is a computer language that is used to control CNC machines. CNC stands for Computerised Numerical Control, which means that machines are controlled by computers.</p>



<p class="wp-block-paragraph">In modern manufacturing, G-code is generated automatically by CAD/CAM software, which means that manual programming of G-code is rarely necessary. Nevertheless, it is important to know the basics of G-code programming. In particular, there are the following reasons for this:</p>



<ul class="wp-block-list">
<li><strong>Manual adjustment of the G-code:</strong> In production, simple parts are often manufactured that differ only slightly from one another. In such cases, it is advantageous to programme and adapt the G-code manually in the text editor. This saves time, as a new G-code file does not have to be generated using CAD/CAM software for every small variant or customisation.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Troubleshooting and optimisation:</strong> An understanding of G-code programming enables CNC operators to quickly recognise and rectify errors in the programmes. If a CNC machine does not work as expected, the cause can often lie in the programming details of the G-code. An operator who is familiar with G-code programming can identify and correct such errors independently.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Post-processor customisation:</strong> Sometimes it is necessary to adapt the post-processor in the CAD/CAM software to output the G-code, as the automatically generated G-code does not meet the requirements. In such cases, basic knowledge of G-code is advantageous.</li>
</ul>



<p class="wp-block-paragraph"><strong>In this blog article, you will learn the basics of G-code.</strong> You will then be able to write your own simple G-code programmes and solve the above-mentioned problems independently.</p>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-default"/>
</div>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h4>Learning G-Code Part 1/2: Basics</h4><nav><ul><li class=""><a href="#was-benotige-ich-fur-die-g-code-programmierung">What do I need for G-code programming?</a><ul><li class=""><a href="#kostenloser-g-code-simulator-cnc-gra-f">Free G-code simulator: cncGraF</a></li></ul></li><li class=""><a href="#aufbau-einer-g-code-datei">Structure of a G-code file</a></li><li class=""><a href="#g-code-kreise-und-kreisbogen">G-Code: Circles and arcs</a><ul><li class=""><a href="#g-code-bogenbefehl-g-02-g-03">G-Code: Sheet command G02/G03</a></li></ul></li><li class=""><a href="#tabelle-mit-den-wichtigsten-g-code-befehlen">Table with the most important G-code commands</a><ul><li class=""><a href="#befehlsubersicht-der-wichtigsten-g-code-befehle">Command overview of the most important G-code commands</a></li></ul></li><li class=""><a href="#zusammenfassung">Summary</a></li><li class=""><a href="#g-code-lernen-teil-2-2-fortgeschrittene-konzepte">Learning G-Code Part 2/2: Advanced concepts</a></li></ul></nav></div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="was-benotige-ich-fur-die-g-code-programmierung">What do I need for G-code programming?</h2>



<p class="wp-block-paragraph">The G-code consists of a series of text instructions that are stored in a text file (ASCII file). The CNC machine executes these commands in the sequence from the beginning of the text file to the end. </p>



<p class="wp-block-paragraph">Only a text editor is required for CNC programming and G-code. However, as a visual check of the programmed G-code is necessary, a CNC simulation must be used. </p>



<h3 class="wp-block-heading has-large-font-size" id="kostenloser-g-code-simulator-cnc-gra-f">Free G-code simulator: cncGraF</h3>



<p class="wp-block-paragraph">The CNC control software <a href="https://cncgraf.com/en/cncgraf-8-cnc-control-software-range-of-functions/" data-type="page" data-id="8">cncGraF</a> is ideal for training purposes: It offers a built-in G-code simulator and CNC machine emulator, is free of charge (freeware) and does not require a real CNC controller.</p>



<p class="wp-block-paragraph"><a href="https://cncgraf.com/en/download-cncgraf-cnc-control-software/" target="_blank" data-type="page" data-id="24" rel="noreferrer noopener">Click here to download cncGraF free of charge.</a></p>



<p class="wp-block-paragraph">The screenshot below presents CNC control cncGraF, including the G-code text editor and the 2D view. The CNC machine emulator is switched on and the G-code file is executed in emulator mode. <br>To find out more, click on the blog article <br><a href="https://cncgraf.com/en/2023/12/20/free-g-code-simulator-cnc-emulator/">cncGraF: Free G-code simulator and CNC machine emulator</a>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="949" height="1211" src="https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator.jpg" alt="The CNC control software cncGraF can be used as a free G-code simulator to help you learn G-code." class="wp-image-3809" style="width:443px;height:auto" srcset="https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator.jpg 949w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-600x766.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-235x300.jpg 235w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-802x1024.jpg 802w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-768x980.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-9x12.jpg 9w" sizes="auto, (max-width: 949px) 100vw, 949px" /></figure>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="aufbau-einer-g-code-datei">Structure of a G-code file</h2>



<p class="wp-block-paragraph"><strong>The following example of a G-code file is available:</strong></p>



<p class="wp-block-paragraph"><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; G-code file: Production of a rectangle, created on 24/10/2023<br>; Activate tool number 1</mark></em><br><strong>T1</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; Lift the tool at rapid speed to the height Z = 10 mm above the zero point<br></mark></em><strong>G00 Z10</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; Move to position X = 10 and Y = 10 at rapid speed</mark></em><br><strong>G00 X10 Y10</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; Switch on the work spindle with M3 at a speed of 20000 rpm</mark></em><br><strong>M3 S20000</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; Wait 5 seconds until the spindle speed is reached</mark></em><br><strong>G04 H5</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</mark></em><br><strong>G01 Z-2 F600</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; Traverse rectangle 100×100 mm at a feed rate of 600 mm per minute</mark></em><br><strong>G01 X110<br>G01 Y110<br>G01 X10<br>G01 Y10</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; Lift the tool at rapid speed to the height Z = 10 mm above the zero point</mark></em><br><strong>G00 Z10</strong><br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; End of programme</mark></em><br><strong>M5 M30</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="203" height="208" src="https://cncgraf.com/wp-content/uploads/2023/11/g-code-rechteck.jpg" alt="" class="wp-image-3874" srcset="https://cncgraf.com/wp-content/uploads/2023/11/g-code-rechteck.jpg 203w, https://cncgraf.com/wp-content/uploads/2023/11/g-code-rechteck-12x12.jpg 12w" sizes="auto, (max-width: 203px) 100vw, 203px" /></figure>



<p class="wp-block-paragraph">This G-code describes the machining of a rectangle with a CNC machine. The G-code begins with comments that are separated by a semicolon<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong> (;)</strong> </mark>are labelled. These comments are not relevant for the machine, but help the operator to understand the code.</p>



<ul class="wp-block-list">
<li><strong>Tool selection:</strong> First, tool 1 is selected with the command <code><strong>T1</strong></code> selected.</li>



<li><strong>Positioning of the tool:</strong> The command <code><strong>G00 Z10</strong></code> lifts the tool to 10 mm above the zero point of the machine. <code><strong>G00</strong></code> the machine travels at rapid traverse, i.e. at maximum speed. </li>



<li><strong>Moving to the start position:</strong> The machine runs with <code><strong>G00 X10 Y10</strong></code> to position X=10 Y=10.</li>



<li><strong>Switch on the spindle:</strong> With <code><strong>M3 S20000</strong></code> the spindle is switched on and set to 20000 revolutions per minute.</li>



<li><strong>Waiting time:</strong> The command <code><strong>G04 H5</strong></code> ensures that the machine waits 5 seconds for the spindle to reach the desired speed.</li>



<li><strong>Immerse yourself in the material:</strong> With <code><strong>G01 Z-2 F600</strong></code> the tool plunges 2 mm deep into the material at a feed rate of 600 mm per minute. <strong><code>G01</code> </strong>is used for the milling movements.</li>



<li><strong>Rectangular machining:</strong> The next commands (<code>G01 X110</code>, <code>G01 Y110</code>, <code>G01 X10</code>, <code>G01 Y10</code>) move the tool to mill a 100×100 mm rectangle.</li>



<li><strong>Return to the starting position Z:</strong> <code><strong>G00 Z10</strong></code> lifts the tool back to 10 mm above the zero point.</li>



<li><strong>End of programme:</strong> The command <strong>M05 </strong>switches the spindle and the command <strong>M<code>30</code> </strong>ends the programme.</li>
</ul>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="g-code-kreise-und-kreisbogen">G-Code: Circles and arcs</h2>



<p class="wp-block-paragraph">Next, we extend our example with <strong>a circular milling that must be carried out before the rectangle. </strong>The extended and modified G-code lines are colour-coded in <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>Light red </strong></mark>highlighted. The G-code then looks like this:</p>



<p class="wp-block-paragraph"><em>; G-code file: Production of a rectangle, created on 24/10/2023<br>; Tool number 1 is selected<br></em><strong>T1</strong><br><em>; Lift the tool at rapid speed to the height Z = 10 mm above the zero point<br></em><strong>G00 Z10</strong><br><em>; Move to position X = 10 and Y = 10 at rapid speed</em><br><strong>G00 X10 Y10</strong><br><em>; Switch on the work spindle with M3 at a speed of 2000 rpm</em><br><strong>M3 S2000</strong><br><em>; Wait 5 seconds until the spindle speed is reached</em><br><strong>G04 H5</strong><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><em>; Move to the centre of the rectangle</em><br><strong>G00 X60 Y40</strong><br><em>; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</em><br><strong>G01 Z-2 F600</strong><br><em>; Circle (d=20mm, centre 60×60) clockwise </em></mark><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><em>; with feed 600 mm per minute</em></mark> <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><em>drive</em><br><strong>G02 I60 J60 X60 Y40</strong><br>; Lift tool at rapid speed : Z = 10mm above the zero point<br><strong>G00 Z10</strong><br><em>; Move to position X = 10 and Y = 10 at rapid speed</em><br><strong>G00 X10 Y10</strong></mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-2-ffd-57-c-color"><br></mark><em>; plunge 2 mm into the workpiece at a feed rate of 600 mm per minute</em><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G01 Z-2</strong></mark><br><em>; Traverse rectangle 100×100 mm at a feed rate of 600 mm per minute</em><br><strong>G01 X110<br>G01 Y110<br>G01 X10<br>G01 Y10</strong><br><em>; Lift tool at rapid speed : Z = 10mm above the zero point</em><br><strong>G00 Z10</strong><br><em>; End of programme</em><br><strong>M5 M30</strong></p>



<p class="wp-block-paragraph">The G-code simulator (see screenshot) shows a rectangle and a circle placed in the centre of the rectangle.</p>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1774" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/warnung.png" alt=""> <strong>Important:</strong> If the drawing is not displayed correctly, this may be due to the incorrect setting for the G02/G03 circle (arc) commands. The G02/G03 commands can be interpreted as relative or absolute. This example refers to G02/G03 in absolute form. In this case, the „G02/03 relative“ option must be deactivated in the cncGraF G-code simulator in the main menu „Settings → Options → File → G-code“.“</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="702" height="1024" src="https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2-702x1024.jpg" alt="Free G-code simulator: cncGraF" class="wp-image-3854" style="width:516px;height:auto" srcset="https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2-702x1024.jpg 702w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2-600x875.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2-206x300.jpg 206w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2-768x1120.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2-8x12.jpg 8w, https://cncgraf.com/wp-content/uploads/2023/11/texteditor-g-code-simulator-2.jpg 898w" sizes="auto, (max-width: 702px) 100vw, 702px" /></figure>



<h3 class="wp-block-heading has-large-font-size" id="g-code-bogenbefehl-g-02-g-03">G-Code: Sheet command G02/G03</h3>



<p class="wp-block-paragraph">The G02 command is used to programme a circular or arc-shaped movement in a clockwise direction. Command G03 does the same, but in an anti-clockwise direction.</p>



<p class="wp-block-paragraph">The G02 command in the G code has the following syntax:<br><strong>G02 X... Y... I... J...</strong><br>It says:</p>



<ul class="wp-block-list">
<li>‚<strong>G02</strong>‚ for the command itself, which represents a clockwise arc. The last position of the previous G-code command is the start position of the circle or arc.</li>



<li><strong>X</strong>... and <strong>Y</strong>... indicate the end coordinates of the circle or arc.</li>



<li><strong>I</strong>... and <strong>J</strong>... indicate the distance from the current point to the centre of the arc on the X and Y axes.</li>
</ul>



<p class="wp-block-paragraph"><strong>G00 X60 Y40</strong> <em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; This is the start position X,Y of the arc.</mark></em><br><strong>G02 I60 J60 X60 Y40</strong> <em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; This command moves the tool in a clockwise arc.</mark></em></p>



<ul class="wp-block-list">
<li><strong>I60 J60:</strong> These are the coordinates of the centre of the circle relative to the current position <br>X = 60 Y = 40 In this case, the centre point is at X = 60, Y = 60.</li>



<li><strong>X60 Y40:</strong> These are the end coordinates of the arc. The tool moves to the point X = 60, Y = 40.</li>



<li>The diameter of the circle (d = 20 mm) is determined by the position of the tool and the coordinates of the centre point.</li>
</ul>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="tabelle-mit-den-wichtigsten-g-code-befehlen">Table with the most important G-code commands</h2>



<p class="wp-block-paragraph">In this example, you have learnt the basic G-code commands: G01 and G00 for simple movements, the arc command G02, switching the spindle on and off with M03 (and M05), the ‚S‘ command for the spindle speed, the tool number command ‚T‘, G04 for waiting times, ‚F‘ for the working speed and M30 for the end of file. These commands form the basis and are already sufficient for writing your own simple G-code programmes.</p>



<p class="wp-block-paragraph">Below you will find a tabular overview of all the most important G-code commands.</p>



<h4 class="wp-block-heading has-large-font-size" id="befehlsubersicht-der-wichtigsten-g-code-befehle">Command overview of the most important G-code commands</h4>



<p class="wp-block-paragraph">The tabular list of G commands (G code) contains only those commands that are suitable for manual programming as they are easy to use. The complete list of all G-code commands can be found in the cncGraF CNC simulator in the online help [F1 key].</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th class="has-text-align-center" data-align="center">G-Code</th><th class="has-text-align-left" data-align="left">Description of the</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">; ()</mark></strong></td><td class="has-text-align-left" data-align="left">The comments are closed with a semicolon ‚<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">;</mark></strong>‚ or with brackets ‚<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>()</strong></mark>‚ is labelled. The comments are ignored by the CNC machine.<br><br>Example:<br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><em>(Move to position Z10)</em></mark></strong><br>G00 Z10 <br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><em>; Move to position Z10</em></mark></strong><br>G00 Z10 </td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">N</mark></strong></td><td class="has-text-align-left" data-align="left"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>N</strong></mark> for record number (optional)<br><br>Example:<br><em>; Record number is not necessary.</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">N10 </mark></strong>T1 M3 S2501</td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">F</mark></strong></td><td class="has-text-align-left" data-align="left"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>F</strong></mark> for feed rate in mm/min<br><br>Example:<br><em>; travel at 300 mm/min</em><br>G01 X100 Y10 <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">F300</mark></strong></td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">T</mark></strong></td><td class="has-text-align-left" data-align="left"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>T</strong></mark> for tool number<br><br>Example:<br><em>; Tool 1 is active</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">T1</mark></strong></td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">M03 S</mark></strong></td><td class="has-text-align-left" data-align="left"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>M03</strong></mark> switches the spindle on,<strong> <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">S</mark> </strong>defines the spindle speed in rpm<br><br>Example:<br><em>; Spindle is switched at 2000 revolutions per minute</em><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>M3 S2000</strong></mark></td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">D</mark></strong></td><td class="has-text-align-left" data-align="left"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>D</strong></mark> Tool diameter in millimetres.<br><br>Example:<br><em>; Diameter 2.5 mm. D must be directly behind T</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">T1 D2.5</mark></strong></td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G00</mark></strong></td><td class="has-text-align-left" data-align="left">With <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G00</strong> </mark>the machine travels at rapid traverse, i.e. at maximum speed. <br>The tool is not in the material (empty run).<br><br>Example:<br><em>; Position X = 100 Y = 10</em> <em>Start up</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G00 </mark></strong>X100 Y10</td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G01</mark></strong></td><td class="has-text-align-left" data-align="left">With <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G01</strong> </mark>the programmed path is travelled at the milling speed (feed speed ‚F‘). <br>This path is visualised as a vector in the cncGraF G-code simulator.<br><br>Example:<br><em>; Position X = 100 Y = 100 <em>with 300 mm/min</em> Start up</em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G01 </mark></strong>X100 Y10 <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">F300</mark></strong></td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G02/G03</mark></strong></td><td class="has-text-align-left" data-align="left"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G02</mark></strong> Circle (arc) clockwise, <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G03</mark></strong> Circle (arc) anti-clockwise.<br>Parameters: <strong>X Y I J K</strong><br><strong>X</strong> End coordinate in X direction<br><strong>Y</strong> End coordinate in Y direction<br><strong>I </strong>Centre point in X direction<br><strong>J</strong> Centre point in Y direction<br><strong>K</strong> Centre point in Z direction<br><br>Example:<br>G00 X10 Y10 F100<br>G01 Z-2 F50<br><em>; Move in an arc from X10, Y10 to X30, Y10 with the centre point I20 and J10</em><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G02</strong> </mark>I20 J10 X30 Y10</td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G04 H</mark></strong></td><td class="has-text-align-left" data-align="left">With <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G04 </mark></strong>a dwell time is programmed.<br>Parameters: <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">H</mark></strong> - Specification of the time in seconds<br><br>Example:<br><em>; Waiting time 2.5 seconds. This command instructs the CNC machine to </em><br>; <em>to pause for the specified time before executing the next command.<br></em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G04</strong> </mark><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">H</mark></strong>2.5</td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G70/G71</mark></strong></td><td class="has-text-align-left" data-align="left">With <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G70 </mark></strong>and<strong> </strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G71</strong> </mark>the dimensioning of the coordinates is defined between inches (G70) and millimetres (G71). If not specified, G71 is active.<br><br>Example:<br><em>; Dimensioning of the coordinates is in millimetres </em><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G71</mark></strong></td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G80/G81/G82</mark></strong></td><td class="has-text-align-left" data-align="left">The drilling cycle <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G81/G82</mark></strong> is suitable for simple drilling and drilling with dwell time. The drilling cycle is started with the command <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G80 </mark></strong>or by another G command such as. <strong>G00</strong> or <strong>G01 </strong>deleted. Format: <strong>G98(G99) G81(G82) X Y Z R F (P)</strong><br><br>Parameters <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G81</mark></strong><br><strong>X</strong> - Position X<br><strong>Y</strong> - Position Y<br><strong>Z</strong> - Depth Z (absolute)<br><strong>R</strong> - Incremental value of the retraction plane, in relation to the starting point in the Z-axis<br><strong>F</strong> - Feed rate<br><br>Additional parameters for <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G82</mark></strong><br><strong>P</strong> - Waiting time in milliseconds (1000ms = 1sec.) at the bottom of the hole<br><br>With commands <strong>G98 </strong>and <strong>G99 </strong>The retraction height to which the tool should move after the drilling cycle is defined.<br><br><strong>G98 </strong>- The starting height (starting height) is approached after the drilling cycle.<br><strong>G99 </strong>- the retraction height (defined in parameter R) is approached after the drilling cycle.<br><br>Example:<br><em>; Drilling with dwell time, depth Z = 10mm, waiting 100 milliseconds at the bottom of the hole<br></em>G98 <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G82 </mark></strong>X10 Y10 Z-10 F300 P100</td></tr><tr><td class="has-text-align-center" data-align="center"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G90/G91</mark></strong></td><td class="has-text-align-left" data-align="left">With <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>G90</strong> </mark>Absolute dimension is activated, i.e. all subsequent coordinate values are specified in absolute dimension. <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G91 </mark></strong>activates the relative dimensioning (incremental dimension). Without specification <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G90 </mark></strong>active.<br><br>Example:<br><em>; Relative dimension (incremental dimension) is set<br></em><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">G91</mark></strong></td></tr></tbody></table></figure>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="zusammenfassung">Summary</h2>



<p class="wp-block-paragraph">G-code programming for CNC machines is not that difficult. With an understanding of only about ten basic G-code commands, you can already achieve impressive results. Learning G-code is definitely worthwhile as it allows you to better understand and utilise your CNC machines.</p>



<p class="wp-block-paragraph">I hope this blog article helps you to quickly familiarise yourself with G-code programming.</p>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="g-code-lernen-teil-2-2-fortgeschrittene-konzepte">Learning G-Code Part 2/2: Advanced concepts</h2>



<p class="wp-block-paragraph">In the second part of this series, you will learn how to modify simple G-code files in production by using parameters without having to create a new file. In part 2, we will focus specifically on the commands for subroutines, the G25/G26 loops, the IF statement and the use of parameters.</p>



<p class="wp-block-paragraph">Click on the blog article „<a href="https://cncgraf.com/en/2024/01/15/cnc-programming-g-code-learning-part2/" data-type="post" data-id="4387">Learning G-Code Part 2/2: Advanced CNC programming</a>“ to find out more.</p>



<p class="wp-block-paragraph">Yours sincerely, Your BOENIGK-electronics Team</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://www.cnc-controller.eu/" target="_blank" rel="noopener">To the online shop</a></div>
</div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>cncGraF: Free G-code simulator and CNC machine emulator</title>
		<link>https://cncgraf.com/en/2023/12/20/free-g-code-simulator-cnc-emulator/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Wed, 20 Dec 2023 11:34:27 +0000</pubDate>
				<category><![CDATA[G-Code]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[CNC-Maschinen-Emulator]]></category>
		<category><![CDATA[G-Code-Simulator]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=3822</guid>

					<description><![CDATA[cncGraF offers an integrated G-code simulator and CNC machine emulator. Without a CNC controller, cncGraF can be used free of charge as freeware and is therefore ideal for simulating CNC processes.

This article shows how you can use cncGraF as a free G-code simulator.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading alignwide has-text-align-center has-tertiary-background-color has-background has-large-font-size" id="cnc-gra-f-kostenloser-g-code-simulator-und-cnc-maschinen-emulator">cncGraF: Free G-code simulator <br>and CNC machine emulator</h1>



<p class="wp-block-paragraph">cncGraF offers an integrated G-code simulator and CNC machine emulator. Without a CNC controller <strong>cncGraF can be used free of charge as freeware</strong> and therefore ideal for the simulation of CNC processes.</p>



<p class="wp-block-paragraph">This article shows how you can use cncGraF as a free G-code simulator.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1039" height="1020" src="https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator.jpg" alt="cncGraF: Free G-code simulator and CNC machine emulator" class="wp-image-4335" style="width:842px;height:auto" srcset="https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator.jpg 1039w, https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator-600x589.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator-300x295.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator-1024x1005.jpg 1024w, https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator-768x754.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/11/cncgraf-cnc-emulator-12x12.jpg 12w" sizes="auto, (max-width: 1039px) 100vw, 1039px" /></figure>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-rank-math-toc-block aligncenter" id="rank-math-toc"><h4>cncGraF: Free G-code simulator</h4><nav><ul><li class=""><a href="#installation">Installation</a></li><li class=""><a href="#erstes-starten">First start</a></li><li class=""><a href="#cnc-maschinen-emulator-aktivieren">Activate CNC machine emulator</a></li><li class=""><a href="#cnc-gra-f-8-interface-im-uberblick">cncGraF 8: Interface at a glance</a></li><li class=""><a href="#g-code-datei-laden-und-ausfuhren">Load and execute G-code file</a></li><li class=""><a href="#g-code-programmieren">Programming G-code</a></li><li class=""><a href="#zusammenfassung">Summary</a></li></ul></nav></div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="installation">Installation</h2>



<ul class="wp-block-list">
<li><strong>download</strong>cncGraF is available in the download area of our website. The direct link to the download area can be found below. Registration is not required for the download and installation.</li>



<li><strong>Installation process</strong>Installation is carried out using a simple installer. Follow the instructions of the installer to install the software.</li>
</ul>



<p class="wp-block-paragraph"><a href="https://cncgraf.com/en/download-cncgraf-cnc-control-software/" data-type="page" data-id="24">Click here to download cncGraF free of charge.</a></p>



<h2 class="wp-block-heading has-large-font-size" id="erstes-starten">First start</h2>



<ul class="wp-block-list">
<li><strong>Start:</strong> cncGraF is started by clicking on the desktop icon. The first time it is started, a welcome window appears, indicating that no machine parameters have been loaded.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Use as a G-code simulator:</strong> When using cncGraF as a free G-code simulator, this message can simply be ignored. In this case, the text „I understand the message and would like to continue“ is ticked. The window can then be closed with ‚OK‘.</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="750" height="336" src="https://cncgraf.com/wp-content/uploads/2023/12/g-code-simulator-willkommen.jpg" alt="cncGraF 8: Welcome window indicating that no machine parameters are loaded." class="wp-image-4174" srcset="https://cncgraf.com/wp-content/uploads/2023/12/g-code-simulator-willkommen.jpg 750w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-simulator-willkommen-600x269.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-simulator-willkommen-300x134.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-simulator-willkommen-18x8.jpg 18w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>



<ul class="wp-block-list">
<li><strong>Importing machine settings:</strong> If you want to use cncGraF with the settings of an existing CNC machine, you can import the settings. </li>
</ul>
</div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="cnc-maschinen-emulator-aktivieren">Activate CNC machine emulator</h2>



<p class="wp-block-paragraph">The CNC machine emulator is activated by pressing the „Start emulator“ button in the top right-hand corner of the cncGraF main menu (see screenshot below). This starts a server on your PC that simulates the CNC controller.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="108" src="https://cncgraf.com/wp-content/uploads/2023/12/cnc-maschinen-emulator-aktivieren.jpg" alt="cncGraF 8 as a free CNC machine emulator: The &quot;Start emulator&quot; button activates the virtual CNC machine." class="wp-image-4213" srcset="https://cncgraf.com/wp-content/uploads/2023/12/cnc-maschinen-emulator-aktivieren.jpg 945w, https://cncgraf.com/wp-content/uploads/2023/12/cnc-maschinen-emulator-aktivieren-600x69.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/12/cnc-maschinen-emulator-aktivieren-300x34.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/12/cnc-maschinen-emulator-aktivieren-768x88.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/12/cnc-maschinen-emulator-aktivieren-18x2.jpg 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>
</div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="cnc-gra-f-8-interface-im-uberblick">cncGraF 8: Interface at a glance</h2>



<p class="wp-block-paragraph">The following screenshot shows the main window of cncGraF 8. The operating elements that are essential for using the G-code simulator and the CNC machine emulator are marked with numbers. These are the following controls:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="658" src="https://cncgraf.com/wp-content/uploads/2023/12/cncgraf-g-code-simulator-interface.jpg" alt="cncGraF: Free G-code simulator and CNC machine emulator" class="wp-image-4221" srcset="https://cncgraf.com/wp-content/uploads/2023/12/cncgraf-g-code-simulator-interface.jpg 945w, https://cncgraf.com/wp-content/uploads/2023/12/cncgraf-g-code-simulator-interface-600x418.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/12/cncgraf-g-code-simulator-interface-300x209.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/12/cncgraf-g-code-simulator-interface-768x535.jpg 768w, https://cncgraf.com/wp-content/uploads/2023/12/cncgraf-g-code-simulator-interface-18x12.jpg 18w" sizes="auto, (max-width: 945px) 100vw, 945px" /></figure>



<ul class="wp-block-list">
<li>With the „Start emulator“ button (<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>Point 1</strong></mark>) to activate the CNC machine emulator. The emulation is also ended with the same button. The emulator is already running in the screenshot.</li>



<li>The white area (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 2</mark></strong>), which is located in the 2D view window, shows the machine area in X and Y as a Cartesian coordinate system. The origin of the X, Y and Z axes is located at the bottom left (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 9</mark></strong>). The machine area, the milling file (drawing) and the position of the CNC machine are displayed in the 2D view window.</li>



<li>The integrated text editor (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 3</mark></strong>) is mainly used for G-code programming. A loaded G-code file can be checked here or a new G-code file can be created.</li>



<li>The simulation (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 4</mark></strong>) offers a simple way to check the processing sequence of the commands. It visualises the processing of the G-code and is also available for 2D files such as DXF.</li>



<li>By pressing the green symbol (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 5</mark></strong>), the milling process is started as an emulation. If the emulation was switched off and a real connection with a CNC machine was established, this action would start a real milling process.</li>



<li>In the ‚Move manually‘ window (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 6</mark></strong>), the CNC machine is moved manually. The outputs, such as the spindle and pump, can also be switched. In the ‚SMC Status‘ window (<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color"><strong>Point 7</strong></mark>), the status of the inputs and outputs can be checked.</li>



<li>Use the slider in the status bar (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 8</mark></strong>), the operating speed of the CNC machine and the emulator can be changed.</li>



<li>In the 2D view, not only the current position (<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-custom-hintergrund-3-ff-7-d-7-d-color">Point 9</mark></strong>) of the CNC machine, but also other elements such as zero point, parking point or measuring point.</li>
</ul>
</div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="g-code-datei-laden-und-ausfuhren">Load and execute G-code file</h2>



<p class="wp-block-paragraph">The G-code file can be loaded via the menu item ‚Open file‘. Pressing the green symbol starts the milling process (in this case as emulation).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="650" height="123" src="https://cncgraf.com/wp-content/uploads/2023/11/g-code-oeffnen.jpg" alt="cncGraF main menu: free G-code simulator" class="wp-image-4431" srcset="https://cncgraf.com/wp-content/uploads/2023/11/g-code-oeffnen.jpg 650w, https://cncgraf.com/wp-content/uploads/2023/11/g-code-oeffnen-600x114.jpg 600w, https://cncgraf.com/wp-content/uploads/2023/11/g-code-oeffnen-300x57.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/11/g-code-oeffnen-18x3.jpg 18w" sizes="auto, (max-width: 650px) 100vw, 650px" /></figure>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1774" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/warnung.png" alt=""> <strong>Important:</strong>&nbsp;If the display of the G-code file is not correct, this may be due to the incorrect setting for the G02/G03 circle (arc) commands. The G02/G03 commands can be interpreted as relative or absolute. In this case, the „G02/03 relative“ option must be changed in the cncGraF G-code simulator in the main menu „Settings → Options → File → G-code“.“</p>
</div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="g-code-programmieren">Programming G-code</h2>



<p class="wp-block-paragraph">G-code programming is carried out in the cncGraF text editor. When changes are saved in the text editor, the G-code display is automatically updated in the 2D view window so that the G-code can be checked visually.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="459" height="722" src="https://cncgraf.com/wp-content/uploads/2023/12/g-code-texteditor.jpg" alt="cncGraF: Integrated text editor for G-code programming" class="wp-image-4438" srcset="https://cncgraf.com/wp-content/uploads/2023/12/g-code-texteditor.jpg 459w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-texteditor-191x300.jpg 191w, https://cncgraf.com/wp-content/uploads/2023/12/g-code-texteditor-8x12.jpg 8w" sizes="auto, (max-width: 459px) 100vw, 459px" /></figure>



<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="24" height="24" class="wp-image-1775" style="width: 24px;" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Tip</strong>cncGraF also has a 3D view window in which the G-code file can be viewed.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="514" height="402" src="https://cncgraf.com/wp-content/uploads/2023/11/3d-view.jpg" alt="" class="wp-image-4442" srcset="https://cncgraf.com/wp-content/uploads/2023/11/3d-view.jpg 514w, https://cncgraf.com/wp-content/uploads/2023/11/3d-view-300x235.jpg 300w, https://cncgraf.com/wp-content/uploads/2023/11/3d-view-15x12.jpg 15w" sizes="auto, (max-width: 514px) 100vw, 514px" /></figure>



<p class="wp-block-paragraph">cncGraF supports standard G-code. To learn how to use G-code, we recommend our blog article „<a href="https://cncgraf.com/en/2023/12/20/cnc-programming-g-code-learn-commands/">CNC programming: Learn G-code - Quick and easy</a>„. Knowledge of G-code is an advantage for CNC programming. Our blog article offers practical support to learn this knowledge quickly.</p>
</div>



<div class="wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="zusammenfassung">Summary</h2>



<p class="wp-block-paragraph">This article shows that familiarising yourself with cncGraF as a free G-code simulator is quick and uncomplicated. cncGraF offers all the tools you need to get started with G-code programming. cncGraF is a useful tool for those who want to familiarise themselves with CNC programming.<br><br>Yours sincerely, Your BOENIGK-electronics Team</p>
</div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>cncGraF: Milling DXF files without CAD/CAM software</title>
		<link>https://cncgraf.com/en/2023/10/18/dxf-file-milling-with-cncgraf/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Wed, 18 Oct 2023 11:13:19 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[2D Dateien]]></category>
		<category><![CDATA[DXF]]></category>
		<category><![CDATA[DXF Datei fräsen]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=1932</guid>

					<description><![CDATA[In this blog article, you will learn how to mill a DXF file directly using cncGraF. This approach saves you from having to use CAD/CAM software, which saves both time and effort as these programmes can often be complex and require training.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading has-tertiary-background-color has-background has-large-font-size" id="cnc-gra-f-dxf-dateien-frasen-ohne-cad-cam-software">cncGraF: Milling DXF files without CAD/CAM software</h1>



<p class="wp-block-paragraph translation-block">In this blog article, you will learn how to mill a DXF file directly using <a href="https://cncgraf.com/en/cncgraf-8-cnc-steuerungssoftware/" data-type="page" data-id="8" target="_self">cncGraF</a>. This approach saves you from having to use CAD/CAM software, which saves both time and effort, as these programmes can often be complex and require training.</p>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h4>Overview</h4><nav><ul><li class=""><a href="#was-ist-eine-cad-cam-software">What is CAD/CAM software?</a></li><li class=""><a href="#warum-die-cad-cam-software-umgehen">Why bypass the CAD/CAM software?</a></li><li class=""><a href="#1-cad-software-fur-die-erstellung-von-dxf-dateien-wahlen">1. select CAD software for the creation of DXF files</a></li><li class=""><a href="#2-zeichnungsregeln-beachten">2. observe the drawing rules</a></li><li class=""><a href="#3-dxf-datei-im-cnc-gra-f-offnen">3. open DXF file in cncGraF</a></li><li class=""><a href="#4-dxf-datei-frasen-so-bereiten-sie-die-dxf-datei-vor">4. milling the DXF file - How to prepare the DXF file.</a><ul><li class=""><a href="#erkennen-einer-ungeschlossenen-kontur">Recognising an unclosed contour</a></li><li class=""><a href="#ungeschlossene-kontur-sortieren-und-schliessen">Sort and close unclosed contour</a></li><li class=""><a href="#erstellen-der-werkzeugkorrektur">Creating the tool offset</a></li><li class=""><a href="#frasreihenfolge-festlegen">Determine milling sequence</a></li><li class=""><a href="#festlegen-der-frastiefe-und-der-frasgeschwindigkeit">Specifying the milling depth and milling speed</a></li></ul></li><li class=""><a href="#dxf-datei-frasen">Milling DXF file</a></li><li class=""><a href="#zusammenfassung">Summary</a></li></ul></nav></div>







<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="was-ist-eine-cad-cam-software">What is CAD/CAM software?</h2>



<p class="wp-block-paragraph">CAD/CAM software is used to generate G-code files from DXF files. These are special machine files that CNC machines can read in order to mill the desired workpiece. Many CAD/CAM programmes also offer the option of drawing directly within the software.</p>



<h2 class="wp-block-heading has-large-font-size" id="warum-die-cad-cam-software-umgehen">Why bypass the CAD/CAM software?</h2>



<p class="wp-block-paragraph">By processing DXF files directly with cncGraF, you can save yourself the use of separate CAD/CAM software. This has the advantage that you do not have to familiarise yourself with often complicated and time-consuming software. This approach is a time-saving alternative, especially for simple projects.</p>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Bitte beachten Sie, dass dieser Ansatz hauptsächlich für relativ unkomplizierte 2,5D-Teile geeignet ist, wie sie häufig vorkommen.</p>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="1-cad-software-fur-die-erstellung-von-dxf-dateien-wahlen">1. select CAD software for the creation of DXF files</h2>



<p class="wp-block-paragraph">In order to start the milling process, a DXF file must first be created. This requires the use of CAD software. Fortunately, there are numerous options on the market, both paid and free.</p>



<ul class="wp-block-list">
<li class="translation-block"><strong>Free solutions</strong>: If you are just starting out with CAD or have a limited budget, LibreCAD, QCad or FreeCAD could be good options. These offer solid basic functions for creating DXF files.</li>



<li class="translation-block"><strong>Paid solutions</strong>: If you are willing to buy CAD software, then there is paid software such as Turbocad, Megacad, <a href="https://www.autodesk.de" target="_blank" rel="noreferrer noopener">AutoGrav, Fusion 360</a> and many more.</li>



<li class="translation-block"><strong>Other software</strong>: DXF drawings can also be created in graphic design programmes such as Corel Draw.</li>
</ul>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Verwenden Sie am besten ein CAD-Programm, das Sie bereits kennen, oder eine Software, die einfach zu erlernen ist. Dies kann den Prozess erheblich vereinfachen, besonders wenn Sie noch keine Erfahrung mit CAD-Programmen haben.</p>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="2-zeichnungsregeln-beachten">2. observe the drawing rules</h2>



<p class="wp-block-paragraph">To ensure that the DXF file can be processed on the milling machine without any problems, a few simple rules must be observed. Here are the most important points:</p>



<ul class="wp-block-list">
<li class="translation-block"><strong>Use simple elements</strong>: The milling machine only works with simple drawing elements such as polygons, lines, circles and arcs. Various other commands such as hatching tools or bitmaps are not supported as they are not suitable for output to the CNC machine.</li>



<li class="translation-block"><strong>Draw neatly</strong>: Avoid double lines. The polylines, arcs and lines should be drawn one after the other. This ensures closed polylines, which are necessary for tool correction.</li>



<li class="translation-block"><strong>Vectorise texts</strong>: The texts must be vectorised so that they can be transferred.<br>Please note that the usual Windows fonts are not really suitable for milling, as they are outline drawings. Single-line fonts are often used for milling.</li>



<li class="translation-block"><strong>Use DXF layers</strong>: Use DXF layers, for example ‚Inside layer‘ for drawing parts that are required for ‚Inside‘ tool compensation and ‚Outside layer‘ for drawing parts that are required for ‚Outside‘ tool compensation. This makes it easier to select the tool compensation later in cncGraF.</li>
</ul>



<p class="wp-block-paragraph">These rules help to avoid errors when creating your DXF files and ensure that your drawings can be output correctly on the CNC machine.</p>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="3-dxf-datei-im-cnc-gra-f-offnen">3. open DXF file in cncGraF</h2>



<p class="wp-block-paragraph translation-block">To open your DXF file in cncGraF, proceed as follows:<br><strong><br>Load file</strong>: You can either load the DXF file via the „File -&gt; Open“ menu or by clicking on the „Open file“ icon at the top of the window frame (see screenshot below).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="765" height="93" src="https://cncgraf.com/wp-content/uploads/2023/08/oeffnen.jpg" alt="" class="wp-image-1952" srcset="https://cncgraf.com/wp-content/uploads/2023/08/oeffnen.jpg 765w, https://cncgraf.com/wp-content/uploads/2023/08/oeffnen-600x73.jpg 600w" sizes="auto, (max-width: 765px) 100vw, 765px" /></figure>



<p class="wp-block-paragraph translation-block"><strong>Dialogue window „File properties“</strong>: The dialogue window „File properties“ appears first. Here you can set the sheet resolution (medium is recommended) and define the unit. As DXF is always at a scale of 1:1, the unit is „freely definable“ and should be set to 1.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="639" height="267" src="https://cncgraf.com/wp-content/uploads/2023/08/datei-eigenschaften.jpg" alt="The setting option for DXF files in cncGraF with the unit 1:1." class="wp-image-1962" srcset="https://cncgraf.com/wp-content/uploads/2023/08/datei-eigenschaften.jpg 639w, https://cncgraf.com/wp-content/uploads/2023/08/datei-eigenschaften-600x251.jpg 600w" sizes="auto, (max-width: 639px) 100vw, 639px" /></figure>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis</strong>: Wenn das Dialogfenster „Datei-Eigenschaften“ nicht erscheint, dann gelangen Sie zu diesem Fenster, indem Sie im Menü den Pfad „Hauptmenü -&gt; Einstellungen -&gt; Optionen -&gt; Datei -&gt; DXF“ verfolgen.</p>



<p class="wp-block-paragraph translation-block"><strong>Dialogue window „DXF layer“</strong>: The dialogue window „DXF layer“ then appears, in which the layers of the DXF file are displayed. A tool number can be assigned to each layer. A layer can also be excluded for import.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="651" height="223" src="https://cncgraf.com/wp-content/uploads/2023/08/dxf-layer.jpg" alt="Mill DXF file: DXF layer that appears when the file is opened." class="wp-image-1963" srcset="https://cncgraf.com/wp-content/uploads/2023/08/dxf-layer.jpg 651w, https://cncgraf.com/wp-content/uploads/2023/08/dxf-layer-600x206.jpg 600w" sizes="auto, (max-width: 651px) 100vw, 651px" /></figure>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""><strong> Hinweis</strong>: Wenn der Layername dem Namen des Werkzeugs im Werkzeuglager entspricht, dann wird direkt die richtige Werkzeugnummer zugewiesen.</p>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="4-dxf-datei-frasen-so-bereiten-sie-die-dxf-datei-vor">4. milling the DXF file - How to prepare the DXF file.</h2>



<p class="wp-block-paragraph">cncGraF is not comparable with extensive CAD/CAM programmes, as cncGraF is a milling software. Nevertheless, it enables the direct milling of 2D DXF files. The programme offers a selection of useful functions that cannot be covered in detail in this article, as it would go beyond the scope of this article. This article serves as a guide to explain the procedure by way of example.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1041" height="1068" src="https://cncgraf.com/wp-content/uploads/2023/08/zeichnung6.jpg" alt="Display of tool compensation in the cncGraF software" class="wp-image-1981" style="width:380px;height:390px" srcset="https://cncgraf.com/wp-content/uploads/2023/08/zeichnung6.jpg 1041w, https://cncgraf.com/wp-content/uploads/2023/08/zeichnung6-600x616.jpg 600w" sizes="auto, (max-width: 1041px) 100vw, 1041px" /></figure>



<p class="wp-block-paragraph">We use a simple DXF drawing as an illustration: a rectangle with an inner contour and a layer. This drawing was intentionally provided with errors. In the course of this article, we will show how these errors can be identified and corrected.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="300" height="285" src="https://cncgraf.com/wp-content/uploads/2023/08/zeichnung5.jpg" alt="Display of the drawing (without tool compensation) in the cncGraF software" class="wp-image-1971" style="width:320px;height:264px"/></figure>



<h4 class="wp-block-heading has-large-font-size" id="erkennen-einer-ungeschlossenen-kontur">Recognising an unclosed contour</h4>



<p class="wp-block-paragraph">The first thing to check is whether the inner contour and the rectangle of the drawing are closed polylines. The closed polylines are required to be able to perform tool correction. </p>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Die Werkzeugkorrektur kompensiert den Fräserdurchmesser und stellt sicher, dass das gefräste Teil genau den CAD-Vorgaben entspricht.</p>



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>Recognising an unclosed polyline<br></summary>
<ul class="wp-block-list">
<li class="translation-block"><strong>Check with „Polyline“ selection:</strong> If the entire inner contour is not captured by the mouse selection, then there is no closed polyline (see screenshot below left).</li>



<li><strong>Check with milling direction indicator:</strong> Several red arrows and starting points in the form of blue squares indicate that the contour is not closed (see screenshot below right).</li>
</ul>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f56f613f wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img decoding="async" width="456" height="534" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/08/dxf-auswahl.jpg" alt="" class="wp-image-1972"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img decoding="async" width="660" height="557" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/08/dxf-fraesrichtung.jpg" alt="" class="wp-image-1973" srcset="https://cncgraf.com/wp-content/uploads/2023/08/dxf-fraesrichtung.jpg 660w, https://cncgraf.com/wp-content/uploads/2023/08/dxf-fraesrichtung-600x506.jpg 600w" sizes="(max-width: 660px) 100vw, 660px" /></figure>
</div>
</div>



<ul class="wp-block-list">
<li class="translation-block"><strong>Check with simulation:</strong> The simulation makes it possible to check the processing sequences. This allows you to visually monitor how the milling machine processes the inner contour. To display the simulation window, click on „Window -&gt; Simulation“ in the main menu.</li>
</ul>



<figure class="wp-block-image size-full"><img decoding="async" width="877" height="652" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/08/dxf-fraesrichtung_sim.jpg" alt="" class="wp-image-2019" style="object-fit:cover" srcset="https://cncgraf.com/wp-content/uploads/2023/08/dxf-fraesrichtung_sim.jpg 877w, https://cncgraf.com/wp-content/uploads/2023/08/dxf-fraesrichtung_sim-600x446.jpg 600w" sizes="(max-width: 877px) 100vw, 877px" /></figure>
</details>



<h4 class="wp-block-heading has-large-font-size" id="ungeschlossene-kontur-sortieren-und-schliessen">Sort and close unclosed contour</h4>



<p class="wp-block-paragraph">It was determined that the inner contour consists of many individual lines that are drawn in different sequences and directions. This contour would therefore be milled in several sections instead of in one continuous pass.</p>



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>Combine individual lines into a closed polyline</summary>
<p class="wp-block-paragraph">With the „Optimise path“ function, the individual lines of the inner contour can be sorted and automatically connected to form a closed polyline. You will find this function in the drawing window, which can be accessed via the main menu „Window -&gt; Drawing“ (see screenshot below).</p>



<figure class="wp-block-image size-full"><img decoding="async" width="911" height="416" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/08/dxf-wegoptimierung2.jpg" alt="" class="wp-image-2070" srcset="https://cncgraf.com/wp-content/uploads/2023/08/dxf-wegoptimierung2.jpg 911w, https://cncgraf.com/wp-content/uploads/2023/08/dxf-wegoptimierung2-600x274.jpg 600w" sizes="(max-width: 911px) 100vw, 911px" /></figure>



<p class="wp-block-paragraph">After performing the path optimisation, the inner contour only shows a starting point and a red arrow for the milling direction. Both indicators confirm that it is now a single polyline. In addition, the entire inner contour is captured when selecting -&gt; Polyline (see screenshot below).</p>



<figure class="wp-block-image size-full"><img decoding="async" width="372" height="397" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/08/zeichnung-nach-optimieren.jpg" alt="" class="wp-image-2031"/></figure>
</details>



<h4 class="wp-block-heading has-large-font-size" id="erstellen-der-werkzeugkorrektur">Creating the tool offset</h4>



<p class="wp-block-paragraph">In our example drawing, there is only one layer and therefore only one tool number. The „Tool correction“ dialogue allows you to set only one correction direction per tool number - either <br>‚closed on the inside‘ or ‚closed on the outside‘.</p>



<ol class="wp-block-list">
<li class="translation-block"><strong>Internal contour</strong>: To ensure the original dimensions of the internal contour, the milling path must be offset inwards.</li>



<li class="translation-block"><strong>Rectangle</strong>: To achieve the desired dimensions, the milling path of the rectangle must be offset outwards.</li>
</ol>



<p class="wp-block-paragraph">Firstly, we define the tool diameter in the tool store by clicking on the hammer symbol in the toolbar. We then enter the tool diameter in the ‚Tool properties‘ area of the tool store, e.g. 2 mm.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="628" height="64" src="https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-symbol.jpg" alt="Standard toolbar in the CNC control software cncGraF" class="wp-image-2102" srcset="https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-symbol.jpg 628w, https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-symbol-600x61.jpg 600w" sizes="auto, (max-width: 628px) 100vw, 628px" /></figure>



<p class="wp-block-paragraph"><strong>Assigning the tool offset for the polyline</strong></p>



<p class="wp-block-paragraph">With the „Tool correction for polyline“ function, the tool correction can be assigned to each polyline individually. This function is located in the drawing window, accessible via the main menu „Window -&gt; Drawing“ (see screenshot below, left-hand area).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1411" height="587" src="https://cncgraf.com/wp-content/uploads/2023/08/werkzeugkorrektur_fur_polyline3.jpg" alt="Set tool compensation in the cncGraF software" class="wp-image-2053" srcset="https://cncgraf.com/wp-content/uploads/2023/08/werkzeugkorrektur_fur_polyline3.jpg 1411w, https://cncgraf.com/wp-content/uploads/2023/08/werkzeugkorrektur_fur_polyline3-600x250.jpg 600w" sizes="auto, (max-width: 1411px) 100vw, 1411px" /></figure>



<p class="wp-block-paragraph">Proceed as follows (see screenshot above):</p>



<ol class="wp-block-list">
<li>Use the mouse to select the desired polyline via Selection-&gt; Polyline.</li>



<li>In the „Set tool correction for polyline“ dialogue, specify the alignment, e.g. ‚closed inside‘.</li>



<li>Click on the „Set“ button to set the tool correction.</li>
</ol>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> Several DXF layers are required to automatically perform the tool correction for the entire drawing, which should be assigned to different tool numbers (see point 2: <a href="/en/1TP5Drawing rules/" target="_self">Note drawing rules</a>). For example, the correction ‚closed on the inside‘ can be used for tool 1 and ‚closed on the outside‘ for tool 2.</p>



<p class="wp-block-paragraph translation-block">Another option, especially with larger files, is to check which type of tool correction is required more often - for example, if the tool correction ‚closed on the outside‘ is predominantly required. <br><br>In this case, the entire drawing would be calculated with ‚closed on the outside‘. Elements that were calculated incorrectly as a result can be selected with the selection rectangle ‚Tool correction polyline‘ and removed by pressing the ‚ESC‘ key. The correct radius correction for these elements can then be set manually using the method described above.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1336" height="547" src="https://cncgraf.com/wp-content/uploads/2023/08/werkzeugkorrektur_komplett.jpg" alt="The tool compensation dialogue in the cncGraF software" class="wp-image-2086" srcset="https://cncgraf.com/wp-content/uploads/2023/08/werkzeugkorrektur_komplett.jpg 1336w, https://cncgraf.com/wp-content/uploads/2023/08/werkzeugkorrektur_komplett-600x246.jpg 600w" sizes="auto, (max-width: 1336px) 100vw, 1336px" /></figure>



<h4 class="wp-block-heading has-large-font-size" id="frasreihenfolge-festlegen">Determine milling sequence</h4>



<p class="wp-block-paragraph">Before you start milling, it is important to determine the milling sequence. The processing sequence can be checked via the main menu „Window -&gt; Drawing“ using the „Display processing sequences“ function (see screenshot below).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1116" height="711" src="https://cncgraf.com/wp-content/uploads/2023/08/arbeitsreihenfolge-anzeigen.jpg" alt="Display of the processing sequence in the cncGraF software" class="wp-image-2110" srcset="https://cncgraf.com/wp-content/uploads/2023/08/arbeitsreihenfolge-anzeigen.jpg 1116w, https://cncgraf.com/wp-content/uploads/2023/08/arbeitsreihenfolge-anzeigen-600x382.jpg 600w" sizes="auto, (max-width: 1116px) 100vw, 1116px" /></figure>



<p class="wp-block-paragraph">If the processing sequence is not correct, it must be corrected. Our example drawing shows a rectangle as an outline and an inner contour. In this case, the rectangle (outer contour) should be milled last. If the rectangle (outer contour) is machined first, the workpiece could fall out before the inner contour is completely milled.</p>



<p class="wp-block-paragraph">To set the rectangle (outer contour) at the end of the milling process, the ‚Set polyline at end‘ function must be selected. Click on the ‚Set‘ button to activate the selection. Now all you have to do is click on the rectangle in the drawing (see screenshot below).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="780" height="711" src="https://cncgraf.com/wp-content/uploads/2023/08/polylinie_am_ende_setzen.jpg" alt="cncGraF : Change processing sequence" class="wp-image-2145" srcset="https://cncgraf.com/wp-content/uploads/2023/08/polylinie_am_ende_setzen.jpg 780w, https://cncgraf.com/wp-content/uploads/2023/08/polylinie_am_ende_setzen-600x547.jpg 600w" sizes="auto, (max-width: 780px) 100vw, 780px" /></figure>



<h4 class="wp-block-heading has-large-font-size" id="festlegen-der-frastiefe-und-der-frasgeschwindigkeit">Specifying the milling depth and milling speed</h4>



<p class="wp-block-paragraph">A few settings must be made before milling can begin. These include the milling speed, the spindle speed and the milling depth (optionally with infeed). These parameters can be set in the „Tool storage“ dialogue (see screenshot below).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="628" height="64" src="https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-symbol.jpg" alt="cncGraF: Icon to open tool store" class="wp-image-2102" srcset="https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-symbol.jpg 628w, https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-symbol-600x61.jpg 600w" sizes="auto, (max-width: 628px) 100vw, 628px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1013" height="657" src="https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager.jpg" alt="cncGraF: The &quot;tool store&quot; dialogue&quot;" class="wp-image-2117" srcset="https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager.jpg 1013w, https://cncgraf.com/wp-content/uploads/2023/08/werkzeuglager-600x389.jpg 600w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></figure>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="dxf-datei-frasen">Milling DXF file</h2>



<p class="wp-block-paragraph">The DXF sample file is now ready to be milled. Before you start the milling process, a zero point must be defined. The zero point is determined by touching the material surface with the milling cutter. Once you have defined the start position (in the bottom left-hand corner of the workpiece), the zero point can be saved in the main menu under „Settings -&gt; Positions“. Alternatively, you can also click directly on the „Set zero point“ icon to define the zero point.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="676" height="95" src="https://cncgraf.com/wp-content/uploads/2023/08/nullupnkt-setzen.jpg" alt="cncGraF: Set icon to zero point" class="wp-image-2124" srcset="https://cncgraf.com/wp-content/uploads/2023/08/nullupnkt-setzen.jpg 676w, https://cncgraf.com/wp-content/uploads/2023/08/nullupnkt-setzen-600x84.jpg 600w" sizes="auto, (max-width: 676px) 100vw, 676px" /></figure>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Es gibt natürlich auch weitere Methoden, um einen Nullpunkt festzulegen. In diesem Blog-Artikel beschränken wir uns jedoch auf eine einfache Methode. Das Thema „Nullpunkt setzen“ werden wir in einem anderen Blog-Artikel gesondert behandeln.</p>
</div>



<p class="wp-block-paragraph">Finally, the drawing should be positioned. This is done using the „Position“ function, which is located in the „Drawing“ window. The display of the workpiece can be used as a guide. This function can be accessed and set either in the toolbar via „Workpiece parameters“ or in the main menu under „Settings -&gt; Workpiece parameters“.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="878" height="255" src="https://cncgraf.com/wp-content/uploads/2023/08/zeichnung-positionieren.jpg" alt="cncGraF: Move drawing" class="wp-image-2153" srcset="https://cncgraf.com/wp-content/uploads/2023/08/zeichnung-positionieren.jpg 878w, https://cncgraf.com/wp-content/uploads/2023/08/zeichnung-positionieren-600x174.jpg 600w" sizes="auto, (max-width: 878px) 100vw, 878px" /></figure>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="zusammenfassung">Summary</h2>



<p class="wp-block-paragraph">Milling combines artistic craftsmanship with technical precision. In this article, you have learnt how to achieve precise milling results with targeted preparation. We have highlighted the importance of DXF drawing rules and shown how to import a DXF file into cncGraF. The entire process of preparing a DXF file for milling was also explained in detail - from correcting unclosed contours to tool correction and setting the milling depth and speed.</p>



<p class="wp-block-paragraph">This guide will provide you with a solid foundation for tackling the challenges of milling.</p>



<p class="wp-block-paragraph">We hope that with this information you are well equipped to successfully realise your next milling project. Good luck and see you next time!</p>
</div>



<p class="wp-block-paragraph">Yours sincerely, Your BOENIGK-electronics Team</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Setting the spindle speed for the CNC machine</title>
		<link>https://cncgraf.com/en/2023/10/18/setting-the-spindle-speed/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Wed, 18 Oct 2023 11:08:47 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[DAC-INT-10V]]></category>
		<category><![CDATA[Frequenzumrichter]]></category>
		<category><![CDATA[Spindel]]></category>
		<category><![CDATA[Spindel Warmlaufen]]></category>
		<category><![CDATA[Spindeldrehzahl]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=1620</guid>

					<description><![CDATA[In the following article, I will show you how to set up the spindle speed. First, the hardware, i.e. the frequency inverter with the interface card and the controller, is connected together. Then we make the spindle speed settings in the cncGraF software.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading has-text-align-left has-tertiary-background-color has-background has-large-font-size translation-block" id="einrichtung-und-verwenden-der-spindeldrehzahl-fur-die-cnc-maschine">Setting up and using the spindle speed <br>for the CNC machine</h1>



<p class="wp-block-paragraph translation-block">In this article, I will describe how to connect and test the hardware for the spindle speed. <br>I will also explain how the speed can be activated and used using the <a href="https://cncgraf.com/en/cncgraf-8-cnc-steuerungssoftware/" data-type="page" data-id="8" target="_self">cncGraF</a> software. <br><br>Before we start setting up the speed, however, we first need to clarify which hardware components are required to use the speed.</p>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h4>Overview</h4><nav><ul><li class=""><a href="#1-was-benotige-ich-fur-die-spindeldrehzahl-steuerung">1. what do I need for the spindle speed control?</a></li><li class=""><a href="#2-einrichtung-hardware-anschliessen">2. setup: connect hardware</a></li><li class=""><a href="#3-einrichtung-software-einstellen">3. set-up: setting up the software</a></li><li class=""><a href="#4-spindeldrehzahl-testen">4. test spindle speed</a></li><li class=""><a href="#5-fehlersuche">5. troubleshooting</a></li><li class=""><a href="#6-verwendung">6. use</a></li></ul></nav></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group alignfull has-base-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-text-align-left has-large-font-size" id="1-was-benotige-ich-fur-die-spindeldrehzahl-steuerung">1. what do I need for the spindle speed control?</h2>



<ul class="wp-block-list">
<li class="translation-block"><strong>Frequency inverter with matching spindle motor:</strong> A frequency inverter, also known as an inverter or frequency converter, is an electronic device that changes the frequency and voltage. It is required to control the speed of the spindle.</li>



<li class="translation-block"><strong>Interface card <a href="https://web.boenigk-electronics.com/download/docs/relais/dac-int-10V-v3.pdf" target="_self">DAC-INT-10V</a> or <a href="https://web.boenigk-electronics.com/download/docs/smc5dm4/smc5d_m4_system.pdf" target="_self">CAN Expansion DAC 0-10V</a>:</strong> These cards have an analogue output in the range of 0-10 volts as well as a switching signal. Both connections are required to transmit the corresponding control commands to the frequency inverter.</li>
</ul>



<h2 class="wp-block-heading has-text-align-left has-large-font-size" id="2-einrichtung-hardware-anschliessen">2. setup: connect hardware</h2>



<p class="wp-block-paragraph">The first step is to install the interface card. </p>



<p class="wp-block-paragraph translation-block">The DAC-INT-10V interface card is required for the smc5d-p32 or smc5d-m4 lan CNC controller, <br>while the control cabinet version CAN Expansion DAC 0-10V is required for the smc5d-m4 pro.</p>



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>The DAC-INT-10V interface card for CNC controllers smc5d-p32 and smc5d-m4 lan<br></summary>
<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="wp-block-paragraph">The DAC-INT-10V interface card is plugged into the CNC controller, either the smc5d-p32 or the smc5d-m4 lan.</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/07/dac-int10v_auf_controller_drauf.jpg" alt="" class="wp-image-1694"/><figcaption class="wp-element-caption">The picture shows the DAC-INT-10V interface card, which is plugged into the smc5d-p32 CNC controller.</figcaption></figure>



<p class="wp-block-paragraph translation-block">The DAC-INT-10V interface card can be supplied with +24 volts in two different ways: via the external connection (green connection) or via the pins on CON3 (ribbon cable). The variant via CON3 is usually used together with a relay card, where the +24 volts come from the relay card.<br><br><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> The +24 volt power supply is required for the 0-10 volt analogue output.</p>



<p class="wp-block-paragraph">The DAC-INT-10V interface card can also be supplied with 5 volts. The 5 volts are used to supply the CNC controller with power externally (not via the USB interface).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="1211" height="428" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/07/dac-ont10v-24plus.jpg" alt="" class="wp-image-1697" style="width:908px;height:321px" srcset="https://cncgraf.com/wp-content/uploads/2023/07/dac-ont10v-24plus.jpg 1211w, https://cncgraf.com/wp-content/uploads/2023/07/dac-ont10v-24plus-600x212.jpg 600w" sizes="(max-width: 1211px) 100vw, 1211px" /><figcaption class="wp-element-caption translation-block">The DAC-INT-10V interface card is powered via an external connection (power supply) <br>or via the pins on CON3</figcaption></figure>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="1103" height="586" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/08/dac-ont10v-24plus2.jpg" alt="" class="wp-image-1948" style="width:827px;height:440px" srcset="https://cncgraf.com/wp-content/uploads/2023/08/dac-ont10v-24plus2.jpg 1103w, https://cncgraf.com/wp-content/uploads/2023/08/dac-ont10v-24plus2-600x319.jpg 600w" sizes="(max-width: 1103px) 100vw, 1103px" /><figcaption class="wp-element-caption">Power supply via a ribbon cable and an external relay card</figcaption></figure>



<p class="wp-block-paragraph">Finally, the frequency inverter must be supplied with 0-10 volts and a switching signal. The connections in the corner of the DAC-INT-10V interface card are used for this purpose. <br><br>The switching signal: The two connections Rel1 and Rel1 connect the plugged cables, whereby the connection is only made when output 1 for the spindle is switched in the cncGraF software.</p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="1412" height="749" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/07/dac-int10v-freq.jpg" alt="" class="wp-image-1719" srcset="https://cncgraf.com/wp-content/uploads/2023/07/dac-int10v-freq.jpg 1412w, https://cncgraf.com/wp-content/uploads/2023/07/dac-int10v-freq-600x318.jpg 600w" sizes="(max-width: 1412px) 100vw, 1412px" /><figcaption class="wp-element-caption">The connections for the frequency inverter can be found in the corner of the DAC-INT-10V interface card.</figcaption></figure>



<p class="wp-block-paragraph">This completes the hardware connection. The spindle speed can now be switched on and tested in the cncGraF software. Make sure that all connections are correct and secure before carrying out the test.</p>



<div class="wp-block-buttons is-layout-flex wp-container-core-buttons-is-layout-f96fecc4 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://web.boenigk-electronics.com/download/docs/dac-int-10v/dac_int_10V_v3b.pdf" target="_blank" rel="noreferrer noopener"><img decoding="async" width="51" height="51" fetchpriority="low" class="wp-image-1147" style="width: 51px;" src="https://cncgraf.com/wp-content/uploads/2023/05/pdf.png" alt=""> Download - Documentation</a></div>


</div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</div>
</details>



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>The CAN Expansion DAC 0-10V expansion card<br></summary>
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<p class="wp-block-paragraph">The CAN Expansion DAC 0-10V expansion card is required when using the smc5d-m4 pro CNC controller for top-hat rail mounting. It is connected via a CAN cable supplied. The +24 V power supply is provided via the green connection at the bottom left (see image below).</p>



<p class="wp-block-paragraph">The switching signal: The two Rel_A connections connect the plugged cables, whereby the connection is only made when output 1 for the spindle is switched in the cncGraF software.</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="929" height="1024" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-929x1024.png" alt="" class="wp-image-527" srcset="https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-929x1024.png 929w, https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-600x661.png 600w, https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-272x300.png 272w, https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-768x846.png 768w, https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-1394x1536.png 1394w, https://cncgraf.com/wp-content/uploads/2023/05/dac_gimp-1859x2048.png 1859w" sizes="(max-width: 929px) 100vw, 929px" /><figcaption class="wp-element-caption">CAN Expansion DAC 0-10V is the expansion card for top-hat rail CNC controller smc5d-m4 pro and for spindle speed control</figcaption></figure>



<p class="wp-block-paragraph">This completes the hardware connection. The spindle speed can now be switched on and tested in the cncGraF software. Make sure that all connections are correct and secure before carrying out the test.</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="http://web.boenigk-electronics.com/download/docs/smc5dm4/smc5d_m4_system.pdf" target="_blank" rel="noopener"><img decoding="async" width="51" height="51" fetchpriority="low" class="wp-image-1147" style="width: 51px;" src="https://cncgraf.com/wp-content/uploads/2023/05/pdf.png" alt=""> Download -Documentation</a></div>
</div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</div>
</details>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-text-align-left has-large-font-size" id="3-einrichtung-software-einstellen">3. set-up: setting up the software</h2>



<p class="wp-block-paragraph">The spindle speed is activated in cncGraF in the tool storage menu (see image below). You can access this function either via the main menu „Settings -&gt; Tool storage“ or by simply clicking on the tool storage symbol.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="899" height="88" src="https://cncgraf.com/wp-content/uploads/2023/07/werkzeuglager_offnen.jpg" alt="" class="wp-image-1742" srcset="https://cncgraf.com/wp-content/uploads/2023/07/werkzeuglager_offnen.jpg 899w, https://cncgraf.com/wp-content/uploads/2023/07/werkzeuglager_offnen-600x59.jpg 600w" sizes="auto, (max-width: 899px) 100vw, 899px" /></figure>



<p class="wp-block-paragraph">Click on the „Global settings“ tab in the Tool store dialogue. The spindle speed function can be found there. Click on the „Use spindle speed“ checkbox to activate the spindle speed. Next to the checkbox you will find the „Set spindle speed“ button. Click on this button to open the dialogue window for setting the spindle speed.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="818" height="381" src="https://cncgraf.com/wp-content/uploads/2023/07/werkzeuglager_spindeldrehzahl.jpg" alt="" class="wp-image-1744" srcset="https://cncgraf.com/wp-content/uploads/2023/07/werkzeuglager_spindeldrehzahl.jpg 818w, https://cncgraf.com/wp-content/uploads/2023/07/werkzeuglager_spindeldrehzahl-600x279.jpg 600w" sizes="auto, (max-width: 818px) 100vw, 818px" /></figure>



<p class="wp-block-paragraph">The dialogue window „Definition of steps for spindle speed“ appears. Set your speed range there, starting with the lowest speed 0. In the image below, the speed range is set from 0 to 25000. Please refer to the operating instructions for your spindle for your speed range. Please note that the range is set in the AD0 tab. The AD1 and AD2 tabs are intended for other analogue outputs.</p>



<p class="wp-block-paragraph">The „Interface DAC-INT-10V v.02“ checkbox should remain ticked. This option should only be unchecked if you have an older version than v.02. The older interface cards were imprecise in the 0-10 volt range. Not activating the checkbox activates an algorithm that compensates for this inaccuracy.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="479" src="https://cncgraf.com/wp-content/uploads/2023/08/dialog_Spindeldrehzahl.jpg" alt="" class="wp-image-1749" srcset="https://cncgraf.com/wp-content/uploads/2023/08/dialog_Spindeldrehzahl.jpg 840w, https://cncgraf.com/wp-content/uploads/2023/08/dialog_Spindeldrehzahl-600x342.jpg 600w" sizes="auto, (max-width: 840px) 100vw, 840px" /></figure>



<p class="wp-block-paragraph">The settings for the speed control have been finalised. The first test can now be carried out.</p>
</div>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-text-align-left has-large-font-size" id="4-spindeldrehzahl-testen">4. test spindle speed</h2>



<p class="wp-block-paragraph translation-block">The spindle speed can now be tested. To do this, perform the test in the „Manual movement“ window, which is normally docked on the right. If this window is not visible, you can display it in the main menu by selecting „Window -&gt; Move manually“.<br><br>In the „Move manually“ window, you will find the „Spindle speed“ button. However, first click on the „Spindle“ button to switch on the spindle and then on the „Spindle speed“ button. The dialogue window for the spindle speed then appears. In this dialogue window, you can change the speed by clicking and holding on the graphic. The spindle speed is adjusted accordingly.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1149" height="507" src="https://cncgraf.com/wp-content/uploads/2023/10/spindeldrehzahl_testen2.jpg" alt="" class="wp-image-2931" srcset="https://cncgraf.com/wp-content/uploads/2023/10/spindeldrehzahl_testen2.jpg 1149w, https://cncgraf.com/wp-content/uploads/2023/10/spindeldrehzahl_testen2-600x265.jpg 600w" sizes="auto, (max-width: 1149px) 100vw, 1149px" /></figure>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong><mark class="has-inline-color has-custom-hintergrund-1-b-5-e-3-ff-color">Hinweis:</mark></strong> Da das „Manuell Bewegen“-Fenster individuell anpassbar ist, könnte es sein, dass dieser Button nicht vorhanden ist. In diesem Fall müssen Sie den Button für die Spindeldrehzahl einblenden lassen. Gehen Sie dazu mit der Maus in das „Manuell Bewegen“-Fenster irgendwo zwischen die Elemente und klicken Sie die rechte Maustaste, um das Kontextmenü aufzurufen. Wählen Sie „Customize Layout“ aus. In dem Dialog „Layout Customization“ suchen Sie nach dem Button „Spindle Speed Button“ und ziehen Sie diesen per Drag-and-Drop in das „Manuell Bewegen“-Fenster ein.</p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-text-align-left has-large-font-size" id="5-fehlersuche">5. troubleshooting</h2>



<p class="wp-block-paragraph">If the speed does not work, the following points should be checked:</p>



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>Check the +24 volt power supply for the interface card<br></summary>
<p class="wp-block-paragraph">This can be checked with a voltmeter. All you need to do is measure the DC voltage at pins 3 and 4 (see image below). During the measurement process, the spindle speed must of course be adjusted in the software at the same time.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1024" height="807" fetchpriority="low" src="https://cncgraf.com/wp-content/uploads/2023/07/dac_testen.jpg" alt="" class="wp-image-1855" srcset="https://cncgraf.com/wp-content/uploads/2023/07/dac_testen.jpg 1024w, https://cncgraf.com/wp-content/uploads/2023/07/dac_testen-600x473.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</details>



<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>Check the switching signal (output 1) for spindle switching<br></summary>
<p class="wp-block-paragraph">To do this, the setting for the spindle must be checked in the ‚Machine parameters -&gt; Pin assignment‘ menu. The spindle must have output 1 for the DAC-INT-10V interface card. When the spindle is switched (output 1), a red diode lights up on the DAC-INT-10V.</p>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>
</details>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Der häufigste Fehler ist die fehlende Stromversorgung von +24 Volt.</p>
</div>



<div class="wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-text-align-left has-large-font-size" id="6-verwendung">6. use</h2>



<p class="wp-block-paragraph">The spindle speed setting in the cncGraF software varies depending on the file type. <br><br>For 2D file formats such as DXF or HPGL, the spindle speed is set in the „Tool storage“ dialogue. This is because DXF and HPGL files do not have the command for the spindle speed.</p>



<p class="wp-block-paragraph">G-code files, on the other hand, contain an ‚S‘ command for the spindle speed. The speed is therefore taken from the G-code file. The setting for the speed in G-code files is then made in your CAD/CAM software.</p>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Note:</strong> Preheating the spindle of the CNC machine reduces the load on its components. This means that the spindle can last longer and is less susceptible to repairs.<br>In this video, I show how to set up the „Spindle warm-up“ function for CNC machines in cncGraF 8.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f56f613f wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">

</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">

</div>
</div>



<p class="wp-block-paragraph">We hope that this article has been helpful to you in handling the spindle speed. If you have any questions, please do not hesitate to contact us.</p>



<p class="wp-block-paragraph">Yours sincerely, Your BOENIGK-electronics Team</p>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The postprocessor and the importance of G-code in CNC machining</title>
		<link>https://cncgraf.com/en/2023/10/18/the-postprocessor-and-g-codes/</link>
		
		<dc:creator><![CDATA[Michael Boenigk]]></dc:creator>
		<pubDate>Wed, 18 Oct 2023 09:54:03 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[G-Code]]></category>
		<category><![CDATA[Postprozessor]]></category>
		<guid ispermalink="false">https://cncgraf.com/?p=2161</guid>

					<description><![CDATA[In the world of CNC machining, the generation and use of G-code is a central part of the process.
In this blog article, we dive into the world of G-code, shed light on its history and explain the role of post-processors (PP for short) in CNC machining. You will also learn how our CNC control software, cncGraF, fits into this picture.]]></description>
										<content:encoded><![CDATA[<div class="wp-block-group alignfull has-tertiary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading has-text-align-left has-tertiary-background-color has-background has-large-font-size" id="der-postprozessor-und-die-bedeutung-des-g-codes-in-der-cnc-bearbeitung">The postprocessor and the importance of G-code in CNC machining</h1>



<p class="wp-block-paragraph translation-block">In the world of CNC machining, the generation and use of G-code is a central part of the process.<br>In this blog article, we delve into the world of G-code, shed light on its history and explain the role of post-processors (PP for short) in CNC machining. You will also learn how our CNC control software, <a href="https://cncgraf.com/en/cncgraf-8-cnc-steuerungssoftware/" data-type="page" data-id="8" target="_self">cncGraF</a>, fits into this picture. Join us on this journey of discovery!</p>



<hr class="wp-block-separator alignfull has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background"/>
</div>



<p class="wp-block-paragraph">CNC (Computerised Numerical Control) machines revolutionised the manufacturing industry by enabling automated tool movements. They were originally developed by the Massachusetts Institute of Technology (MIT) in the 1950s. The G-code, also known as DIN66025, established itself as the universal standard for controlling the motion sequences of these machines. The introduction of this standard was a decisive step towards making CNC machining processes efficient and repeatable.</p>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h4>Overview</h4><nav><ul><li class=""><a href="#wie-wurden-fruher-die-g-code-dateien-erzeugt">How were the G-code files generated in the past?</a></li><li class=""><a href="#heute-wird-g-code-per-cad-cam-software-generiert">Today, G-code is generated using CAD/CAM software</a></li><li class=""><a href="#was-sind-postprozessoren-und-warum-werden-sie-benotigt">What are postprocessors and why are they needed?</a></li><li class=""><a href="#vorgefertigte-und-benutzerdefinierte-postprozessoren-fur-cnc-gra-f">Prefabricated and customised postprocessors for cncGraF</a></li></ul></nav></div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="wie-wurden-fruher-die-g-code-dateien-erzeugt">How were the G-code files generated in the past?</h2>



<p class="wp-block-paragraph">Before computer-aided technologies such as CAD (Computer-Aided Design) and CAM (Computer-Aided Manufacturing) existed, G-code was written manually by machine operators. G-code is an ASCII file containing simple commands such as „move to a position G01 X10 Y10“ or „switch on the spindle with M03“. Programming was carried out directly on the CNC system or in a text editor.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="577" height="949" src="https://cncgraf.com/wp-content/uploads/2023/08/texteditor-g-code.jpg" alt="" class="wp-image-2176"/></figure>



<p class="wp-block-paragraph">The machine operators required in-depth knowledge of the G-code standard, the machine specifications and the materials to be processed. Creating such codes was time-consuming and required careful checking to avoid errors.</p>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="heute-wird-g-code-per-cad-cam-software-generiert">Today, G-code is generated using CAD/CAM software</h2>



<p class="wp-block-paragraph translation-block">Modern CAD/CAM software has revolutionised the process of G-code creation. These programmes make it possible to design parts and simultaneously generate the necessary G-code to implement these designs on CNC machines.<br>The advantages of this development are:</p>



<ul class="wp-block-list">
<li class="translation-block"><strong>Time efficiency</strong>: Automated G-code generation saves time.</li>



<li class="translation-block"><strong>Error reduction</strong>: Automatic generation minimises human error.</li>



<li class="translation-block"><strong>Flexibility</strong>: Design adjustments can be quickly implemented in the G-code.</li>



<li class="translation-block"><strong>Optimisation</strong>: Modern software makes it possible to optimise the processing path in order to save material and time.</li>



<li class="translation-block"><strong>Complexity</strong>: CAD/CAM software can be used to generate highly complex projects and geometries that would be almost impossible to realise manually. This has opened up new and advanced design possibilities that were previously unattainable.</li>
</ul>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="was-sind-postprozessoren-und-warum-werden-sie-benotigt">What are postprocessors and why are they needed?</h2>



<p class="wp-block-paragraph">Even though G-code is a universal standard, different CNC machine manufacturers often have specific requirements and peculiarities. A post-processor (PP for short) acts as a translator between the CAD/CAM software and the specific CNC machine. The postprocessor receives the generic G-code and adapts it to the specific requirements and capabilities of the machine. This ensures that the G-code is executed correctly, regardless of the machine used.</p>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Die CNC-Steuerungssoftware cncGraF unterstützt Standard-G-Code. Deshalb sollte es keine Probleme geben, einen passenden G-Code zu generieren.</p>
</div>



<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading has-large-font-size" id="vorgefertigte-und-benutzerdefinierte-postprozessoren-fur-cnc-gra-f">Prefabricated and customised postprocessors for cncGraF</h2>



<p class="wp-block-paragraph">Every modern CAD/CAM software usually already offers a selection of ready-made postprocessors. These enable broad compatibility with various CNC control systems. It is very likely that one of these ready-made postprocessors is suitable for cncGraF - it is worth trying this out.</p>



<p class="wp-block-paragraph">It is also possible to create your own postprocessor. This is usually an ascii file that describes how the G-code file should be generated. This requires knowledge of the respective CAD/CAM software, as the postprocessors are described differently in each CAD/CAM. For more detailed information, please refer to the documentation of the respective CAD/CAM software.</p>



<p class="wp-block-paragraph translation-block"><img width="24" height="24" class="wp-image-1775" style="width: 24px" src="https://cncgraf.com/wp-content/uploads/2023/08/info.png" alt=""> <strong>Hinweis:</strong> Sollte die geladene G-Code-Datei fehlerhaft dargestellt werden (Kreisbögen werden falsch dargestellt), liegt dies meistens an der Einstellung „G02/03 relativ“. In solchen Fällen sollte die Option „G02/03 relativ“ im Menü „Einstellungen → Optionen → Datei → G-Code“ geändert werden. Dieses Problem tritt auf, weil die Bogenbefehle G02/G03 entweder relativ oder absolut interpretiert werden können. Es gibt keine Möglichkeit automatisch zwischen diesen beiden Modi zu unterscheiden.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="847" height="226" src="https://cncgraf.com/wp-content/uploads/2023/08/g0203relativ.jpg" alt="" class="wp-image-2175" srcset="https://cncgraf.com/wp-content/uploads/2023/08/g0203relativ.jpg 847w, https://cncgraf.com/wp-content/uploads/2023/08/g0203relativ-600x160.jpg 600w" sizes="auto, (max-width: 847px) 100vw, 847px" /></figure>



<p class="wp-block-paragraph translation-block"><strong>For all those who are looking for postprocessors (PP for short) for cncGraF:</strong> Below we offer some for download. Please note that these PP's were created by our dedicated user community and kindly provided to us. We cannot guarantee that there are no errors in these PP's. Furthermore, it is not possible for us to provide a PP for all CAD/CAM programmes on the market. There are simply too many CAD/CAM programmes to offer specific support for each one.</p>



<p class="wp-block-paragraph">As a rule, the right approach is to contact the manufacturer of the CAD/CAM software and ask if they can help you to customise a postprocessor, especially if you are not able to do it yourself.</p>



<p class="wp-block-paragraph"><strong>Download Postprocessor (PP for short) for cncGraF 7.1/8 (ZIP file):</strong></p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://web.boenigk-electronics.com/download/pp/fusion360-cncgraf-pp.zip" target="_blank" rel="noopener">Fusion 360 PP</a></div>



<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://web.boenigk-electronics.com/download/pp/vcarve-pro-cncgraf-postprozessor.zip" target="_blank" rel="noopener">Vcarve Pro PP</a></div>



<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://web.boenigk-electronics.com/download/pp/solidcam-cncgraf-pp.zip" target="_blank" rel="noopener">Solidcam PP</a></div>



<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://web.boenigk-electronics.com/download/pp/autodesk-Inventor-hsm-cncgraf-pp.zip" target="_blank" rel="noopener">Autodesk Inventor HSM PP</a></div>



<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://web.boenigk-electronics.com/download/pp/mastercam-cncgraf-pp.zip" target="_blank" rel="noopener">Mastercam PP</a></div>
</div>
</div>



<p class="wp-block-paragraph">We hope that this blog article has given you an insight into the world of G-code and the importance of post-processors.</p>



<p class="wp-block-paragraph">Yours sincerely, Your BOENIGK-electronics Team.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>