C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA(最近はPMillマクロとFusion360APIが多い)

VBA

「サブツリー」コマンド

マクロで「サブツリーを開く」を行いたい と御質問を頂きました。 結論を先に書くと出来なさそうです。が、その他調べた事を覚書しておきます。今まで利用した事が無かったのですが、メニューの「表示」内に「サブツリー」が あるのを知りませんでした。 試した所、ちょっと…

子ウィンドウの整列スタイル

御質問頂いた際、正直何のことかわかりませんでした。 が、調べたら理解できました。(最初はパターンの何か? かと思いました)要は、ここの表示の切り替えをマクロで行いたいと言う事ですよね? 'CatArrangeStyleテスト Sub CATMain() Call CATIA.Windows.Arrange(Ca…

データム化された要素の入っている形状セットの取得

”マクロがPCによって動くものと動かないものがある”と相談を頂きました。 状況が良くわからないので、完全な答えには辿り着けない可能性も有りますが。。。点を選択後、点の含まれている形状セットの取得部分が問題のようです。まず、こんなデータを用意しました。 …

ファイルを最小化でオープンしつつ、オープン前のウィンドウをアクティブ化

「パワーコピーのPartファイルを最小化で開きつつ、開く前のアクティブな'ウィンドウをアクティブ状態にする」 と言う内容のご相談を頂きました。正直な所、どのような操作を想定されているのかが、把握できていない為 目的の状態になっていない可能性もありますが・・・ 'vba Sub C…

DrawingTextの中心座標

DrawingTextの中心座標を取得したい との記載を見て思い付きで書きました。 Size of the textbox on a drawing - DASSAULT: CATIA products - Eng-Tips 最初に、”遅いよ” って書いたんですけどね。リトルクトゥルフさんがアッサリ答えを書いてくれました。 ・・…

VBA 言語環境による挙動の違い

先日のマクロですが、上手く動かないらしいのです。 draw with a catia all the Dual Geodesic Icosahedra - DASSAULT: CATIA products - Eng-Tips原因が良くわからないのですが、CATIAのリリース違いが 影響するような程の最新の機能は使っていないはずです…

Dual Geodesic Icosahedra3

こちらの続きです。 Dual Geodesic Icosahedra2 - C#ATIA完成したので、テストデータと共にGrabCADにUpしました。 恐らく誰にも役には立たないでしょう。 3D CAD Model Collection | GrabCAD Community Library 結局一番苦労したのは、正規表記のパターンでした…

ThickOnTheFly2

こちらの続き? です。 ThickOnTheFly1 - C#ATIA こちら作りかけて止めました。続けてもいないのですがコードを 記載していなかったので・・・・。 正直な所、変数・関数名等が酷いのですが、直す気力がありません。 'vba using-'KCL0.0.12' '動的にボディの厚みをS…

DMUスペースアナリシスのセッション2

こちらのh2さんのコメントで、非常にありがたい情報を頂きました。 DMUスペースアナリシスのセッション - C#ATIA結論から書くと、当方は素のHD2で DMU スペース・アナリシス のライセンス無しですが セクションの作成が出来ました。 恐らく、 Set s = Sect.Export の状態は、Partファイ…

DMUスペースアナリシスのセッション

「DMUスペースアナリシスのセッションを利用して、多くの断面を取得したい」 と御相談を頂きました。 が、当方にはDMUスペースアナリシスのライセンスが無い為、手も足も出ないのが 本音なのですが、過去にこちらを試した事があったため 出来る限りのことは記載しておきます。 技術的な…

オフセット平面をリネーム2

こちらの続きです オフセット平面をリネーム - C#ATIAimihitoさんから指摘された部分を修正し、座標系平面からの オフセット平面も対応させました。 'vba Part_OffsetPleneRename_ver0.0.2 using-'KCL0.0.12' by Kantoku Option Explicit Sub CATMain() 'ドキュメントのチェック If …

オフセット平面をリネーム

オフセット平面をそれなりの名前に変更するマクロです。 元々持っていたマクロなのですが、あまり使っていませんでした。 最近使ったのでコードを綺麗に直しました。"それなりの名前に" なのですが、サンプルとしてはこんな感じです。 平面1(黄色)-XY平面からオフセッ…

注記内の指定文字を削除する

こちらのコメントで、CATIAの質問を頂きました。 CAD Exchanger Cloud - C#ATIA久々に挑戦しました。 'VBA '3D注記の指定文字を削除する by Kantoku Option Explicit Sub CATMain() Dim keys As Variant '削除対象文字 keys = Array(".", "_") '************* Di…

クリックした点の座標値を外部ファイルにエクスポート

こちらでコメントを頂いたので、リハビリがてら作ってみました。 Excelフォームボタンからマクロの起動 (未確認) - C#ATIA 'vba sample_ExpPointPos_ver0.0.1 by Kantoku '選択した点の座標値をファイルにエクスポート Option Explicit '*** エクスポートするフォーマットを設定して下さい *** 't…

コマンドID

あけましておめでとうございます。 今年もコンセプトがブレたまま、マイペースでやってまいります。 CATIAのインストールフォルダ内に [.CATNls] の拡張子のファイルがあるのをご存知でしょうか? 恐らくですが、これらのファイルは画面上に表示されている文字類を 設定す…

背景色を変更・復元する3

