のりーのアトリエ

家具屋・FP。思いついたことをつらつらと綴っています。主にfusion360のパラメトリックモデリングについて、ずっと書き続けます

パラメトリックモデリング基礎4ー丁番の例

パラメトリックモデリングの丁番編です。

 

そうか~こんな使い方もあるんだな。って感じで思っていただけたらなって思います。あくまで2D的に使っているので、もっともっとファジーに考える事が出来たらさらに広がりがあるのではと思います。

 

丁番とは・・・(業界ではちょうばん。ちょうつがいとも)

f:id:sanyo-san:20190519134500p:plain

これです。皆さんの家の家具に扉があったら見てみてください。きっとあります。

f:id:sanyo-san:20190519134832p:plain

当社では丁番も一緒に動かすといちいち重いので丁番そのものは動かないです・・・手抜きです。

 

さてこの丁番。ガラス用や厚い扉用、重い扉、等々色々あるんですが、さらに3種類あります。

 

インセット、アウトセット、ハーフと。

上の画像はアウトセットになります。

横の側板を隠すように扉が前に出ています。

 

f:id:sanyo-san:20190519135751p:plain

f:id:sanyo-san:20190519135828p:plain

もう2種類は、アウトセット。側板よりも扉がめり込んでる感じのもの。

ハーフは、BOXの中に立板があり、右左両方に扉がある場合に使います。

 

日本語で説明出来ないんですが、丁番には3種類あるよ!くらいで覚えていただければいいかと思います・・・

 

で、カグメイクという自作のプログラムでは、この3種類を全部、別々で作っておりました。上の画像で言えば、扉が4枚あって、それぞれ2個ずつなので、アウトセット4つ、ハーフ4つのコンポーネントをinsert。みたいな。めんどいですよね。

 

で、作ったのがこちら

 

f:id:sanyo-san:20190519134500p:plain

 

 

・・・・さっきの画像を再利用しただけです・・・

 

なんてこたないんですが・・・

f:id:sanyo-san:20190519140147p:plain

パラメータはこんな感じ

WCL,HCL,DCLは、社内ルールというか勝手に自作したパラメータです。簡単に言うと、X,Y,Zです。原点から(45.5,-103,-426)の部分にあるって感じです。42センチの奥行の家具の扉用の丁番の設定なんですかね。

 

で、LRです。0か180かの情報が飛んでくるようになってます。1にしますね。単位はdeg(角度)

f:id:sanyo-san:20190519140421p:plain

こんな感じです。右側開く扉と左側に開くときで異なりますので、両方一発で出来るようになってます。

 

次は分かりにくいかもしれませんが、Varです。先ほどの、インセット、アウトセットを変えられるようになってます。

0がアウトセット、1がハーフ、2がインセットです。

f:id:sanyo-san:20190519140613p:plain

あまりに微妙である・・・わかりますかね?丸いカップの後ろのバーが、少しくびれてます。さらにインセット。2にしてみます

 

f:id:sanyo-san:20190519140735p:plain

 

これはさすがにわかりますかね?相当くねっとしてますね。

どのように作っているかは次回の記事で・・・

エクセルを使い倒す

プログラマの人からすれば、「ぷっ」て感じかもしれませんが、自分はプログラミング出来ませんでしたので、ずーっとエクセルが友達でした。

なかなか出来ない事も多いですが、中小企業が化けるには十分なツール。そもそも、プログラマに発注をどうやってやればいいかわかんないので、どうしようもなかったんです・・・

 

というわけで、カグメイクという家具設計のプログラムを当初エクセルのみ、その後VBAで作って以後は、色々な事をやってきました。「家具の3D情報があるということは????」というものばかりです。

全て、著者のりーの人件費のみで、0円で作ってます。

もちろん、作る時間があるなら基幹システム買ったり、色んなプログラム使えばいいじゃねーか、って事はあると思いますが、無いし、買っても全て社員が使ってくれなくて、しかもいちいちすげー炎上するので、お金がもりもり減るしモチベーション下がるしで、全然ダメでした。

 

