C#ATIA

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

VBA

指定ビュー内の2Dコンポーネントを削除する

「ビュー内の2Dコンポーネントを削除する方法」について御質問頂きました。2Dコンポーネントについては、DrawingView内のComponentsプロパティの コレクションが所有した状態になっています。 'vba 指定ビュー内の2Dコンポーネントを削除する Option Explicit Sub CATMain() Dim dD…

Drawビューの原点を変更する1

3Dを元に2Dを作成する際、単に平面を指定すると3Dの原点が 2Dの各ビューの原点になりますが、任意の座標系を2Dの原点としたい場合 座標系を選択した上で平面を指定すればOKですよね? (言葉では表現しにくいですね)こんな3Dデータだとします。 オレンジ色…

Win64

内容的にはこちらに記載した内容の続きです。 ファイル間リンクの取得10 - C#ATIAVBA7はVBAのバージョンだとわかるのですが、Win64って何だろう? と思い調べました。 コンパイラ定数 (VBA) | Microsoft Docs 正直に書くと以前は 「OSが64bitだよ」 って思ってまし…

オプションの設定を切り替える(発見手順)

最近こそ業務の依頼として頂くので、CATIAで2D図を使うようになったのですが 以前からあまり好きではなく、他の2DCADで構わないのであれば他のCADを 使っていました。その理由のひとつが(3Dから投影したもの以外の)線を ドラッグした際動いちゃう事なんで…

Select Case True

覚書です。 'vba Select Case True 知った際に結構衝撃的だったのですが、先にTrueを条件にしてしまい イロイロと異なる条件を元に判断してしまうのに利用しています。 (雰囲気的にYesマンみたいなイメージです)この記法は結構独特なのかと思っていたのですが…

2D属性リンクを扱いたい8

こちらの続きです。 2D属性リンクを扱いたい7 - C#ATIAこちらの「GetLinksInfo.bas」でリンク情報が手に入ったので、 セルのオブジェクト名を書き込むのをやめて、リンク情報を書き込む ことにします。 ファイル間リンクの取得9 - C#ATIA 'vba CheckAttributeLink V…

ファイル間リンクの取得9

こちらの続きです。 ファイル間リンクの取得8 - C#ATIAここがゴールでは無いのですが、ファイル間リンク情報をVBAで取得出来るようになりました。 こちらは、リンク情報を取得するだけのものです。 WinAPIを利用している為、標準モジュールで作成してください。 'vba GetLinksInfo…

ファイル間リンクの取得8

こちらの続きです。 ファイル間リンクの取得2 - C#ATIA 3年程前に断念したVBAでのファイル間リンク情報取得なのですが、 昨日から少し手ごたえを感じています。元にしているコードはこちらです。 Catia V5 Get Links 過去に紹介したサイトが幾つも消えてしまっているのです…

2D属性リンクを扱いたい7

こちらの 2D属性リンクを扱いたい6 - C#ATIAですが、内容的にはこちらを変更したものです。 2D属性リンクを扱いたい4 - C#ATIA前回CSVファイルとしてエクスポートしたのですが、 同じレイアウトでセルのオブジェクト名を記載したテーブルを 横に作成した方が…

2D属性リンクを扱いたい6

こちらの続きです。 2D属性リンクを扱いたい5 属性リンク付き座標テーブル - C#ATIA処理が満足出来るレベルまで速くなりました。 'vba AttributeLinkTable Ver0.0.2 using-'KCL0.0.12' by Kantoku '属性リンク付き座標テーブル-平面上の点のみ対応 'ver0.0.1:完成 …

DrawingTableのSetCellObjectメソッド機能していない

このメソッドです。 r1 DrawingTable (Object)既存のテキストをテーブルのセルに突っ込んでしまいたいのですが、 エラーになります。こんなコードを作りました。 'vba エラーになります using kcl Option Explicit Sub CATMain() Dim dDoc As DrawingDocumen…

2D属性リンクを扱いたい5 属性リンク付き座標テーブル

こちらの続きです。 2D属性リンクを扱いたい4 - C#ATIAやっと属性リンク付き座標テーブルが出来ました。 'vba AttributeLinkTable Ver0.0.1 using-'KCL0.0.12' by Kantoku '属性リンク付き座標テーブル-平面上の点のみ対応 Private Const TITLE = "Attribute…

2D属性リンクを扱いたい4

こちらの続きです。 2D属性リンクを扱いたい3 - C#ATIA今直ぐにでも使いたく時間かけていられない為、現状の小道具を 生かすことにします。属性リンクを使用するのは、単なるテキストではなくテーブルなんです。 (更に一歩ハードルが高いんです)リンク情報…

2D属性リンクを扱いたい3

大した進展も無いまま、こちらの続きです。(忘れそうなので) 2D属性リンクを扱いたい2 - C#ATIAこちらのC#で作ったやつ、正常に動きませんでした・・・。 3D CAD Model Collection | GrabCAD Community Library 何でだろう、と思ったのでVS立ち上げて実行した…

2D属性リンクを扱いたい2

こちらの続きです。 2D属性リンクを扱いたい1 - C#ATIA属性リンクを使ったことが無い為、イロイロと確認です。3DでXY平面状に点を作成し、2Dでテキストを作成。 属性リンクをH→X、V→Yとして作ります。 属性リンクパネルの「現行の選択」は多分、インターナル…

