のりーのアトリエ

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

fusion360のインプレイス編集が超絶便利でびっくりした!

youtu.be

 

fusion360ばかり使って家具屋をしております。さんよーさんです。

 

fusion360が神アップデート!と言っても3月にはされてたぽいんですが、めちゃ便利だと昨日気づきました!

 

アセンブリして作り上げてる人にはめちゃ便利です。とにかく、隣との兼ね合いがあるようなものを作っていると、ずれたり片方だけ忘れてたりします。それが全くなくなる!そして軽い!

 

是非、少ししかまだ触ってないので、まだまだ便利な方法があると思いますから、シェアしてくださると助かります!

fusion360×python APIを使って色々動かそうぜ!第8回ーコンポーネントとルートフォルダ

fusion360APIで僕が最も使う、フォルダとコンポーネントです。 うろうろうろ、と移動しているうちに上達していくと思うので、是非頑張ってみてください!

 

実際に手を動かしてみるのが一番。わからないときは、@sanyosan や、フェイスブックや動画のコメントやブログコメントなどで教えてください!なお、気づく確率はtwitterから順番に下がっていきます・・・(笑

 

動画の中で使った文字列です。いつも張り付けて使うと楽ち


fusion360×python part8 APIでのフォルダの説明と、コンポーネントの説明。15分動画です。

んです。自分なりのものを作るといいですね~。普段使ってるのはもっともっと長文です。

スニペット」機能を使ってます。

 

次回は、オカレンスをinsertする(よそからコンポネント持ってくる)をやりたいと思います!未定です!

import adsk.core, adsk.fusion,traceback,adsk.cam, csv,os,re
ui = None
app = adsk.core.Application.get()
ui = app.userInterface
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop')
root = app.data.activeProject.rootFolder.dataFolders
user = os.environ.get('USERNAME')
des = adsk.fusion.Design.cast(app.activeProduct)
rootComp = des.rootComponent
occs = des.allComponents
doc = app.documents
m = adsk.core.Matrix3D.create()
 
 

選択するボディだけを表示するfusion360アドイン。BodyOnlyOn

fusion360モデリングしている時って、「ここだけ編集したーい!」と思う事が多くありませんか?

 

BodyOnlyOnを作りました。

 

操作方法は

アドインを実行(アイコン or ショートカット)

選択したいものを選ぶ。それだけ。

デフォルトでは、アドインにアイコンが設置されます。

 

BodyOnOff(全ボディ表示)と相性ばっちりです。

 

全体ボディがあるよー

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

 

アイコン選んで、右側の板選ぶよー

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

 

側板だけになった!!

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

 

ボディオンオフで復活!

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

 

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

 

みたいな感じになります。

モデリングの時、いちいち消すのめんどくさいんですよね~。残りかすみたいなのが残るし~。 

 

 

思いつきで作ったので、今度は親コンポーネントのスケッチも表示できるようにしようかなって思ってます。

 

良かったらご利用ください。

素人のコードなので、自己責任でお願い or コード書き換えたりしてもOKです。むしろ書き換えて教えてください(汗

アイコンとアドイン設置する場所は適宜変えてください。

過去記事にアイコンとアドインのカスタマイズ方法に関してはちらりと書いてます。が、僕自身ですらどこに書いたかわかってないので、必要であれば改めて記事書きます・・・・ごめんなさい雑で。 

 

パスワードはsanyosan

 

ダウンロードはこちらから!

 

また便利っぽいアプリ作ったら公開します~。

 

 

sanyo-san.hatenablog.com

 

 

sanyo-san.hatenablog.com

 

sanyo-san.hatenablog.com

sanyo-san.hatenablog.com

 

python×fusion360 number_derumiというアドインを作ってみる。

number_derumi

 

アドインの名前も機能もいきあたりばったりで、意外と良いプログラムが出来上がりました。

いつも、ボディのサイズや場所の確認ばかりしているので、その数値をmessageboxに出します。

 

是非、動画を見て勉強してくださいね~。

ぶつぶつ言いながら作ってます。まさにいつもの職場風景。

 

どちらかというと、初心者の方に、コードを一行ずつ実行しながら進めていく様子を見ていただきたいなあと思います。1行かけたら大体いけます!

 

明日から、社員さんの反復する作業を軽減するアドインがまた一つ出来ました。

 

追記:

yとzが逆でした。

終点も追加しました。

 

ソースコード本体部分、貼っておきます。若干修正かかってます。

    app = adsk.core.Application.get()
    ui = app.userInterface
    design = adsk.fusion.Design.cast(app.activeProduct)
    try:
        filter = "Bodies"
        ent1 = ui.selectEntity("bodyをクリックしてね"filter).entity
        maxP = ent1.boundingBox.maxPoint
        minP = ent1.boundingBox.minPoint   
        ent_comp_name = ent1.parentComponent.name.split(" v")[0]
        x1= abs(round(minP.x,2)*10)
        y1= abs(round(maxP.z,2)*10)
        z1= abs(round(maxP.y,2)*10)
        x2=abs(round(maxP.x,2)*10)
        y2=abs(round(minP.z,2)*10)
        z2=abs(round(minP.y,2)*10)
        width= round(maxP.x - minP.x,2)*10
        height= round(maxP.z - minP.z,2)*10
        depth= round(maxP.y - minP.y,2)*10
        ui.messageBox("名前_{}\nwcl : {}\nhcl : {}\ndcl : {}\nwidth : {}\nheight : {}\ndepth : {}\nw2 : {}\nh2 : {}\nd2 : {}".format(ent_comp_name,x1,y1,z1,width,height,depth,x2,y2,z2))#ent + x1 + y1 + z1 +width + height + depth)
 

python×fusion360 number_derumiというアドインを作ってみる。

number_derumi

 

アドインの名前も機能もいきあたりばったりで、意外と良いプログラムが出来上がりました。

いつも、ボディのサイズや場所の確認ばかりしているので、その数値をmessageboxに出します。

 

是非、動画を見て勉強してくださいね~。

ぶつぶつ言いながら作ってます。まさにいつもの職場風景。

 

どちらかというと、初心者の方に、コードを一行ずつ実行しながら進めていく様子を見ていただきたいなあと思います。1行かけたら大体いけます!

 

追記:

yとzが逆でした。

終点も追加しました。

 

ソースコード本体部分、貼っておきます。若干修正かかってます。

    app = adsk.core.Application.get()
    ui = app.userInterface
    design = adsk.fusion.Design.cast(app.activeProduct)
    try:
        filter = "Bodies"
        ent1 = ui.selectEntity("bodyをクリックしてね"filter).entity
        maxP = ent1.boundingBox.maxPoint
        minP = ent1.boundingBox.minPoint   
        ent_comp_name = ent1.parentComponent.name.split(" v")[0]
        x1= abs(round(minP.x,2)*10)
        y1= abs(round(maxP.z,2)*10)
        z1= abs(round(maxP.y,2)*10)
        x2=abs(round(maxP.x,2)*10)
        y2=abs(round(minP.z,2)*10)
        z2=abs(round(minP.y,2)*10)
        width= round(maxP.x - minP.x,2)*10
        height= round(maxP.z - minP.z,2)*10
        depth= round(maxP.y - minP.y,2)*10
        ui.messageBox("名前_{}\nwcl : {}\nhcl : {}\ndcl : {}\nwidth : {}\nheight : {}\ndepth : {}\nw2 : {}\nh2 : {}\nd2 : {}".format(ent_comp_name,x1,y1,z1,width,height,depth,x2,y2,z2))#ent + x1 + y1 + z1 +width + height + depth)
 

python×fusion360 number_derumiというアドインを作ってみる。

number_derumi

 

アドインの名前も機能もいきあたりばったりで、意外と良いプログラムが出来上がりました。

いつも、ボディのサイズや場所の確認ばかりしているので、その数値をmessageboxに出します。

 

是非、動画を見て勉強してくださいね~。

ぶつぶつ言いながら作ってます。まさにいつもの職場風景。

 

追記:

yとzが逆でした。

終点も追加しました。

 

ソースコード本体部分、貼っておきます。若干修正かかってます。

    app = adsk.core.Application.get()
    ui = app.userInterface
    design = adsk.fusion.Design.cast(app.activeProduct)
    try:
        filter = "Bodies"
        ent1 = ui.selectEntity("bodyをクリックしてね"filter).entity
        maxP = ent1.boundingBox.maxPoint
        minP = ent1.boundingBox.minPoint   
        ent_comp_name = ent1.parentComponent.name.split(" v")[0]
        x1= abs(round(minP.x,2)*10)
        y1= abs(round(maxP.z,2)*10)
        z1= abs(round(maxP.y,2)*10)
        x2=abs(round(maxP.x,2)*10)
        y2=abs(round(minP.z,2)*10)
        z2=abs(round(minP.y,2)*10)
        width= round(maxP.x - minP.x,2)*10
        height= round(maxP.z - minP.z,2)*10
        depth= round(maxP.y - minP.y,2)*10
        ui.messageBox("名前_{}\nwcl : {}\nhcl : {}\ndcl : {}\nwidth : {}\nheight : {}\ndepth : {}\nw2 : {}\nh2 : {}\nd2 : {}".format(ent_comp_name,x1,y1,z1,width,height,depth,x2,y2,z2))#ent + x1 + y1 + z1 +width + height + depth)
 

fusion360×python 全7回の動画について

fusion360pythonで動かしたい!!!

 

僕自身もゼロからスタートでした。というか昨年の今頃はpythonも知らないし、なんならちょっと前に2回目のサブスクリプション更新したからfusion360もまだ二年だし・・・

という事で、自分が苦労したなあ!!ってところを動画にして置いておけば、ひょっとして当社の優秀な社員や、友人がpythonに目覚めて僕に利益をもたらしてくれるんじゃなかろうか!という事でyoutube動画に公開してあります。

 

動画の7話で紹介したアドインはこちら

 

password:sanyosan

です。パスワード無くても見れましたって言われましたが・・・(汗

ある程度、、、自己責任でお願いします。

 

さてそんな中で、収録した感想等・・・だって動画あるから文字要らんもんね(汗

 

アドインの使い方

1.ダウンロードする↑↑↑↑↑↑

2.アドインを新規作成する

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

 3.フォルダの場所が、アドインが入ってる場所です。コピー

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

 

3.エクスプローラに、フォルダの場所を張り付け!!

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

4.できたー!

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

5.一回、fusion360スクリプトとアドインを閉じてすぐSHIFT+Sか、スクリプトとアドインをマウスでクリック!

 

 

 

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

 

6.アドインに、BodyOnがあるな!と思ったら、起動時に実行を押して、実行!!

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

7.スクリプトと違って、何も起きません。

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

スクリプトとアドインの中に、アドインが出来上がり!!クリックしたら??

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

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

Vキーや、非表示をしたボディやコンポーネントが表示されるアプリの完成です!

 

あとは動画の通り、編集をして、ご自身が作りたいアドインを作ってください。

間違えたらまたダウンロードして1からやってみてください。そのうちわかるようになるかなあって思います。

 

注意点としては、ウィンドウズのユーザ名が日本語だとうまくいかないかもしれません。その場合は、ユーザ名をアルファベットで作り直さなきゃいけませんでした僕の場合。やり方があるかどうかを知りません・・・

アドインでいきなりやるとチェックが大変なので、scriptを作って動かしてから、アドインの中に入れた方がいいです。

 

 

以上です。

いつも行き当たりばったりの動画なので、体得出来たらいいなーくらいに思ってますので、よろしくお願いします。

 

個人的には、アドインまで頑張ってもっていければかなりモチベーションが上がります。

それと、visual studio codeの設定のところは是非、つまずかないで頑張ってください!

 


fusion360×python 第七回-アドインを作ってみようよ!

 

 

動画にいいねしていただけたら嬉しいですっ。

 


fusion360×python 第五回、サンプルプログラム「Bottle」のなんとなくの解説


fusion360×python 第六回 sample 押出について改め、sampleのプログラムのコピペ・実行。リファレンスサイト、フォーラムご紹介


fusion360×python 第4回 サンプルプログラムの解説!


fusion360 x python 第3回 プログラムを実行する準備とVScodeの日本語化。知らなかったら、ちっとも動きま編


fusion360 x python 第一回 fusion360とpythonで何が出来るんじゃろ編。


fusion360 x python 第2回 サンプルスクリプト&スクリプトとアドイン編