自宅サーバーを再構築しました

https化を目的に、自宅サーバーを再構築しました

それにともない、WordPress を立上げたので、ブログ環境もそちらに移行します

Linux  NC工作機械  Fusion360  C++Builder  3Dプリンター 

など、気まぐれに書いていこうと思いますでの、お時間ありましたら覗きにきてください

www.kazuban.com

ネジをプリントしてみよう。

締結の碇石、ネジ!

機械業界で仕事をしていると、複数パーツを締結することは日常茶飯事です。
締結の方法はいろいろありますが、金属部品の場合ネジでの締結がもっとも多いでしょう!
ちなみに、むりやり叩き込む圧入や熱変形を利用した、焼きバメ、冷やしバメ、などもあります
3Dプリンターの一般的な樹脂の場合には、接着が多いのでしょうか?
でもネジの場合、再利用や取付け取外しなども可能なので、機構的は部品を作る場合にはネジは重宝します

ネジをモデリング

Fusion360でネジを描くのは、非常に簡単ですね~
円柱や穴を描いて、<作成><ネジ>で、<モデル>にチェック。<寸法を選択>するだけですね~
会社で使っているCADではこうは行きません。
ネジの断面を描いて、ネジのピッチに合わせた螺旋スプラインを描いて、
それに沿わせるようにスイープ機能で3D化して円柱から引き算する方法です

f:id:kazuban:20180514110803p:plain

 非常に面倒!Fusion360で始めてネジコマンドを見た時、びっくりしました。
図面用に、イメージだけ描いてくれるCADもありますが、モデルまで描けるのは始めてでした

やっぱり、市販の金属のネジにも合うように汎用的に作りたい

3Dプリンターで「おねじ」「めねじ」両方とも作る場合であれば、ピッチや寸法などネジの規格に合わせる必要はないです
ただ、規格の寸法でつくれば、汎用的な市販の金属ネジとも共有できるので、いろいろと便利です
樹脂と金属、どちらにも、取り付けられるようにしたいですね
特に、私のプリンターはPLA樹脂しか使えないので、硬いですが弾性力がなくて、割れやすいです
以前にも作った事がありますが、金属ネジと組み合わせると結構硬くて、無理すると割れてしまいました。
壊れやすい方を金属にする事もできます

プリンターの精度の確認

国内で一般的なネジの規格はメートルネジと呼ばれていて、よく使われるのは、

  • M3×0.5
  • M4×0.7
  • M5×0.8
  • M6×1.0
  • M8×1.25
  • M10×1.5
  • M12×1.75

ぐらいでしょうか・・・
そんな中でも、3Dプリンターで樹脂で作成する場合には、M6~M12が使いやすと思いますので
まずは、ネジ径と同じ凸凹の形状をプリントして、プリント精度を測定してみたいと思います。

はめあい

軸と穴を組み合わせる場合、その関係を「はめあい」と呼びます
その関係とは、主に凸と凹の隙間になり、クリアランスとも呼ばれています
このクリアランスが一定であるほど、精度良く組み立てる事ができますし
リアランスを小さくすると、硬く結合できます
ネジを製作する場合も同じですね。
精度が悪いと入らなかったり、ガタガタで抜けてしまったりしますね~

Fusion360 のパラメータ機能はすごい!

プリント精度測定用のモデルを用意します。
モデルはFusion360 で作成しました。円の凸凹なので、簡単です

f:id:kazuban:20180514110517p:plain

精度確認が目的なので、数種類寸法も変えてプリントしたいと思います
ここで、Fusion360には、パラメータと言うすごい機能がありますので、これを使ってみます

  • ます、スケッチで20mm×20mmの四角を描きます
  • 次に、中央にφ8の円を描きます
  • これを、左右どちらか干渉しない位置へコピーします
  • 押し出しと結合、切り取りを使って、穴と軸を作成します

これで、終了ですが、穴径はネジの種類に合わせて、φ6、φ8、φ10、φ12と作ります
なので、モデルは穴径だけ違うモデルを描きたいですが、ここでパラメータを使うと便利です
「モデル」>「修正」>「パラメータを変更」と進むと、上の画像のようなダイアログが出ます
ここで、モデルパラメータで穴径の「8mm」のところを変更してもいいですが
もう少し後日や他人でも分かりやすいように、「ユーザーパラメータ」を使用してみます
「ユーザーパラメータ」横の「+」をクリックすると、「名前」と「式」を入力できるダイアログが開きます
ここで、「名前」を「径」にして、「式」には「8」を入力し「Enter」します。
自動的に「8mm」になります。
その後「モデルパラメータ」の「式」が「8mm」になっている穴径の場所を、「径」に変更します
これで、終了です。
次回からは、「ユーザーパラメータ」の「径」の「式」の値を、6,10、12などに変更すれば
モデルも変化してくれます。本当、便利な機能ですね!
 これから、ネジのモデリングもしたいと思いますが、そちらでも、このパラメータ機能を使用してモデリングしたいと思います

デフォルト充填率でプリント

この結果は、あくまで、私の「FlashForge Finder」での精度になります
もし、お時間あれば、お持ちののプリンターの精度を確認しておいてもいいと思います

f:id:kazuban:20180514110546j:plain

こんな感じです。プリント条件は私のプリンターの標準条件:積層ピッチ0.18 充填率15%です。
凹穴はそうでもないですが、凸は円筒のプリント時に樹脂を出し始めるスタート位置付近がコブっぽくなっています
そのコブ部分は外して測定すると

  • φ6:穴 φ5.8-φ5.9:軸 φ5.8-φ5.9
  • φ8:穴 φ7.8-φ7.9:軸 φ7.8-φ7.9

