2018年10月11日木曜日

Ubuntu 18.04 に WPS Office をインストール

以前インストールしたときはなんの問題もなくさっくり入ったのですが、アップデートで起動しなくなった Ubuntu をクリーンインストール後、再インストールすると言語設定に英語と中国語しか出てきませんでした。いろいろ調べてうまく行ったので備忘録です。

インストール


下記のページよりダウンロード後インストール
Downloads - WPS Office Community

日本語化


$ git clone git://github.com/wps-community/wps_i18n.git
$ sudo apt install libqt4-dev
$ cd wps_i18n/ja_JP
このままでも使えるのですがタイトルが Kingsoft xxxx 2013 となっているのでこれを WPS に変更します。
$ grep -Erl "Kingsoft.*2013" ./

上記の grep で「Kingsoft xxxx 2013」となっている部分が見つかるので vi などを使って修正する(タイトルが違っていても気にならない方はそのままでOK)

私は下記の3ファイルを修正しました。
  1. ./ts/etresource.ts
  2. ./ts/wppresource.ts
  3. ./ts/wpsresource.ts
$ sudo make install

起動時にフォントが見つからないと警告が出る


単なる警告なので無視しても大丈夫ですが毎回うるさいのでフォントをインストールします。
git clone https://github.com/iamdh4/ttf-wps-fonts.git
cd ttf-wps-fonts
sudo ./install.sh

下記のフォントがインストールされます。
$ ll /usr/share/fonts/wps-fonts/
合計 408K
-rw-r--r-- 1 root root 119K 10月 11 11:16 WEBDINGS.TTF
-rw-r--r-- 1 root root 65K 10月 11 11:16 WINGDNG2.ttf
-rw-r--r-- 1 root root 35K 10月 11 11:16 WINGDNG3.ttf
-rw-r--r-- 1 root root 27K 10月 11 11:16 mtextra.ttf
-rw-r--r-- 1 root root 69K 10月 11 11:16 symbol.ttf
-rw-r--r-- 1 root root 82K 10月 11 11:16 wingding.ttf

2018年10月5日金曜日

ANYCUBIC I3 MEGA フニャフニャ事件

「酔いどれプログラマーの不定期日記」と称しながら日記らしい記述がないですw

今回も日記というよりは顛末記。トラブルが別のトラブルを呼び、その修理対応でさらに別のトラブルを引き起こすということを繰り返して2週間ほど悩みまくったのでその次第を記します。

フィラメントが折れる


最初のトラブルは ABS フィラメントに変えたときに発生しました。ABS は難しいと聞いていたので PLA を使っていました。PETG が ABS と PLA のいいとこ取りみたいなことが書かれているのを見て試してみたのですが、糸引きが激しくサポートも取りづらかったのでお蔵入り。

いま、めったに使わない大型バイクとキャンピングトレーラーのバッテリーを維持するため 13.6V/1Aで充電し続ける細流バッテリー充電器を作っていまして、それのケースを PLA で作ったところ面取りがうまくゆかない><;ヤスリをかけても粉にならずに残ってしまうんです。

そこで、ABS を試してみるかと購入、寝ている間に印刷させたところ 1.5 センチ位しか印刷されていない!しかし崩壊したときのようなマリモができていない???なんだ?と思いエクストルーダーを見るとフィラメントがポッキリ折れている><;「あらら」なんて気楽に考えていたのですがこれがトラブル開始の合図でした。

折れたフィラメントを引き抜き再度設定、filament in では問題なく吐出してたのでノズルの詰まりはないと確認。230℃で印刷したのでちと温度が低かったかな?と 250℃に変更。しかし、また、ほぼ同じ位置でフィラメントが折れる><;

う〜ん何が悪いのだろ?ふと思ったのは  ANYCUBIC I3 MEGA はフィラメントをしたから吸い込むようになっているので本体と同じ高さにフィラメントホルダーを置くとどうしても斜めに吸い込む形になってしまいます。そこに無理があってフィラメントが折れるのか?早速、本体をラックの端に置き床にフィラメントホルダーをおいてフィラメントが垂直に吸い込まれるようにしてみました。結果は効果なし、またまた同じような位置でフィラメントが折れます。

う〜ん、困った。なんてここでもまだのんきに構えていたのですが、折れたフィラメントを抜き取ろうとしたところ短い切れ端しか出てこない!ゲゲッ!チューブの中にフィラメントが残ってしまった!これを抜かないことには何もできないじゃないか!

