Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

さくらVPS上にPython製Wiki "moinmoin"をつくる その1:導入編

MoinMoin*1はのPythonWikiアプリです。

実際のところ

最新版は2016年10月リリースの"moin-1.9.9"です。
日本語版Wikipediaの記述は古いので注意!

以下、今書いてます(

*1:ドイツの方言で「よい一日を」という意味

Ubuntuでisoをimgにしたいときは ccd2isoコマンドをつかう

shuzo-kino.hateblo.jp
の関連記事です。
hdiutilはmacOS用なので、同じことをしたい場合、ccd2isoというコマンドを持ってくる必要があります。

実際のところ

導入はapt-getでOKです。

sudo apt-get install ccd2iso

使い方は素直で、そのまんま。
ホームディレクトリにubuntu.isoがあって、それをtarget.imgにしたい場合

ccd2iso ~/target.img ~/ubuntu.iso

フィラメント送り不調がおこったとき

ご家庭クラスの3Dプリンターだと、こんな構造です。


上手くフィラメントを送れない場合、いくつか理由が考えられます。

異物が詰まっている


バネのテンションが足りてない

バネのテンションが足りてない

NC加工機系の制御を担うG-code

協力企業のご厚意で二台の3Dプリンターが弊社に揃いました。
製造時期もグレードも相当異なるものなので、てっきり最初から環境構築からかと思ってたのですが……
なんと、どちらもG-codeというファイル規格でした。

大元は50年代にMITで開発された規格なのだそうで、
3Dプリンターも含んだ、NC加工機系の制御に広く使われている規格なんだとか。

書式はこんな感じ。
"{{アルファベット}}{{数字}}{{予備パラメータ}}"

M107
M190 S75 ; set bed temperature
M104 S220 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle

M109 S220 ; wait for temperature to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
G1 Z0.350 F7800.000
G1 E-2.00000 F2400.00000
G92 E0
G1 X41.701 Y41.701 F7800.000
G1 E2.00000 F2400.00000
G1 X41.931 Y41.471 E2.02956 F1800.000
G1 X45.388 Y38.338 E2.45383
...
G1 E0.20510 F2400.00000
G92 E0
M104 S0 ; turn off temperature
G28 X0  ; home X axis
M84     ; disable motors

ABS樹脂で3Dプリントする場合、ちゃんとフィラメントを定着させる方法&剥がす方法を考えておく。

ABS樹脂で3Dプリントする場合、
生成物を絶妙な粘着度で固定してやる必要があります。

いまのところ、私は以下のような感じでマスキングテープ+スティックのりという構成でやってます。

ちゃんといくと、以下のような感じでフィラメントが溶けてくっつき、
乾いた後は程よい剥離層ができて取り出しやすくなります。

ちなみに、マスキングテープも粘着力が弱い種類だとABS樹脂の”反る力”に負けてしまいます。
原理としては、熱い鉄板と室温の温度差によるものなので、ちゃんと密閉してあげると不良が発生しにくいとの報告もあります。
この辺りは要研究ですね……。

Ubuntuベースの環境構築済メディアを作るのは実際危険

ご存知のように、UbuntuDebianベースのLinuxデスクトップ環境です。
一昔前は日本語環境構築済みの円盤つきムックなんかもありましたよね。

ここで要注意。
Ubuntuをベースとした、開発環境構築済のメディアを仕事で配布をしようとすると、少々面倒な事になります。
Ubuntu財団はある程度数が出た後で、高額請求書で殴ってくるそうです。

フリーソフトウェア界の重鎮、GNUでは以下のように解説されています。

Ubuntu商標を付けて、そのままのコピーの商用再配布を認めているようにみえます。商標の除去は改変バージョンにだけ要請されています。これは商標について容認できるポリシーです。同じページの、下の方には、曖昧で険悪な文章が「Ubuntu特許」についてあり、その特許について攻撃的なのかどうかの詳細は示されてません。
出展:Explaining Why We Don't Endorse Other Systems - GNU Project - Free Software Foundation

Ubuntuで……の真意は、大抵の場合Debianベースという意味でしょう。
たとえば、私がやろうとしていた事はROS(kinetic) on Ubuntuですが、
幸い公式の方でもDebianの手順がのってます。
kinetic/Installation - ROS Wiki

素のDebianの使い勝手も中々いいもんです。
Raspbianも、今のところは何かある訳では無いようです*1

*1:今後の保証はしかねます

ご家庭クラス3DプリンタでABS樹脂を使う時のアレコレ

会社に3Dプリンターが導入されました。
今日一日、自作モデルをプリントアウトするため四苦八苦したのでメモします。

多分、大半の話は他の同等クラス品でも適用できる事かと思います。

初期位置は機種によって違う

STLファイルがあれば、公式推奨のRepetier-Hostといったアプリを使えば
レイアウト設定は一発です。
が、です。
流石にプリンターの差異までは面倒みてくれないので、自前で各種設定……つまり、プリントアウト領域の設定や温度なんかをキメないといけません。

また、「どこが原点か」も大事な要素です。
大抵のプリンターには原点合わせコマンドがついてますが、
その原点の意味合いがアプリとハードで違うと訳の分からない結果になります。
私はココで二時間潰しました

なんか設定が反映されないならリセットor電源再投入

先程のツールでやっても、まだもう一山あったりします。
データは完璧、でも上手く行かないなら制御ボード(大抵Arduino互換)の情報が古いまんまです。
リブートしないと、新しい値を反映してくれない事がありえます。
私はここで更に一時間潰しました。

ABS樹脂への対処

ABS樹脂は加工しやすい反面、融点が高くプリントにアレコレ手間が掛かります。
特に剥離させるのが面倒で上手くやらないと台座を傷つけます。
ノウハウは色々あるようですが、買った機種では

  • マスキングテープ
  • スティックのり
  • 台座温度60〜75度

というのが良いパラメータのようです。
shuzo-kino.hateblo.jp