C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

2021-10-01から1ヶ月間の記事一覧

開発者向けアドイン2 (小さな工具箱)

こちらの続きです。 開発者向けアドイン1 - C#ATIA チョコチョコ使いながら使っていた、開発者向けのアドインを こちらで公開しました。 Fusion360_Small_Tools_for_Developers/Developers_Small_ToolKit at master · kantoku-code/Fusion360_Small_Tools_fo…

DWGファイルを開く

Fusion360でDWG開くのは、GUIなら可能です。 操作していても感じるのですが、クラウドにデータをUpする方法です。 これをAPIで行うのは出来ないと思っていました。ところがこれが可能なようです。 How to import DWG file by Fusion 360 API - Autodesk Comm…

CustomGraphicsTextの闇が深すぎる2

こちらの続きです。 CustomGraphicsTextの闇が深すぎる1 - C#ATIA結局進展せず。フォーラムに投げました。 BillBoard property(ScreenBillBoardStyle) of CustomGraphicsText - Autodesk Community答えが得られるか疑問ですが、いっぱい調べた末に質問した事…

CustomGraphicsTextの闇が深すぎる1

こちらの原因と対策を探ってます。 計測をもっと実用的にしたい2 - C#ATIA色々と悩み、思い付く事を試しつつ作ったものです。 # Fusion360API Python script import traceback import adsk.fusion import adsk.core def run(context): ui: adsk.core.UserInt…

計測をもっと実用的にしたい2

こちらの続きです。 計測をもっと実用的にしたい1 - C#ATIA矢印は何とか出来ました・・・寸法値の表示で悩んでいます。 緑はFusion360の計測です。僕が作ったのは赤の方。 文字が思っているところに表示されないんです。困ったな。

計測をもっと実用的にしたい1

こちらに記載した内容です。 計測で最短距離を取得 - Autodesk Community不満に感じているのが僕だけじゃなかった事に安心しました。 これを投げるきっかけはこちらです。 Solved: Measure minimum distance between two parallel faces - Autodesk Communit…

nonlocal

Fusion360APIでPythonを触るようになったのですが、 実はスコープについては未だに自信がない・・・。"nonlocal" 知りませんでした。 Pythonのクロージャについて - Qiitaそもそも、globalを書かなくてもアクセス出来たりするところも 何となく違和感ある。…

開発者向けアドイン1

昨日記載した、開発者向けアドインのUI 劇的にセンスが無い。センスが欲しい。 赤印は開いているドキュメントを全て保存せずに終了します。 こちらの"全て閉じる"コマンドを移植。 GitHub - kantoku-code/Fusion360-CSSPP: Fusion360緑印はコマンドIDの垂れ…

TextCommandsパレットをクリアする

Fusion360APIの開発者向け(要は僕用)のアドインを練習がてら作成中です。前から、テキストコマンドのパレットをAPIでクリアしたいと思っていました。 こちらの "Window.Clear" がそうなんです。 Fusion360_Small_Tools_for_Developers/TextCommands_txt_Ver2…

メッシュの六角形分割に挑む12

こちらの続きです。 メッシュの六角形分割に挑む11 - C#ATIA色々な事をすっ飛ばしていますが、それなりに動くものをこちらに 添付しました。 Solved: Re: Dividing mesh into hexagonal sections - Autodesk Community本当は操作性が悪くならないように、ダ…

Fusion360APIのVecter3Dの外積を確認2

こちらの続きです。 Fusion360APIのVecter3Dの外積を確認1 - C#ATIA もう一つ違う方法で確認する事にしました。適当なボディをクリックすると慣性モーメントを利用して、 重心やら軸やらを取得して、そこからマトリックスを作成し 可視化しました。 # Fusion…

Fusion360APIのVecter3Dの外積を確認1

