C#ATIA

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

CATIA_V5

イナーシャの取得

イナーシャが欲しいのですが、ササっと検索してもProductばかり見つかったのですが だったのですが、サーフェスで欲しいです。結局、全部入りのサイトがありました。 Measuring Mass and Inertia | CATIA V5 Automation消えてしまうと困るので、お借りする。…

ソリッドをサーフェス化

ソリッドをサーフェス化したい場面はそれ程多くないとは 思いますが、忘れつつあるのでテストしました。 'vba Option Explicit Sub main() Dim pDoc As partDocument Set pDoc = CATIA.ActiveDocument Dim pt As Part Set pt = pDoc.Part Dim bdy As Body Se…

形状セットの深さを表示

この様な形状セットがあります。 このPart3の深さを示すための文字列を作りたいです。 こんな感じの文字列です。 Product3\Product2\Part3あぁ¥マークが変わっちゃう・・・。こんな感じにしました。 'vba Option Explicit Sub CATMain() Dim pDoc As partDo…

pycatiaを味わう6

こちらの続きです。 pycatiaを味わう5 - C#ATIA時間が無く書けなかったので、思い出しつつ書くので 間違っている可能性が有ります。can_execute関数では、アクティブなドキュメントのタイプで 実行出来ない場合をはじき出す為の関数なのですが、生憎 pycatia…

Period

また書きかけているのに放置してますね・・・。ちょっと疑問に思った事がありまして、試しました。まず、このような円や円弧をDrawで描きます。 続いてこんなマクロ(VBA)を作成しました。 'vba Option Explicit Sub CATMain() Dim sel As Variant 'Selection…

pycatiaを味わう5

こちらの続きです。 pycatiaを味わう4 - C#ATIA折角なので、既存のVBAマクロをpython化します。 CATIA_V5_SimpleMacroMenu/sample/sample_Draft_View_Lock_UnLock.bas at master · kantoku-code/CATIA_V5_SimpleMacroMenu · GitHub # pycatia Draft_View_Loc…

pycatiaを味わう4

関連無いのですが、こちらの続きです。 pycatiaを味わう3 - C#ATIAreferenceのお話です。わかりにくいですよねreference。 でも避けては通れないです。こちらのサンプル見ていると、ちょっと不思議な気がしました。 pycatia/examples/example__hybrid_shape_…

"プロパティをリセット"コマンドをマクロで実行3

こちらの続きです。 "プロパティをリセット"コマンドをマクロで実行2 - C#ATIApythonではイマイチだった為、vbaに戻って再挑戦。 vbaの場合は、UI Automationを使います・・・デバッグしにくい。こちらを参照しながら、もがき苦しんだ末、出来たものがこちらです。 …

pycatiaを味わう3

こちらの続きです。 pycatiaを味わう2 - C#ATIA個人的にpython使うのであれば、型ヒント使いたいです。 でも前回はわかりませんでした・・・。幾つくサンプルを試した際にわかりつつあります。 例えば、PartDocumentがアクティブな状態の際はこの様にするよ…

"プロパティをリセット"コマンドをマクロで実行2

こちらの続きです。 "プロパティをリセット"コマンドをマクロで実行1 - C#ATIA基本的に断念しているのですが、"UI Automation"と言うものの存在を 知りました。 【VBAでUIAutomation】アプリケーションをマクロで動かす | やろまいCode"UI Automation catia"で検索…

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

こちらの続きであり、 ボディの体積をダンプする5 - C#ATIA こちらの続きです。 pycatiaを味わう2 - C#ATIA折角pycatiaの開発環境が出来たので、VBA相当の処理を試してみます。 # pycatia test import os import sys sys.path.insert(0, os.path.abspath("..…

pycatiaを味わう2

こちらの続きと言いますか、解決です。 pycatiaを味わう1 - C#ATIA単純な事でした・・・。 もう一度vscode上での操作で最初から記載しておきます。〇フォルダ作成 エクスプローラ上で任意のフォルダを作成。 別の方法でも構いません。〇vscodeを起動 先程の…

pycatiaを味わう1

気になっていたpycatiaを試してみることにしました。 但し、不完全で解決する方法がわかりません。 解決方法がわかったら別途記載しますが、取り組んだ事を 忘れてしまいそうなためのメモ書きです。pycatia自体はこちらです。 GitHub - evereux/pycatia: pyt…

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

こちらの続きです。 ボディの体積をダンプする4 - C#ATIA中途半端な状態で止まっていましたが、やっと取り組めました。 ・CATIAの場合、体積が単純なプロパティでは取得出来ない ・VBAのクラスに拡張プロパティのような考えが無い を考慮すると、 ソート関数…

ボディの重複名をさける

こちらを拝見。 How to rename Catia Bodies with Unique names - DASSAULT: CATIA products - Eng-Tipsなるほど、辞書を使うんですね。自分だったらどうするかな・・・。それ以上に、コピペした際に重複した名前を避ける機能が オプションの設定で出来たは…

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

