カテゴリー: プログラミング

SainSmart CNC(GRBL)用G-codeの作成メモ2

前回に続き、SainSmart Genmitsu CNC Router 3018-PROをG-codeで動かすためのメモです。

各種CAMソフトでNCデータ(G-code)を作成し、自在にCNCを動かすことを目標としており、前回はテストコードの中身をお勉強しました。今回は、Carbide Create、DeskProto、fusion360それぞれで作成したNCデータの中身を見ていきます。(動作確認は次回です)。

 

(さらに…)

SainSmart CNC(GRBL)用G-codeの作成メモ

先日購入したSainSmart Genmitsu CNC Router 3018-PROをG-codeで動かすためのメモです。

このCNCは、Arduino上で動作するオープンソースのCNC制御のためのファームウェアGRBLで動いているCNCのため、他のGRBL製のCNCでも同様の事が言えるはず。

CAMソフトとしては、Carbide Create、DeskProto、fusion360を使ってG-codeを出力し、それぞれの動作確認をしようと思っていますが、今回はテストコードのお勉強です。

 

テストコード

本体に同封されているテストコードを見てみます。

1sainsmart.nc、iphoneF200.nc、wheel.nc、この3つは2Dで、1sainsmart_relief.nc、dragon.ncは3Dです。

 
(さらに…)

OpenCVで動体検知カウンター

前回7年ぶりに再トライしているPICですが、なかなか進みません。難しい。全然したいことの情報に行き着かない。。。

って感じで案の定、頓挫中なのですが、高機能プランターを作りたいっと言った友人はビールを作りたいと言い始めました。→ブログ http://brewojisan.com/

 

その際、発酵させる過程で炭酸ガスが出るのですが、発酵状態の把握の目安として、ガス発生の推移を計測したいと言いました。

具体的には、下の動画のように、水封管がガスでコポコポする頻度を測りたいとのこと。

 

久々のOpenCVで挑戦だ!

(さらに…)

Pythonでパスツール

前回も理想のドローソフトについての記事でしたが、今だその熱を持っていて、今回はパスとかハッチングとかやってみました。

EMFやSVGなどに出力することを考えると、ライブラリが持つ機能に依存するよりは、なるだけ自前で実装したほうが良いはず。どちらのファイル形式もベジェ曲線はサポートしているので、3次ベジェ曲線によるパスのプログラミングを試みました。

 

ドローソフトと言えばこれだよね。

[ソース1](ソースは最後にあります)

制御点を無視して、直線とすることもできるようにした。

 

機能として必須なのが、パターンハッチング。
ベジェ曲線と直線の交点の計算なんてどうやるんだーっと思ったけど、情報を載せてくれる人はいるもんですなぁ。ありがたい。

斜線パターン

[ソース2]

 

5(その2):直線と曲線の交点(解の公式)
https://pgcity.jp/2010/09/05/175/

 

パターンを繰り返すハッチング

[ソース3]

これで直線ならどんな模様でもできる。いずれ楕円も加えたい。

 

虚数とか出てきてなかなか大変でしたが、出張により久々に一人の夜を過ごし、たっぷり作業できたので、なんとか形にはなりました(後々不具合が出てくるのは必至だと思いますが)。久しぶりにがっつりプログラミング、楽しい。

次にしたいと思っているのが、ブーリアン演算による差分とか合成とか。果たして僕の能力が及ぶのか。。。

(さらに…)