C#ATIA

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

VBA

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

「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…

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

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

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

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

UI Automation

こんな方法あるんですね。 Graph Tree Reordering in VBA | Scripts4All Assyのリオーダーに感心しているのではなくて、この ”アクセシビリティフレームワーク” とやらです。 UI Automationって知りませんでした。基本的にUIの単体テスト向けの もののようにも感…

ファンネル3

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

spy++

VBA

以前は、古いVSじゃないと入手出来ないような雰囲気だったので 類似品が結構出ていたような気もしたのですが、spy++は今でもちゃんと 入手できる事を知りませんでした。 Spy++ が見つからないときの対処方法 - xin9le.net VBA用のWinAPIは、Web上では結構新…

寸法をクリックし、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 = "フ…

モーダレスなメッセージボックス

こちらを取り組んでいるのですが、昨日 "上手く動くようになった" と思い、今日実戦投入したのですが、上手く行かない所もあり・・・。 ファンネル - C#ATIA何かしら手掛かりが得られないか? 探していたらこちらがHit。 Dimension text location while rerouti…

寸法の下側文字

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

ファンネル

累進寸法のファンネルをマクロで変更したいので挑戦中寸法補助線が DrawingDimensionクラスのGetDimExtLineプロパティで 取得できる事がわかりました。 r1 DrawingDimExtLine (Object) ひょっとしたら前回の角度も取得できるかも。試しにGetFunnelメソッドを…

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

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

GetDirectionが上手く行かない2

こちらの続きです。 GetDirectionが上手く行かない - C#ATIAimihitoさんからのアドバイスを頂き、こんな風にしてみました。 (これだけじゃ動きません) 'vba '平面法線 Private Function GetPlaneDirection(ByVal pln As Plane) As Variant Dim pln_vari As Va…

GetDirectionが上手く行かない

平面の向きを取得したいだけなのですが、SPAWorkbenchのGetDirectionが エラーになり上手く行かないです。 確かに使った事無いんですが・・・。 'vba これは一部なのでこれだけじゃ動かないです '平面情報 'return 0-Distance 1-p1_Direction 2-p2_Direction Priva…

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

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

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

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

クリックしたスケッチ点にHVの拘束を付ける

何となく、近い将来必要に迫られる気がしたので、作りました。 スケッチャーWB時のみ、クリックしたスケッチの点に原点からHとVの 拘束を付けます。 'vba 選択したスケッチの点にHVの拘束を作成 using-'KCL0.0.12' Sub CATMain() 'ワークベンチチェック If Not CATIA.GetW…