商品データベース作成

家具のモデリングだけしてたんですが、うっかり顧客名や配送先、納期も入れたらただのデータベースじゃねーか。という事で作成しました。それまで??紙ですよ紙。ヤギか弊社か、ってくらい紙が大好きな社員が多かったんで、お客さんから「3年前に受注したお客さんから再発注です。同じ色で」と言われたら毎回家探しが始まります。1時間後に、「わかりませんでした」「ありましたけど色は念のため見本の板を下さい」という返答してました。アゴが外れそうです。年間千アイテム作ってるのに・・・「暖かい時期だった気がする」というすごい情報源から書類の山を探すわけです。素敵。

「めんどいから商品ごとにナンバリングして棚に並べます」と宣言したら、「みんなで手伝う」「何されるかわからん」とか言って相変わらず5時間決まらない会議をするので、設計社員を無視して、事務員にタックシールを作ってもらい、1年分をその日のうちにファイリングして棚に並べました。次の日から、紙を探さなくなりました。一年間、何十時間探してたんだろう。無いから間隔で再製作して色がやっぱり違う、とかすごい技も繰り出してました。ええっ。インテリアショップにも記録無いしこっちにもないから、「とりあえず納期があるんで進めて下さい」とか。ええっっっ!!

 

日本人は、物を探す時間を移動時間と待ち時間でほとんどの時間を使っている。と、何かの本で見たことがありますが、サービス業の当時は考えられませんでしたが、目の当たりにしました。

 

Trello

工程管理をトレロで行う事にしました。

それまでは、工程管理してませんでした。えっ!!って思ってましたが、してる所はすっごく頑張ってますが、してないところはほんと、目視やノート、伝言ゲームの所が沢山。

と言っても、トレロに登録してね♪って言っても誰もやってくんないので、見積・受注してモデリングしたら勝手にトレロに情報が飛ぶようにしました。おかげで、社員に気づかれずにトレロが動くようになりました。その後、そのトレロにtodo(発注・納品確認)やリマインド機能を追加し、また、現場がどれくらいのスピードで板を生産出来ているのか、や、加工してるのかなどが分析出来るようになりました。

お客さんから「納期に間に合うように作られてる?」とか、「あの部分の構造の写真もらえる?」なんて事を聞かれた時、当社は奥行が60mあって1,2階なので、毎日毎日、板の中から家具を探してましたがTrelloのおかげでそんな事がなくなりました。これも一日数時間。

 

発注プログラム

うちの会社、材料の発注は2DCADでやってました・・・

図面があるから、そのままCADのテンプレの部分に扉の部分の2D貼り付けて印刷してFAX。おそっ!

あまりに遅いんですが、CADはむっちゃ早いのに、エクセルを普通に使える社員が居なくて、というかアカウントが無くて入社して人数分のエクセルを買いました。。。

その後、僕がエクセルバカなのでみんな徐々に使えるようになって、カグメイクから飛ばす金具リスト・板リストから発注をするようになりました。これから、注文したらそのままTrelloの1~31のリストに材料到着日の一覧が出るようにするようにしてます。良く考えたら、材料を発注した設計社員は納期が分ってる(管理出来てないけど)けど、現場の人は、ちっちぇー図面に書かれてるものを見れば載ってない事はないけど、50個も次々流れて来るから見てる暇などなく、目の前にある家具の金具の納期なんて全く知らないわけです。現場から電話がかかってきて「〇〇邸の扉の金具いつ入るの?」と言われ、紙探しし、「あ、来てない」と言い、「はいってないですけど」と業者に言ったら、「届いてませんけど」みたいなやり取りが結構見られました。設計は現場の進行状況など見てる暇なく、現場は設計の状況を知らなかったんです・・・

現場の人に自動で納期が流れるようになって、設計は発注と納期通りの納品を担当して、現場は予定より早く到着しそうな金具が当日や直前到着予定だったら、いち早く金具やさんに連絡するよう設計に言ってくれるようになりました。納期を大幅に短縮出来ました。

 

続く

fusion360のアプリその2・・・しょぼいアプリ群

