C#ATIA

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

CATIA_V5

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

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

比較的最近まで知らなかった操作の数々

ここ一ヶ月ぐらいあまりやらないモデリングをたっぷり行いました。 恥ずかしながら、比較的最近まで知らなかった操作の数々です。・ドラフト - ニュートラル面による選択 こんな感じの97角形(100以下の最大素数)に、勾配付ける場合有りますよね? (無いです)以前であれ…

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 何処かに、拘束が重複しないように整えてくれるマクロ、落ちてないでしょうか? (標準な機能では無いですよね?)非常に下らないのですが、スケッチの拘束…

スロット形状の長手方向の寸法

いつもイライラしてしまうのですが、3Dから2D落としたものに 寸法を入れるときですが 赤印はスロットの中心で寸法を作成しているのですが、 実際に欲しいのは青印の長手方向での寸法です。中心線は、交点を検出してくれないです。 点を作って拘束させてゴニョゴニョした…

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

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

方向反転判断しながら平行曲線作成

"GSDのサポートを指定した平行曲線マクロが上手く行かない" とご相談頂きました。 こんな感じでしょうか? まず、実際にマクロの記録を取ってみます。 'catvba Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim par…

選択面の抽出

「抽出を行いたいが、選択面のみにならずに全体の面になってしまう」 と、ご相談を頂きました。面の選択の際のフィルターの問題かと思ったのですが、どうやら違うようです。 こちらで確認した所、これであれば選択面のみの抽出が出来ています。 'vba Sub CATMain(…

「サブツリー」コマンド

マクロで「サブツリーを開く」を行いたい と御質問を頂きました。 結論を先に書くと出来なさそうです。が、その他調べた事を覚書しておきます。今まで利用した事が無かったのですが、メニューの「表示」内に「サブツリー」が あるのを知りませんでした。 試した所、ちょっと…

子ウィンドウの整列スタイル

御質問頂いた際、正直何のことかわかりませんでした。 が、調べたら理解できました。(最初はパターンの何か? かと思いました)要は、ここの表示の切り替えをマクロで行いたいと言う事ですよね? 'CatArrangeStyleテスト Sub CATMain() Call CATIA.Windows.Arrange(Ca…

データム化された要素の入っている形状セットの取得

”マクロがPCによって動くものと動かないものがある”と相談を頂きました。 状況が良くわからないので、完全な答えには辿り着けない可能性も有りますが。。。点を選択後、点の含まれている形状セットの取得部分が問題のようです。まず、こんなデータを用意しました。 …

ファイルを最小化でオープンしつつ、オープン前のウィンドウをアクティブ化

「パワーコピーのPartファイルを最小化で開きつつ、開く前のアクティブな'ウィンドウをアクティブ状態にする」 と言う内容のご相談を頂きました。正直な所、どのような操作を想定されているのかが、把握できていない為 目的の状態になっていない可能性もありますが・・・ 'vba Sub C…

DrawingTextの中心座標

DrawingTextの中心座標を取得したい との記載を見て思い付きで書きました。 Size of the textbox on a drawing - DASSAULT: CATIA products - Eng-Tips 最初に、”遅いよ” って書いたんですけどね。リトルクトゥルフさんがアッサリ答えを書いてくれました。 ・・…

VBA 言語環境による挙動の違い

先日のマクロですが、上手く動かないらしいのです。 draw with a catia all the Dual Geodesic Icosahedra - DASSAULT: CATIA products - Eng-Tips原因が良くわからないのですが、CATIAのリリース違いが 影響するような程の最新の機能は使っていないはずです…

Dual Geodesic Icosahedra3

こちらの続きです。 Dual Geodesic Icosahedra2 - C#ATIA完成したので、テストデータと共にGrabCADにUpしました。 恐らく誰にも役には立たないでしょう。 3D CAD Model Collection | GrabCAD Community Library 結局一番苦労したのは、正規表記のパターンでした…

Dual Geodesic Icosahedra2