こちらの続きで、保留していた宿題です。 背景色を変更・復元する2 - C#ATIAご要望としては、PartでもProductでも同様の処理を行いたい と言うことなので、修正してみました。PartDocumentの取得方法を変更する必要があるため、 こちらの部分を修正します。 …

コッホ曲線を描く

こちらの12年も前の記事なのですが、楽しそうなので CATIAで行ってみました。 再帰プログラムによるフラクタル図形の描画:CodeZine(コードジン) 'vba sample_Koch_Curve_ver0.0.1 using-'KCL0.0.12' by Kantoku 'xy平面上にコッホ曲線を作成します 'https://…

背景色を変更・復元する2

こちらの続きです。 背景色を変更・復元する - C#ATIA"パラメータを作成するのに処理時間がかかる" との事でしたので、 代案として、XY平面に元の背景色をバックアップする事にしました。又、Formのボタンで操作可能なもののサンプルにして見ました。まず、新作したFormに…

StartCommandとRefreshDisplay

別のものを作成しているうちに気が付いたので覚書なのですが、 ひょっとしたら既出なのかも知れません。 CATIAのマクロでは、全てのコマンド類を実行する為の関数類が提供されて いるわけではないのですが、 CATIA.StartCommand xxxx(コマンド文字列) を利用すると、…

背景色を変更・復元する

タイトルが異なりますが、こちらの続きです。 画面キャプチャをクリップボードに保存する - C#ATIA単に背景色を切り替えるマクロです。 但し元の背景色に復元出来る様に、変更前の背景色RGBをパラメータに 保存しています。 (外部ファイルや何処かのプロパティに書き出すより、自然かと…

画面キャプチャをクリップボードに保存する

「CATIAで背景色を白にした状態で、画面のキャプチャをクリップボードに取得したい」 と相談を頂きました。クリップボードではなく、ファイルとしてであればこちらの方法がお手軽かと 思います。 背景の設定を維持しつつ背景を白でキャプチャを行う | PLM Tips Magazine 'vba…

CATIAのマクロをDotNetで作る事をオススメしない理由

MVVMお勉強中ですが、イヤになってきたので久々にC#でCATIAの マクロをちょっと作ろうかなぁ と思ったのですが、諦めました。何時かは書こうかと思っていたので、折角の機会なので。 1.マクロの記録が取れない 結構重要です。 個人的には各コマンド類(~Factory.AddNew…

Drawのテーブルに最後の列を追加2

こちらの続きです。 Drawのテーブルに最後の列を追加 - C#ATIA前回のマクロ、ちょっとダメなんです。 セルの文字だけのコピーだったので、フォントのボールド等が正しくなかったのです。 寸法テーブルのサイズ変更する方法をmineさんに教えて 頂いたのですが、実際に使う際、一定し…

Drawのテーブルに最後の列を追加

Drawの穴寸法/座標寸法テーブルで、最後の列を増やしたい事が 結構あるのですが、恐らく手動では出来ないような気がしてます。 手動で出来ます(コメント部で、mineさんに教えて頂きました) (方法知っている方いらっしゃいましたら、教えて頂けると助かります)仕…

参考寸法

手抜きメニューに登録しながらマクロを修正していたら 地味なヤツを見つけました。こんな感じの、丸括弧付きの寸法って何と呼ぶのが正式なんでしょうか? (きっとJISとかで決まっていると思うのですが)僕は参考寸法と呼んでいます。 こちらでもそんな記載になってます…

手抜きマクロ起動用メニュー3

こちらの続きです。 手抜きマクロ起動用メニュー2 - C#ATIA「Cat_Macro_Menu_Model.bas」の宣言セクション部に幾つか定数を 設けています。お好みで変更してください。 'Cat_Macro_Menu_Model.bas 'using-'KCL0.0.12' 'タグを追記したモジュールをプロジェクトに追加するだけで '…

Excelフォームボタンからマクロの起動 (未確認)

「Excelのフォームのボタンを押したら、指定した座標系を元に XYZの値を入力した位置に、点を作成したい」 と言う内容の御質問を頂きました。生憎、古いExcelしかインストールされていないため(マクロ動かない) 完全には再現できませんが、近い事はしてみたい…

手抜きマクロ起動用メニュー2

こちらの続きです。 手抜きマクロ起動用メニュー1 - C#ATIACATVBAプロジェクトにマクロのモジュールを追加するだけで、 メニューボタンを自動的に追加します。但し、追加するモジュールにボタンとなる情報を追記する 必要が有り、以下 [タグ] と表記して説明します。 〇ファイルの構成 同一のプ…

手抜きマクロ起動用メニュー1

CATIAのマクロを実行する際、こちらの前半に記載した方法で ツールバーに登録して使っているのですがマクロを高速に実行させる(非公式) - C#ATIA正直な所、登録が面倒です。 (何処で見たか忘れましたが、全てのファイルを閉じた状態で ツールバーを新規に作成すると、ワークベン…

ProductTree の リオーダー2

こちらの続きです。 ProductTree の リオーダー - C#ATIAサンプル用のマクロを用意していたのですが、Product用のマクロを持っていない為、 以前の物を修正し、インスタンス名でソートするマクロに変更しました。 'vba sample_ReOrder_Product ver0.0.1 using-'KCL0.0.12' by Kantoku …