少し小さいですが、穴も軸をだいたい同じ寸法で、思ったよりもいい精度です。
コブの部分は、幸い凸形状の場合だったのでよかったです
「やすり」で削り取るとある程度、形は整えられると思います
ちなみに、簡易的な測定には、ノギスを使います。
f:id:kazuban:20180514110601j:plain

今度は100%の充填率でもプリント

充填率15%では、そこそこの精度でプリントできたので、これなら「おねじ」「めねじ」を普通にプリントすれば、金属市販ネジとも共有できそうに思います
ただちょっと思っているのが、ネジを締めこむ場合、経験的に充填率が15%と低いと壊れやすい気がします
充填率の違いによる精度も確認したいので、今度は、充填率100%でプリントしてみます。

f:id:kazuban:20180514110618j:plain
 う~ん、充填率15%よりも、コブが大きくなったような気がします。

f:id:kazuban:20180514110635j:plain


 ここでも、コブの部分は外して測定してみました

  • φ6 :穴 φ5.6-φ5.7 :軸 φ6.1-φ6.3
  • φ8 :穴 φ7.6-φ7.7 :軸 φ8.0-φ8.2
  • φ10:穴 φ9.7-φ9.8 :軸 φ9.8-φ10.1
  • φ12:穴 φ11.3-φ11.4:軸 φ11.8-φ12.0

ほうー、充填率を上げたほうが、プリント精度は悪くなるみたいですね~
ちなみに、コブにあてて、径を測ると1mmぐらい出っ張っています。
それに、穴と軸の寸法に対する出来上がりも、違ってきてます
穴はネライに対して、小さくできてますが、軸は逆に大きくなってます
径との比率になるか?とも思っていましたが、そうでもなさそうですね
穴は、径に対して0.2~0.5mm程度小さくて、軸はほぼネライで出来ている感じです
推測ですが、充填率を大きくすると、樹脂は部分的な量は多くなって、膨れる傾向にあるのでしょうか?
形状も穴は小さめながら径は安定してますが、軸は歪です
たぶん、これでは、ネジをプリントしても入らないかもしれないですね
印刷スピードを変えると、また精度も変わるかもしれませんね
とりあえず、次回はネジ(ボルト、ナット)のモデリングをして印刷してみます

WordPress をVine Linux へインストール

インストール状況の確認

まずは、WordPress のサーバー要求事項を確認します

  • PHP バージョン 5.2.4 以上
  • MySQL バージョン 5.0.15 以上

 っという事なので、自分の環境のインストール状態を確認します

$ rpm -qa | grep -i php
php5-apache2-5.5.36-1vl6.i686
php5-mysql-5.5.36-1vl6.i686
php5-pear-5.5.36-1vl6.i686
php5-5.5.36-1vl6.i686
php5-pdo-5.5.36-1vl6.i686

php はすでにインストールされているようです。
次に、公開されているMySQLのパッケージを確認します

$ rpm -qa | grep -i mysql

今度は、何も出来きませんから、インストールされていないようです
インストールしなければ、いけませんね。

MySQL のインストール

バージョンが違うからなのか、ちょっと違うところもありましたが、私は下記を参考にさせていただきました
【Vine Linuxで自宅サーバー】MySQLの導入

パッケージ管理ツールで、MySQLのパッケージ名を調べます

$ apt-cache search mysql
MySQL-client - MySQL - Client
・・・・
MySQL-server - MySQL: a very fast and reliable SQL database server
MySQL-client - MySQL - Client
・・・・
・・・・
・・・・

結構沢山出来ていきました
この中で必要なのは次の3つのようです

MySQL-client
MySQL-server
php5-mysql

パッケージ管理ツール [apt]でインストールします
ただし、インストールには管理者権限が必要なので、「sudo」コマンドを使います

$ sudo apt-get install MySQL-client MySQL-server php5-mysql

インストールが完了しました。
最初私は、php5-mysql を忘れていて、WordPress の設定画面までいって「エラー」になってしまい、かなり遠回りしてしまいました。


次に、文字コードを「PHP」と「MySQL」で合わせておいたほうがよいようです。
まず、「PHP」を確認します。設定ファイルは、「/etc/php5/php.ini」で、「mbstring.internal_encoding」の項目で設定されているようです
設定ファイルを「cat」コマンドで表示させ、確認しますが、行が沢山あって大変です。こんな時には、「|」パイプが使えます。
全部の内容を「grep」コマンドに渡し、その横に書いた検索したいキーワードで表示内容を絞る事ができます

$ cat /etc/php5/php.ini | grep mbstring.internal_encoding
mbstring.internal_encoding = UTF-8

よかったです。一般的な「UTF-8」で設定されていました。
文字コードには、「シフトJIS」や「EUC」「JIS」などがあるようですが、「UTF-8」がいいようです。
詳細はよく調べていませんが、あまり考えず、「MySQL」でも同じにします
設定ファイルは、/etc/my.cnf のようですが、私の環境ではこのファイルは存在しませんでした。
調べると、MySQLのインストールディレクトリの中の、my-medium.cnf のファイルをコピーして使うようです。
MySQLのインストールディレクトリは /usr/share/mysql/ だったのでコピーして vi で編集します・・

$ sudo cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
$ sudo vi /etc/php5/php.ini

[mysqld]の項目に下記を追記
default-character-set=utf8
skip-character-set-client-handshake
意味は、
・デフォルトのサーバ文字コードを指定する
・サーバーの文字コード設定をクライアントでもそのまま使うようにする
のようです。あまり考えず、その通りに編集して保存します。
ちなみに、vi エディタでは、ファイルを開いた後は、コマンドモードになっているのでその状態で「:/mysqld」と打ち込むと、検索できます。
思惑の行でなかった場合は、「n」キーを押すと次へジャンプします
そんな感じで [mysqld] 項目を探し、上記のコードを追加します。
サーバー機を再起動しても、自動的に起動できるように、設定し、起動させます