こちらの続きです。 Dual Geodesic Icosahedra - C#ATIA結局、格好悪い方法で挑戦中。 やっと形になるようにはなりました。 但し、自己交差しているタイプのもので、何面か抜けるものがあり 原因調査中。 接合するわけじゃないので、自己交差が原因の訳では…

Dual Geodesic Icosahedra

こちらに楽しそうなネタが。 draw with a catia all the Dual Geodesic Icosahedra - DASSAULT: CATIA products - Eng-TipsリンクされているHelpのページ・・・探しましたよ。 GSDの真ん中ぐらいにありました。何処にマクロがあるのかな? と思っていたらExcel…

ThickOnTheFly2

こちらの続き? です。 ThickOnTheFly1 - C#ATIA こちら作りかけて止めました。続けてもいないのですがコードを 記載していなかったので・・・・。 正直な所、変数・関数名等が酷いのですが、直す気力がありません。 'vba using-'KCL0.0.12' '動的にボディの厚みをS…

DMUスペースアナリシスのセッション2

こちらのh2さんのコメントで、非常にありがたい情報を頂きました。 DMUスペースアナリシスのセッション - C#ATIA結論から書くと、当方は素のHD2で DMU スペース・アナリシス のライセンス無しですが セクションの作成が出来ました。 恐らく、 Set s = Sect.Export の状態は、Partファイ…

DMUスペースアナリシスのセッション

「DMUスペースアナリシスのセッションを利用して、多くの断面を取得したい」 と御相談を頂きました。 が、当方にはDMUスペースアナリシスのライセンスが無い為、手も足も出ないのが 本音なのですが、過去にこちらを試した事があったため 出来る限りのことは記載しておきます。 技術的な…

モデル再インポート機能

客先からデータが支給された、後に変更後のデータと差し替える 事になった場合、変更箇所を見付け出すためにこちらのマクロを 作りました。 二つのボディ/形状セットを比較して、差分を抽出する2 - C#ATIA機能はしているのですが、やはり遅いです。(でも使って…

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

こちらの続きです オフセット平面をリネーム - C#ATIAimihitoさんから指摘された部分を修正し、座標系平面からの オフセット平面も対応させました。 'vba Part_OffsetPleneRename_ver0.0.2 using-'KCL0.0.12' by Kantoku Option Explicit Sub CATMain() 'ドキュメントのチェック If …

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

オフセット平面をそれなりの名前に変更するマクロです。 元々持っていたマクロなのですが、あまり使っていませんでした。 最近使ったのでコードを綺麗に直しました。"それなりの名前に" なのですが、サンプルとしてはこんな感じです。 平面1(黄色)-XY平面からオフセッ…

注記内の指定文字を削除する

こちらのコメントで、CATIAの質問を頂きました。 CAD Exchanger Cloud - C#ATIA久々に挑戦しました。 'VBA '3D注記の指定文字を削除する by Kantoku Option Explicit Sub CATMain() Dim keys As Variant '削除対象文字 keys = Array(".", "_") '************* Di…

クリックした点の座標値を外部ファイルにエクスポート

こちらでコメントを頂いたので、リハビリがてら作ってみました。 Excelフォームボタンからマクロの起動 (未確認) - C#ATIA 'vba sample_ExpPointPos_ver0.0.1 by Kantoku '選択した点の座標値をファイルにエクスポート Option Explicit '*** エクスポートするフォーマットを設定して下さい *** 't…

欠けた三面図

劇的に難しかった・・・ CATIAじゃ成立しない。

勾配面1

今年に入り、Fusion360ばかり褒めているので…。XY平面に円を描き、パッド(対称で)し、Y軸を回転軸として XY平面を20度回転させます。 この回転させた平面を基準として減肉方向に5度勾配を付けます。 もう、何も迷う必要が無くすんなり出来ます。 そして、金型…

ロフトのプロファイル

Fusion360を練習をしていて感じたのが、この形状。 随分と慣れたのですが、これ苦手なんですよ。 3Dでどんな形状しているのか? 直ぐに認識できないんです。こちらのサイトの一番下のPDFの過去問題の中の 問2の形状の一部にあります。 3次元CAD 使用できるソフ…