C#ATIA

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

バッチ処理前にマクロでモデルをチェックする

久々にPowerMillのマクロです。 かなり忘れています。PowerMillで苦労している部分は多々あるのですが、 一番精神的にダメージを受けるのが、モデルのインポート。お互いイロイロとライセンスが無い為、Igesで受け渡しを行っています。 どうやら苦労されているのは、僕だけではな…

差分を抽出マクロ修正中

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

Autodesk OnDemand Webinars

Autodeskさんは取り扱い製品数が多すぎて、迷子になってしまう為 完全に個人的な覚書です。https://www.autodesk.co.uk/campaigns/mfg-webinar/webinars-on-demand/cad-cam最近はほぼ使用していないPowerMillなのですが、正直な所使いこなせて いないですし…

Parasolidのインポートエラーを修復するVBS

こちらの続きです。 Parasolidのエラー2 - C#ATIA少しづつ時間が確保出来たので、こちらを真剣に調べてみました。 結果的に・・・ どうやらスペース文字だったようです。 (使用したエディタではスペース文字が上手く検索できなかったのかな・・・)2件続いた事例を考えると、…

マクロを直したい(愚痴)

最近忙しい一番の原因は、週に2~3回変更が入ってくる案件。 一体何時終わるのだろう・・・。"あぁこんな事が出来るんだなぁ" 程度に思って作ったこちらのマクロが 活躍してくれます。二つのボディ/形状セットを比較して、差分を抽出する - C#ATIA サーフェスの色をボディに…

滑らかさを手に入れる

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

Parasolidのエラー2

こちらの続きです。 Parasolidのエラー - C#ATIAこれの続きを書くと思っていませんでした・・・。 新規に支給されたParasolidファイル、再び変換できなかったので 前回の出来事を教訓に、エディタで検索したもののHitせず。 断念して再度支給してもらいました。前回同…

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…

Parasolidのエラー

客先からメールで支給してもらった複数のParasolidファイルうち1個だけが 変換できずにエラー。Fusion360 , Space-e , 3DTascalX , A360Viewer 全てでNGだったので ファイルが壊れていると確信。再度客先より支給してもらうと、今度はOKでした。 ファイルを比較してみると、小…

Cube in a Cube 1(予告)

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

ゴールネットのフック

こちらの続きです。Fusion360CAM ポスト処理(オマケ) - C#ATIA案の定、数が激減したため、重い腰をやっと上げて再度作成しました。 数が減る最大の原因は、ネットからフック部分が外れて紛失しているようで 割れてしまっているわけでは無さそうです。前回は既製品を真似…

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

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

Autodesk Certified User

PowerMillは、常に蚊帳の外…Certiport | Home - Certify to Succeed

PowerMill2018インストールして見ました

複数バージョンのインストールが出来たので、PowerMill2018をインストール して見ました。 ・・・バグっぽいものが随所に見られ、SP2ぐらいまでは使わない と決めました。特に痛いのが、こちらのコンテキストメニューからマクロの呼び出しが出来ない事。 2018 User menu bug - Autodesk C…

環境変数 CAT_VBAIsOutProc

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

PowerMill2018

フォーラムではチラチラ名前が出てましたが、"What’s new" なサイトが出来てました。PowerMill 2018 | New Features | Autodeskリンク先がスカスカなんですが、動画は見れました。"Ribbon interface" になるのは別に構わないのですが、こちらの動画の16秒辺りに出てくる ツールパスコ…

コンテキストメニューからフォルダを展開する

PowerMillには僕の知る限り、古いバージョンからフォルダの機能があります。 このフォルダなのですが、WinなExplorer(ディレクトリ)とはちょっと挙動が 異なり、何となく要望があって後から付け加えた機能にも感じます。もちろんフォルダ機能が無ければ、Treeが長すぎて扱いに…

GSMGetObjectFromReference

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

アクティブなブロックを未計算ツールパスに反映させる2

雛形を流用するために作ったこちらのマクロ アクティブなブロックを未計算ツールパスに反映させる - C#ATIA 制限的な部分が有るものの、一応機能していたので使っていたのですが、 処理が地味に遅いので・・・。何か方法が有るのではないかな? と思っていたのですが、どの様に…

未計算ツールパスをまとめてバッチ処理する