幸いプリントヘッドASSY がおまけで付いてきたのでこのチューブに交換しよう。ん、エクストルーダー側の(のちにワンタッチ継手という物だということ知る)金属製のネジが付属していません。なんとかこれをチューブから外そうとしたのですがチューブに噛み付いているようで抜けない><;ちと強引に抜いてやったのが失敗でした。組み付けて印刷しようとするとチューブが抜けてしまってフィラメントが入っていきません><;

この金属のネジを手に入れなければならないのでネットで調べてみると、ワンタッチ継手というもので抜く際には上部のプラスチックを押し込んでやらないといけないらしい><;更に引き抜く方向に力をかけるとチューブに爪が食い込んで抜けなくなるらしい!?って、フィラメントをエクストルーダーで押し込んでいるわけだから印刷中は常に引き抜く方向に力がかかっているわけで基本的に抜くことはできないものなのね…

いずれにしてもこのネジがないとどうにもならないのでアマゾンで検索、ワンタッチ継手2個付きのチューブが見つかったの早速注文、プライムなので1日で来るらしい。翌日、このワンタッチ継ぎ手を使って組み立て ました。ABS はもう懲りたので封印し PLA に戻しました。また、念の為、ノズルも新品に交換しました。

印刷物の硬度が低くフニャフニャ

早速印刷、よしちゃんと印刷できるじゃないか\(^_^)/と喜んだのもつかの間、印刷物に力をかけるとなんか柔らかい???壁が2層に分離してしまう…何だこりゃ!

まずは、インフィルの問題かと思い 100% にするも効果はありません。考えてみれば外壁の厚さは 1.5mm で設定の壁の厚さは 1.2mm なのでインフィルにはならないw

そこで外壁の厚さを 2mm に変更して印刷すると壁が3層に分離してしまいます…

次に考えられるのは温度の問題です。とりあえず 200℃から 230℃に上げて印刷してみたところだいぶ固くなりました。 250℃にすると以前と遜色ない強度が出ました。でも、そうすると今度はサポートがガッチリ張り付いてしまって取り除きにくい><;困った…

とりあえずサポートに問い合わせてみるかと思い、説明用に小さな箱を 200℃ 〜 250℃まで 10℃刻みで印刷して写真を取りました。その際 200℃〜230℃まではエクストルーダーから「カッ」と時々音がすることに気づいたのですが、この時点では別のことに気が向いていてあまり意識しませんでした。

この時点での私の予想は、温度が上がれば印刷できるので温度センサーが壊れたのではないかということで、取り敢えず現状とその説明の写真及びムービーをサポートに送りました。

翌日には返事があり、エクストルーダのネジの緩み、ノズルの詰まり、テフロンチューブをチェックしろとのことでした。ノズルは交換したとメールに書いたのに…ここのサポートってほんと送られてきたメール読んでないんだよなぁ。

とりあえず、ネジの増し締めとチェックを済ませて印刷するも状況を変わらずで、その旨を返信しました。更に返信がありエクストルーダーのムービーを送れとのことだったので、撮影して送りました。更に返信があり、サーミスタは正確に実際の温度を示しているかとの質問…それを計る手段を私は持ちません…正直なところ Pxmarion のトラブルのときはこういったメールを送ると疑わしい部品をすぐに送ってくれたのでそれを期待する気持ちもあったのですが、ANYCUBIC はそういうことはしないらしいです…とするとメールによるサポートはこの辺が限界かな?

ということで予備のプリントヘッドASSY からサーミスタとカートリッジヒーターを取り外して交換しましたが状態変わらず…

エクストルーダーギア交換


そういえばサポートはエクストルーダーだと言っていたなぁと思いだしまして、さらにネジの増し締めをしてみても効果なし、とりあえずバラしてみるかとギアを外してみると…

あちゃ〜、ギアの歯にはフィラメントがつまり、歯そのものも鈍ってしまっている。こりゃ滑って駄目だ。とりあえず、精密ドライバーを使って歯の間に詰まったフィラメントを取り除き、なまった歯も砥いでやる。これでどうだ!印刷してみると…

やった、200℃印刷できる!治った〜と思ったのもつかの間、その日、寝る前に印刷開始して翌朝見るとフニャフニャ><;ギアを見るとなまってる…アマゾンにギアを注文しました。

フィラメントが出ない!


