C#ATIA

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

VBA

全ての寸法に番号バルーンを付ける2

こちらの続きです。 全ての寸法に番号バルーンを付ける1 - C#ATIA 取りあえず試すことが出来る状態となりましたが、まだまだ・・・。 個人的な用途として、こんな感じの参照寸法にはバルーンを作りたく 無いです。えぇ作りたくないんです。寸法を参照寸法に…

全ての寸法に番号バルーンを付ける1

CATIA V5です。 先日、絶対座標での寸法値位置の取得が出来ました。 Drawの寸法値に四角を描く - C#ATIAこれを元に連番となる番号バルーンを作ります。 ・・・バルーンはDrawingTextオブジェクトなのですが、 DrawingTextsオブジェクトにはバルーンを作る為…

Drawの寸法値に四角を描く

CATIA V5です。 あそこまで出来たから、やる気が出てきました。(許可も取った!)表題の意味ですが、アクティブなシートの寸法値に線で四角を 描きます。 ”線じゃなくて、フレーム使えば良いじゃん!”と思われるでしょう。 四角を描くことが目的じゃなくて…

番号バルーンの欠番・重複をチェック

早い話が、こちらの3個を一体化して(個人的に)実用的なものにしました。 数字のバルーン文字の最小最大を取得する - C#ATIA 配列内の重複除去した配列と重複していた値の配列の取得 - C#ATIA 配列内の値を連番毎にグループ分けする - C#ATIAそしてgithubで…

CATIAな空のコレクションオブジェクトのForEach

CATIA V5です。 知らなかったのですが、表題のループはエラーになるんですね。新規のDrawingSheetを作って(テキストが1個も無い状態) DrawingTextsをForEachするとエラーになる と言うサンプルです。 'vba エラーになります Option Explicit Sub CATMain()…

"リンクの結果として"のソリッドを分離する

CATIA V5です。"3Dの分離" の意味を間違えているかもしれないのですが、 表題のサンプルを作ってみました。"リンクの結果として" でペーストされて出来たボディ内の ソリッドのリンクを分離します。探してみた所、仰っていたように "CATIA.StartCommand" を …

3Dの画面の向きのベクトルを取得する

CATIA V5です。 ちょっと意味が分からなかったのですが、こちらを見つけました。 Re: Macro to create an Isometric View on a CATDrawing - DASSAULT: CATIA products - Eng-Tipsアイソメ図をマクロで作成する方法の様です。 オプションの設定を変更して、…

ざっくりバルーン情報の取得

こちらで記載した通り、テキストと異なりバルーンの 領域は取得出来なかった為の苦肉の策です。 Drawのテキストサイズの取得 - C#ATIA色々と試したのですがどうしてもダメな上、それらしき情報も 見つからない為、一時的に出来る限りバルーンに近い状態の テ…

Drawのテキストサイズの取得

こちらのコメント欄に書きましたが、Drawのテキストサイズの 取得方法をテストしました。 目的のバルーンをリフレームオンしたい - C#ATIAコメント欄の記載の解釈は間違いでした・・・。 実際に確認したところ、 左右に長い引き出し線を一時的に追加し、引き…

ExcelとCATIA V5の連携

こちらをチラッと拝見しました。 マクロで楽するCATIAテクニック① -CATPartの寸法をExcel VBAで制御する-|フルヤマモル|noteこれ、恐らくExcelのVBAからCATIA V5の寸法を変更させる のだろうと思うのですが、設計テーブルで良いのでは・・・。 まぁ、それ…

目的のバルーンをリフレームオンしたい

何れ使うつもりなので作成しているのですが、目的のバルーンを マクロで見つけて、リフレームオンしたいんです。試しにコンテキストメニューを見てみると、無いです。 あまり気にしたことが無かったのですが、無いんですね。試しに、パワー入力等を行う為の…

Drawテキストをアクティブなビューに作成する

Drawテキストをアクティブなビューに作成するサンプルです。 アイソメ図以外でも同じの為、アクティブなビューです。 'vba 'Drawのテキストを作成する Option Explicit Sub CATMain() ' 目的の文字 Const TARGET_TEXT = "hoge" ' ドキュメント Dim doc As Dr…

配列内の値を連番毎にグループ分けする

今回もCATIA V5と言うよりVBAです。 何れは、前回のこちらと組み合わせて使う予定です。 配列内の重複除去した配列と重複していた値の配列の取得 - C#ATIA具体的には、こんな感じの配列が有るとします。 (1, 2, 3, 5, 6, 9, 10, 13) 条件としては、 ・ソート…

配列内の重複除去した配列と重複していた値の配列の取得

CATIA V5と言うよりVBAです。タイトルが分かりにくいのですが、重複した値を持つ配列があります。 そこから重複を除去した配列を取得しつつ、重複した値が何か? も 取得したいので、わがままな関数を作りました。 'vba 配列の重複削除のわがまま仕様 Option…

数字のバルーン文字の最小最大を取得する

CATIA V5です。業務で測定用の図面を作成するのですが、寸法にバルーンでナンバリング してます。 ・・・面倒です。自動化出来れば良いのですが、拘る部分もあり、なかなか良い方法を 思い付かないのでチマチマやってます。極まれに、修正で番号を追加となっ…