何となく方向性が定まらないのですが、これは使って行きそうなので 公開しておきます。こちらの自作プルダウンリストのライブラリを利用し、選択された未計算ツールパスを バッチ処理させるマクロです。 その為こちらが必要です。 "group" フォルダは犠牲にした、プルダウンリストライブラリ …

選択した円弧の長さを表示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' '円…

OBJファイルからサーフェス化を挑んでみました

存在は知っていたのですが、やったことが無かった為 Autodesk社の ReMakeとFusion360を利用し、OBJファイルからサーフェス化を試してみました。※ちょっと探した際、これらの手順が記載されたサイトが見当たらなかった為 書きました。 他サイトに手順が書かれていた際は、間…

ユーザーサイドのCATIA 関連サイト4

ネタ切れ以上に、何もかもにヤル気が湧かない・・・。こちらの続きのつもりです。 ユーザーサイドのCATIA 関連サイト3 - C#ATIA ○scripts4all Catia, Excel (& other) Tools 要登録のようですが、3つ程ツールが有りました。 試してはいませんが "TxtOnCurve" は過去に僕がC#…

円筒的矢視図を作りたい

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

工具コンテキストメニューから工具変更

計算済みツールパスの工具を変更したい時があります。 かなり、頻繁に・・・。 手動で行うと結構手間で、正直モチベーションが落ちまくります。 手順はこんな感じです。 ・任意のツールパスをアクティブ ・変更したい工具をアクティブ ・ツールパスのコンテキストメニューで '工具変更' (しかもメニュー…

"group" フォルダは犠牲にした、プルダウンリストライブラリ

相変わらず、PowerMillが使いこなせていない・・・。方向性を定める為、イロイロと試していた為マクロの製作も止めていました。 少しづつ迷いが取れきたので、少しマクロで楽をしたいところ。使い回しが出来そうなので、"group" フォルダは犠牲にしたプルダウンリストを ライブラリ化し…

何処で販売しているのか見つけられない

何となくこんな記事を見つけました。キヤノンITS、SOLIDWORKSの“かゆいところ”に手が届くツール61種を販売 - MONOist(モノイスト)よく見ていませんが、そのうちCATIAのマクロのネタに出来るかも知れない。

ツールパスバッチ処理 時間測定

PowerMillは、ツールパス・バウンダリの計算はGUIが操作出来なくなる 以来からあるバッチ処理と、バックグランドで行うバッチ処理の二つの 方法があるのですが、何となく体感的にバックグランドの処理が 遅いように感じてます。同一処理での時間測定を異なるバッチ処理方法で測定…

アクティブなブロックを未計算ツールパスに反映させる

恐らくどの3DCAMでも、類似した工程を製作する際は 予め作成しておいた雛形を流用するのだろうと思います。PowerMillにもテンプレートオブジェクトと言う機能が有り、非常に 便利なのですが、ちょっと困る部分もあったりします。テンプレートを呼び出した際、各ツールパスが切…

PowerMillマクロのダイアログ類

前回は、結局マニュアルに記載されていた関数のみでした。 今回こそは・・・、と思ったのですが、調べると今回も殆どがマニュアル 記載のものです。PowerMillのマクロで処理した際、マクロユーザーに何らかのメッセージや選択を促す ダイアログ類の覚書です。 〇エコーコマンド どちらかと言うと…

PMillマクロの隠れ型・隠れ関数

PowerMillのマクロを作る際、参考となるものは、インストールフォルダ内に 'Macro Programming Guide' があり(日本語版はサポートに言ってもらおう!) これと、Web上のフォーラムだけが頼りです。 'Macro Programming Guide'(以下マニュアル) によるとPowerMillマクロの 変数の型は string…

PowerMillマクロを高速化?

何時も忘れて何度もフォーラムを検索するのでメモ書きです。何れもPowerMillの処理を高速化したり、マクロの停止を防ぐものです。 〇メッセージダイアログ DIALOGS MESSAGE ON DIALOGS MESSAGE OFF 〇エラーダイアログ DIALOGS ERROR ON DIALOGS ERROR OFF 〇エコーコマンド デバッグトレース…

非常に個人的なPowerMillマクロ用ライブラリ

あまりに苦しいので、ライブラリ的なものを作りました。 PowerMillのマクロは、マクロの実行ファイル(.mac)以外に拡張子「.inc」に することでライブラリとして使用できるんです。(エライ!) //pmill macro Kantoku_PowerMill_Library ver0.0.2 //kpl.inc //r2017で開発 // **** フォ…