<?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>macro | ふうBLOG</title>
	<atom:link href="https://www.fuublog.net/tag/macro/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fuublog.net</link>
	<description>登山やカメラ、ガジェット周りのブログです。</description>
	<lastBuildDate>Thu, 12 Feb 2026 04:58:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>KlipperでSHAPER_CALIBRATEからの画像生成を一括で処理するためのマクロ</title>
		<link>https://www.fuublog.net/2025/08/24/shaper_calibrate/</link>
					<comments>https://www.fuublog.net/2025/08/24/shaper_calibrate/#respond</comments>
		
		<dc:creator><![CDATA[ふう]]></dc:creator>
		<pubDate>Sun, 24 Aug 2025 11:33:52 +0000</pubDate>
				<category><![CDATA[3Dプリンター]]></category>
		<category><![CDATA[macro]]></category>
		<guid isPermaLink="false">https://www.fuublog.net/?p=2903</guid>

					<description><![CDATA[ふうです。ひさびさのブログではKlipperを使った自作系3DプリンターでSHAEPR_CALIBRATEからグラフの表示までを一括生成するマクロをGrokに作ってもらったので覚書がてら紹介しておきます。 SHAEPR_ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ふうです。ひさびさのブログではKlipperを使った自作系3DプリンターでSHAEPR_CALIBRATEからグラフの表示までを一括生成するマクロをGrokに作ってもらったので覚書がてら紹介しておきます。</p>



<p>SHAEPR_CALIBRATEはADXL345を利用してヘッドなどの共振する周波数を調べてそれを打ち消すためのものです。ゴーストやリンギングなどと呼ばれる外周に現れる模様を補正してくれます。<br>くわしくはtakeotaさんのブログ「<a rel="noopener" target="_blank" href="https://monohoshi.blog/adxl345/">Klipper の調整 ADXL345を利用してInput Shaperの調整をしよう<span class="fa fa-external-link external-icon anchor-icon"></span></a>」などを参照してください。</p>



<p>上記のブログを見るとわかるように通常はSHAPER_CALIBRATE実行後SSHでログインしたのちCSVからグラフを作成してコマンドでダウンロードしないといけないので結構面倒なんですよね。<br>ちなみにこれを一括でやってくれるKlipper Shake&amp;Tuneといったプラグインもあるのですが、なぜかCONSOLEからSHAPER_CALIBRATEを実行した時と数値が大きく違ったりしていたり、klipperのアップデートで使えなくなったりで使用を止めました。</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">KIAUHでG-Code Shell Commandのインストール</a></li><li><a href="#toc2" tabindex="0">マクロ CALIBRATE_SHAPER</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">KIAUHでG-Code Shell Commandのインストール</span></h2>



<p>Klipper上からShellコマンドを実行するのには<span class="marker-under">「G-Code Shell Command」のインストールが必要です。</span></p>



<p>KIAUHを入れてない方はSSHでKlipperに接続しKIAUHをインストールします。</p>



<pre class="wp-block-code"><code>cd ~
git clone https://github.com/th33xitus/kiauh.git</code></pre>



<p><span class="marker-under"><br></span>無事インストールできたらKIAUH を呼び出します。</p>



<pre class="wp-block-code"><code>./kiauh/kiauh.sh</code></pre>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="936" src="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_1-1024x936.jpg" alt="" class="wp-image-2977" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_1-1024x936.jpg 1024w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_1-300x274.jpg 300w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_1-768x702.jpg 768w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_1.jpg 1046w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>すると上記のような画面が表示されるので【E) [Exetensions]】へ行き</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="714" src="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_2-1024x714.jpg" alt="" class="wp-image-2978" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_2-1024x714.jpg 1024w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_2-300x209.jpg 300w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_2-768x535.jpg 768w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_2.jpg 1036w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="386" src="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_3-1024x386.jpg" alt="" class="wp-image-2979" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_3-1024x386.jpg 1024w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_3-300x113.jpg 300w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_3-768x289.jpg 768w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_3.jpg 1046w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="178" src="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_4-1024x178.png" alt="" class="wp-image-2980" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_4-1024x178.png 1024w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_4-300x52.png 300w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_4-768x133.png 768w, https://www.fuublog.net/wp-content/uploads/2025/08/KIAUH_4.png 1084w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>【1)  G-Code Shell Command】をインストールします。<br>パスワードの入力まで進めば大丈夫です。<br></p>



<h2 class="wp-block-heading"><span id="toc2">マクロ CALIBRATE_SHAPER</span></h2>



<p>今回の主題はこちらです。<br>下記のマクロをmacro.cfgなどにコピペして使ってください。</p>



<pre class="wp-block-code"><code>&#91;gcode_macro CALIBRATE_SHAPER]
description: Run SHAPER_CALIBRATE, save results to config directory, and clean up temporary CSV files
gcode:
    {% if printer.toolhead.homed_axes != "xyz" %} ;ホーミング済みかどうかを確認
      G28 #まだの場合はホーミング実行
    {% endif %}
    # SHAPER_CALIBRATEコマンドを実行
    SHAPER_CALIBRATE
    # 少し待機してデータファイルの書き込みを確実にする
    G4 P1000  ; 1秒待機
    # X軸とY軸のキャリブレーションデータを処理
    RUN_SHELL_COMMAND CMD=calibrate_shaper_x
    RUN_SHELL_COMMAND CMD=calibrate_shaper_y
    # 一時ファイルを削除
    RUN_SHELL_COMMAND CMD=clean_tmp_files
    # 終了時にSAVE_CONFIGを促すメッセージ表示
    { action_respond_info("The SAVE_CONFIG command will update the printer config file with these parameters and restart the printer.")}

&#91;gcode_shell_command calibrate_shaper_x]
command: bash -c "python3 ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_x_*.csv -o ~/printer_data/config/shaper_calibrate_x.png"
timeout: 30.
verbose: True

&#91;gcode_shell_command calibrate_shaper_y]
command: bash -c "python3 ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_y_*.csv -o ~/printer_data/config/shaper_calibrate_y.png"
timeout: 30.
verbose: True

&#91;gcode_shell_command clean_tmp_files]
command: bash -c "rm -f /tmp/calibration_data_*.csv"
timeout: 10.
verbose: True
</code></pre>



<p>1. ホーミング済みかどうかを確認<br>　確認してまだならG28を実行<br>2. SHAPER_CALIBRATEコマンドを実行<br>　ADXL345でSHAPER_CALIBRATEコマンドを実行少し時間がかかる<br>3. 少し待機してデータファイルの書き込みを確実にする<br>　P1000 で1秒待機 P2000にすると2秒待機<br>4. X軸とY軸のキャリブレーションデータを処理<br>　SHAPER_CALIBRATEで作成したCSVを処理してpngを作成するシェルコマンド実行<br>5.一時ファイルを削除<br>　画像処理した後のCSVファイルを削除します、残しておきたい場合はコメントアウトするなりしてください。<br>6..終了時にSAVE_CONFIGを促すメッセージ表示<br>　本来SHAPER_CALIBRATE実行後に表示されているメッセージは流れてしまっているので再度こちらで表示します。一括でSAVE_CONFIGまで終わらせたい場合は { action_respond_info(&#8220;&#8230;&#8221;)}でメッセージを表示させるのではなく、その行をSAVE_CONFIGに書き換えてください。<br>gcode_shell_command から始まるマクロは上記の処理で使用するシェルコマンドです。</p>



<p>出来上がったマクロはボタンとして表示されていると思いますのでクリックすると一連の動作が実行され最終的にconfig内にpngファイルが二つ作成されます。<br>ちなみにマクロの名前をSHAPER_CALIBRATEにして元のものを置き換えるとボタンとして登録できません。</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="473" height="465" data-id="2904" src="https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h12_23.png" alt="" class="wp-image-2904" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h12_23.png 473w, https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h12_23-300x295.png 300w" sizes="(max-width: 473px) 100vw, 473px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="953" height="788" data-id="2905" src="https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h09_15.png" alt="" class="wp-image-2905" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h09_15.png 953w, https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h09_15-300x248.png 300w, https://www.fuublog.net/wp-content/uploads/2025/08/2025-08-24_19h09_15-768x635.png 768w" sizes="(max-width: 953px) 100vw, 953px" /></figure>
</figure>



<p><br><span class="marker-under">configファイル内にあっては困る場合はフォルダを作成し下記の様にシェルコマンドの保存先を調整</span>してください。<br>config内にPNGフォルダを作成した場合は「../printer_data/config/PNG/shaper_calibrate_x.png」のようにしてxとy両方分書き換えてください。</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" data-id="2906" src="https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_x.png" alt="" class="wp-image-2906" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_x.png 800w, https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_x-300x225.png 300w, https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_x-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" data-id="2907" src="https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_y.png" alt="" class="wp-image-2907" srcset="https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_y.png 800w, https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_y-300x225.png 300w, https://www.fuublog.net/wp-content/uploads/2025/08/shaper_calibrate_y-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</figure>



<p>最終的には上記の様なグラフがConfig Fileの所で取得できます、クリックすればその場で表示もできるし、ダウンロードしても良いです。<br>あとは<a rel="noopener" target="_blank" href="https://www.klipper3d.org/G-Codes.html?h=input+shape#shaper_calibrate">Klipper公式の情報<span class="fa fa-external-link external-icon anchor-icon"></span></a>も見てみると良いと思います。</p>


		<div class="pochipp-box"
			data-id="0"
			data-img="l"
			data-lyt-pc="big"
			data-lyt-mb="vrtcl"
			data-btn-style="dflt"
			data-btn-radius="off"
			data-sale-effect="flash"
			 data-cvkey="6646f3f9"		>
							<div class="pochipp-box__image">
					<a rel="nofollow noopener" target="_blank" href="https://www.amazon.co.jp/dp/B0F9L4YX7Z?tag=fuu3dp0f-22&#038;linkCode=osi&#038;th=1&#038;psc=1">
						<img loading="lazy" decoding="async" src="https://m.media-amazon.com/images/I/51tC13hWVAL._SL500_.jpg" alt="" width="120" height="120" />					</a>
				</div>
						<div class="pochipp-box__body">
				<div class="pochipp-box__title">
					<a rel="nofollow noopener" target="_blank" href="https://www.amazon.co.jp/dp/B0F9L4YX7Z?tag=fuu3dp0f-22&#038;linkCode=osi&#038;th=1&#038;psc=1">
						SUNLU PLA Plus フィラメント 1.75mm、PLA Plus 3Dプリンターフィラメントの寸法精度 ±0.02mm、強靭で高強度 PLA+、ほとんどのFDMプリンターと互換性がある、真空包装、1KG (2.2lbs)、黒色					<span class="fa fa-external-link external-icon anchor-icon"></span></a>
				</div>

									<div class="pochipp-box__info">SUNLU</div>
				
									<div class="pochipp-box__price">
						¥2,199						<span>（2025/08/24 20:07時点 | Amazon調べ）</span>
					</div>
				
							</div>
				<div class="pochipp-box__btns"
		data-maxclmn-pc="fit"
		data-maxclmn-mb="1"
	>
					<div class="pochipp-box__btnwrap -amazon">
								<a rel="nofollow noopener" target="_blank" href="https://www.amazon.co.jp/dp/B0F9L4YX7Z?tag=fuu3dp0f-22&#038;linkCode=osi&#038;th=1&#038;psc=1" class="pochipp-box__btn">
					<span>
						Amazon					</span>
									<span class="fa fa-external-link external-icon anchor-icon"></span></a>
			</div>
													</div>
								<div class="pochipp-box__logo">
					<img loading="lazy" decoding="async" src="https://www.fuublog.net/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png" alt="" width="32" height="32">
					<span>ポチップ</span>
				</div>
					</div>
	

		<div class="pochipp-box"
			data-id="0"
			data-img="l"
			data-lyt-pc="big"
			data-lyt-mb="vrtcl"
			data-btn-style="dflt"
			data-btn-radius="off"
			data-sale-effect="flash"
			 data-cvkey="24fd2b6f"		>
							<div class="pochipp-box__image">
					<a rel="nofollow noopener" target="_blank" href="https://www.amazon.co.jp/dp/B0F9WK381B?tag=fuu3dp0f-22&#038;linkCode=osi&#038;th=1&#038;psc=1">
						<img loading="lazy" decoding="async" src="https://m.media-amazon.com/images/I/413JKccFojL._SL500_.jpg" alt="" width="120" height="120" />					</a>
				</div>
						<div class="pochipp-box__body">
				<div class="pochipp-box__title">
					<a rel="nofollow noopener" target="_blank" href="https://www.amazon.co.jp/dp/B0F9WK381B?tag=fuu3dp0f-22&#038;linkCode=osi&#038;th=1&#038;psc=1">
						PRINSFIL GO ASA フィラメント｜高耐熱・UV耐性｜全天候型・屋外造形に最適な3Dプリント素材 | Filament asa ブラック 1kg					<span class="fa fa-external-link external-icon anchor-icon"></span></a>
				</div>

									<div class="pochipp-box__info">PRINSFIL</div>
				
									<div class="pochipp-box__price">
						¥2,750						<span>（2025/08/24 20:05時点 | Amazon調べ）</span>
					</div>
				
							</div>
				<div class="pochipp-box__btns"
		data-maxclmn-pc="fit"
		data-maxclmn-mb="1"
	>
					<div class="pochipp-box__btnwrap -amazon">
								<a rel="nofollow noopener" target="_blank" href="https://www.amazon.co.jp/dp/B0F9WK381B?tag=fuu3dp0f-22&#038;linkCode=osi&#038;th=1&#038;psc=1" class="pochipp-box__btn">
					<span>
						Amazon					</span>
									<span class="fa fa-external-link external-icon anchor-icon"></span></a>
			</div>
													</div>
								<div class="pochipp-box__logo">
					<img loading="lazy" decoding="async" src="https://www.fuublog.net/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png" alt="" width="32" height="32">
					<span>ポチップ</span>
				</div>
					</div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.fuublog.net/2025/08/24/shaper_calibrate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
