2016年11月26日土曜日

WEBサイトの移行のお手伝いとか。

そう、ここ一年WordPressによるECサイトをプラグインを使って構築、
さらに、自前のAPIを呼ぶカスタムのプラグインを作成、、
あぁー、結構面白いな。これ。
なんていう今日この頃、
建築構造設計事務所時代【1986〜1989(勤め),1990〜1999(自営)】の先輩のサイトを、
WordPressで構築。

『そんなの、屋上の工作物の梁を一本計算するようなものですよ!』

なんてカッコつけてみたものの、
いや、確かに、自分が管理してるサーバだったら、あながちウソでもないのですが、、
今回はNiftyのサーバに手こずり、、、
いや、それは今回の話の主題ではなくて。

当然ながら、旧サイトからの移行で記事をひとつひとつ移行していったわけですが、、
ちょっと感慨深い。知らない単語も数多い。

『私もこっち(建築構造設計)の世界にずっといたら、今頃どうしてたんだろ。。。』

なんて考えたりとかしてたわけです。
確かに、バブル崩壊後数年がたって、プログラミングが好きだったこともあり、
ITの世界にきて早17年。もう、建築構造設計時代の14年を超え、こっちの方が長い。

『年をかさねてな、、頭も白くなってきてな、、それではじめてやっといい仕事ができるようになるんだよ!』(by高○ ○蘭さん@N設計)

なんて言われたのは20代のころ。
※内容的に正しいとは思ってないけど、、気持ちはちょっとわかる。『根拠のない自信』で仕事をしていたバブル直撃アラサー時代の頃を考えるとね。^^;

今頃は、、ちょっとは偉そうに、建築を語っていたのかもしれないと思うと、
それはそれで別の人生だったかもしれない。
あ、いや、別に、、後悔とかは全然ない。

今では、、、
50半ばにしてIoTを語り、、
パケットキャプチャして何年かぶりに16進ダンプをとるようなベタな作業もこなし、、、
PHPからC++からdotNetからjavascriptからHTMLからWindowsアプリからスマフォアプリから、、
ネットワークから、IoTから、、日本語組版から、画像加工から、ECサイトとOne2Oneの構築から、、PICからArduinoから、、、、、
うん。なんかそれなりのフルスタックエンジニアになってるわ。私。

でもどうなんだろ。最近では、昔に比べて新しい技術への対応も苦労するようになってきた。
そりゃ20代に比べて対応力もタイピング速度も落ちてるにきまってる。
ささやかな閉塞感もある。
でもまだ、趣味の柔道、柔術で若者に手加減されたりすることもなく、まだまだイける。

ということで、ちょっと新規一転、全く違うことを始めました。
仕事とは全く関係ないけど、営業とかには役立つかもしれないな。
まだほんの2週間、どこまで続けられるか、どんな結果が出るのかはわかりません。
これ以上趣味的なものを増やしてどうする!的なこともありますが、、、
きっと、やり残した何かをとりにいきたかったのかもなーー。
、、、こんなこと言ってるあたりが、年取った証拠だな(>_<)






2016年9月4日日曜日

SmartLaser用のアプリを0から開発する。その13グラデに対応したらいいことあるかな?(o^^o)

画像のモノクロ出力部分がちょっとだけひと段落ですが、
実はやってみたいことがありまして^^;
これは高〜いレーザー加工器だとたぶんできると思うのです。とろてっくとか。
でも、VLS2.3とかではできませんでした。

って、前置きはこのくらいにして、何がやりたいかというと、
『画像の濃淡によってレーザー強さを変えて、ちょっとだけ立体っぽく加工する』
というのをやってみたいのです。
これをやりたいためにアプリを書いてるようなもんです。ウソですけど^^;

要するに、、、こんな画像を準備して、、


●その1 赤アクリル板
加工結果。


断面。


スライス




●その2 材質不明不明の木材の板

加工結果


断面


スライス


できてんじゃん!
って、これは
矩形を何重にも描いてやってるだけなので、できてません(o^^o)

まぁ問題は、【この用途に耐えうる性能をSmartLaserCO2が持っているか】
ということなんですね。実は。

今更わかった感があるのですが、

【SmartLaserCO2は、切断するのはいいけれど、それ以上のことはちょっと残念な部分が多い】

ということなんですね。
メーカー側の切断サンプルはいろいろありますが、、切断以外はサルバドールさんばっかりだし。

何が違うかというと、切断はある一定以上一定以下のレーザー強さを照射すれば、
材料を切れるのですが、【キレイにラスタを彫刻】したり、【レーザー強さで深さを調整したり】
みたいなことは、レーザー出力の安定性や、機械的な問題、ステッピングモータの限界、
マシン側のソフトウェアの内容によるので、その外側のでのアプリではどうしようもなかったりする部分もあります。