$ sudo chkconfig mysql on

確認します

$ sudo chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

2~5が「on」であれば大丈夫です。MySQLを起動させましょう。

$ sudo /etc/init.d/mysql restart
Shutting down MySQL..... SUCCESS!
Starting MySQL. SUCCESS!

いよいよ、MySQLを立上げますが、作成直後は管理ユーザー「root」でもパスワードなしで入れるようです。

$ sudo mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.73-log VineLinux MySQL RPM


MySQLの設定

MySQLが立ち上がっていると、プロンプトが変わるので[MySQL]モード中なのが分かります

まずは、初期状態での、ユーザー、ホスト、パスワードを確認します
     ※ホスト名は、ここでは仮として「hogehoge.com」で進めます

mysql> select user,host,password from mysql.user;

+------+--------------+----------+
| user | host         | password |
+------+--------------+----------+
| root | localhost    |          |
| root | hogehoge.com |          |
| root | 127.0.0.1    |          |
|      | localhost    |          |
|      | hogehoge.com |          |
+------+--------------+----------+

・パスワードが未だ設定されていないので、設定します。
サーバー機で直接設定する場合は、localhost だけでいいかもしれませんが
私の場合、別のPCから設定するので、外部からのホスト名用のrootパスワードも設定します

localhost の root パスワードの設定

mysql> set password for root@localhost=password('パスワード');
Query OK, 0 rows affected (0.00 sec)

・hogehoge.com の root パスワードの設定

mysql> set password for root@hogehoge.com=password('パスワード');
Query OK, 0 rows affected (0.00 sec)

・確認します

mysql> select user,host,password from mysql.user;

+------+--------------+-------------------------------------------+
| user | host         | password                                  |
+------+--------------+-------------------------------------------+
| root | localhost    | *1234567890ABCDEFGHIJGMLN1234567890ABCDEF |
| root | hogehoge.com | *1234567890ABCDEFGHIJGMLN1234567890ABCDEF |
| root | 127.0.0.1    |                                           |
|      | localhost    |                                           |
|      | hogehoge.com |                                           |
+------+--------------+-------------------------------------------+

パスワードが設定されたのが分かります。
内容は暗号化されているので、設定した内容とは同じにはなりません。

・名前のない、匿名ユーザーを削除し確認

mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+------+--------------+-------------------------------------------+
| user | host         | password                                  |
+------+--------------+-------------------------------------------+
| root | localhost    | *6F333411CDA0B714A73F4FFC679591D420DB5DD7 |
| root | hogehoge.com | *6F333411CDA0B714A73F4FFC679591D420DB5DD7 |
| root | 127.0.0.1    |                                           |
+------+--------------+-------------------------------------------+
3 rows in set (0.00 sec)
    

MySQL の下準備は完了しました
いよいよ、WordPress 用の設定をします。
下記が参考になります

WordPress のインストール - WordPress Codex 日本語版


まずは、WordPress に必要な情報をまとめておきます。

  • データベース名:WpDatabase
  • ユーザー名:WpUser
  • パスワード:WpPassword
  • ローカルホスト:Hogehoge.com

次に、MySQL に設定をしていきます。
上記サイトによると、「cPanel」「phpMyAdmin」のツールが使えるみたいですが、
そのインストールも面倒なので、シェルでおこってみます

  1. 管理者権限で、MySQL起動
  2. WordPress用のデータベース作成
  3. WordPress用ユーザー作成と、権限付与
  4. 権限の反映

の操作を行います。

$ sudo mysql -u root -p
Enter password:「パスワード」
Welcome to the MySQL monitor.  Commands end with ; or \g.    
 ・
 ・
mysql> Create database :WpDatabase;
Query OK, 1 row affected (0.39 sec)

mysql> GRANT ALL PRIVILEGES ON :WpDatabase.* TO "WpUser"@"Hogehoge.com"
    -> IDENTIFIED BY "WpPassword";