前回で、カグメイクというものを作ったね。って話をしました。そのうち紹介したいと思いますが、そのプログラムを作ったけどむしろ遅くなるというびっくり事件が起き、その後、黙ってみていたわけではなく色々やりました。

 

ただ、一番効果が高かったのは、「しょぼいアプリ」でした。

 

fusion360では、自作アドインを作る事が出来ます。数か月、pythonというプログラム言語を勉強して、しょぼいものから(というかしょぼいものしか作れない)作るようになりました。

以下、紹介

 

AnimationOnOff・・・アニメーション画面に切り替えて、モデリング空間に戻って来るアプリ。

「え?そんなもんなんでいるの?」と僕も思いますが、どうも、アニメーションに切り替えてモデリングに戻ってくる事で、2D作成の時に何かが追加されるそうです(あんまり詳しくない)。ただ、それを作った時の社員の反応が異常に良いわけです。

 

え?なんで?君関係ないやん。って社員も喜んでます。「めっちゃ使ってます」と。

 

いや、めっちゃ使うもんじゃないでしょ。モデリングしたもの1つにつき一回きりでしょ。と思ったらそれが違った。

f:id:sanyo-san:20190518235738p:plain

これ。

fusionの保存って、いちいちversion確認ダイアログが出るんです。これがめんどい。コンポーネントが100を超えたあたりから頻繁に保存しておかないと数分巻き戻っただけで結構モチベーションが下がる。頻繁に保存したいけど、いちいちダイアログが邪魔!!

 

アドインにすると、アイコンにしてボタンを創れますよね。

 

f:id:sanyo-san:20190518235943p:plain

嬉しいのはそっちではなくて、キーボードショートカットに追加出来るんです。CTRL+Sではバージョンを聞かれるけど、このアドインの実行であればきかれない!ブラボー!

 

となったわけです。というわけで、しばらく、たかだかファイルを保存するのにいちいちモデリング→アニメーション→モデリング→保存