あれ?フィラメントが出てこない!エクストルーダーはどんどん送り込んでいるのにフィラメントがどこかに消えてしまう…ノズルが詰まったか?ホットエンドからチューブとノズルを取り外し、針金を上から突っ込んでみても入りません。下から精密ドライバーを突っ込むとフィラメントが付いてきます。ホットエンドのヒーターをオンにし 230℃にあたためて下から精密ドライバーを突っ込み上から針金が貫通するまでフィラメントを絡め取りました。

しかし、組み立てて印刷しても現象は変わらずでした…

この時点でトラブル発生から8日経過、毎夜毎夜の修理に嫌気が差してきて買い換えようかとも考えたのですが、これ購入したの7月末。まだ3ヶ月しか遊んでないじゃん。ということで買い替えは思いとどまり、プリントヘッドASSYをまるごと交換することにしました。付属のものは諸々の部品を取ってしまったのでアマゾンで注文、プライムだけど残念ながら到着は翌々日…で、まるごと交換してみると…

復活\(^_^)/ 正常に印刷できるようになりました。

なんか、10日ほど3Dプリンターが使えない日々を過ごして感じたのは、私、3Dプリンター中毒になっているのかもしれません^^;

2018年10月2日火曜日

電卓キーで Gnome 電卓を起動

Ubuntu 18.04 をクリーンインストールしたら電卓キーで電卓が起動しなくなった><;
なんでか理由はわからないけど不便なので設定変更。

  1.  「設定」アプリ
  2.  「デバイス」左ペイン
  3.  「キーボード」左ペイン
  4.  「+」ボタン(右ペイン一番下)
  5.  「名前」→「Gnome電卓を起動する」
  6.  「コマンド」→「gnome-calculator」
  7.  「ショートカット」→「Calculator」(電卓キーを押す)


2018年10月1日月曜日

mozc 用「カナ英辞書V2」の変換

Ubuntu にて「カタカナ英語変換」を使うにはコンパイルが必要とのことでちょっと面倒、「Google日本語入力強化辞書」というものが公開されておりこの中に入っている「カナ英辞書v2」をユーザー辞書として登録してやるのが一番かんたんなのですが、文字コードが UTF-16 LE だったり、「ゔ」が文字化けしていたりとそのまますんなり使うというわけにも行かないようです。そこでそれらを変換する PHP スクリプトを作成しました。

機能

  1. 文字コードを UTF-16 LE から UTF-8 に変換
  2. 「?」に化けた「 ゔ」を置換
  3. よみが記号や漢字などひらがな以外で始まる単語を除去
  4. よみ、単語、品詞が一致していてコメントだけが違っている単語を1つにまとめる
  5. よみの先頭に@を追加

使い方


カレントディレクトリに「カナ英辞書v2.txt」をおいて実行すると UTF-8 に変換した辞書を標準出力に出力しますのでリダイレクトして好きなファイルに保存してください。

$ php カナ英辞書v2-utf8.php > カナ英辞書v2-utf8.txt

ソース

/**
 * 使い方
 *
 * カレントディレクトリに「カナ英辞書v2.txt」をおいて実行するとUTF-8に変換した辞書を出力
 * $ php カナ英辞書v2-utf8.php > カナ英辞書v2-utf8.txt
 */

// ファイルを読み込む
$file = file_get_contents('カナ英辞書v2.txt');

// UTF-16 LE → UTF-8
$file = mb_convert_encoding($file, 'UTF-8', 'UTF-16LE');

// 文字化けした'ゔ'を修正
$file = str_replace('?', 'ゔ', $file);

// 行で分解
$lines = explode("\n", $file);

// よみ、単語、品詞が一致するものを除外して出力
$last = ['', '', '', ''];
foreach ($lines as $line) {
    $cols = explode("\t", $line);

    // ひらがな以外で始まるよみは無視
    $c = mb_substr($cols[0], 0, 1);
    if (($c < 'あ') || ($c > 'ん')) {
        continue;
    }

    // 前回の出力と一致しているか調べる
    for ($i = 0; $i <= 2; ++ $i) {
        if ($last[$i] != $cols[$i]) {
            break;
        }
    }
    if ($i > 2) {
        // よみ、単語、品詞が一致しているので無視
        continue;
    }
    $last = $cols;

    echo "@{$cols[0]}\t{$cols[1]}\t{$cols[2]}\t{$cols[3]}\n";
}