Query OK, 0 rows affected (0.39 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
   

WordPres インストール

WordPress をダウンロード
適当な、ダウンロードスペースに、ダウンロードします。
私は、ホームディレクトリの「Download」ディレクトリへダウンロードします
ダウンロードには「wget」コマンドを使用します

・展開
展開には、「tar」コマンドを使用します。
コマンドのオプションは「xvzf」

  • x  展開する
  • v 進行状態を表示
  • z 圧縮ファイルに対応
  • f ファイル名指定
$ tar xvzf wordpress-4.9.5-ja.tar.gz
wordpress/
wordpress/wp-mail.php
wordpress/wp-links-opml.php
・
・
wordpress/wp-content/plugins/akismet/akismet.php
wordpress/wp-content/plugins/akismet/class.akismet-rest-api.php
wordpress/xmlrpc.php
wordpress/wp-config-sample.php

・展開した、WordPressディレクトリを、サーバーの公開場所へ移動

$ sudo mv ./wordpress/ /home/httpd/html    

・実際保存されたディレクトリとWeb上でのアドレスを紐付けします
・紐付けは、apacheの設定ファイル「apache2.conf」を編集します

$ sudo vi /etc/apache2/conf/apache2.conf    

・apache2.conf に、下記のコマンドを追加します
・Alias は別名の意味で「Alias "Web上のアドレス" "実際のディレクトリ"」となります

  ・
  ・
Alias /blog /home/httpd/html/wordpress

設定は終了です。apache を再起動します。

$ sudo /etc/init.d/apache2 restart 
Apache2 HTTP Serverを停止中:      [  OK  ]
Apache2 HTTP Serverを起動中:      [  OK  ]

さあこれで、動いてくれるはず・・・

Webに接続してみます。 http://hogehoge.com/blog

f:id:kazuban:20180502141346p:plain

やったぁ!WordPress の設定画面が出てきました。
とりあえず、PHPMySQL は正常に動き出したようですね !(^^)!
・・・

ところが、次のページに必要事項を入力後、次へ進むとエラー発生!

f:id:kazuban:20180502141929p:plain

う~ん!
良く分かりませんが、データベースとその管理ユーザーは、「localhost」でも作成しなけらばいけないのかもしれません。MySQL の GRANTコマンドで作成します

mysql> GRANT ALL PRIVILEGES ON :WpDatabase.* TO "WpUser"@"localhost" 
    -> IDENTIFIED BY "WpPassword";

やった、とりあえず一歩進みましたが、またエラー!!!

f:id:kazuban:20180502142943p:plain

wp-config.php というファイルがWordPress の設定ファイルのようですが
たぶんファイル権限の関係で、Web上からのWordPress がそのファイルを
書き換える事ができないのだと思います
とりあえず、力づくで、手動で編集してしまいます。
WordPress」を展開したディレクトリへ移動して、内容を確認してみます

$ cd /home/httpd/html/wordpress
$ ls
index.php             wp-config-sample.php  wp-mail.php
license.txt           wp-content/           wp-settings.php
readme.html           wp-cron.php           wp-signup.php
wp-activate.php       wp-includes/          wp-trackback.php
wp-admin/             wp-links-opml.php     xmlrpc.php
wp-blog-header.php    wp-load.php
wp-comments-post.php  wp-login.php

なるほど、 wp-config-sample.php という、サンプルファイルが用意されていました。
これを、wp-config.php というファイル名でコピーして編集する事にします

$ cp -p wp-config-sample.php wp-config.php
$ vi wp-config.php 
  ・
  ・
/** WordPress のためのデータベース名 */
define('DB_NAME', 'database_name_here');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'username_here');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password_here');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
  ・
  ・

これを、下記のように、編集しました。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'WpDatabase');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'WpUser');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'WpPassword');

/** MySQL のホスト名 */
define('DB_HOST', 'Hogehoge.com');

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

先ほど、ファイル権限らしきエラーが出たので、権限を変更しておきます
まず、apache の設定ファイルをみると、下記の設定がみつかります

  ・
  ・
User apache
Group apache
  ・
  ・

これは、Web側から、サーバーにアクセスする場合、
ユーザー名「apache」のグループ名「apache」でアクセスするという事です。
したがって、Web上のWordPress がWordPessディレクトリ 内へ
アップロードしたり更新したりする場合、
apache」ユーザーを許可する必要があります
ちょっと、セキュリティ的に不安がありますが、下記サイトを見る限り
大丈夫なようです。

WordPressのファイルのパーミッションはどうすべきなのか

っという事で、WordPress ディレクトリはapache を所有者にしようと思います
「chown」コマンドを使用します。apache:apache で「ユーザー」「グループ」
を変更する。-R オプションで、指定ディレクトリを再帰的に変更します

$ cd /home/httpd/html/ 
$ chown -R apache:apache ./wordpress/

やった!ついに動きだしました!!

http://kazuban.com/blog/

f:id:kazuban:20180502160424p:plain

WordPress インストール

自宅サーバ

私の自宅サーバーのPC本体は、13年前に購入した、DELL Inspiron 700m という
12.1インチのモバイルノートPCです

f:id:kazuban:20180411111106j:plain

まだこの時期は、持ち運び用Windowsマシンとして使用していて、サーバーは、カミサンのディスプレイが壊れたノートで運用していましたが、2012年に新しいWindowsマシンを購入したので、カミサンのノートは引退させこのノートへサーバー環境を移設しました

その時の移行記録は、こちらKazubanBBS!に残っていました。
なのでもう、かれこれ、6年ほとんど、24時間、365日、働いてくれています
OSは、 [Vine Linux]を使わせていただいています
いやぁ~すごいですね、こんな引退したノートでも、大きなトラブルなく動き続けてくれています。
やっぱり、サーバーはWindows よりも、Linux のほうがいいですね~(無料だし!)


WordPressをインストールしてみるか・・

ブログ環境を、すぐに自前WordPress に移設したいとか、そういう事ではないのですが、なんとなく、だいぶ前に立ち上げて枯れ果ててしまっている自分のホームページを新しくしたいな~とは少しは思っていました。以前も少しは気になっていた「WordPress」 を動かしてみようかな?

ja.wordpress.org

だいぶ前、かっこいいな!と思って、設置しようか?と思った事もあったのですが、
データベースが必要そうで面倒くさそうだったので、単純なCGIのみで動作するBBSにとどめていました。
今回どういうわけか、ちょっとやってみようか・・・の気分になりました


動作サーバー要件

上の、国内サイトによると、「PHP」と「MySQL」が必須なようです
自宅の環境を調べると、「PHP」は推奨よりちょっと古いけど、「PHP Version 5.5.36」ですでに動作していました。
ただ案の定「MySQL」はインストールされていません。
まずは、「MySQL」のインストールが必要です
ただ、OSアップレートなどの簡単なコマンド操作だけで、シェルからは遠ざかっていて、設定ファイルなどを編集するソフトの「Viエディタ」も忘れてしまっています。
まずは、ここからのスタートです

一応サーバー要求事項としては

  • PHP バージョン 5.2.4 以上
  • MySQL バージョン 5.0.15 以上

推奨環境としては

になっていますが、MySQLをインストールすれば現状でも動作はしそうです。


まずは、Viエディタを復習