2D属性リンクを扱いたい1

3Dのパラメータ等の値を、2Dテキストにリンクさせた状態を作る方法を 薄々は知っていたのですが、「僕には関係ない」と思い調べずにいたのですが 使用する必要性が出てきた(逃げられそうに無い)ので、重い腰を上げる事に しました。Helpで調べたり、頂いた…

断面図から断面を切った位置の座標値を取得

こちらでコメント頂いた 「断面図から断面を切った位置の座標値を取得」 についてです。 図面の断面のネーミング - C#ATIA 結論から書くと、取得出来そうに有りませんでした。 念のためこんな感じのコードは作りました。 'vba using-'KCL0.0.12' by Kantoku …

曲線の始点終点どっちが近いのかな?判断

これ、誰も答えないのでマクロを作ろうかな? と思っているのですが Catia VBA startpoint, endpoint - DASSAULT: CATIA products - Eng-Tips 思ったより手強い。スプラインだけじゃなく、直線・円弧にも対応させて、 閉じているかどうかもチェックしたいの…

ショートカットキーにマクロを登録する

こちらのコメントで御質問頂いただきました。最初の質問の方です。式では該当する機能があるものかどうか、不明です。 マクロであれば形状セット数の取得は簡単に出来ます。 'vba パラメータに形状セット数を表示する Sub CATMain() '本来ならドキュメントの…

上書き保存確認ダイアログでの判断

「SaveAsで保存する際、上書き保存確認ダイアログで "はい" を選択したか "いいえ" を選択したか、判断したい」 と御質問を頂きました。SaveAsメソッドは戻り値がない為、保存前と保存後のタイムスタンプで 判断するしか方法が無いような気がします。 'vba S…

Tree順にボディ,形状セット,時系列形状セット名の取得

先日見つけたこちらのトピですが、 CATIA V5 - CATScript - Identify Order of Geometric Sets and Bodies in CATPart - DASSAULT: CATIA products - Eng-Tips Treeに並んでいる順に、ボディと形状セット名を取得したい と言う内容です。検索で選択状態にす…

異なるUUIDのDraw参照元ファイルを差し替える3

こちらの続きです。 異なるUUIDのDraw参照元ファイルを差し替える2 - C#ATIAあちらのマクロを実際に業務で使用していると、リンクを持たないビューまで リンク付きのビューにしてしまう為、使い勝手が非常に悪かったです。その為、リンク元を差し替えるビュ…

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

こちらの続きです。 オフセット平面をリネーム2 - C#ATIAまた、面倒くさい虫が現れました。 大量のPartファイルが有り、一枚一枚平面名を修正するのが面倒です。以前は、オフセット平面の親子関係を取得できないので断念していたのですが、 平面名が変更されなくなるまで強…

DrawをPDFでエクスポート (未解決)3

こちらの続きです。 DrawをPDFでエクスポート (未解決)2 - C#ATIAほぼ使わないので存在すら忘れていましたが、こちらのバッチマネージャに 印刷バッチがある事に気が付きました。 起動しプリンタでCubePDFを指定すると出ます。 しかも良く見ると、CATScriptが作れ…

CATIA VBAの参照設定

UserFormでD&Dを実現させるために、ListViewコントロールを 利用すると出来るようなのですが、ちょっぴり問題が・・・。定かではないのですが、ListViewコントロールを利用する為に 参照設定でこちらの Microsoft Windows Common Controls 5.0(SP2) が、必要そ…

同一UUIDのDraw参照元ファイルを差し替える4

こちらの続きです。 同一UUIDのDraw参照元ファイルを差し替える3 - C#ATIAまだちょっと不安定な気もしているのですが、手元のデータでは 上手く行っているので公開しておきます。先日の組合せのファイルを読み込ませ、Partファイルと同一名の Drawingファイ…

Drawビューのリンク元ファイル名のチェック

タイトルが正しくないのですが、Drawのビューの参照元ファイル名と Drawファイルのファイル名が一致しているかどうかをチェックします。 'vba Link_DrawLinkCheck ver0.0.1 using-'KCL0.0.12' by Kantoku 'Drawのビュー参照元ファイル名とDrawファイル名の一致確認 'OK - ファイ…

同一UUIDのDraw参照元ファイルを差し替える3

こちらの続きです。 同一UUIDのDraw参照元ファイルを差し替える2 - C#ATIAレーベンシュタイン距離を利用して二つのフォルダ内のファイル郡を 類似したファイル名同士の組み合わせリストを作ります。 (日本語がおかしいかも) 'vba CreateReplaceComb ver0.0…

同一UUIDのDraw参照元ファイルを差し替える2

こちらの続きです。 同一UUIDのDraw参照元ファイルを差し替える1 - C#ATIA前回の最後に「指定したPartファイルから、どのDrawファイルを利用するか?」が 難しくと書きました。 難しいです。 一発で差し替えは個人的にほぼムリと考えています。・組み合わせる為の暫…

同一UUIDのDraw参照元ファイルを差し替える1

こちらの続きです。 異なるUUIDのDraw参照元ファイルを差し替える2 - C#ATIA前回のものはUUID違いでも扱えるものの、形状と寸法とのリンクが切れてしまう為 イマイチです。UUIDが一致している場合は、やはりドイツ語で書かれた手法で やりたい所です。 「C:\temp…