こちらの続きです。 ボディの体積をダンプする3 - C#ATIAソート関数等って恐らくVBA自体には無いですよね・・・。 ExcelのRangeであればメソッドがあるようですが、純粋なVBAには無さそう。アルゴリズムの勉強と言う意味では、ソートを自作するのも 少しだけ…

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

ちょっと、やろうとした事の手前で、苦戦しました。CATIA V5でPart内の全てのボディの体積をダンプさせてみました。 'vba Option Explicit Sub CATMain() Dim doc As partDocument Set doc = CATIA.ActiveDocument Dim pt As Part Set pt = doc.Part Dim spa…

pytia-bill-of-material

これに限らないのですが・・・ GitHub - deloarts/pytia-bill-of-material: a gui for exporting the bill of material from a catia v5 product画像を見ただけですが、綺麗ですよね。 ウィンドウやボタンの角が、ちょっと丸まってくれるだけで綺麗に見えま…

図面の仕上げ記号

CATIA V5なのですが、以前はR2018かな? だったのですが、今はR2022です。 ・・・選べないです。あまり仕事が無かったのでイジッていなかったのが悪いのですが、リリースが 飛びすぎて、変更された機能に戸惑いが・・・。図面の仕上げ記号がちょっと違ってま…

お手軽に言語判定を行いたい2(正しい方法)

こちらの続きです。 お手軽に言語判定を行いたい - C#ATIA珍しく、Little Cthulhu氏がガッツリ公開してます。 Language Setting info - DASSAULT: CATIA products - Eng-Tips僕は玉砕・・・。BuildPathメソッド知らなかったですね。フォルダ階層のセパレータ…

ライセンス無しでStepをエクスポートする

コンセプト的には、こちらの2個を足して2で割ったようなものです。 ライセンス無しでSTLをCATIAに取り込む3(STLだけじゃない) - C#ATIA D&DでStep<->Iges相互変換するVBScript - C#ATIA えー経緯から申し上げると、弊社は予算の都合上、長年StepとParaSolid の受…

確実に点を手に入れる

あぁ、他人のパワーコピー定義のファイルを見ていてちょっと感動しました。GSDのワイヤーフレームツールバーに"極値"コマンドありますよね? 気にしてなかったけど、"ワイヤーフレーム"なんですね。 "極値"コマンドは指定した要素の指定した方向の最大や最小…

コマンドIDの調べ方

ひょっとしたら、僕が勘違いしているかも知れません。CATIA V5のマクロの"StartCommand"メソッドでコマンドを呼び出す際の コマンドIDですが、調べる方法の一つはマウスカーソルを該当する アイコン上に持っていくことです。 もう一つは、メニューの"表示"の…

デモモード

CATIA V5のちょっぴりグレーなネタです。こちらでライセンス無しでSTLをインポートする方法を やったのですが、 ライセンス無しでSTLをCATIAに取り込む3(STLだけじゃない) - C#ATIA 実は他にも方法あります。オプションのこちらに"デモモード"と言うものがありま…

ライセンス無しでSTLをCATIAに取り込む3(STLだけじゃない)

こちらの続きですが ライセンス無しでSTLをCATIAに取り込む2 - C#ATIA どちらかと言うと、こっちかな? ライセンス無しでSTLをCATIAに取り込む - C#ATIA 続mayo - C#ATIA作ろうと思ってすっかり忘れていたのですが、先日見つけたmayo経由で メッシュファイルを開くマク…

プロジェクト内のモジュール類を全てエクスポート2

こちらの続きです。 プロジェクト内のモジュール類を全てエクスポート1 - C#ATIAプロジェクト毎にエクスポートする事すら面倒な方(僕)用に、 VBAエディタに含まれている全てのプロジェクトの全ての モジュールをエクスポートするように変更しました。 'vba …

Treeの子を"新しいウィンドウで開く"

タイトルが日本語として怪しいのですが、CATIA V5です。データがこんな状態だとします。 ここから、Treeで一番最初の子を単独の新しいウィンドウとして 開きます。このコマンドですね。 ちょっと調べてみましたが見つからなかったのですが、調べる前から "CA…

"プロパティをリセット"コマンドをマクロで実行1

表題のコマンドは、ボディのコンテキストメニューの深い位置にある このコマンドです。 要は、ボディの色をリセットしたいんです。以前も探した時は見つからなかったのですが、こちらにありました。 Farbe zurücksetzen (Dassault Systemes - PLM Solutions/…

複数のDrawTextを連動させる

DrawText同士を連動させるのは、属性リンクで直接行おうとしたのですが ダメなんですね・・・。パラメーターを利用してみます。・文字のパラメータを作成 こちらの”式”をクリック。 ”文字列”にして、”新規パラメータ~"をクリック。 出来上がったパラメータ…

青い問題2

時間が経過していますが、こちらの続きです。 青い問題 - C#ATIA青色部分を動かす方法がやっと分かりました。 こちらがかなりヒントになりました。(答え?) COE : Forums : Some stuff about the BLUE PROBLEM!まず、この様なサンプルを用意しました。 ア…