私のサーバー本体は、12.1インチのノートなので、この画面では、じじぃの目には、かなり厳しいです(^_^;)
f:id:kazuban:20180411162506p:plain
なので、サーバーメンテをする時は「tera term」を使って、別の Windows PCから「ssh」でログインして遠隔操作するようにしています
これを使う事で、サーバーまで行かなくても、画面の大きいデスクトップPCでも操作ができるので便利です。

ja.osdn.net


そうなると、簡単にファイルを編集したりするのは、「Viエディタ」が一般的です
「Vi」は癖がありますが、ほとんどの「Unix」互換OSで動作します。
ただ・・・・最近ほとんど触っていないので、忘れてしまっています。
もし、ここへの訪問者の方で、自宅サーバーの運用を考えている方がいらっしゃれば、「Vi」の簡単な操作は覚えておくと便利です。
ちょっと癖があり慣れないと最初苦戦しますが、「Unix」互換OSで、インストール直後から動作するはずです。
操作方法などは、ネット検索すれば、結構ヒットします。
興味あるかたは、「viエディタ」などで検索してみてください
普通の作業であれば、このサイトの情報で十分だと思います

概要だけ簡単に書くと

  • vi 「ファイル名」でファイルが開く
  • ただ、ちょっと分かりづらいのが、「Viエディタ」には、「編集モード」と「コマンドモード」があって今どっちのモードなのか分かりづらいところです。
  • で、立ち上がった直後には「コマンドモード」になっていて、このモードでは通常のエディタのように、カーソル持っていって、入力したい「文字」を入力しても思うように入力できません。ここでまず、なんだこりゃ~!になりますね
  • ただここを、突破できると、結構便利に使えるようになります。
  • まず、編集するには「編集モード」へ移行しなければいけません
  • 「コマンドモード」でやりたい操作を指示して、「編集モード」で入力のイメージです
  • 「編集モード」への移行が、「i」「a」「A」「o」「O」などのキーです。
  • 文字入力の場合「コマンドモード」の時に、文字を挿入したい箇所へカーソルを移動して「i」キーを押すと、「編集モード」になり、その箇所へ文字が挿入できるようになります
  • 逆に、「編集」から「コマンド」へ戻るには、「編集モード」の時に「ESC」キーを押すと「コマンドモード」へ戻れます

こんな感じです。

viエディタの使い方を参考に、実際に触って覚えるしかないですね~。
興味あるかたは、是非、ネットの情報を参考に、触ってみるとゲーム感覚で面白いかもしれません。
WordPress のインストールには、それほど必要はないと思いますが、Linux などの環境にインストールする場合には、覚えておいたほうが、なにかと便利だと思います。

シェル覚書

Unix系のシェルはWindowsコマンドプロンプトよりも強力で知っていればかなり重宝しますけど、私のようにたまにしか触らないとすぐに忘れてしまいます
今回、WordPressをインストールするに伴い、再確認したものなど、覚書として残しておこうと思います。
もっと簡単なコマンドあるよ!の場合には悪しからず。

  • script
    入力したコマンドや、結果など、作業したログをファイルに保存してくれます
    後でやった事を見直したり、整理するのに便利

  • rpm -qa   |   grep -i mysql
    mysql 関連のパッケージのインストール状況を確認する。
    Red Hat系のLinuxのパッケージ管理コマンドで、インストール時などにも使用しますが、自分の環境のインストール状態も調べられます
    パイプ「|」でgrepコマンドにインストール済みリストを渡しmysql キーワードのパッケージのみ表示します

  • apt-cache search mysql
    Debian系のパッケージ管理ソフトです。
    Red Hat系は「yum」のようですが、使っている「VINE」は「apt」を利用しています。「apt」でインタネット上で公開されている、ソフトの確認やインストール、アンインストール等ができます。「apt-cache search」は検索するコマンドで、今回の例は、「mysql」関連のパッケージを表示できます

  • apt-get install MySQL-client   MySQL-server php5-mysql
    「apt-cache search」で MySQL のパッケージ名が分かりました
    「apt-get install」で、「client」と「server」をインストールします

  • wget https://ja.wordpress.org/wordpress-4.9.5-ja.tar.gz
    WordPress サイトから、最新版をダウンロード。

  • tar xvzf wordpress-4.9.5-ja.tar.gz
    「tar」は、複数のファイルをまとめたり、展開したりするコマンドです
    オプションは、「c」作成 「x」展開 「t」内容、これぐらいを覚えて「vzf」は進行表示・圧縮展開・ファイル名指定で、ほとんど決まり文句。
    例題の「xvzf」ではダウンロードしたファイルを、進行状況を表示しながら展開するの意味になります

  • tar cf  -  ./wordpress/  |  (cd ../test/;    tar xf -)
    「tar」ではディレクトリ全部をコピーすることもできます
    この例では、カレントディレクトリの「./wordpressディレクトリを、一つ上の「test」のディレクトリの中に、コピーします。
    「v」オプションをつけると、状況が表示されますが、うるさいので省いてます
    「z」で圧縮する必要も特にないので、省略ですね

  • chown -R apache:apache ./wordpress/
    ファイルやディレクトリの所有権を変更するコマンドです。
    WordPress」を無事インストールできても、更新などで書き込みや変更できない・・などのエラーがでる場合があります。その場合、「wordpressディレクトリ全体の所有権がWebサーバーが操作できないなどの原因が考えられます。
    Webサーバーが「Apache」の場合

    apache.org

    Webからの操作は、apacheグループのapacheユーザーでアクセスする場合が一般的ですから、この所有者になっていないファイルなどには、変更ができない場合があるということです。
    このコマンドを実行すると、「WordPressディレクトリ内全体が再帰的に「apache」所有権になるので、解決する場合が多いです
    「全体を再帰的に・・」のオプションが「-R」です

  • cd /home/httpd/html/wordpress
    chmod 400 ./wp-config.php

    「chmod」はパーミッション(アクセス権限)の設定です
    権限は、「所有者」「グループ」「その他」のユーザーに対して、
    「読み」「書き」「実行」の権限をどうするかを設定します
    「読み」は「4」、「書き」は「2」、「実行」は「1」になっていて、その数値の足し算で設定します。
    たとえば、「読み書き」は「6」、「読みと実行」は「5」になります。
    「7」に設定すると、「何でも許可」になりますね。
    WordPressの設定ファイル「wp-config.php」には、ログインの情報が書かれています。セキュリティを考慮すれば、なるべく見られないようにしたいですね。
    ただし、読めない設定にすると「WordPress」からも読めなくなってしまうので、「WordPress」本人からだけは読めるようにします。
    設定は左から「所有者」「グループ」「その他」の順で、数値で設定し、
    「読める」は「4」なので、設定値は「400」 になります