でもせっかくなんで。SmartLaserCO2の限界まで使い倒すためのアプリ、
そんなモチベーションでとりあえず作っていきます。

目標は、、
【木札で龍とか蛇とかの丸みを出したい】
のです(o^^o)








SmartLaser用のアプリを0から開発する。その13グラデに対応したらいいことあるかな?(o^^o)

画像のモノクロ出力部分がちょっとだけひと段落ですが、
実はやってみたいことがありまして^^;
これは高〜いレーザー加工器だとたぶんできると思うのです。とろてっくとか。
でも、VLS2.3とかではできませんでした。

って、前置きはこのくらいにして、何がやりたいかというと、
『画像の濃淡によってレーザー強さを変えて、ちょっとだけ立体っぽく加工する』
というのをやってみたいのです。
これをやりたいためにアプリを書いてるようなもんです。ウソですけど^^;

要するに、、、こんな画像を準備して、、


●その1 赤アクリル板
加工結果。


断面。


スライス




●その2 材質不明不明の木材の板

加工結果


断面


スライス


できてんじゃん!
って、これは
矩形を何重にも描いてやってるだけなので、できてません(o^^o)

まぁ問題は、【この用途に耐えうる性能をSmartLaserCO2が持っているか】
ということなんですね。実は。

今更わかった感があるのですが、

【SmartLaserCO2は、切断するのはいいけれど、それ以上のことはちょっと残念な部分が多い】

ということなんですね。
メーカー側の切断サンプルはいろいろありますが、、切断以外はサルバドールさんばっかりだし。

何が違うかというと、切断はある一定以上一定以下のレーザー強さを照射すれば、
材料を切れるのですが、【キレイにラスタを彫刻】したり、【レーザー強さで深さを調整したり】
みたいなことは、レーザー出力の安定性や、機械的な問題、ステッピングモータの限界、
マシン側のソフトウェアの内容によるので、その外側のでのアプリではどうしようもなかったりする部分もあります。

でもせっかくなんで。SmartLaserCO2の限界まで使い倒すためのアプリ、
そんなモチベーションでとりあえず作っていきます。

目標は、、
【木札で龍とか蛇とかの丸みを出したい】
のです(o^^o)








2016年8月18日木曜日

SmartLaser用のアプリを0から開発する。その12木札を作ってみる。(o^^o) 使い方その2


SmartOutv0.1の使い方のつづきです。

●Step1 ファイルの読み込み
ファイルの読み込みは2通り。Drag&Dropか、
filenameのTextBoxのダブルクリっくしてファイルを指定することにより読み込みます。
ファイル形式は、基本的にはPNGです。
jpegとtiffも読めますが、TIFは読めない場合もあるかもしれません。


読み込んだらたぶんこんな感じになります。
さらに、ディフォルトのUNITが0.1なので、画像サイズと0.1をかけた出力サイズが表示されます。
この例だと、幅36mmになっていますね。




●Step2 サイズの指定とリサイズ
ここが実は最大のポイントです。
読み込む画像が**DPIかということは意識しません。
『この画像の巾を何ミリで出力したいのか』
ということを指定するようになっています。
その場合に、画面で【UNIT】という指定があります(ディフォルト0.1mm)
これを指定して【reSize】ボタンを押すことによって、画像そのもののピクセル数を調整します。
※ピクセル数の調整はメモリ上での問題で、ファイルを上書きしたりはしません。



※補足 UNITとは?
塗りつぶしを行う時に、実際には線の集まり(水平にハッチをかける感じ)として実行するので、
その間隔を指します。加工する素材にもよりますが、木材などは0.1mmくらいが個人的にはイイ感じです。

それでは36mmに表示されている幅を20mmに変更してみましょう。
w-h-linkにチェックをいれると、width/heightのどちらかをいれてフォーカスを移動すると、
もうひとつが計算されて表示されます。
そこでreSizeを押すと、
ピクセル表記部分も変化します。
この段階で、内部的にこのピクセル数の画像に置き換わっています。


●Step3 回転・ネガ・リフレクト
【L90】【180】【R90】ボタンは画像の回転、
【NEGA】はネガ加工、【REF.】は左右鏡像の変換を行います。
このアプリはレーザー照射を基本的には水平方向しか行わないことを考慮し、設定します。
ここでは、右に90度回転させています。



回転させた結果表示はこのようになります。



●Step4 出力の画面に移動します。
Goto Laser Page!ボタンまたは、上部のtabを『monochromeImage』タブに切り替え画面を切り替えます。


これです(o^^o)


●Step5 COMポートのサーチ
最初にCOMポートのサーチを行います。
【サーチ】を押すと、COM1〜COM10までを探索し、発見したところでとまります。
下の図では、3番が該当して表示されています。




●Step6 レーザー機器の初期化
【Laser Init】を押して初期化をします。
reset originにチェックをいれておけば、0,0の探索と設定を自動で行います。