DrawingTextの"選択可能"を切り替える

CATIA V5です。DrawingTextを選択出来たり、出来なかったりするのは、プロパティの こちらを変更すれば可能です。 "選択可能"のチェックを外した際、再設定する為にはGUIの場合は 検索するしかなさそうです。選択出来ないようにしたのに、検索での選択出来る…

解析表示モードを切り替える

久々にCATIA V5のネタです。Drawの解析表示モードを切り替える方法を調べました。最初は "CATIA.StartCommand" でコマンド呼び出せば良いかな? と試したのですが駄目でした・・・。そもそも "CATIA.StartCommand" でコマンドで切り替えられても、 現状がど…

Selection経由せずにコピペ可能か?2

こちらの続きです。 Selection経由せずにコピペ可能か?1 - C#ATIA"AddNewSurfaceDatum" であれば出来るのでは? と情報を頂きました。この様なデータを用意しました。 この様なマクロを用意しました。 'catvba Option Explicit Sub CATMain() Dim doc As Pa…

Selection経由せずにコピペ可能か?1

CATIA V5です。 こちらでコメントを頂きました。 指定した要素を新たなPartにコピペして保存 - C#ATIASelection経由せずにコピペを行う事は考えた事が無かったので、 取りあえず試してみます。この様なデータを作りアクティブにしておきます。 続いてこの様な…

アクティブシートの最初のビューをコピペし形状を削除

しろくろさんがかなりヒントを書いてくれたので、 自分なりに作ってみました。”CATIA.HSOSynchronized使った方が早い” と書きていましたが、 試した所若干遅かったです。ごめんなさい。 'vba アクティブシートの最初のビューをコピペし形状を削除 ' winAPI #…

プロダクトからCATPartを生成2

こちらの続きです。 プロダクトからCATPartを生成 - C#ATIACATPartを生成しつつ、Igesでエクスポートします。 ・・・Stepのライセンス無いのでIgesですが、同じでしょう。 'vba プロダクトからCATPartを生成しつつIgesでエクスポート 'この辺を参考にしまし…

プロダクトからCATPartを生成1

勘違い。 過去にやったことがあったのは、CATPartをBody毎にした CATProductにする逆の事でした。 1つのPartからBody毎にしたProductを作り出す - C#ATIAで、本題の "プロダクトからCATPartを生成" ですが、結果的に "CATIA.StartCommand" を使うしか方法が…

選択したエッジをスケッチに投影・分離・固定

CATIAです。表題の "選択したエッジをスケッチに投影・分離・固定" を行うマクロです。 ツールバーからの呼び出しでも機能しました。"分離"については機能を探しましたが見つからない為、CATIA.StartCommand を使用しています。(その為、日本語環境でのみで…

肉マシマシ

食べ物のお話じゃなくて、CATIAです。 左側の物を加工しようと思った際、右の半透明の形状の材料を 用意するとします。 (ケミウッドで、直方体を積み重ねた形状です・・接着剤で) 材料を用意するサイズとしては、半透明の形状で良いのですが、 実際にCAMで…

図面のパラメータをファイルに書き出す

CATIAです。"図面のパラメータをファイルに書き出す" と言うのは、ここの事かな? と解釈しました。 こんな感じで作成しました。 'vba 図面のパラメータをファイルに書き出し Option Explicit Sub CATMain() '書き出し先のファイルパス Dim path As String p…

PartからDrawを作成する

CATIA V5です。 ちょっと勘違いしたのですが、作ってしまったので 残しておく事にします。アクティブなPartからDrawを作るだけです。 'vba using-'KCL0.12' Option Explicit Sub CATMain() 'ドキュメントのチェック If Not KCL.CanExecute("PartDocument") Then Exit …

スケッチ作業中か?判断する

CATIA V5で現在スケッチ作業中か? を判断します。 'vba スケッチ作業中か判断する Option Explicit Sub CATMain() Dim msg As String msg = "現在はスケッチ作業中" If isSketchWB Then msg = msg & "です!!" Else msg = msg & "ではありません" End If Msg…

座標系に依存した点の作成

CATIAです。マクロで普通に点を作成した場合は、絶対座標の位置に点が作成されますが、 特定の座標系に依存する位置での点の作成を行うサンプルです。 Option Explicit Sub CATMain() ' 座標系の選択 Dim msg As String msg = "使用する座標系を選択 : ESCキー…

空のテキストを全て削除する

久々にCATIAです。Drawのシート内に空のテキストを全て削除するマクロです。 'vba 'Drawの空のテキストを削除 Option Explicit Sub CATMain() 'ドキュメント Dim doc As DrawingDocument Set doc = CATIA.ActiveDocument '空のテキスト取得 Dim nullTxts As …

対称部品の図面を描く1

業務で対称部品の図面を描くことになったのですが・・・面倒。 何か楽な方法ないものか? と思いLineのオープンチャットで ご相談しました。 のでご報告。 あぁ、久々のCATIAなお話です。念の為、今まで対称部品の図面を書いたことはあったのですが、 ・2D時…