いよいよ、インストール

これぐらい、コマンドを確認できたら、インストールできると思います。
次回、具体的な、作業内容を書いてみようと思います。






5軸プリンター Vol2

5軸普及の立役者「工具先端点制御」

前回紹介した動画すごいですよね~、グリグリ動いて・・・
機械を制御するためのプログラムは、どうやって作っているのでしょう?
かなり、難しいそうです
一番重要なのは、回転(傾斜)軸の中心の位置(座標)です
まず5軸に限らず、3軸でも、たぶん3Dプリンターでも・・
工作機械の制御機は、基本的に機械固有の原点位置(機械原点)を把握しています
加工物の段取りでは、機械原点と加工物原点(プログラム原点)の位置関係を設定します
たとえば工具を加工原点に持っていって、設定ボタンを押したりすると思います
制御機は、この機械原点と加工物原点(プログラム原点)の位置関係を考慮し
プログラムの指令点を機械原点からの位置に算出して工具を移動させ加工していきます
ここで、軸を傾斜させた場合は加工物も傾斜してしまうので、切削点は変わってしまいます
傾斜指令を追加しただけでは、思ったように加工できません。
傾斜終了後の切削ポイントへ同時に工具を移動させなければいけません。
難しそうですが機械原点からの回転(傾斜)軸中心の座標が分かれば、
加工物が傾いても切削点を算出できますから、正常な位置指令ができます
昔は、一旦機械に加工物をセッティングしたのち、加工物中心と傾斜軸中心の距離を測定し
その測定値を基に、モデル自体を傾斜させ、NCプログラムを出力していました
ようは、実際の機械と加工物の状態をCAD上でも再現していました。
かなり、面倒な作業ですね~
ところが、制御機が進化しました
この傾斜軸の中心軸座標を、制御機に設定しておくことで、プログラムの指令点を
制御機が自動的に変更してくれるようになりました
これが、工具先端点制御機能です
分かりやすい事例として、むか~し撮った動画がありましたの紹介します。

これは、通常動作中にでも、手動割り込みが可能になるハイデンハインの機能です
途中で傾斜軸が動き出しますが、これは「手パ」(手動パルスハンドル)で操作しています
このように、「手パ」で操作しても、工具は追従していきます
すごい機能です、重複しますが機械が自動運転している最中に、
ただ傾斜軸をハンドルで動かしているだけです
工具は勝手に、加工物に吸い付くように追従してくれます。
当時この手動割り込み機能は、ファナックにはありませんでした。

(余談ですが、英語では、[Tool Center Point Control]工具中心点制御です。)
(私はこのほうが、しっくりきますが、なぜ先端点なのか??です)
この機能のお陰で、CAMソフト開発側も含めて、5軸のNCプログラム作成が、
非常に楽になり動画のような、グリグリ動かすプログラムも
比較的簡単になりました

5軸、3Dプリンター

さて、5軸工作機械の話が長くなってしまいました、
3Dプリンターの話題に戻りたいと思います
そういえば、5軸3D・・っておかしい感じがしますね。
5Dプリンターのほうが、しっくりくるかな?
5軸加工機のように、いろんな方向から、プリントできれば、
アンダー部やサポート材など考えなくてすみます。
さらに、等高線に積み上げていく現状では、平坦な形状ではどうしても
積層の幅が広くなりプリント面がガタガタになってしまいます
そういった欠点が解消されると思います
もちろん、プリンタヘッドが形状に干渉してしまう事も考えられますが
それは、5軸加工機でも同様です
5軸機では干渉しないような、微少工具や長い工具を使用します
場合によっては、干渉しないように、モデルにフィレットを施す事もあります
プリンタヘッドもいろいろな形状が用意できれば解決できると思います
さらに、現状ある製品に、追加のプリントも可能になりますね
金属に樹脂を追加する事もできるでしょうし、追加プリントの組合せで
組み立てまで自動化できるかもしれません

なんか、いい事ばっかりですよん!
きっと何処かで開発しているはずですよね~

5Dプリンター

このキーワードで検索してみると、おっ!出来てた!
でも、キムタクのTVドラマの「安堂ロイド」に出てきた話らしい
私はこのTV見ていないので、よく分かりませんが、5軸と言うよりも
五次元の意味の、5Dのようですね
ただ、そう言う意味での4Dプリンターは、米軍が研究しているとの記事もありました
そうか「3Dプリンター」の3Dは三次元の意味だったんですかね?
私はてっきり、3軸の機械だから、3Dだと思っていました
そっか、3DCADは、三次元CADか・・・

検索を進めると!あっ、見つけた!


Ethereal Halo - The Dawn of Hybrid Manufacturing

そうそう、こんなイメージです

さらに、検索してみると・・・
中小企業庁のものづくり支援で、研究報告が公開されていました。

