C#ATIA

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

CATIA_V5

ビュー名のテキストを追加する

こちらで記載した事の確認です。 複数のビュー名とリンクした状態のテキストを新作 - C#ATIA属性リンクを持ったテキストの作成は非常に面倒なのですが、 (しかも確認する手段が無い)単純にビュー名とリンクした状態の テキストの作成であれば単純です。 日…

複数のビュー名とリンクした状態のテキストを新作

恐らく、こちらの2つの目的を一体化したものがお望みだろうと 思われる質問を頂きました。 カレントビューの角度や生成スタイルの取得2 - C#ATIA 検索したテキストの文字を、指定したテキストに追記する - C#ATIA言葉にすると・・・ 「複数のビュー名とリン…

検索したテキストの文字を、指定したテキストに追記する

御質問頂いた内容を正しく理解できているかわからないのですが、 「Drawで検索してHitしたテキストの文字を、他のテキストに追記したい」 と理解しました。テストするものは、このような感じにしました。 コードはこちら。 'vba Sub CATMain() 'ドキュメント Dim …

カレントビューの角度や生成スタイルの取得2

こちらの続きです。 カレントビューの角度や生成スタイルの取得 - C#ATIA前回「IDやSuffixが関係してくると、もうちょっとややこしいです。」と書いた ビュー名辺りのお話です。こんな状態のデータです。 ここでこちらのコードを実行します。 'vba Sub CATMa…

サーフェスの重心をDrawのテーブルに書き込む2

こちらの続きです。 サーフェスの重心をDrawのテーブルに書き込む - C#ATIAちょっとお望みの状態では無かった様で、修正しました。 'Drawからマクロをスタートし、Partのサーフェスを指定 'Drawにテーブルを新作し、重心位置を書き込む2 Option Explicit Sub CATMa…

サーフェスの重心をDrawのテーブルに書き込む

御相談頂いた、サーフェスの重心をDrawのテーブルに書き込むサンプルです。Drawからスタートし、途中でPartに切り替えて何かを指定しなければならない マクロの場合、SelectElement4を使用する必要が有ります。(他の手法は知りません) 'vba 'Drawからマク…

カレントビューの角度や生成スタイルの取得

「ビューの角度や生成スタイルの変更」について、御質問頂きました。変更についてのサンプルコードは書きにくいため、カレントビュー情報を 幾つか表示するサンプルコードを作ってみました。 Sub CATMain() Dim msg As String Dim pi As Double: pi = 4 * At…

カレントビュー内のテキスト・寸法全てを削除する

「Drawのカレントビュー内のテキストと寸法を削除したいが、 最初の1個しか削除されない」 とのご相談を頂きました。とりあえず、検索の現行選択でテキストと寸法を選択するマクロの記録をし、 不要そうな部分を削除しつつ、変数名を修正したものがこちらで…

指定した要素を新たなPartにコピペして保存

久々のCATIAのマクロです。アクティブなPartファイル上で指定した要素を、新たなPartに ”結果として” で コピペし保存します。 'vba NewPart_CopyAndPasteResult using-'KCL0.0.13' by Kantoku '指定した要素を新たなPartファイルに"結果として"でコピペする…

ディテールシートの未使用のビューを削除

図面を作成する際、面倒なので新規のDrawファイルからでは無くて 他のファイルを流用して作りますよね?(・・・違うかな) 最大の理由はカタログから呼び出した際、分離してディテールシートに 残しているのですが、再度同じものをカタログから呼び出すのが…

3DEXPERIENCEソーシャル・コラボレーション・サービス

これ、知らなかったです。 3DEXPERIENCEソーシャル・コラボレーション・サービス | カスタマー・トランスフォーメーション・プログラム - Dassault Systèmes®CATIA V5を年間保守契約してれば、無料で利用可能だそうです。 ・・・情報が不足しすぎて、何が出…

背景図を変更したい

Drawの背景図をマクロで用紙サイズ毎に変更したいのです。 「背景図を挿入」が使えるとありがたいのですが、出来なさそうです。 昔、何かスプリクトで変更する動画を見た覚えが有るのですが、 これだったかな? CATIA V5 Macro to insert frame and title bl…

始点の無い、片追い寸法

”片追い寸法” は正式な名称じゃないと思いますが、他の表現方法がわかりません。 こちらでは ”片矢印寸法” と表記(コマンド?)されていました。 片矢印寸法(dexdsid)要はこんな感じの寸法です。 始点がクリッピングされているような状態のものです。 まず累…

指定ビュー内の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 …