C#ATIA

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

KCL

困惑するオフセット平面を作成

タイトルだけでは伝わりにくいのですが、先日行った作業用対策のマクロです。 (他人には役に立たないと思います)結果的にはオフセット平面を作成するだけなのですが、何といいますか面倒なんです。 赤色はXY平面、黄色はZX平面で紫色のBodyの面はZX平面と平行です。 紫…

参照かつ外部とのスケッチ拘束を削除する

自分が作業して欲しくなったので突貫で作りました。こんなスケッチ1を作ります。 続いて、こんなスケッチ2を作ります。 基本的にスケッチ1が変更されても、スケッチ2の形状は影響は有りません。 但し、"オフセット.20" はスケッチ1に対して参照の拘束が付いています。 まぁクリアランスを確…

スケッチの拘束の参照を切り替える

少し前に作成したこちらのマクロ、使いにくくてしょうがない。 クリックしたスケッチ点にHVの拘束を付ける - C#ATIA 何処かに、拘束が重複しないように整えてくれるマクロ、落ちてないでしょうか? (標準な機能では無いですよね?)非常に下らないのですが、スケッチの拘束…

ThickOnTheFly2

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

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

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

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

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

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

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

コッホ曲線を描く

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

StartCommandとRefreshDisplay

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

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' 'タグを追記したモジュールをプロジェクトに追加するだけで '…

手抜きマクロ起動用メニュー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 …

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

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

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

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

二つのボディ/形状セットを比較して、差分を抽出する2

こちらの続きです。 http://kantoku.hatenablog.com/entry/2016/11/24/173743 http://kantoku.hatenablog.com/entry/2017/07/19/190425原因を突き止め切れていないのですが、結果が総当りと 一致するようになりました。まずは、本マクロのエントリーポイントを持つ標準モ…

アクティブCATPartを、Igesファイルにバッチ変換

ちょっと業務上欲しくなったので、CATPartファイルをIgesに変換する為の マクロを作成しました。" マクロにする必要ある? " と思った方、正解です。単に変換するだけであれば、必要性を感じないのですが、オプションの こちらの部分を変更しソリッドとサーフェスで二回変換してます…

スピードテスト5

一応、こちらの続きです。 http://kantoku.hatenablog.com/entry/2015/04/15/195513前回のコメントで、"HybridShapeクラスのComputeメソッドでもアップデート出来るよ" と imihitoさんに教えていただき、少し速くなりそうな気がしたので、 こちらのコードを元に試してみまし…

クリックした面に3Dな矢印と注記を作る

こちらの続きです。 3Dな注記の位置を制御出来ているっぽい(条件付き) - C#ATIAやっと完成しました。 注記位置については前回通り、条件付となりますが結構満足してます。 'vba sample_CreateArrow_ver0.0.3 using-'ver0.0.10' 'クリックした面に矢印を作成-注記…

クリックした面に3Dな矢印を作る

タイトルが異なりますが、こちらの続きです。 クリックした面に法線を作成する - C#ATIAこちらでコメント頂いている矢の部分ですが、 昨日自宅で、どの様な定義をすれば良いのか思いついたので コードを作成してみました。 (このような事は案外、PCの前に居ない時に思いつ…

マクロで干渉レポートを作成する

こちらのコメントに記載した、マクロで干渉レポートを作成するサンプルを 作成しました。 クリックした面に法線を作成する - C#ATIA コードはこちら。 'vba sample_ClashReport_ver0.01 using-'ver0.0.10' '指定した2つのプロダクトの干渉チェックをします Option Explicit Sub CATMain…

クリックした面に法線を作成する

こちらでコメント頂いたのですが、時間がナカナカ確保できずに サンプルを作れませんでした。3Dの文字モデリングマクロ8 - C#ATIA正直な所、完成した状態がイメージし切れていないため、クリックした 面のクリックした位置に法線を作成するマクロを作成してみました。 'vba sample_Cre…

サーフェスの色をボディに反映する2

こちらの続きですが、タイトル名がふさわしくないです。サーフェスの色をボディに反映する - C#ATIAtakashiさんからコメントを頂き、早速ご要望を反映してみました。 'vba sample_ApplyColor_ver0.0.2 using-'KCL0.0.10' '指定した形状セット(ボディ)の面の色をボディ(形状セット)…

選択した円弧の長さを表示2

こちらの続きです。 選択した円弧の長さを表示1 - C#ATIAもう一つ方法があり、パラメータと式を利用した方法です。 'vba test_Circle_Length_Formula 'using-'KCL0.0.10' '円弧の長さを表示-式利用 Option Explicit Sub CATMain() 'ドキュメントのチェック If Not CanExec…

選択した円弧の長さを表示1

ちょっと相談?を頂いたので、久々にCATIAのマクロを書いてみました。選択した3D円弧の長さを表示するだけのものです。 極端な話、こちらの物を流用しただけです。 線を選択しつつ、合計長さを表示する - C#ATIA 'vba test_Circle_Length 'using-'KCL0.0.10' '円…

PowerMillに同位置の作業平面を作る

加工する際、世の中の方々は加工原点をどうやって決めているんでしょうか? 部品の原点が決まっているようであれば、そこを原点にするのかも知れない のですが、基準まで加工して作る場合は・・・バイスを使用していたら材料の 上側の左奥(か、右奥・・・わかりにくい…