C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA

CATIA_V5

1つのPartからBody毎にしたProductを作り出す

タイトルの日本語が怪しいのですが、要はこちらのコマンドで Assy → Part にしたものを、再度Assy状態にしたい と言うことです。CATProductからCATPartを作成 | CATIAの小技このコマンドは古いリリースでは表側に無く、裏コマンドだったんですよね。 "データを軽くして客先に支…

Bodyの穴っぽい部分に点を作成

業務上欲しくなったので、久々にCATIAのマクロを作成しました。穴あけ加工をCAMで作る際、Space-eでは穴位置となる点が 欲しかったので、こちらのマクロをかなり前に作成しました。 指定した平面から、穴の中心点を作成する1 - C#ATIA 本来であれば、3Dの形状から…

3Dの点をリンク付きでスケッチ投影

COEでこちらの記述を見て、作ってみました。 http://www.coe.org/p/fo/st/thread=29815レスしたものはインデントが消えてしまっているので Sub CATMain() 'HybridBody-Points Dim HBdy As HybridBody Set HBdy = SelectItem("Select a HybridBody : ESC = Cancel",…

二つのボディ/形状セットを比較して、差分を抽出する2

こちらの続きです。 http://kantoku.hatenablog.com/entry/2016/11/24/173743 http://kantoku.hatenablog.com/entry/2017/07/19/190425原因を突き止め切れていないのですが、結果が総当りと 一致するようになりました。まずは、本マクロのエントリーポイントを持つ標準モ…

差分を抽出マクロ修正中

こちらの続きです。 マクロを直したい(愚痴) - C#ATIA少しづつ時間が確保出来たので、修正しているのですが・・・。 こちらのマクロの問題点は、互いの面を総当りで比較している と言う点です。 二つのボディ/形状セットを比較して、差分を抽出する - C#ATIA過去に作った…

滑らかさを手に入れる

最近忙しかったのですが、一山だけ超えました。二番目の原因が、リバースエンジニアリングな仕事のマネキンのモデリングです。 3Dスキャンしたものからサーフェス化したものの一部(背中)がこちらフリースタイルなライセンスが無い為、ゼブラ表示が出来ません。 代わりに "サーフェスの曲率 - 屈折領域" …

CATPart内エラー時のUpdateObject

こちらでコメント頂いた 「GetMeasurableはUpdate出来ないと長さも取得できそうにありません」 について、解決されたようですが、試しているうちに知らなかった事に 出くわした為、記載しておきます。 選択した円弧の長さを表示1 - C#ATIA テストしたデータはこん…

アクティブCATPartを、Igesファイルにバッチ変換

ちょっと業務上欲しくなったので、CATPartファイルをIgesに変換する為の マクロを作成しました。" マクロにする必要ある? " と思った方、正解です。単に変換するだけであれば、必要性を感じないのですが、オプションの こちらの部分を変更しソリッドとサーフェスで二回変換してます…

ThickOnTheFly1

こちらでクリックした際、肉厚を取得しました。 クリックした面に3Dな矢印と注記を作る - C#ATIAこちらの方法を流用して ボディの外側をマクロで判断する - C#ATIA動的に肉厚を取得できないかなぁ? と思い挑戦中です。画面左下のステータスバーの位置に、測定した肉厚の値を表…

UpdateObjectとComputeの違い

こちらで教えて頂いた、Computeメソッド UpdateとUpdateObject - C#ATIAこちらで試した際は気が付かなかったのですが、 スピードテスト5 - C#ATIAPartクラスのUpdateObjectメソッドは各HybridShapeクラスのComputeメソッドを 呼び出しているだけなのかな? と思っていたので…

ボディの外側をマクロで判断する

以前、3次元測定機の測定結果(CSV)をCATIAに取り込み、 実物とCADデータを差を調整しながらモデリングを行った事があったのですが、 大量の点をイチイチ測定する手間が非現実的なため、誤差を測定する為の マクロを作成し作業をしたことが有ります。単に 点 - ボディ 間の…

スピードテスト5

一応、こちらの続きです。 http://kantoku.hatenablog.com/entry/2015/04/15/195513前回のコメントで、"HybridShapeクラスのComputeメソッドでもアップデート出来るよ" と imihitoさんに教えていただき、少し速くなりそうな気がしたので、 こちらのコードを元に試してみまし…

UpdateとUpdateObject

"マクロで作成した面の色を変更したけど、上手く反映されない" と言った内容の御質問を頂きました。このような状態のデータで、オフセット面を作成する操作の マクロを記録しました。 'vba Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.Ac…

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

こちらの記載を見てみると、DrawをPDFに高速で変換する方法を お探しのようでした。Fastest way to convert CATDrawing to PDF - DASSAULT: CATIA products - Eng-Tips添付されているマクロを見ても、結局開いてPDFとして保存してました。 恐らくそれしか方法無…

クリックした面に3Dな矢印と注記を作る

こちらの続きです。 3Dな注記の位置を制御出来ているっぽい(条件付き) - C#ATIAやっと完成しました。 注記位置については前回通り、条件付となりますが結構満足してます。 'vba sample_CreateArrow_ver0.0.3 using-'ver0.0.10' 'クリックした面に矢印を作成-注記…

3Dな注記の位置を制御出来ているっぽい(条件付き)