こちらを確認! メッシュの六角形分割に挑む11 - C#ATIA外積を視覚的に確認したいのでテストしました。 # Fusion360API Python script import traceback import adsk.fusion import adsk.core def run(context): ui: adsk.core.UserInterface = None try: ap…

メッシュの六角形分割に挑む11

こちらの続きです。 メッシュの六角形分割に挑む10 - C#ATIA六角柱を配置する為の中心点を求めているのですが、進まなく なってます・・・。ベクトルやらマトリックスの数学的な部分で。 メッシュボディに対して、バウンダリボックスの取得は以前作ったもの…

メッシュの六角形分割に挑む10

こちらの続きです。 メッシュの六角形分割に挑む9 - C#ATIA六角柱をBRepBodyで作成します。 後の事を考慮して任意の位置に任意のサイズで作ります。 # Fusion360API Python script import traceback import adsk.fusion import adsk.core import math def ru…

メッシュの六角形分割に挑む9

こちらの続きです。 メッシュの六角形分割に挑む8 - C#ATIA 何時まで続くのか・・・。新たな作成に欠かせない、メッシュの結合です。 以前の結合は、結合でしたが今度は交差です。 # Fusion360API Python script import traceback import adsk.fusion import…

メッシュの六角形分割に挑む8

こちらの続きです。 メッシュの六角形分割に挑む7 - C#ATIAMeshBodyの移動(Translate)が無いので、そちらを作成しました。 # Fusion360API Python script import traceback import adsk.fusion import adsk.core def meshTranslateBy( mesh: adsk.fusion.Mes…

メッシュの六角形分割に挑む7

こちらの続きです。 メッシュの六角形分割に挑む6 - C#ATIA内容が薄いまま続けます。 六角柱MeshBodyが必要になります。STLフォーマット調べて作る方法も あるかもしれませんが、サイズ変更も必要な為BRepBodyをMeshBodyへ 変換したいところです。これもAPI…

メッシュの六角形分割に挑む6

こちらの続きです。 メッシュの六角形分割に挑む5 - C#ATIA質問者さんから、閉じたMeshBodyが欲しい との事。 ボディの分割でのテストコードを作り処理自体は可能なのですが、 失敗した時の対応が難しく、結果的に断念しました。”あぁ、もう無理” と思ってい…

工具番号の重複をチェックする

何のお話なのかと言うと、Fusion360 CAMです。こんな感じで異なる工具で同一の工具番号(Tコード)をしている場合、 ほぼ確実にオシャカになってしまいます。 (幸運だと未仕上がり状態で終わってます) PowerMillは、この工具番号の重複をチェックをポスト処…

メッシュの六角形分割に挑む5

こちらの続きです。 メッシュの六角形分割に挑む4 - C#ATIA行き詰まりを感じたのですが、とりあえず今のところ処理出来ている 部分だけを組み合わせて、動画にしました。動画のタイトルが六角形分割ですが、実際は三角形分割です・・・。単に僕のモチベーシ…

メッシュの六角形分割に挑む4

こちらの続きです。 メッシュの六角形分割に挑む3 - C#ATIA今日は順調に進んでます。 "大量に平面を作らなきゃだめだな" と思っていたのですが、 平面切断にはX方向のオフセットとYZ軸の回転があり、これを 利用すると一枚の平面だけ作れば良いこと気が付き…

メッシュの六角形分割に挑む3

立て続けですが、こちらの続きです。 メッシュの六角形分割に挑む2 - C#ATIA前回の物よりこちらを先に取り組んでいたのですが、悩みまくりました。通常のボディは大まかな大きさを把握する為のBoundingBoxが簡単に 取得出来るのですが、メッシュボディは出来…

メッシュの六角形分割に挑む2

こちらの続きです。 メッシュの六角形分割に挑む1 - C#ATIA前回 "平面切断は何とかなる" と書きましたが苦労しました。動画の頃とテキストコマンドがかなり違っており、途中であきらめようかと すら思いましたが、何とか出来ました。 def meshPlaneCut( mesh…