C#ATIA

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

Fusion360API

AngleValueCommandInputの初期値を設定する

最近はあまりFusion360を触っている暇が無かったのですが、 質問の意味が何となく分かったので、久々にAPIフォーラムの こちらを答えてみました。(現時点で質問者さんの反応なし) Moving Manipulator on selected input line - Autodesk Community恐らく、…

カメラの操作2

こちらの続きです。 カメラの操作1 - C#ATIA前回は最初と最後のみを記録して再生していましたが、 もっと多くのカメラ情報を記録し、再生出来るように ダイアログを付けてみました。"Add"ボタンをクリックした時のカメラ情報のリストに 入れます。表示されて…

カメラの操作1

ちょっと思う事があって、Fusion360のカメラをテストしました。スクリプトを実行後、2回ボディをクリックします。 ボディをクリックするものの、カメラの位置を取得するための アクションの為、深い意味はございません。最初のクリックのカメラの状態を保存…

カスタムグラフィックのホバーイベント

先日、こちらにレスしました。 Custom Graphics mouse events? - Autodesk Communityこんなのばかりで申し訳ないです・・・。予めお伝えすると、カスタムグラフィックの一番の使い道は自作コマンドの プレビュー表示だろうと思っています。 カスタムグラフィ…

名前付きビューのクリックイベント

先日、こちらにレスしましたので転載です。Re: Is there a better way to detect when user picks a named view? - Autodesk Community名前付きビューはこちらの機能です。英語でごめん・・・ クリックすると設定時の画面の状態(視点や方向や倍率等)を再現す…

開発者向けアドイン15

こちらの続きです。 開発者向けアドイン14 - C#ATIA先日Fusion360のUpdateがありましたが、起動しなくなる状況になりました。 って言うのがこちらです。 Fusion360が起動しなくなる - C#ATIAどのアドインかな?と思って探した所、直ぐに犯人は分かりました。…

メッシュのテクスチャマッピング

試していないのですが、これ結構すごいと思っています。 Texture Mapping with Meshes - Autodesk CommunityFusion360APIでテクスチャを扱うメソッド類は、かなり初期から あったのですが、実際は機能していませんでした。 かなり以前に試した事があったので…

プロファイルの入れ子問題4

こちらの続きです。 プロファイルの入れ子問題3 - C#ATIA今回はちょっと説明を。 最初に感じたのは、プロファイルが1個置きに必要だと感じました。 仮に配列の様にプロファイルを並べる事が出来れば、必要となる プロファイルは奇数番目となる・・・どうやっ…

プロファイルの入れ子問題3

こちらの続きです。 プロファイルの入れ子問題2 - C#ATIA上手く行かない原因が分かりました。詳しく説明すると 途中で睡魔に負けそうなのでサラっと記載しておきますが、 findBRepUsingRayメソッドは1枚の面に対しては1度しか Hitしていないようです。それが…

プロファイルの入れ子問題2

こちらの続きです。 プロファイルの入れ子問題1 - C#ATIA えーまだ解決していないのですが、原因調査中です。実は、プロファイル上に点を配置して処理を行っているのですが、 その点がプロファイルの境界上に作成されているものが失敗の ではないかと疑って…

プロファイルの入れ子問題1

こちらで面白そうで難しい問題を見つけました。 Extrude DXF which has a lot of details - Autodesk Community ChatGPTで書かせたスクリプトが上手く行かない との事です。 イヤイヤ、結構書けていると思いますよ。(記載のコードは未実行)結論としては、押…

APIで干渉チェックする

Fusion360のCAMは昨年の4月に桁違いに強化され、今では自動化するための 機能が十分備わった状態になっていると思ってます。そんな中、干渉チェックをAPIで行いたい とちょっと面白そうなテーマを 見つけました。CAMソフトによっては、ツールパスを計算した…

自身のフォルダパス

