C#ATIA

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

KCL

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

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

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

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

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

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

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

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

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

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

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今直ぐにでも使いたく時間かけていられない為、現状の小道具を 生かすことにします。属性リンクを使用するのは、単なるテキストではなくテーブルなんです。 (更に一歩ハードルが高いんです)リンク情報…

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

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

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

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

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

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

同一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…

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

こちらの続きです。 異なるUUIDのDraw参照元ファイルを差し替える1 - C#ATIAコメント部分のリンク先のコードを参考に ・ファイルの選択化 ・全てのビューのリンク参照元対応 'vba ChangeDrawLink ver0.0.1 using-'KCL0.0.12' by Kantoku 'Drawのビューのリンクの参照元…

任意のビューのみを強制更新

「任意のビューのみを強制更新させる drawingview.GenerativeBehavior.ForceUpdate()の括弧の中身は何でしょう?」 と御質問頂きました。 括弧の中身は不要で、空の括弧でOKです と思ったのですが、 サンプルを作成してみると、括弧自体が消えてしまいます。 …

ファンネル3

こちらの続きです。 ファンネル2 - C#ATIA行き詰まり感から脱していないです。 ゴールに辿り着ける気がしていないのが本音です。 赤い印の「ファンネル」部分にチェックが入っているかどうかを判断する マクロが一応動く状態で出来上がっていますが、非常に限定的…

寸法をクリックし、2Dコンポーネントを配置する

こちらの続きです。 寸法をクリックして直交する線を書く - C#ATIA・・・▽▽対策のマクロです。 'vba Finish_Mark_ver0.0.1 using-'KCL0.0.12' by Kantoku Option Explicit 'インスタンス作成用情報 Private Type CompBase view As DrawingView scale2 As Double En…

寸法をクリックして直交する線を書く

こちらの続きです。 http://kantoku.hatenablog.com/entry/2018/10/23/181308こんな感じのDrawです。 正面図がアクティブな状態で、右側面図の寸法位置に▽▽の2Dコンポーネントを 配置しようとすると 正面図が大きくなりますし、当然レイアウトを変更したら根…

ビューの位置を保存・再現2

こちらの続きです。 ビューの位置を保存・再現 - C#ATIA前回不満だった ・マクロ処理後の移動ログ表示ミス ・角度の再現化 を修正しました。 'vba Draw_ViewsPositionLoaderWriter ver0.0.3 using-'KCL0.0.12' by Kantoku ' 'ver0.0.1:完成 'ver0.0.2:読み書…

ビューの位置を保存・再現

連日、不慣れなCATIAの2Dをやってきたお陰で、今まで知らなかった 機能に毎日出会ってます。 一度作った断面の位置を、変更する事が出来るなんて知りませんでしたよ・・・。 (SolidWorksやFusion360では、普通に出来て羨ましいと思ってました)相変わらず不満も…

ファンネル2

こちらの続きです。 ファンネル - C#ATIAどうも行き詰まり感が漂うので、とりあえずコードをUpします。 'vba Draw_SetFunnel_ver0.0.1 using-'KCL0.0.12' by Kantoku Option Explicit Private Const DEF_FUNNEL_VALUE = "2,15,5" Private Const TITLE = "フ…

寸法の下側文字

寸法の下側文字を編集したい時が、チョロチョロ出てきました。 前後はマニピュレータで表示させると便利だと、知り合いの方に 以前教わりました。 設定に無いって事は、寸法の下側の文字を利用する機会が 少ないって事でしょうか?そればっかりやるのであれば…

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

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

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

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

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

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