C#ATIA

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

CATIA_V5

ロフトのプロファイル

Fusion360を練習をしていて感じたのが、この形状。 随分と慣れたのですが、これ苦手なんですよ。 3Dでどんな形状しているのか? 直ぐに認識できないんです。こちらのサイトの一番下のPDFの過去問題の中の 問2の形状の一部にあります。 3次元CAD 使用できるソフ…

くぼみ/突起を伝播

普段、CATIA V5 は R2015(R25)を使用しているのですが、 GSDの抽出コマンドの伝播タイプ 「くぼみ/突起を伝播」 知りませんでした・・・。 Help見ても、記載無いし。(R2017のHelpには記載有りました)普段、複合抽出しか使わないので気が付きませんでしたよ…

円錐上の2点間最短経路

練習が嫌になりすぎ、こちらを思い出しました。 CATIA V5 掲示板「お知恵を拝借」となっている問題です。もう、十年以上も前なんですね。 単刀直入に、円錐上の2点間を1周する最短経路を線で作る問題です。当時、 "標準的な機能では作れない" と言う雰囲気に…

プロファイルの考え方の違い

キートスさんのパートの練習問題を練習したので、GrabCADに Upしてみました。 キートス -Kiitos- | CATIA V5 無料テキスト 前半は物足りないし、後半は履歴がぐしゃぐしゃで既に練習すべき 形状じゃないような気もしてますが・・・。こちらで「むしろCATIAよ…

コマンドID

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

差分を抽出をもう少し掘り下げたい

こちらのsauvignon1962さんからコメント頂いた件ですが、 折角なので画像も有った方がわかりやすいかな? と思い記載します。 二つのボディ/形状セットを比較して、差分を抽出する2 - C#ATIACATIAでまともな図面を描くことが無いのですが、 僕の場合であれば、ほ…

一本のスケッチラインで押し出す

Fusion360を練習していてちょっと感じたのですが、 こんな感じで離れたボディ同士にフィレット付けたい時 ありませんかね? カバーみたいな製品で、円柱部分は部品取り付けボルトの為の ボス形状を付けたい時とか。CATIAの場合、2面を指定する [フェースフェースフィレッ…

短時間でクリスマスツリー

以前、海外の方が一人でCATIAのTips動画を100本ぐらいUpされていました。 内容的には幾つか知らない操作があった程度だったのですが、 CADのサイズを小さくしての録画だった為、何のコマンドを使用しているのか? と思った際、アイコンが見えていたので非常にわかりや…

スパインの理解

先日、思うところがあったため折角の機会だと思い・・・。"スパイン" について説明がされているサイトを見かけないので、 僕なりの理解を記載しておきます。 (違うよ ってご意見等有りましたらよろしくお願いします) 実際に検索してみると CATIA やUGNX など…

背景色を変更・復元する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 …

実行中のプロジェクト名とパス取得する

今まで気が付かなかったのですが・・・。VBA実行中にプロジェクト名やプロジェクトのファイルパスが欲しいなぁ と、思った事がありましたがあまり調べていませんでした。ちょっと試しているうちに発見しました。 'vba 実行中のプロジェクト名とパス取得 Option Explicit Sub CA…

mixiにあった質問

mixiに質問があったので挑戦してみましたが、 言葉だけだったのでこれで良いものかどうか 判断できません。こちらに mixi.catpart と言うファイルでUpしました。 GrabCAD - CAD library こちらにも記載したのですが CATIAのマクロの質問 - C#ATIA閉鎖的なサ…

1つのPartからBody毎にしたProductを作り出す2

予め、お伝えしておきます。 KCLを更新しました。 非常に個人的なCATVBA用ライブラリ - C#ATIAリンクの画面やカタログ等を開いた状態でマクロを実行すると、 エラーで止まってしまうのを防ぎたかったので。 こちらの続きです。 1つのPartからBody毎にしたProductを作り出す -…

Treeの順番を取得したい

Partで、このような状態でルート?のTreeにぶら下がっているものを 見た目の順番通りに取得したいのですが、方法がわかりません。Bodyだけなら順番通りに取得できます。 形容セットだけでも同様。 Bodyと形状セット(や時系列形状セット)が混合していた場合、 個別の…

1つのPartからBody毎にしたProductを作り出す

タイトルの日本語が怪しいのですが、要はこちらのコマンドで Assy → Part にしたものを、再度Assy状態にしたい と言うことです。CATProductからCATPartを作成 | CATIAの小技このコマンドは古いリリースでは表側に無く、裏コマンドだったんですよね。 "データを軽くして客先に支…

Bodyの穴っぽい部分に点を作成

業務上欲しくなったので、久々にCATIAのマクロを作成しました。穴あけ加工をCAMで作る際、Space-eでは穴位置となる点が 欲しかったので、こちらのマクロをかなり前に作成しました。 指定した平面から、穴の中心点を作成する1 - C#ATIA 本来であれば、3Dの形状から…