という無駄行動(APIだから一瞬ちらつくだけだけども)をしてました。今は保存だけのアプリ作りましたが・・・(笑

 

その後、「こーゆーのがいいかもしれないのか」という事で色々作りました。その中でいくつか紹介。

f:id:sanyo-san:20190519000452p:plain

左から二番目は、スケッチ版とオカレンス(コンポーネントみたいなもの)版がありますが、表示の電球を全部点灯と全部消灯するアドイン。

社員が色々消しながらモデリングして、最後に点灯しているのを聞き、作りました。点灯に時間使うなんてもったいない。もったいないけど、消してたら次の工程の人が「おや、棚板が無いぞ」なんて事になっておろおろする事が多かったんです。それが消えました。使用頻度めちゃ高いので、相当効率化出来てます。

その右はデフォルトですが、FileMakerアドイン。ファイル名と数値を入れたら、当社で決まったフォルダ名でフォルダを作成し、そのフォルダ名と同じファイルを作り、さらには軽くするためのパーツ事に分けてモデリングしているので、そのパーツの数分だけdoc(ファイルみたいなもの)を作ってinsertするというプログラムです。これも、docを+ボタンを押して、名前を付けて保存。を10回繰り返し、ID、顧客名、顧客番号、商品名なんて順番に手入力してたのが無くなりました。もちろん誤字もなくなり、データベースと全く同じ名前でフォルダ・ファイルが作られるようになりました。

 

下とか前とか書いてあるのが、カメラのアングルを上下左右ホームポジションと切り替えるアプリを別個に作りました。右上までマウス持っていくのがだりぃ。ShowHiddenというアプリもありますが、それもマウス持っていくのがだりぃ。って事で、キーボードショートカットでぐりぐり動かしてくれてます。意外と47インチの4Kでfusion360をいじってると、広いのはいいですが、広いから右上で真正面や真横の画面を切り替えるのがストレスになりますよね。

 

で、一番右が、コンポネントをinsertするアプリ。

カグメイクというプログラムを作ったので、数値を入力した後、コンポネント(扉、とか、BOX、とか、棚板、とか金具とか)をいちいち入れてました。それをもう、「入力してんだから自動でいいじゃん」と完成したのがこれ。一瞬で家具が出来上がります。作った感が無い。

 

表示の関係で見れないですが、

pictureというものも作りました。

写真を撮影して指定フォルダに入れるだけのものです。

ですが、作業工程に回すためにいちいちsnipping toolというwindows付属の画面キャプチャアプリを使ってたのを思えば、爆速になりました。上記のカメラツールと併せて、パシャパシャ撮って社員にクラウドを通じて勝手に出回るようにしたらめちゃ商品に関する理解が進むようになりました。

 

ちなみに今更ですが、当社は毎日、二度と同じものがない別注家具が常時50以上製造ラインを流れてます。ツイタテの向こうが全く見えない回転寿司屋さん状態でした。そら赤字になるわ。

 

他にもまだまだ、読み込みが終わったらしょうもないBEEP音が鳴るだけのアプリが異常に役立ったりというわけわからんものも多いですが、最近こういった、5分で作れるアプリにはまってます。5分で作れますが、作った瞬間から毎日10分短縮につながったりして、すげーなって思います。こんな3D家具、経理の社員が5分で作れるようになりました・・・

f:id:sanyo-san:20190519002248p:plain

 

それぞれのプログラムはめっちゃしょぼいですが、欲しいなあって思われた方は、twitterでもFBでもインスタでも、是非メッセージ下さいませ~。

fusion360のアプリ一覧

IT化その2。

 

もちろん最もパワフルで現役で活躍しているのは、家具の自動モデリングプログラム「カグメイク」です。

 

素人でも30分で家具のモデリング出来、見積や工程表もついてくる自作プログラムです。プログラミング初心者から作ってるので、処理が泣きそうなくらい遅いですが・・・(笑

 

従来のオーダー家具の設計時間、平均4.7日を30分に短縮しました。ただ、4.7日を30分に短縮したのに会社はちっとも良くなりませんでした。3Dがほぼ0になったのに、当社の設計は、2Dにそれまで以上に時間をかけるようになりました。fusion360で2D図面を必至で描いてるんです。。。

 

3Dのグリッドをつまんでは貼り付け、つまんでは貼り付け・・・恥ずかしくて人に言えない・・・

 

「2D廃止しよう」と啓蒙活動してきましたが、「何もわかってない」「あいつ頭おかしい」というLINEグループが出来上がる始末。そう。家具屋ってすっげー遅れてるんです・・・運送業者が指定された時間に来てるのにまだ塗装してるとか、指定された時間に来たけど出来てないから喫茶店に行って帰ってきたけどまだ出来そうにないから、もう一社に行ったらそっちはもっと時間かかりそう。戻って来たから出来たやつから運んでいくね。

 

くらいの勢いの事を平気で聞くような世界。。。誰に言っても、ウソでしょって言うけど、この業界では普通みたいです・・・そりゃ誰も運んでくれないわ。

 

というわけで、3Dは一瞬で出来て、2Dは今までの1.5倍の時間がかかるようになり、僕のIT化は半年以上凍結するわけでした・・・

IT化について

自社のIT化について。
とある方に相談してたら、「それをまとめなさい」と言われたので、適当にそれをまとめてみたいと思います。実際にはすっごくしょぼくて技術が要らない事を沢山やってるだけで、大したことはしてないと思います。けど、何もやってない過去の自社からすると凄い事のようなので、書いてみたいなって思います。
 
「IT化のスタンス」
 
自分のIT化のスタンスは、「タイピング、マウス操作は最後」です。若い時分は、「前岡の気持ちの悪いマウス捌きを見るオフ会」なんてものが催されるほどのハードゲーマーでした。タイピングもわけわからんくらい早いですが、出来る限りやらない方向で考えています。毎日のFBの投稿も音声入力だったりします。雑草と競争してたら寿命が先に終わるように、例えどれだけ才能があっても技術には勝てん。
 
目覚めさせてくださったのは、前にも投稿したことのある、「プログラマの三大美徳」
1.怠惰、2.短期、3.傲慢
 
1.怠慢(Laziness)
全体の労力を減らすために手間を惜しまない気質。
この気質の持ち主は、役立つプログラムを書いてみんなの苦労を減らしたり、
同じ質問に何度も答えなくてもいいように文書を書いたりする。
よって、プログラマーの第一の美徳である。
具体的なアクションとしては、自動化やDRY原則・再利用を意識してコーディングする、といった行為が該当します。
また、ドキュメントを残して同じ質疑応答を繰り返さないよう工夫する点も挙げられます。
 
複数人開発する上では特に上記のような人がいると助かります。
全体の労力を減らすことで開発速度が上がります。
 
 
2.短気(Impatience)
コンピューターが怠慢な時に感じる怒り。
この怒りの持ち主は、今ある問題に対応するプログラムにとどまらず、
今後起こりうる問題を想定したプログラムを書く。
少なくともそうしようとする。
よって、プログラマーの第二の美徳である。
今後起こりうる問題を想定したプログラムとは
・先回りをした仕組みを作る。
・要望に柔軟に答えられる作りにする。
・依存関係の小さい設計にする。
と先を見据えて保守性の高いプログラムを書くことがそうと言えるでしょう。
 
のちに機能の追加や修正を加える場合でも最小限の修正で済めばそれに越したことはないです。
 
 
3.傲慢(Hubris)
神罰が下るほどの過剰な自尊心。
または人様に対して恥ずかしくないプログラムを書き、
また保守しようとする気質。
よって、プログラマーの第三の美徳である。
 
 
広島県庁の事業を行われているスペースでなにげに立ち読みした本でこの文章を見た時に、雷に打たれたような感覚でした。以後、このことに努めています。といってもプログラマとしての自分は今は超5流です。

エクスポートするやつ

最近、社員がメキメキとレンダリングの腕を上げて、なんだかよく分からないプレッシャーにさらされてドキドキしてます。どうも、のりーです。

 

前回は、CSVファイルからパラメータを流し込む方法を書きました。

 

sanyo-san.hatenablog.com

今回は、CSVファイルをいちいち作るのはめんどいので、どこかで拾ってきたVBAを少しいじったものを公開しようと思います。

 

とはいえ、CSVに書き出すというのはかなり一般的なものなので、色々疑問点があるかもしれません。

一応、EXCELのファイルがある場所に作るようにしてあります。

 

これによって、前回言ってた、4列目から右は書いちゃだめよー。じゃなくて、6列目から書いていいよー。に変わります。ただ、5列目に何か書くと、エラーになりますので、必ず1列あけてね。メモを書いたり他の計算を入れれるのは良い事です。

 

「マクロ使った事ないよ!」という方はごめんなさい。説明してるサイトが沢山あるので、他のページを検索してくださいごめんなさい

 

参照設定も必要です。

VBAの画面の、ツールー参照設定より、Microsoft Scripting Runtime

をチェックしてください。

f:id:sanyo-san:20190426004707p:plain

 

 

Sub CSVmacro()

Application.ScreenUpdating = False
Dim csv As String
Dim line As String
csv = ""
Dim region As Range
Set region = Range("A1").CurrentRegion
Dim row As Range
For Each row In region.Rows
    If row.Columns(1) <> "" Then
        line = ""
        Dim cell As Range
        For Each cell In row.Columns
            Dim item As Variant
            item = cell.Value
            If line = "" Then
                line = item
            Else
                line = line & "," & item
            End If
        Next
        If csv = "" Then
            csv = line
        Else
            csv = csv & vbCrLf & line
        End If
    End If
Next
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim ts As TextStream
Set ts = fso.OpenTextFile(ActiveWorkbook.Path & "csv.csv", ForWriting, True)
ts.Write (csv)
ts.Close
Set ts = Nothing
Set fso = Nothing
Application.ScreenUpdating = True
End Sub

 こんな感じです。

 

ActiveWorkbook.Path & "csv.csv"の部分が、ワークブックと同じ場所にcsv.csv作るぜって意味なので、適当に変えるといいかもしれません。

私もVBAとか使った事ほとんど無かったので、よく分かってませんが、、、もしかすると、どこかネットで調べたものの方が勝手が良いかもしれません。し、

 

csv export マクロ フリー 等で検索するといろいろでてきます。是非、参考にしてみてくださいっ。

以上、エクスポートするマクロでした。

パラメトリックモデリング初級2-fusion360アドインによるcsvimport

前回は、パラメトリックモデリングするためのアドイン、Import/Export Parameters(CSV)のインストール方法について書きました。

 前回の記事

sanyo-san.hatenablog.com

 

さて今回は、CSVを実際にインポートしてみます。

f:id:sanyo-san:20190425234737p:plain

リボンの修正メニューから、パラメータを変更を選びます。

どこにでも書いてありますが・・・いつも使う場合、、、、

f:id:sanyo-san:20190425234924p:plain

ポップアップされた画面の一番右にマウスをもっていけば、・・・がタテに並んで出てきて、ツールバーにピンで固定すれば、上に鎮座してくれます。ありがたや。

なにげに、L(線)やR(四角形)等、しょっちゅう使って覚えるものを、メニューから削除してない人が多いので、覚えれたショートカットはかたっぱしから削除もいいかもしれません。うちの社員は、全部消しました。全部消したのはいいんですが、復活させようと思ったら右クリックする場所が無くて、1つ目のアイコンを呼び戻せないという大変な事になってました。バグ発見(笑

 

さて話は大幅にそれました。

 

パラメータを変更、を選びます。

f:id:sanyo-san:20190425235311p:plain

この画面ですね。

これだと分かりづらいので、何か入れてみますね。

f:id:sanyo-san:20190425235423p:plain

こんな感じです。

上の行を読み上げると・・・

名前、単位、式、値、コメントがその右にあります(消えてしまってる・・・)

です。

CSVもこの通り、、、、ではなく、名前、単位、値、コメントの順番に並べれば、アドインが読み込んでくれます。

 

このパラメータで縦横高さを3D化すると・・・

f:id:sanyo-san:20190426000921p:plainw,d,h=100,200,100の立方体になります。

CSVとは・・・Comma-Separated Values

の、略だそうです。どっかのウェブサイトからコピペしたので字がでかい。

( , )コンマで区切った値。ですね。プログラミングしてもいいんですが、そんな人はそもそもこのアドインも使わないはずなので・・・皆さんのPCにも入ってるであろう、エクセルの登場です。google spreadsheetでも結構です。

 

f:id:sanyo-san:20190425235727p:plain

白紙です。

ここに、お作法通りに書いていきます。

名前、単位、式、値

です。お約束としては・・・

・英語で書いて下さい

・単位空欄はOKです。数量等。

・値は小数点もOK。

・コメントは空欄OK

・コメントの右に要らない事書いたらストップします。あくまで4列で進めていく方がいいです。

(※重要)コメントは要らないですが、1行目だけ、文字が必要です。私はスペースをつけてます。見えないけど・・・これがないと3列の情報だから違うぜって思われるみたいです。

 

f:id:sanyo-san:20190426000837p:plain

w,d,h=500,100,100にしたいです。

f:id:sanyo-san:20190426000732p:plain

名前を付けて保存で、CSV(コンマ区切り)を選んで好きな場所に保存

 

f:id:sanyo-san:20190426001136p:plain

黄色のアイコン(CSVインポートアドイン)をクリックしてOKを押して・・・(即エンターしてます)

f:id:sanyo-san:20190426001257p:plain

こやつを選んでみると・・・

f:id:sanyo-san:20190426001324p:plain

びよーん。と伸びました。

 

パラメータでつかめるものは結構な数がCSVからの読込で変更する事が出来ます。

 

以上がアドインの使い方、でした~。

 

 

 次回は、CSVエクスポートするエクセルマクロを紹介するかもしれません。

 このブログでは全てfusion360を使用しております。他の3Dプログラムでは使えない情報かもしれません・・・