pythonで実行中のファイルのフォルダパスが欲しい時が結構あります。 設定ファイルや一時的なファイルを保管したり等です。"os.getcwd()"で取得する方法もあるのですが、個人的には ”標準モジュールでpathlibあるんだから、そっち使えよ!”派です。 (使いこ…

外周エッジを取得する

少し前ですが、こんな感じで複数の面から構成されているボディ(サーフェス) の外周の境界の線を取得したかった際に、ちょっと迷ったのでご紹介を。 CATIA V5の場合であれば、境界コマンドで簡単に作れます。 ・・・厳密に言えば、外周の境界線から線を作る…

複数のボディをカットする

ちょっとボリュームありそうだと思いつつ、こちらに挑戦しました。 Cutting multiple bodies with single tool body - Autodesk Communityボディ(ソリッド)の結合の切り取りを大量のボディで行いたいようです。 本来の機能の場合は、 赤のターゲットボディ…

Fusion360APIでnumpy

過去に何度か書いているけど、忘れる。 アドインのフォルダに入れる形で一つだけ使ったけど、Updateで今は動かない。これが一番良い方法っぽい。 (実行時にDLさせている。起動時にちょっと時間がかかるよって事らしい) Solved: Re: How to use modules lik…

表示されているボディ毎にセットアップを作る

最近はがんばってAPIフォーラムで答えています。こちらで回答したものをそのまま転載ですが、表示されている ボディ毎にセットアップとNCプログラムを作成します。 # Fusion360API Python script import traceback import adsk.core as core import adsk.fus…

Fusion360からVSCodeが起動できない時の対策

どうも、VSCodeのms_python拡張のバージョニング問題らしいの ですが、「編集」からVSCodeが起動しないっぽいです。自分は普通に起動しますが、確認してみると・・・ 結構古い。こちらに対処方法が記載されていました。 Solved: Cannot launch VSCode by "Sc…

addTransparentメソッド

少し前のUpdateでパレットを作成するメソッドにaddTransparentメソッドが 追加されていました。 Fusion Helpパレットの背景を透明に出来るようです。今までだと、ボディ上にダイアログを持ってくると、当然ボディが見えなく なります。 addTransparentメソッ…

オペレーション名に工具径を追記する

久々にAPIフォーラムの質問?要望?に挑戦してみました。最初は要望の意味が分からず・・・苦戦した上で作ったものが こちらに添付したものです。Solved: Re: fast rename dont work properly - Page 2 - Autodesk Community選択した”ドリル”(オペレーショ…

ユーザーパラメータが何に使用されているかを知る

久々にこちらを答えてみました。 Solved: Re: How can I delete a parameter? - Autodesk Community ・・・後から気が付きましたが、”興味が無い”と答えられました。で、同じ方が議論していたので、こちらも答えてみました。 Re: Is there a way to find out…

点で面に接する平面

ネタ切れですが、ムリムリ書きます。先日お答えしたこちら Solved: Can not create a plane by setByTangentAtPoint in design history - Autodesk Community"点で面に接する平面"をAPIで行った際に、履歴付きと履歴無しで 結果だ違う と言うものです。(履…

選択セットを作る

ここ数ヶ月、あまりFusion360のAPIを触っていなかったので、 意識的に触るようにしてます。・・・忘れそうなので。ちょっと前に答えたものですが、こちらのお話です。 Solved: SelectionSet.add - unable to get this working - Autodesk Community 選択セッ…

アクティブなコンフィギュレーション名

昨年の後半だったかな? Fusion360にコンフィギュレーションと言う機能が追加されました。 デモの状態の時から知っていて "おぉすごい" と思っていたのですが、 使い方を知らず・・・と言いますか、試してもいませんでした。ざっくりですが、どんな機能か?…

BrowserCommandInputへ初期値の受け渡し

久々にFusion360です。 こちらを答えてみました。 How to create a `BrowserCommandInput` and populate it with initial data from Fusion? - Autodesk Community"ダイアログを表示する時にBrowserCommandInputに初期値を渡したい” と言う質問だと受け止め…

スクリプトから別のスクリプトを呼び出したい3

こちらの続きです。 スクリプトから別のスクリプトを呼び出したい2 - C#ATIA前回の最後に "スクリプトランチャ的なアドインを試しに作成したのですが、" と記述したのですが、探したところ奇跡的に以前のものが 残っていました。色々と修正が必要だったもの…

スクリプトから別のスクリプトを呼び出したい2

やらなければならない事が有るのは承知しておりますが、 しばらく何もやっていなかったため、リハビリです。 恐らくこちらの続きです。 スクリプトから別のスクリプトを呼び出したい - C#ATIA以前行った方法は、スクリプトをモジュールとして読み込み実行し…

穴テンプレートのオペレーション部を考える2

時間が経ちましたが、こちらの続きです。 穴テンプレートのオペレーション部を考える1 - C#ATIA穴テンプレートのオペレーション部のこちら <holeData operationType="drill" toolDiameterRatio="1.000000" version="1.0"> <holeMapping> <segment index="2"/> </holeMapping> </holeData> operationType部分の文字を取得する関数を作成しました。 def get_hole_data_operation_type( ope: cam.Operati…

ボディの体積をダンプする3

こちらの続きです。 ボディの体積をダンプする2 - C#ATIA前回は単純にルートコンポーネントのボディを取得した順番に 体積をダンプしました。 目的によりますが取得した順番で処理を行うより、ソートされた 状態で処理を行った方が効率が良い場面が、結構あ…

ボディの体積をダンプする2

こちらの続きです。 ボディの体積をダンプする1 - C#ATIA比較の為に、Fusion360でボディの体積をダンプします。 # Fusion360API Python script import traceback import adsk.core as core import adsk.fusion as fusion def run(context): ui: core.UserInt…