こちらの続きです。 3Dな注記の位置を制御したい - C#ATIA前回はX軸が縦になった状態の場合、注記が意図しない位置に 出来上がってしまいました。 最後に "一瞬だけ画面を動かせば" と書いたのですが、 実際に取り入れたところ、上手く行っているように感じ…

3Dな注記の位置を制御したい

こちらの続きです。 クリックした面に3Dな矢印を作る - C#ATIA 注記の追加に取り掛かっているのですが、やはり注記の位置を制御 するのに困っています。未完成の為、コード無しですがこのような感じまでは出来ています。 動画の最初の操作では、意図した位置に出来…

クリックした面に3Dな矢印を作る

タイトルが異なりますが、こちらの続きです。 クリックした面に法線を作成する - C#ATIAこちらでコメント頂いている矢の部分ですが、 昨日自宅で、どの様な定義をすれば良いのか思いついたので コードを作成してみました。 (このような事は案外、PCの前に居ない時に思いつ…

マクロで干渉レポートを作成する

こちらのコメントに記載した、マクロで干渉レポートを作成するサンプルを 作成しました。 クリックした面に法線を作成する - C#ATIA コードはこちら。 'vba sample_ClashReport_ver0.01 using-'ver0.0.10' '指定した2つのプロダクトの干渉チェックをします Option Explicit Sub CATMain…

Viewpoint3Dで表示を動かす2

こちらのコメントで御質問頂いた "画面中心に表示させる" 方法のサンプルです。 クリックした面に法線を作成する - C#ATIA と言っても、過去にテストしたコードを64bitで動くように 修正しただけなのですが・・・ Viewpoint3Dで表示を動かす - C#ATIA 'vba test_Viewpoint3D ver…

読み取り専用でファイルを開く2

昨日、imihitoさんからのアドバイスを利用するために書き換えてみました。 読み取り専用でファイルを開く1 - C#ATIAVBA.FileSystem.SetAttr/GetAttr関数を利用して進めていたのですが、 ファイルの存在をチェックや拡張子を取得する関数類がVBA.FileSystemには 存在していな…

読み取り専用でファイルを開く1

"読み取り専用でファイルを開きたい" と御質問を頂きました。 過去に探した事が有り、"Unofficial CATIA User Forum" にも 記載したのですが・・・ 生憎、ソースコードの管理が悪く サンプルが見つかりませんでした。結論としては、CATIAのマクロでドウコウでは無く、FileSystemOb…

クリックした面に法線を作成する

こちらでコメント頂いたのですが、時間がナカナカ確保できずに サンプルを作れませんでした。3Dの文字モデリングマクロ8 - C#ATIA正直な所、完成した状態がイメージし切れていないため、クリックした 面のクリックした位置に法線を作成するマクロを作成してみました。 'vba sample_Cre…

Cube in a Cube 1(予告)

先日のジュラコンの切削条件を探していた際に見つけたこちらの動画キューブ内のキューブ - YouTube驚きました、旋盤でこれを作るとは・・・。探してみるとこちらは 工具、治具を作るところから、最後はそれらの寸法までCube in a cube / Turners cube - YouTubeしか…

サーフェスの色をボディに反映する2

こちらの続きですが、タイトル名がふさわしくないです。サーフェスの色をボディに反映する - C#ATIAtakashiさんからコメントを頂き、早速ご要望を反映してみました。 'vba sample_ApplyColor_ver0.0.2 using-'KCL0.0.10' '指定した形状セット(ボディ)の面の色をボディ(形状セット)…

環境変数 CAT_VBAIsOutProc

これ知りませんでした。COE : Forums : CAT_VBAIsOutProc確かにVBA6(32bit)からVBA7(64bit)に移行した際、 動かないマクロが幾つかありました。(KCLも)起動するCATIAの環境変数にこれを追加することで VBA7でも32bitとして実行できるようです。何れは64bitとし…

GSMGetObjectFromReference

COEにこんな記載が http://www.coe.org/p/fo/st/thread=29679リファレンスからオブジェクトを取得する関数。 使わないので忘れていたのですが、利用価値が無いわけじゃ 無いと思ってます。ドキュメントに記載されていないので、忘れるわけです・・・。 と言う理由での覚書。

選択した円弧の長さを表示2

こちらの続きです。 選択した円弧の長さを表示1 - C#ATIAもう一つ方法があり、パラメータと式を利用した方法です。 'vba test_Circle_Length_Formula 'using-'KCL0.0.10' '円弧の長さを表示-式利用 Option Explicit Sub CATMain() 'ドキュメントのチェック If Not CanExec…

選択した円弧の長さを表示1

ちょっと相談?を頂いたので、久々にCATIAのマクロを書いてみました。選択した3D円弧の長さを表示するだけのものです。 極端な話、こちらの物を流用しただけです。 線を選択しつつ、合計長さを表示する - C#ATIA 'vba test_Circle_Length 'using-'KCL0.0.10' '円…

円筒的矢視図を作りたい

久々にCATIAネタです。 少し前に業務で行った、円筒形部品の図面を描く際の悩みです。 タイトルでは "円筒的矢視図" と書きましたが、正しい名称すらよくわかって おりません。(展開図と表記すると望んでいない答えが返ってくるもので) 本来円筒形部品のお話ですが…