初期化が終了するとその旨、表示されます。


●Step7 データのチェック
【CHECK!】を押してデータのチェックを行います。

チェックとは名ばかりで、内部で水平ハッチのベクトルデータを生成しています^^;
よっぽどでない限り、すぐに終了します。
出力必要時間とかが表示されますが、あてになりますせん^^;



●Step8 出力位置の指定
画像の出力位置(左上座標)を指定します。
そのまま値を入力してOKです。
【Pos Setting】を押すと怪しげな画面が出ますが、まぁやろうとしていることは
わかると思います。


●Step9 速度と強さの指定、そして実行!
SpeedとPowerを指定します。
moveSpeedはレーザーを照射しない場合の移動速度ですが、特に問題なければ、
8000とかでいいでしょう。
あとは、【laserGO!】を押せば、実行が始まります。


駆け足での最低限の説明でした。
説明してない機能もいろいろありますが、それは追って説明するつもりではいますが、
何分まだver0.1なので、ちょくちょく画面も変わるかもしれません。
そこらへんはご了承を^^;

では最後に加工結果です(o^^o)

SmartLaser用のアプリを0から開発する。その11木札を作ってみる。(o^^o) 使い方その1

まだささやかなエラーがたまに出るのですが、v0.1としての使い方を書いてみます。
で、とりあえずSmartOutという名前にしときます。
動作環境は、よくわかりませんが、、Windows7,8,10あたりで動作するのではないかと。
私は8.1ですが。
また、必要なLibrary等はたぶんありません。
RadStudioというので作ってまして、EXEのファイルサイズは大きいですが、依存関係のあるややこしそうなファイルはdependencyWalkerで調べる限りありません。

題材は木札です。木札です。
まず原稿作りからですが、、まず、アプリを起動します。
このアプリ、EXEひとつで、どっかにCOPYしてたたけばそのまま動作するという行儀のよさ。
終了時に、入力した値を保持するconfを作成しますが、必要なのはこの2つのみです。

download

ここから直接downloadできます。

ダウンロードしたファイルはZIPなので、これを解凍します。
exeひとつだけですので、どっかのフォルダにCOPYしましょう。
権限の特別な”Program Files~~”とかはやめましょう。^^;


使ってみる

●起動します
exeを起動するだけです。
上部のaboutをクリックします。


●何やら自己主張があります。
ここで【demo(PC)】に記載されてる、【http://w2p.soul-tech.jp/demo2/】をクリックします。


●こっからはブラウザ画面です。
登録してもよいのですが、めんどいので【GUEST】をクリック!(o^^o)
※downloadと同じセッションでアクセスしてたら、この画面はたぶん出ません。


●左のメニューの【千社札】をクリック!


●【06_木札】をクリック!


●なんかいろいろ出てきました。ここれは、【soul3】というのを選んでみます。
いや、別に他のでもいんですけど。。。


●何やら拡大されて表示されるので【OK】しときましょ。


●入力欄が2つあります。
ひとつが文字。
もうひとつが画像選択です。
文字は何かを入力しときましょ。ここでは【麗挫悪】としました。
画像は【select】をクリック!


●準備されている画像として、【common】を選びます。


●何やら階層をたどるといろいろあります。
ここでは【2.家紋】➡【その他】➡【masa2】を選んでみました。
masa2.。。なんでしょこれ。。巌流島系か!!??


●選択が終了したら、【RUN】をクリック!
昔のプログラムは、RUNでしたね。


●無事に出来上がりました。
【edit】とかクリックしても楽しいのですが、それは別の機会として、
【Hight quality PNG download 】を押します。ダウンロードが始まると思います。
【PNG】ボタンだと、解像度が低いものになってしまうので注意が必要です。



●さて、話はSmartOutV0.1の画面に戻り、【ImageConvert】をクリック!


●そして、さっきdonwloadしたPNGをドラッグ&ドロップします。
そう、無事に読み込まれました。


ということで、【原稿を作成して読み込ませるまで】が完了です。
(o^^o)

で、、これ、widthとかheightとか勝手にでてるけど、、DPIとかどないなってんねん!
なんていうのは、次回です。


これで直津ダウンロードです。

2016年8月5日金曜日

SmartLaser用のアプリを0から開発する。その10 減色機能を単純2値、イラスト化の他に、写真っぽいままのを追加する。


せっかく減色の話題があったので、
SmartLaserCO2出力アプリに、さっそく実装です。

読み込み


明るさ調整+コントラスト調整+エッジ強調+誤差拡散


レーザー出力前テスト。
53mm×75mmにて、、
ショートベクトル数:61696
予測レーザ加工時間:15分 27秒
※移動8000 レーザー移動1500


ショートベクトルデータのDXF抽出表示


の、拡大。


あとは、、実機でテストですね。
もしかしたら、、、バッファオーバーフローとの闘いかな^^;^^;