<?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/"
	>

<channel>
	<title>固定サイクル | じじぃの引出し</title>
	<atom:link href="https://www.kazuban.com/blog/tag/fixed-cycle/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kazuban.com/blog</link>
	<description>なにかしら、皆さんの参考になれば幸いです！</description>
	<lastBuildDate>Wed, 25 Dec 2024 02:15:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.kazuban.com/blog/wp-content/uploads/2020/05/cropped-ICON-1-32x32.png</url>
	<title>固定サイクル | じじぃの引出し</title>
	<link>https://www.kazuban.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ハイデンハインのサイクル機能</title>
		<link>https://www.kazuban.com/blog/heidenhain_cycle/</link>
					<comments>https://www.kazuban.com/blog/heidenhain_cycle/#comments</comments>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Sat, 18 Dec 2021 00:07:17 +0000</pubDate>
				<category><![CDATA[NC]]></category>
		<category><![CDATA[カスタムマクロ]]></category>
		<category><![CDATA[CAM]]></category>
		<category><![CDATA[Fanuc]]></category>
		<category><![CDATA[Fusion360]]></category>
		<category><![CDATA[Heidenhain]]></category>
		<category><![CDATA[NCプログラム]]></category>
		<category><![CDATA[ハイデンハイン]]></category>
		<category><![CDATA[ファナック]]></category>
		<category><![CDATA[マクロ]]></category>
		<category><![CDATA[固定サイクル]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=6236</guid>

					<description><![CDATA[ファナック系では、G73やG81～の固定サイクルと呼ばれている、ドリル加工用サイクルがありますがハイデンハイン制御機には、さらに高機能なサイクルが用意されています。変数で加工形状をカスタマイズできる点は、カスタムマクロに [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ファナック系では、G73やG81～の固定サイクルと呼ばれている、ドリル加工用サイクルがありますが<br>ハイデンハイン制御機には、さらに高機能なサイクルが用意されています。<br>変数で加工形状をカスタマイズできる点は、カスタムマクロに似ていす。<br>多様なカスタムマクロが、標準で用意されているイメージです。<br>さらに、ドリルサイクルだけでなく、ポケットや測定用のサイクルも用意されています。<br>ファナック機では標準にない追加機能は、<span class="markerYellow">機械メーカーが提供</span>している場合が多いですが、<br>そうなるとどうしてもメーカー仕様になるので<span class="markerPink">互換性はありません。</span><br>工作機械を選択する際、そういった機能も比較する必要がありますね。<br>ハイデンハイン機は制御機に用意されてている事で、互換性は格段に向上します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ユーザーマニュアル入手</a></li><li><a href="#toc2" tabindex="0">ドリル・タップサイクル</a><ol><li><a href="#toc3" tabindex="0">スレッドミル </a></li></ol></li><li><a href="#toc4" tabindex="0">ポケットサイクル</a></li><li><a href="#toc5" tabindex="0">補正</a></li><li><a href="#toc6" tabindex="0">タッチプローブサイクル</a></li><li><a href="#toc7" tabindex="0">プログラム例</a><ol><li><a href="#toc8" tabindex="0">サイクル定義</a></li><li><a href="#toc9" tabindex="0">加工位置</a></li><li><a href="#toc10" tabindex="0">Fusion360 で出力してみた</a></li><li><a href="#toc11" tabindex="0">M12のタップ加工をプログラム化</a></li></ol></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ユーザーマニュアル入手</span></h2>



<p><a rel="noopener" href="https://www.heidenhain.com/" target="_blank">ハイデンハインのサイト</a>では、コントローラのマニュアルがダウンロードできます。</p>



<figure class="wp-block-image size-large is-resized"><a rel="noopener" href="https://www.heidenhain.com/" target="_blank"><img fetchpriority="high" decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2021/12/image-1024x279.png" alt="" class="wp-image-6240" width="620" height="168" srcset="https://www.kazuban.com/blog/wp-content/uploads/2021/12/image-1024x279.png 1024w, https://www.kazuban.com/blog/wp-content/uploads/2021/12/image-300x82.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2021/12/image-768x209.png 768w, https://www.kazuban.com/blog/wp-content/uploads/2021/12/image.png 1197w" sizes="(max-width: 620px) 100vw, 620px" /></a></figure>



<p>ホームページから、「Service&amp;Support」⇒ 「Downloads」⇒ 「Documentation」と進み<br>下へスクロールして、右側の「Categories」で「CNC Controls」で各言語に対応したマニュアルがダウンロードできます。<br>ただ残念ながら、日本語はないみたいです。<br>私は、<a rel="noopener" href="https://product.heidenhain.de/JPBC/image/FILEBASE_PUBLIC/533_190-22.pdf" target="_blank">こちらをダウンロードしました。</a></p>



<h2 class="wp-block-heading"><span id="toc2">ドリル・タップサイクル</span></h2>



<p>ドリルやタップ用のサイクルは、ダウンロードしたマニュアルでは、<br>８．３項目、ページ３３１～　に説明があります。<br>英語ですが、単語とアイコンでだいたいわかると思います</p>



<ul class="wp-block-list"><li>240 CENTERING _______________________________Page 333</li><li>200 DRILLING _________________________________Page 335</li><li>201 REAMING _________________________________Page 337</li><li>202 BORING ___________________________________Page 339</li><li>203 UNIVERSAL DRILLING _____________________Page 341</li><li>204 BACK BORING _____________________________Page 343</li><li>205 UNIVERSAL PECKING ______________________Page 346</li><li>208 BORE MILLING _____________________________Page 349</li><li>206 TAPPING NEW _____________________________Page 351</li><li>207 RIGID TAPPING NEW ______________________Page 353</li><li>209 TAPPING W/ CHIP BRKG __________________Page 355</li><li>262 THREAD MILLING _________________________Page 359</li><li>263 THREAD MLLNG/CNTSNKG _______________Page 361</li><li>264 THREAD DRILLING/MLLNG _______________Page 365</li><li>265 HEL.THREAD DRLG/MLG __________________Page 369</li><li>267 OUTSIDE THREAD MLLNG ________________Page369</li></ul>



<p>ファナックの固定サイクルに比べるとかなり豊富なのがわかると思います。</p>



<h3 class="wp-block-heading"><span id="toc3">スレッドミル<br> </span></h3>



<p>ねじ切りサイクル。<br>国内では、OSGのプラネットカッターが有名です。<br>加工時間は増加しますが、破損時のリスク軽減や高硬度材へのネジ加工には有効だと思います。<br>特に、超硬材へのネジ加工を切削で行うには、現在ではこの方法しかないように思います！<br>では、NCプログラムはどうやって作成するでしょう。<br>国内機の場合、CAMが対応している場合にはその機能を利用したり、工具メーカーが公開している<br>支援ソフトなどを利用したり、ユーザー側でカスタムマクロを作成したりだと思いますが、ハイデンハインには、ねじ切りサイクルがすでに準備されています。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2021/12/threwadmill.png" alt="" class="wp-image-6257" width="526" height="210" srcset="https://www.kazuban.com/blog/wp-content/uploads/2021/12/threwadmill.png 592w, https://www.kazuban.com/blog/wp-content/uploads/2021/12/threwadmill-300x120.png 300w" sizes="(max-width: 526px) 100vw, 526px" /></figure>



<p>Cycle 262、Page 359 ～に説明があります。<br>サイクルの使用方法は、後ほど説明しますが、「Q」で始まる指令は変数で、Qパラメータと呼ばれています。<br>ファナックの「#」と同様です。<br>この例では、「Q355」で工具の種類、「Q239」でネジピッチ、「Q201」でネジ深さ、<br>「Q200」でＲ点位置などが、この図で分かりますね。<br>これらの変数を設定する事で、ねじ切りを行うことができます。</p>



<h2 class="wp-block-heading"><span id="toc4">ポケットサイクル</span></h2>



<p>穴加工だけではありません。<br>円や長方形、スロット形状もサイクルが用意されています。<br>ポケット用のサイクルは、ダウンロードしたマニュアルでは、<br>８．４項目、ページ３８２～　に説明があります。</p>



<ul class="wp-block-list"><li>251 RECTANGULAR POCKET ____________________Page 383</li><li>252 CIRCULAR POCKET _________________________Page 388</li><li>253 SLOT MILLING ______________________________Page 392</li><li>254 CIRCULAR SLOT ____________________________Page 397</li><li>212 POCKET FINISHING ________________________Page 402</li><li>213 STUD FINISHING __________________________Page 404</li><li>214 C. POCKET FINISHING _____________________Page 406</li><li>215 CIRCULAR STUD FINISHING _______________Page 406</li><li>210 SLOT RECIP. PLNG _________________________Page 410</li><li>211 CIRCULAR SLOT ____________________________Page 413</li></ul>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2021/12/PocketCycle.png" alt="" class="wp-image-6275" width="400" height="209" srcset="https://www.kazuban.com/blog/wp-content/uploads/2021/12/PocketCycle.png 1024w, https://www.kazuban.com/blog/wp-content/uploads/2021/12/PocketCycle-300x157.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2021/12/PocketCycle-768x403.png 768w" sizes="(max-width: 400px) 100vw, 400px" /></figure>



<p>かなり豊富なサイクルが用意されています。<br>何種類かのサイクルを組み合わせる事で、ある程度の加工はCAMがなくてもできそうです。</p>



<h2 class="wp-block-heading"><span id="toc5">補正</span></h2>



<p>サイクルからは少し外れますが、ハイデンハインは工具を<a rel="noopener" href="https://www.kazuban.com/bbs/heidenhain/heidenhain.cgi?mode=main&amp;no=11" target="_blank">「Tool Table」というテキストファイルで管理しています。</a><br>そのため、任意の<span class="markerPink">工具を交換しただけ</span>で、コントローラは工具情報を「Tool Table」から取得します。<br>内容で必須なのは、「工具長さ」「工具径」ですが、この値は手動で入力してもいいですが<br>工具自動測定仕様であれば、自動的に入力されます。<br>したがって、<span class="markerPink">工具交換しただけで、工具長補正は完成</span>し、工具径補正が必要なNCデータを実行する場合「Tool Table」の値を元に、工具径補正が行われます。<br>これは、上記で説明した、「スレッドミル」や「ポケット」サイクルにも対応されます。<br>D番号を忘れた！などのトラブルはかなり少なくなります。<br>ちょっと面白い仕様に、切込み角度の項目があります。<br>これは、指定工具が切込み可能な場合、切込み角度を設定する項目です。<br>傾斜切込みを行うサイクルを使用する場合、このデータが参照されます。<br>このように、ハイデンハインでは使用工具はどのような工具なのかを登録しておき<br>工具交換する事で、その内容が自動的に反映される仕組みです。<br><span class="markerPink">工具交換しただけでと言うところが、重要なポイント</span>で交換すれば、<br>工具長補正は完了状態なので、ワークの任意のZ点に<strong>手パ</strong>（ハンドル）で簡単に移動できます。<br>これは、タッチプローブでも同じです。</p>



<h2 class="wp-block-heading"><span id="toc6">タッチプローブサイクル</span></h2>



<p>プローブ測定用のサイクルも用意されています。<br>ただし、上記で紹介したマニュアルには、載っていませんでした。<br><a rel="noopener" href="https://product.heidenhain.de/JPBC/image/FILEBASE_PUBLIC/670_388-20.pdf" target="_blank">こちらのマニュアルにありました。</a><br>タッチプローブ機能はオプションだからかもしれません。<br>ただ、特にEUではタッチプローブは必須の考えが強いように思います。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2021/12/Probe-e1638693336693.png" alt="" class="wp-image-6279" width="317" height="296"/></figure>



<p>これは、ワーク測定用のサイクルですが、こちらもかなり充実していますね。<br>最近ファナック機はご無沙汰なので最近の状況は分かりませんが、<br>私が今までで立ち上げた、タッチプローブ仕様のファナック機では、<br>自動ワーク座標系設定やワーク測定は、機械メーカーのサービスマンが提供してくれた<br>マクロプログラムを使用する方法で教わりました。<br>ただどのメーカーも、単純にタッチした底面のワーク原点からの深さを表示するマクロがありませんでした。<br>例えば、ポケットの掘り込み加工後には、底面にタッチして、その深さを測定したくなります。<br>提供していただいたマクロの中には、２点を測定してその段差を出すマクロはありましたが、<br>やはり加工中では単純にタッチしただけで深さが知りたいですね。<br>これは、<span class="markerYellow">タッチプローブには、工具長の概念があまりない</span>のも要因のように思います。<br>しょうがないので、カスタムマクロで自作しましたが、ハイデンハインには上記のような<br>豊富なサイクルが用意されています。<br>サイクルを使うと、加工後自動測定するプログラムも比較的簡単に作成可能ですし<br>制御機提供のサイクルなので、おそらく、違うメーカーの機械や<br>違うメーカーの測定器であっても、同じプログラムで測定できると思います。</p>



<h2 class="wp-block-heading"><span id="toc7">プログラム例</span></h2>



<h3 class="wp-block-heading"><span id="toc8">サイクル定義</span></h3>



<p>サイクルを利用するには、まず「CYCLE DEF サイクル番号」でサイクルの種類を指定し、<br>Qパラメータで条件を設定します。<br>「;」の右側はコメントになります。<br>また行末の「~」は次の行と連続している意味です。<br>先頭の「18」は行番号ですが、すべてが「18行」の一行です。<br>見やすくするための仕様ではないかと思っています。<br>マニュアルではコメントが英語ですがだいたい理解できると思います。</p>



<pre class="wp-block-preformatted has-medium-font-size"><strong>18 CYCL DEF 200 DRILLING ~
   Q200=+5 ;SET-UP CLEARANCE ~
   Q201=-19 ;DEPTH ~
   Q206=400 ;FEED RATE FOR PLUNGING ~
   Q202=+19 ;PLUNGING DEPTH ~
   Q210=0 ;DWELL AT TOP ~
   Q203=+0 ;SURFACE COORDINATE ~
   Q204=+50 ;2ND SET-UP CLEARANCE ~
   Q211=0 ;DWELL AT BOTTOM</strong></pre>



<p>この例は、ドリルサイクルですが、ファナックの「G82」と「G83」が合体したようなサイクルです。</p>



<h3 class="wp-block-heading"><span id="toc9">加工位置</span></h3>



<p>サイクルへは、「CYCL CALL POS」「M99」「 CYCL CALL PAT」の３種類の方法で加工位置を指定します<br>サイクルは、最後に定義されたものが、「CYCL CALL」により呼び出されます。<br>「CYCL CALL POS」で加工位置を定義します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>12 <strong>CYCL CALL POS X+30 Y+20 Z+0</strong> FMAX M3<br>13 <strong>CYCL CALL POS X+80 Y+50 Z+0</strong> FMAX</p></blockquote>



<p>「M99」指令により、移動指令で移動した位置でサイクルを実行する事もできます</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>12 L X+30 Y+20 FMAX M3<br>13 CYCL CALL<br>14 L X+80 Y+50 FMAX<strong> M99</strong><br>15 L Z+100 FMAX M2</p></blockquote>



<p>「FMAX」は「早送り」の意味です。<br> 「 CYCL CALL PAT」 は事前に、加工位置を書きだしたファイルを用意し、<br>そのファイルを指定する方法です。<br>センターとドリルのような、同じ位置に複数のサイクルを使用する場合に便利です。</p>



<pre class="wp-block-preformatted has-medium-font-size"><strong>6 TOOL CALL 1 Z S5000 
7 L Z+10 RO F5000 
8 SEL PATTERN “TAB1” 
9 CYCL DEF 200 DRILLING ~
  Q200=2 ;SET-UP CLEARANCE ~
  Q201=-2 ;DEPTH ~
  Q206=150 ;FEED RATE FOR PLNGNG ~
  Q202=2 ;PLUNGING DEPTH ~
  Q210=0 ;DWELL TIME AT TOP ~
  Q203=+0 ;SURFACE COORDINATE  ~
  Q204=10 ;2ND SET-UP CLEARANCE  ~
  Q211=0.2 ;DWELL TIME AT DEPTH ~
10 CYCL CALL PAT F5000 M3 ;　<em>Cycle call in connection with point table TAB1.PNT</em>
11 L Z+100 R0 FMAX M6
12 TOOL CALL 2 Z S5000</strong></pre>



<p>加工位置ファイル「Point Table」は、「SEL PATTERN」で指定します。<br>呼び出し元と同じディレクトリにない場合には、フルパスで指定できます</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><br>SEL PATTERN “TNC:\DIRKT5\NUST35.PNT&#8221;</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">Fusion360 で出力してみた</span></h3>



<p> Fusion360、ポストライブラリには、「Heidenhain」用ポストも用意されています。<br>プレート素材に、適当な穴を開けたモデルを用意し、CAM処理させてみました。</p>



<pre class="wp-block-preformatted has-medium-font-size"><strong>0 BEGIN PGM 1001 MM
1 BLK FORM 0.1 Z X-150 Y-100 Z-50
2 BLK FORM 0.2 X+150 Y+100 Z+0
3 ;-------------------------------------
4 ;Tools
5 ; #92 D=20 - ZMIN=-51 - ZMAX=+50 - drill
6 ;-------------------------------------
7 ;
8 M5
9 TOOL CALL 92 Z S1590
10 L M140 MB MAX
11 M3
12 L X-110 Y-70 R0 FMAX
13 L Z+50 R0 FMAX
14 M7
15 CYCL DEF 32.0 TOLERANCE
16 CYCL DEF 32.1
17 CYCL DEF 200 DRILLING ~
   Q200=+5 ;SET-UP CLEARANCE ~
   Q201=-51 ;DEPTH ~
   Q206=160 ;FEED RATE FOR PLUNGING ~
   Q202=+20 ;INFEED DEPTH ~
   Q210=0 ;DWELL AT TOP ~
   Q203=+0 ;SURFACE COORDINATE ~
   Q204=+50 ;2ND SET-UP CLEARANCE ~
   Q211=0 ;DWELL AT BOTTOM
18 L FMAX M99
19 L Y+70 FMAX M99
20 L X+110 FMAX M99
21 L Y-70 FMAX M99
22 L Z+50 FMAX
23 M9
24 M5
25 L M140 MB MAX
26 M30
27 END PGM 1001 MM</strong></pre>



<p>すごいですね～<br>私がハイデンハイン制御の５軸を立ち上げてた時には、穴あけデータは、<br>サイクルで出力できないCAMもあったと記憶しています。<br>深穴サイクルなど、直線補間「G01」でサイクル動作を置き換えたデータでした。<br>Fusion360のポストは、ハイデンハインサイクルの勉強にも使えそうです。</p>



<h3 class="wp-block-heading"><span id="toc11">M12のタップ加工をプログラム化</span></h3>



<p>M12のタップ加工行うＮＣプログラムをサイクルを組み合わせて作ってみました。<br>加工位置用のファイル「P1.pnt」を編集する事で、任意箇所へタップ加工ができます。<br> 「P1.pnt」 は、制御機から作成できます。<br>マニュアルの「Point Tables」を参照してください。<br>たぶん、エディタなどでテキストを作成しても、使用できると思いますが<br>最初は書式がわからないと思うので、まずは制御機で作成すればテキスト化されるので<br>そのテキストファイルを修正する方法が簡単だと思います。<br>ただし、実機に触れる環境ではないので、<span class="markerPink">検証できておりません。<br>万が一、<strong>使用する場合には、十分確認してください。</strong></span></p>



<p class="has-black-color has-light-green-cyan-background-color has-text-color has-background"><strong>もし、実証できる方がいらっしゃれば、不具合点などコメントいただければ、助かります！</strong></p>



<p>P1.PNT
</p>



<pre class="wp-block-preformatted has-normal-font-size has-medium-font-size"><strong>BEGIN P1 .pnt MM
NR    X       Y       Z 
0     +31.5   -14     +0 
1     -15     -40     +0 
2     -31.5   +14     +0 
3     +15     +40     +0 
[END]</strong></pre>



<p>M12_SKD11.h</p>



<pre class="wp-block-preformatted has-medium-font-size"><strong>0  BEGIN PGM M12_SKD11 MM 
1  BLK FORM 0.1 Z  X+0  Y+0  Z-80
2  BLK FORM 0.2  X+150  Y+25  Z+0
3  * --------------------------------
4  CYCL DEF 247 DATUM SETTING ~
    Q339=+1    ;DATUM NUMBER
5  L  A+0  C+0 F3000 M21
6  ;;;;;;;;;;;;;;;;;;;;;;
7  ;;;; CENTER ;;;;;;;;;;
8  ;;;;;;;;;;;;;;;;;;;;;;
9  Q1 = 45 ;Tool
10 Q2 = 640 ;SP
11 Q3 = 80 ;F_Feed
12 Q4 = -0.6 ;Z_Depth
13 ;;;;;;;;;;;;;;;;;;;;;;
14 ;;;; DRILL D=10.2 ;;;
15 ;;;;;;;;;;;;;;;;;;;;;;
16 Q5 = 101 ;Tool
17 Q6 = 620 ;SP
18 Q7 = 120 ;F_Feed
19 Q8 = -25 ;Z_Depth
20 Q9 = 10 ;Q_Peck
21 ;;;;;;;;;;;;;;;;;;;;;;
22 ;;;; CHAMFER ;;;;;;;;;
23 ;;;;;;;;;;;;;;;;;;;;;;
24 Q30 = 46 ;Tool
25 Q31 = 2200 ;SP
26 Q32 = 240 ;F_Feed
27 Q33 = 0.5 ;Chanfer_Length
28 Q34 = 1.5 ;Distance
29 Q35 = Q33 + Q34 ;Depth
30 Q36 = 8 ;Coolant
31 Q37 = 12 ;Hole DIA
32 ;;;;;;;;;;;;;;;;;;;;;;
33 ;;;; TAPP M12 ;;;;;;;
34 ;;;;;;;;;;;;;;;;;;;;;;
35 Q10 = 104 ;Tool
36 Q11 = 120 ;SP
37 Q12 = -10 ;Z_Depth
38 Q13 = 1.75 ;Pitch
39 Q14 = 8 ;Coolant
40 ;;;;;;;;;;;;;;;;;;;;;;
41 * --------------------------------
42 ;;;; CENTER LBL 1 ;;;;;;;;;;;;;;
43 ;;;; DRILL LBL 2 ;;;;;;;;;;;;;;
44 ;;;; C LBL 3 ;;;;;;;;;;;;;;
45 ;;;; TAPP LBL 4 ;;;;;;;;;;;;;;
46 * --------------------------------
47 FN 9: IF +1 EQU +1 GOTO LBL 1
48 * --------------------------------
49 ;;;; SET POSITION ;;;;;;;;;;;;;;;
50 LBL 11
51 SEL PATTERN "P1.pnt"
52 CYCL CALL PAT F5000
53 M5 M9
54 L M140 MB MAX
55 LBL 0
56 * --- CENTER -----------------------
57 LBL 1
58 * - CENTER
59 TOOL CALL Q1 Z SQ2
60 M9
61 CYCL DEF 200 DRILLING ~
    Q200=+5    ;SET-UP CLEARANCE ~
    Q201=+Q4   ;DEPTH ~
    Q206=+Q3   ;FEED RATE FOR PLNGNG ~
    Q202=+Q4   ;PLUNGING DEPTH ~
    Q210=+0    ;DWELL TIME AT TOP ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q211=+0    ;DWELL TIME AT DEPTH
62 L M140 MB MAX
63 L  X+0  Y+0 F8000 M3
64 L  Z+50 F8000
65 M0
66 M13
67 CALL LBL 11
68 LBL 0
69 * ---DRILL ----------------------
70 LBL 2
71 TOOL CALL Q5 Z SQ6
72 M9
73 CYCL DEF 200 DRILLING ~
    Q200=+5    ;SET-UP CLEARANCE ~
    Q201=+Q8   ;DEPTH ~
    Q206=+Q7   ;FEED RATE FOR PLNGNG ~
    Q202=+Q9   ;PLUNGING DEPTH ~
    Q210=+0    ;DWELL TIME AT TOP ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q211=+0    ;DWELL TIME AT DEPTH
74 L M140 MB MAX
75 L  X+0  Y+0 F8000 M3
76 L  Z+50 F8000
77 M0
78 M13
79 CALL LBL 11
80 LBL 0
81 * --- CHAMFER -------------------
82 LBL 3
83 TOOL CALL Q30 Z SQ31 DR+Q34
84 M9
85 L M140 MB MAX
86 L  X+0  Y+0 F8000
87 L  Z+50 F5000
88 CYCL DEF 208 BORE MILLING ~
    Q200=+2    ;SET-UP CLEARANCE ~
    Q201=-Q35  ;DEPTH ~
    Q206=+Q32  ;FEED RATE FOR PLNGNG ~
    Q334=+2    ;PLUNGING DEPTH ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q335=+Q37  ;NOMINAL DIAMETER ~
    Q342=+Q37  ;ROUGHING DIAMETER
89 M0
90 M3 MQ36
91 CALL LBL 11
92 LBL 0
93 * --- TAPP ----------------------
94 LBL 4
95 TOOL CALL Q10 Z SQ11
96 M9
97 Q15 = Q13 * 1
98 CYCL DEF 209 TAPPING W/ CHIP BRKG ~
    Q200=+5    ;SET-UP CLEARANCE ~
    Q201=+Q12  ;DEPTH OF THREAD ~
    Q239=+Q13  ;THREAD PITCH ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q257=+Q15  ;DEPTH FOR CHIP BRKNG ~
    Q256=+Q13  ;DIST FOR CHIP BRKNG ~
    Q336=+0    ;ANGLE OF SPINDLE
99 L M140 MB MAX
100 L  X+0  Y+0 F8000 M3
101 L  Z+50 F5000
102 M0
103 MQ14
104 CALL LBL 11
105 LBL 0
106 * --------------------------------
107 L M140 MB MAX
108 M2
109 END PGM M12_SKD11 MM 
</strong></pre>



<p>こんなデータをタップ径や材質ごとに用意しておくと、座標を編集するだけで<br>多種類のタップ加工簡単にができます。<br>ファナックでも、マクロを作成すれば同様のデータは作成できますが<br>制御機のサイクルだけで作成できるところが、ユーザーにとってはありがたい所だと思います</p>



<h2 class="wp-block-heading"><span id="toc12">まとめ</span></h2>



<p>一度、ハイデンハイン機を触ると、ファナック機には戻れないと言う意見をよく聞きます。<br>工具管理方法の違いもそうですが、このようなサイクルを<span class="markerPink">制御機側が提供している点</span>は<br>重要なポイントだと思います。<br>これは、高精度輪郭精度なども同じかもしれません。<br>機械メーカーの味付けで、同じNCデータを流しても、終了時間はかなりかわりますね。<br>機械メーカーにとっては、自由度があり、差別化ができていいのかもしれませんが<br>いろんなメーカーの機械を選択したい、ユーザー側としては、データの互換性は気になります。<br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kazuban.com/blog/heidenhain_cycle/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>DXFから、穴情報を取出す</title>
		<link>https://www.kazuban.com/blog/get-circle/</link>
					<comments>https://www.kazuban.com/blog/get-circle/#comments</comments>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Sun, 03 May 2020 07:30:23 +0000</pubDate>
				<category><![CDATA[NC]]></category>
		<category><![CDATA[DXF]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Fanuc]]></category>
		<category><![CDATA[エクセル]]></category>
		<category><![CDATA[サブプログラム]]></category>
		<category><![CDATA[ファナック]]></category>
		<category><![CDATA[メインプログラム]]></category>
		<category><![CDATA[固定サイクル]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=2442</guid>

					<description><![CDATA[外出自粛のなか、DXFデータの円要素を読み込み、穴情報を取り出すソフトを作成してみました。CADなどで描いた「円要素」を穴と捉え、位置や直径などを取り出します。取り出した情報ファイルはテキストやエクセルの他に、簡易的なＮ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>外出自粛のなか、DXFデータの円要素を読み込み、穴情報を取り出すソフトを作成してみました。<br>CADなどで描いた「円要素」を穴と捉え、位置や直径などを取り出します。<br>取り出した情報ファイルはテキストやエクセルの他に、簡易的なＮＣデータも自動作成する仕様としました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DXFファイル</a><ol><li><a href="#toc2" tabindex="0">DXFファイルを覗いてみる</a></li><li><a href="#toc3" tabindex="0">円情報はどこにある？</a></li></ol></li><li><a href="#toc4" tabindex="0">穴情報取り出しソフトGetCircleFromDxf.exe</a><ol><li><a href="#toc5" tabindex="0">C++Builder</a></li><li><a href="#toc6" tabindex="0">こんなソフト</a></li><li><a href="#toc7" tabindex="0">ダウンロード</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DXFファイル</span></h2>



<p>「DXF」は「Autodesk社」が開発した、CAD間でやり取りできる、データ構造の一種ですが、事実上の標準フォーマットになっていてほとんどのCADで読み書きできます。<br>DXFには、テキストとバイナリ形式が存在するようですが、ここで紹介するのは、テキスト形式に限定させていただきます。</p>



<h3 class="wp-block-heading"><span id="toc2">DXFファイルを覗いてみる</span></h3>



<p>テキスト形式のDXFファイルであれば、メモ帳やエディタなどで開く事ができます。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/DxfOpen.png" alt=""/></figure>



<p>DXFファイルは、ほとんどのCADであれば、作成する事ができると思いますし、このサイトでも取り上げてる、「Fusion360」でも作成可能です。<br>スケッチモードで適当な図形（今回は穴がテーマなので円など）を描いて、<br>「スケッチ１」⇒ マウス右クリックから「DXF形式で保存」で作成できます。</p>



<figure class="wp-block-image size-large"><a href="https://www.kazuban.com/blog/wp-content/uploads/2020/05/DXF_Create.png" target="_blank"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/DXF_Create.png" alt=""/></a></figure>



<p>Fusion360で作成された「DXFファイル」をエディタなどで開いてみます。<br>意味は置いといて、数字と単語が羅列されています。<br>このDXFフォーマットの詳しい内容は理解していませんが、<span class="markerPink">２行が一組</span>で意味があるようです。<br>ここでは詳細の説明はできませんので、ご了承ください。<br>興味ありましたら、<a href="https://help.autodesk.com/view/ACD/2019/JPN/?guid=GUID-235B22E0-A567-4CF6-92D3-38A2306D73F3">Autodeskのサイトなど</a>から検索してみてください。</p>



<h3 class="wp-block-heading"><span id="toc3">円情報はどこにある？</span></h3>



<p>ここでのテーマは、<span class="markerYellow">DXFから穴情報を取り出す</span>事です。<br>通常、加工図面では、穴は円で描かれていると思うので、まずは円情報を探してみます。<br>DXF形式の、「円」のキーワードは「<strong>CIRCLE</strong>」になります。<br>ちなにみ、「<strong>CIRCLE</strong>」は閉じている図形です。<span class="markerPink">閉じていない場合には「ARC」</span>となりますので注意してください。<br>では、「閉じた円」が含まれるDXFファイルを作成し、「<strong>CIRCLE</strong>」文字列を検索してみます。<br> <span class="markerYellow">位置や円径などは単純でないほうが分析しやすい</span>です <br><br></p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/DXF_Read.png" alt=""/></figure>



<p>「<strong>CIRCLE」</strong>と「<strong>AcDbCircle</strong>」が見つかりました。<br>私自身、DXF形式を理解しているわけではないので、正確な説明はできませんが、「円」の情報はこの２つのキーワードから取り出すことができそうです。<br>この例で分析してみると、「0」「CIRCLE」「5」「100」と続き、その後<br>「8」「0」「100」「AcDbCircle」「10」「-44.847&#8230;」「20」「34.949&#8230;」が見つかります。<br>この値を<span class="markerPink">元図面と比較するとルールが見えて</span>きます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>「10」の次が円中心のＸ座標。<br>「20」の次が円中心のＹ座標。<br>「30」の次が円中心のＺ座標。<br>「40」の次が円の半径。</p></blockquote>



<p>これが分かれば、「DXFファイル」から「<strong>AcDbCircle</strong>」を検索し、その次の行から「10」「20」・・のキーワードで、穴の中心と径の情報を取り出す事ができますね。<br>ただ「<strong>AcDbCircle</strong>」は<strong>サブクラス</strong>としての定義みたいなので、単純な「<strong>CIRCLE</strong>」セクションに直接図形情報がある場合もあるようです。<br>ソフトを開発する場合、より汎用性を求めるなら、そちらにも対応しておいたほうがいいかもしれません。</p>



<h2 class="wp-block-heading"><span id="toc4">穴情報取り出しソフト<br>GetCircleFromDxf.exe</span></h2>



<p>DXFの円定義方法がわかったので、このルールを基に穴の位置と径の情報として取り出すソフトを作成しました。</p>



<h3 class="wp-block-heading"><span id="toc5">C++Builder</span></h3>



<p>開発環境は、C++Builder Community Editiond です。<br>個人使用の場合には、１年間無料で使用できます。<br>ライセンス更新もできますからソフト開発の勉強にはもってこいです<br></p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/cbuilder-license-update/" title="C++Builder Community Edition　のライセンス更新" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="35" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3_1.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3_1.png 630w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3_1-300x65.png 300w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">C++Builder Community Edition　のライセンス更新</div><div class="blogcard-snippet internal-blogcard-snippet">会社では開発環境として、「C++Builder EX6」を使用しています私はソフトウェア開発が商売ではなく、加工が楽になるような、NCデータやNC機械や測定器などのユーティリティソフトを作成していますC++の統合開発環境としては、やはりMSのVisual C++ がメジャーだと思いますが私は、二昔以...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2019.07.29</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc6">こんなソフト</span></h3>



<p>まずは、起動した、ウィンドウに「DXFファイル」を<span class="markerPink">ドロップ</span>します</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/Soft01.png" alt=""/></figure>



<p>ドロップすると、ファイル名や作成するデータの選択画面になります。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/Soft02.png" alt=""/></figure>



<p>デフォルトでは、「Text」と「Excel」がチェックされています<br>必要ない場合には、チェックを外します。<br>「円座標取出し」ボタンで、ドロップした「DXFファイル」と同じフォルダに、穴の<strong>中心位置と穴径</strong>の情報ファイルが出力されます。<br>簡易的なテンプレートデータですが、「NcData」をチェックすると、<strong>ファナック系</strong>のＮＣデータを作成します。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/Soft03.png" alt=""/></figure>



<p>ＮＣデータは、<span class="markerYellow"> ファナックをターゲット</span>にしています<br>メインプロで工具交換や回転など行い、サブプロには、穴径で分別した穴位置を指令するような構成です</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/Folder.png" alt=""/></figure>



<p>ＮＣプログラムの構成やメイン・サブプログラムについては下記で詳しく説明しています。<br>興味あれはご覧ください。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/main-sub-pro/" title="NCプログラム／プログラム構成" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="122" height="90" src="https://www.kazuban.com/blog/wp-content/uploads/2021/01/Milling2.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2021/01/Milling2.png 1022w, https://www.kazuban.com/blog/wp-content/uploads/2021/01/Milling2-300x221.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2021/01/Milling2-768x567.png 768w" sizes="(max-width: 122px) 100vw, 122px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">NCプログラム／プログラム構成</div><div class="blogcard-snippet internal-blogcard-snippet">NCプログラムの構成は、大きく分けると２種類にわける事ができます。一つは加工に必要な準備機能で、もう一つは、実際の加工経路の動作指令です。さらに、マシニングセンターを対象にすると、準備機能は４つに分ける事ができます。CAMのポストプロセッサを編集する場合やプログラム全体の構成を検討する際、この基本構...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.01.28</div></div></div></div></a>
</div></figure>



<p><span class="markerPink">「DXF」では「<strong>穴の属性</strong>」までは認識できない</span>ので、メインプロは、単純な固定サイクルコードを出力するのみです。<br>固定サイクルの種別、加工深さ、加工条件などは、<span class="markerPink">編集が必要</span>です。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2020/05/NcData.png" alt=""/></figure>



<p>実際の条件などの出力は「DXF」の情報だけでは、取得できないので「DXF」だけで求めるＮＣデータを作成する事はできませんが<br>ＮＣコードの出力順序など若干のカスタマイズはできるようにしました。<br>実行ファイルと同梱されている、「TempFile」の中の４つのテキストファイルでカスタマイズできます。</p>



<pre class="wp-block-preformatted">・「Header.txt」
　メインプロ全体の、始まりのコードです。Ｏ番号や初期化コードを指令。

・「Footer.txt」
　メインプロ全体の、終了のコード。キャンセルや「M30」。

・「ToolBegin.txt」
　工具交換など、各工程の始まりのコード。
  工具交換、回転、工具長補正、固定サイクルなど。

・「ToolEnd.txt」
　各工程の終了コード、回転・冷却のキャンセルなど。</pre>



<h3 class="wp-block-heading"><span id="toc7">ダウンロード</span></h3>



<p><a href="https://www.kazuban.com/blog/free_soft/#Soft03">こちらから、ダウンロードできます。</a><br>単純な穴あけ加工や、穴位置の最終確認などには、使えるかもしれません。<br>「Vector」にも登録しました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><a rel="noopener" href="https://www.vector.co.jp/soft/winnt/business/se521263.html" target="_blank"><strong>「Vector」はこちらから、ダウンロードできます。</strong></a></p></blockquote>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kazuban.com/blog/get-circle/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