中小企業庁:研究開発成果等報告書

ここの上から6項目目
「同時5軸制御Additive Manufacturing(加法的製造)によるLight Weight Structure(計量構造)の実現」
に、資料が公開されていました。

さらにさらに、調べると
もうすでに、製品として、紹介されていました


Hybrid 3D Printer Using 5-Axis Control


お~、国産だし、これはすごいですね~
何処かの展示会に出展されないでしょうか?見てみたいです
開発メンバーのC&Gコイズミ氏とは、顔見知りではあるので、
なにかの機会に聞いてみたいと思います。
で探していたら、やっぱり出展されてたみたいです。

www.oi-s.com


それにしても、調べると結構動画が出てきます。
実用化には、まだまだな感じですが、5軸加工機がそうだったように
これからが楽しみですね。
動画をみると、ほとんどが同時5軸で動作しています
そうなるとやはり、ソフト・ハード共にコストは上がってきますね。
サポート材の実験でも、多少のアンダー部は大丈夫だったので
割り出し5軸(回転した後、固定で3軸動作)でもいけるようにも思いますが
エンドミルは刃があれば、形状全体で加工できますが、3Dプリンターは
ノズルからの一箇所なので、同時5軸になってしまうのでしょうか?


VSHAPER 5 AXIS PRINTER


5AXISMAKER - CASE STUDY 01 / Sculpting a Bust


ZHAW-Masterstudenten entwickeln sechsachsigen 3D-Drucker


HAGE3D - 5 Achs Drucker


5-axis 3D printing - Surface Conformal 3D Printing

 

 

 

 






5軸のプリンター?!

5-Axis

3Dプリンターで、サポート材やプリント方向などで、いろいろ検討していると
5軸のプリンターってないのかな?と思ってきました
5軸って、3Dプリンタの業界では、まだ馴染みは少ないでしょうか?

ところで、5軸って・・・?

工作機械では、最近国内でもかなりメジャーになってきましたが
3Dプリンター系のサイトでは、あまり見かけませんね
という事で少し5軸加工機について書いてみようと思います・・
一般的な3Dプリンターを眺めると分かると思いますが、直交している動作軸が3本あります。
3本なので、3軸(X軸、Y軸、Z軸)です
この3軸に、2個の回転(傾斜)軸を負荷した構造が5軸となります
ちなみに、工具の回転軸は含めません

f:id:kazuban:20180328113018p:plain

5軸加工機・マシニングセンター

私は、2006年頃から数年間、5軸加工機を触っていた経験があります
当時はまだ、国内製はそれほど多く生産されていなかった時期です
特に、5軸機専用として開発されたマシンは、非常に少なかったです
ほとんどが、3軸機のテーブルの上に、回転と傾斜が可能な機器を載せて
5軸機械と呼んでいました
この時期、社内の新規設備の検討をしていたので、
少し話題になって来た事もあり、導入は全く考えていませんでしたが
情報収集目的でドイツの展示会に行きました

f:id:kazuban:20180328113215j:plain

いや~、驚きました。
展示されているNC工作機械は、ヨーロッパ製は7、8割は5軸加工機でした
さらに、5軸はすでに珍しくなく、ロボットや自動ワークチェンジャーを付加して
自動無人化を目指したシステムが多く展示されていました
5軸加工機のメリットとして、いろいろな方向から加工できるというメリットがあります
ブロック材など一面を挟んでクランプすると、残りの5面は一気に加工できてしまいます

f:id:kazuban:20180328113343j:plain

非常に、自動化がやりやすい機械です
人件費が高く勤務時間が短いドイツでは自動化は必須の戦略だったのではないでしょうか?。
インダストリー4.0も、そんな背景から必然的に生まれた発想のようにも思えます。
そんな展示会を視察して、日本でも5軸化は必ずやってくると思いました
すぐに会社へ提案して導入してもらい、5軸へ取り組んだのがこの時期です
ところが、まもなく、リーマンショックがやってきました
これには、参った!
国内の展示会でも、徐々に5軸加工機は増えてきていましたし
ボーイング787や、三菱重工のMRJなど航空の部品加工でかなり需要は増えるといわれていました
ところが、航空機の開発は遅れるは、リーマンやらで、加工の仕事は伸びてきません。
そんな状況で、操作やデータ作成が難しく高価な5軸機は、手を出しにくい機械となりました
現在は工作機械業界さんは、非常に忙しい状況のようですが、
5軸加工機や自動無人化に関してはこの時期の遅れもあり、まだまだEUとは差がついています

5軸の構造

上でもちょっと書きましたが、X,Y、Z軸の3軸に、2軸を加えたものです
3軸は、直交軸ですが、2軸は通常回転・傾斜軸となります
X軸を中心とした回転は、A軸。
Y軸を中心とした回転は、B軸。
Z軸を中心とした回転は、C軸と定義されます。
そのどれか2軸を追加した構造で5軸となります
傾斜軸の構造も、いろいろあって、ヘッド(スピンドル)に2軸追加された、
「ヘッドヘッド型」
ヘッドに1軸、テーブルに1軸追加された、「ヘッドテーブル型」などがあります

f:id:kazuban:20180328113500j:plain

有名なダイシンさんのヘルメット・・・

ヘッドがチルトするのマシンで加工されています。

 

テーブルに2軸追加された、「テーブルテーブル型」
「トラニオンタイプ」とも呼ばれています

f:id:kazuban:20180328114121j:plain

高剛性と精度が売りのドイツハームレ社のマシン

Cシリーズはすべて「トラニオンタイプ」です
このC50、直径1000mm、高さ810mm 重量2000kgの加工物が載せられる化け物みたいな機械ですから、この蜘蛛もたぶん化け物みたいに大きいのでしょう!

