C#ATIA

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

Fusion360API

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が欲しい との事。 ボディの分割でのテストコードを作り処理自体は可能なのですが、 失敗した時の対応が難しく、結果的に断念しました。”あぁ、もう無理” と思ってい…

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

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

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

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

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

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

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

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

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

こちらを挑むことにしてみました。 Dividing mesh into hexagonal sections - Autodesk Community本音を書くと、メッシュを扱うのはFusion360ではない方が 良いような気もしてます・・・。平面でしか分割できないから不可能だな と思っていたのですが、 三角…

フェルマー螺旋

楽しそうだったので、こちらを挑戦しました。 Re: Vogel's model of Fermat's spiral? - Autodesk Community LEDの配置に使うようです。確かに放射状に配置するより詰め込めそうです。本当は視覚的に確認しながら、調整出来るようにコマンドで プレビューさ…

全てのスケッチテキストのフォントを変更する

以前、フォーラムのこちらにアクティブなドキュメントの 全てのスケッチテキストのフォントを変更するスクリプトを 作った事があります。 Solved: Re: Script to edit font across multiple sketches - Autodesk Community実は心残りな部分がありまして、変…

Dirty & Smudge

忘れそうなので覚書です。こちらのトピ見た際、親から子は見つけられるけど、子から親は難しいな と思ってました。 「ファイルが参照されているため、削除できません」の参照元を特定する方法はあるでしょうか。 - Autodesk Community・・・necolateさんの回…

パレットに苦しむ2

こちらの続きです。 パレットに苦しむ1 - C#ATIA優しいJeromeBriotさんが、もっと簡単なサンプルを作ってくれました。 理解出来ていないのですが、パクッて参考にさせてもらい この様なサンプルアドインが完成しました。python側ではこんな感じです。 # Fusi…

パレットに苦しむ1

Fusion360でコマンド類を作る際、CommandDefinitions.addButtonDefinitionで 作る方法と Fusion 360 HelpPalettes.addで作る方法があります。 Fusion 360 Help addButtonDefinitionで作る方法(以下、ベタなヤツ)は、お手軽でサンプルも 多いのですが、配置…

マテリアルのサムネイルを表示する

こちらに挑戦しました。 Accessing Appearance Thumbnails - Autodesk Community拡張子が ".zip" では無いのに、実質中身はzipファイルの物は、 世の中に沢山あります。これもそうですね。zipファイルを全て展開せずに、欲しいファイルのみ抜き出すのは、 こ…

"カスタム ポスト ライブラリ” フォルダを開く2

こちらの続きです。 "カスタム ポスト ライブラリ” フォルダを開く1 - C#ATIAこちらに添付しました。 【宣伝】カスタムポストライブラリ フォルダを開くアドイン - Autodesk CommunityMacで動くか心配。”インストールしたポストライブラリを使用” の方もフォ…

"カスタム ポスト ライブラリ” フォルダを開く1

こちらのお話です。 forums.autodesk.comVer2.0.10806になってからCAMのポスト処理の方法のデフォルトが ”NCプロジェクト” の方法に切り替わったのですが、 ”カスタム ポスト ライブラリ” へのアクセス方法が無くなったっぽい感じです。 Updateになったら追…

ユーザーパターン3

こちらの続きです。 ユーザーパターン2 - C#ATIA ・・・一カ月以上放置していたのか。こちらは諦めていません。 その為、APIフォーラムに作成したコードとドキュメント を丸ごと放り投げた上に、動画も付けて質問しました。 Re: Custom Feature API Preview …

ポリゴンの外接円や内接円2

こちらの続きです。 ポリゴンの外接円や内接円1 - C#ATIAコメント欄に記載しましたが、外部モジュールに頼らない ”polylabel” と言うものを見つけました。 GitHub - Justin-Kuehn/polylabel-py: A pure python implementation of the polylabel algorithm he…