VBA
こちらの続きです。 全ての寸法に番号バルーンを付ける1 - C#ATIA 取りあえず試すことが出来る状態となりましたが、まだまだ・・・。 個人的な用途として、こんな感じの参照寸法にはバルーンを作りたく 無いです。えぇ作りたくないんです。寸法を参照寸法に…
CATIA V5です。 先日、絶対座標での寸法値位置の取得が出来ました。 Drawの寸法値に四角を描く - C#ATIAこれを元に連番となる番号バルーンを作ります。 ・・・バルーンはDrawingTextオブジェクトなのですが、 DrawingTextsオブジェクトにはバルーンを作る為…
CATIA V5です。 あそこまで出来たから、やる気が出てきました。(許可も取った!)表題の意味ですが、アクティブなシートの寸法値に線で四角を 描きます。 ”線じゃなくて、フレーム使えば良いじゃん!”と思われるでしょう。 四角を描くことが目的じゃなくて…
早い話が、こちらの3個を一体化して(個人的に)実用的なものにしました。 数字のバルーン文字の最小最大を取得する - C#ATIA 配列内の重複除去した配列と重複していた値の配列の取得 - C#ATIA 配列内の値を連番毎にグループ分けする - C#ATIAそしてgithubで…
CATIA V5です。 知らなかったのですが、表題のループはエラーになるんですね。新規のDrawingSheetを作って(テキストが1個も無い状態) DrawingTextsをForEachするとエラーになる と言うサンプルです。 'vba エラーになります Option Explicit Sub CATMain()…
CATIA V5です。"3Dの分離" の意味を間違えているかもしれないのですが、 表題のサンプルを作ってみました。"リンクの結果として" でペーストされて出来たボディ内の ソリッドのリンクを分離します。探してみた所、仰っていたように "CATIA.StartCommand" を …
CATIA V5です。 ちょっと意味が分からなかったのですが、こちらを見つけました。 Re: Macro to create an Isometric View on a CATDrawing - DASSAULT: CATIA products - Eng-Tipsアイソメ図をマクロで作成する方法の様です。 オプションの設定を変更して、…
こちらで記載した通り、テキストと異なりバルーンの 領域は取得出来なかった為の苦肉の策です。 Drawのテキストサイズの取得 - C#ATIA色々と試したのですがどうしてもダメな上、それらしき情報も 見つからない為、一時的に出来る限りバルーンに近い状態の テ…
こちらのコメント欄に書きましたが、Drawのテキストサイズの 取得方法をテストしました。 目的のバルーンをリフレームオンしたい - C#ATIAコメント欄の記載の解釈は間違いでした・・・。 実際に確認したところ、 左右に長い引き出し線を一時的に追加し、引き…
こちらをチラッと拝見しました。 マクロで楽するCATIAテクニック① -CATPartの寸法をExcel VBAで制御する-|フルヤマモル|noteこれ、恐らくExcelのVBAからCATIA V5の寸法を変更させる のだろうと思うのですが、設計テーブルで良いのでは・・・。 まぁ、それ…
何れ使うつもりなので作成しているのですが、目的のバルーンを マクロで見つけて、リフレームオンしたいんです。試しにコンテキストメニューを見てみると、無いです。 あまり気にしたことが無かったのですが、無いんですね。試しに、パワー入力等を行う為の…
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です。業務で測定用の図面を作成するのですが、寸法にバルーンでナンバリング してます。 ・・・面倒です。自動化出来れば良いのですが、拘る部分もあり、なかなか良い方法を 思い付かないのでチマチマやってます。極まれに、修正で番号を追加となっ…
CATIA V5です。DrawingTextを選択出来たり、出来なかったりするのは、プロパティの こちらを変更すれば可能です。 "選択可能"のチェックを外した際、再設定する為にはGUIの場合は 検索するしかなさそうです。選択出来ないようにしたのに、検索での選択出来る…
久々にCATIA V5のネタです。Drawの解析表示モードを切り替える方法を調べました。最初は "CATIA.StartCommand" でコマンド呼び出せば良いかな? と試したのですが駄目でした・・・。そもそも "CATIA.StartCommand" でコマンドで切り替えられても、 現状がど…
こちらの続きです。 Selection経由せずにコピペ可能か?1 - C#ATIA"AddNewSurfaceDatum" であれば出来るのでは? と情報を頂きました。この様なデータを用意しました。 この様なマクロを用意しました。 'catvba Option Explicit Sub CATMain() Dim doc As Pa…
CATIA V5です。 こちらでコメントを頂きました。 指定した要素を新たなPartにコピペして保存 - C#ATIASelection経由せずにコピペを行う事は考えた事が無かったので、 取りあえず試してみます。この様なデータを作りアクティブにしておきます。 続いてこの様な…
しろくろさんがかなりヒントを書いてくれたので、 自分なりに作ってみました。”CATIA.HSOSynchronized使った方が早い” と書きていましたが、 試した所若干遅かったです。ごめんなさい。 'vba アクティブシートの最初のビューをコピペし形状を削除 ' winAPI #…
こちらの続きです。 プロダクトからCATPartを生成 - C#ATIACATPartを生成しつつ、Igesでエクスポートします。 ・・・Stepのライセンス無いのでIgesですが、同じでしょう。 'vba プロダクトからCATPartを生成しつつIgesでエクスポート 'この辺を参考にしまし…
勘違い。 過去にやったことがあったのは、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…
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 …
業務で対称部品の図面を描くことになったのですが・・・面倒。 何か楽な方法ないものか? と思いLineのオープンチャットで ご相談しました。 のでご報告。 あぁ、久々のCATIAなお話です。念の為、今まで対称部品の図面を書いたことはあったのですが、 ・2D時…