どの構成がいいのか?

一概には言えませんが、トラニオン型のほうが精度はよいと言われています
斜めに穴を空けるのを想像してみてください。
ヘッドが傾斜しての加工の場合、工具は穴と同じ斜め(最低2軸)方向に動かす必要がありますが
テーブルが傾斜する場合には、テーブルを穴が真下になるように傾斜すれば、
真下に1軸のみであけられます
これは一例ですが、やはり高精度仕様には、トラニオン型が多いです
これに対して、大物・重量物の場合は、テーブルを傾斜させるには限界があります
テーブルはがっちり平らに置いて、ヘッドを傾けたほうが有利です
そんな感じで、大型機には、ヘッド傾斜が多いです。

5軸機の可能性

長くなってしまったので、続きは次回にします・・・ 最後に、やっぱり5軸機はすごいです
おもしろい、動画が公開されているので、リンクしておきます
お時間あるときにでも、お楽しみください


CNC The Machine Cutting Premium Guitar DAISHIN SEIKI


Hermle C 42 U Adler / eagle


Usinagem de um Porco em Metal (Hermle C40U)


5 Axis Machining: High Heel | hyperMILL | Hermle | EMUGE-FRANKEN |CAM-Software|


C42U MT (Mill/turn) Bremsscheibe / brakedisc

 

 

 

 

プリミティブ(単純形状)へのサポート方法【片持ち(ひさし)形状】

ひさしみたいな、片持ち形状

今までの経験から、横穴や円柱など、閉じた形状の場合は比較的サポートは必要ない感じです。
でも、片方が浮いているような、片持ち形状は無理だろうな~。

っと言うことで片側10mmぐらいの、ひさしの形状でプリントしてみます

f:id:kazuban:20180325100458p:plainまぁ、これはどう考えても、無理でしょうねぇ
閉じた形状なら、Uターンする時に一旦張り付く場所がありますけど、開いた形状は空中ですからね~


ひさしサポートなし

まぁ、予想通り!

自動と手動サポート作成

片方はいつもやってるようにモデリング内に手動でサポート含めてみます。

f:id:kazuban:20180325101341p:plainこのモデルを、「FlashPrint」へ持って行きます。
「FlashPrint」には、2種類の自動サポート機能が用意されています。
一つは、【枝状サポート】

f:id:kazuban:20180325101828p:plain 枝の大きさなどは、設定変更できますがデフォルトでは、こうなりました。

もう一つのサポート方法は、【ライン】です

f:id:kazuban:20180325102254p:plainこんな感じになりましたが、今までの実験で閉じた形状ではサポート不要だったので
少し手動で間引きました。

f:id:kazuban:20180325102512p:plain

スライス!!

まずは【枝状サポート】

f:id:kazuban:20180325102754p:plain【枝状サポート】の場合は、基本的には「ラフト」が必要だとメッセージが出ました。
ただ、「ラフト」は剥がし難い経験があって私はあんまり好きじゃないです。
それに、製品に接触する場所は先細りになって設置面積を小さくするような工夫がされていますがそれでも、しっかりくっ付きそうで簡単には取れないような気がします。

f:id:kazuban:20180326205706p:plain
【ライン】のほうは、スライサーが自動サポートの部分は、かなり粗くスカスカに
設定してくれるような感じです。
シミュレーションでみても、反対側が透けてみえています。
ただ、間引くように設定しましたが、画像とは同じにはならないようです。

【自動と手動、左右に分けてプリントしてみます】

 

プリント終了。

f:id:kazuban:20180326092416p:plain
【ラインの自動サポート】は、やはり粗く設定してくれていますね。

f:id:kazuban:20180326092650p:plain
裏からみると、よくわかりますねぇ
製品に少し張り付くのは、しょうがないですが、サポート部は簡単に取り除けました
これなら、自動でやらせたほうが良さそうです。
それに、間引き処理もいらなそうですね~

f:id:kazuban:20180326093202p:plain左右とも、自動サポートでプリントしてみました。
スライサーが粗くしてくれるのが良くわかります。
取り外しも簡単でした。

f:id:kazuban:20180326093332p:plain上は、左右とも、自動。
下は、半分自動で、半分手動。
いずれも、面は荒れていますが、ほとんど、変わりません。
これなら、特別な場合を除いて【ラインの自動サポート】でいけそうです。

ためしに、球も自動でやってみる

これなら、球でもいけそうです。

f:id:kazuban:20180326093837p:plain
実際に、印刷してみました。

f:id:kazuban:20180326094005p:plain
ちゃんとテーブルにも張り付いて、プリントできました。
他のソフトウェアではやった事ないので、分かりませんが、「PlashPrint」結構よくできていますね
使い込んでいくと、いろいろ足りない機能もあるかもしれませんが、入門者が使うには、いいソフトだと思います。

今回の実験でわかった事

  • 横穴や四角穴。閉じた形状で30mmぐらいであればサポート不要
  • 円柱を横倒しにした形状もサポートなしでOK
  • 片持ち形状の場合は、サポートは必要だが、自動サポートで対応できる
  • 球体は設置面積が少なく、サポートなしでは、テーブルに貼り付けないが、こちらも自動サポートで対応できる
  • 「FlashPrint」の場合、幾何学的な基本形状の場合、自動サポートを使用する場合【枝】よりも【ライン】のほうが、使いやすい。

こんな感じでしょうか?
雰囲気的に、アンダー部がある形状の場合、サポートの方法で悩んだりしていましたが、ソフトウェアもかなりよく出来ているので、かなり自動でいけそうです。
そうなると、印刷方向も、アンダーをあまり気にしなくてもよくなってかなり自由度が出てきます。
また、いろいろ作る楽しみがでてきました。