C#ATIA

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

CATIA_V5

SubList

こちらの質問の意味がわかり、回答を知っていたので答えてみました。 Speed up 'Component Activation State' parameter setting - DASSAULT: CATIA products - Eng-Tipsアクティブなファイルが複雑なデータ程、パラメータへのアクセスが重くなり 結果的に質…

手抜きマクロ起動用メニュー4

こちらの続きです。 手抜きマクロ起動用メニュー3 - C#ATIAGrabCADにUpしていましたが、管理が出来ない為Githubに 移動しました。 GitHub - kantoku-code/CATIA_V5_SimpleMacroMenu: Form buttons for calling macros created for each module are created dynamica…

MSAPC.Apc

手元にこちらのコードがあったので、 実行中のプロジェクト名とパス取得する - C#ATIAこちらに投げてみました。 CATIA VBA - Active Macro Path - DASSAULT: CATIA products - Eng-Tips意外でした、あのLittle Cthulhu氏が知らなかったなんて・・・。 Eng-TipsのC…

2019年を振り返る

通常、年末辺りは結構手が空くのですが、今年に限っては 忙しく、急いで振り返ります。〇CATIA 正直なところネタ切れ感が拭えず、今年はほぼ書いて無い様な記憶です。 今年のネタでは無いのですが、こちらの手抜きメニュー Free CAD Designs, Files & 3D Mod…

PartNumberをファイル名に書き換える

久々のCATIAなのですが、ちょっと残念な奴です。Productの際、ぶら下がったPartNumberをファイル名に書き換える と言う、今さら感の強いやつです。 'vba Assy_ProductReNamem_ver0.0.1 using-'KCL0.1.0' by Kantoku Option Explicit Private mFSO As Object …

LEDAS社

LEDAS社って聞かないですよね? ロシアのCAD関連会社なのですが、ロシア製のCADってお目にかかったこと無いです。ASCON 社(ロシア)の「C3D Geometric Kernel」と言うロシア製3DCADカーネルの 作成に関わっていた事は薄っすら知っていたのですが、こちらの…

2Dの曲線を選択した際、近い側の端点を取得

「2Dの曲線を選択した際、近い側の端点を取得したい」との相談を 頂きました。通常要素の選択であれば、Selection.SelectElement2が殆どなのですが、 今回の場合は、Selection.IndicateOrSelectElement2Dを使用します。 理由は単純で、クリックした位置の座…

MinimumBox パワーコピー

こちらでコメント頂きました。 今更ながら、ボディからMinimumBoxを作成する(Sketch&Pad) - C#ATIA 長すぎて止まる理由がわからないのですが、折角なのでこれとほぼ同等の パワーコピーを作ってみました。基本的に同じ考え方です。 多くのCADでのそうなので…

Drawの曲線をオフセットする

「Drawの曲線のオフセットをマクロで行いたい」との相談を頂きました。Drawは非常に難しいです。 過去のこちらを流用し行おうとしていたようなのですが、 Drawingの直線を移動する2 - C#ATIA こちらもすんなりと行ったものではない為、何ともならないのが本…

パラメータの「リンクの結果として」

こちら気になったのでササッと作ってみました。 Copy Parameters from product to part - DASSAULT: CATIA products - Eng-Tips 'catvba Sub CATMain() 'copy Dim copyDoc As PartDocument Set copyDoc = CATIA.Documents.Item("Part1.CATPart") Dim copySel…

配置スケッチを判断する

こちらでコメントを頂きました。 Drawのスプラインを描く3 - C#ATIA結論として、配置スケッチ(positioned sketch)はマクロでは パワーコピー以外では作れないと思っています。 それに取り組んでいた際、気が付いた事がスケッチのタイプの判断方法です。 いつか書こうと…

青い問題

CATProductで作業時にPart(PartDocument)を取得したいって 解釈したのですが・・・ Working in a CATPart in a CATProduct VBA - DASSAULT: CATIA products - Eng-Tipsこれ "青い問題" と言う名称が付いているようです。こちらの状態でPart2を取得したい場…

DrawをPDFでエクスポート 3

こちらのコメントで非常に貴重な情報を頂きました。 DrawをPDFでエクスポート (未解決)2 - C#ATIAこちらについても解決です。 DrawをPDFでエクスポート (未解決) - C#ATIA通りすがりさんのアドバイスを元に以下の手順で行いました。 〇プリンタを追加する 「プリンタの…

KCLのソースコードをGithubに移行しました

こちらでソースコードを管理していたのですが、 非常に個人的なCATVBA用ライブラリ - C#ATIA Githubで管理することにしました。 GitHub - kantoku-code/KCL: Library for personal CATVBA (CATIA macro)ついでに、Ver0.1.0としており破壊的な変更です。 Ver0.0.x…

CATIA V5 ファイルのアイコンの関連付け2

こちらの続きです。 CATIA V5 ファイルのアイコンの関連付け - C#ATIAアイコンの関連付けではなくて、正しくはファイルのダブルクリック時に 起動するCATIAの関連付けなのですが、こちらの方法でも上手くいきません。 https://faq.mypage.otsuka-shokai.co.jp/app/an…

更新後も非表示を保持する

悩んでます。サポートにも質問中ですが、生憎盆休み中のようで反応無しです。 こんな感じで3Dを作り2Dに落とします。 リンクはさせた状態です。 2D側の線を一ヶ所非表示にします。 3D側の形状を変更します。 2D側を更新します。 非表示にしておいた線が表示…

Drawの2点間距離を求める

「Drawの二つの点の距離を求めたい」と御相談頂きました。過去に必要になった場合は、座標値から計算して求めていたのですが、 確かに他の方法を調べた事が有りませんでした。 まず、元にするデータですがアクティブなビューに点を 二つだけ作っておきます。…

Drawのスプラインを描く3

こちらの続きです。 Drawのスプラインを描く2 - C#ATIA前回の記録を録ったマクロを、Drawで流用する事を考慮し修正します。一番欲しいのはスプラインの作成部分ですが、コントロールポイントも必要と なる事が前回わかりましたので、それも含めて関数化して…

Drawのスプラインを描く1

「マクロでDrawのスプラインを描きたい」と御相談頂きました。 実は、以前取り組んだことが有ります。図面の変更前と後で変更部分にスプラインで 目立つように印を付ける為です。(恐らく一部の関連企業だけだろうと思います) 先にお伝えしておくと、スプラ…

綺麗なロフト

ネタ切れ感が拭えないのですが、こちらに面白そうなネタが。 Small Faces - DASSAULT: CATIA products - Eng-Tips残念な事にデータが添付されていないのですが、 ・CATIAのスケッチトレーサーでCTをスケッチ ・複数セクションサーフェス(ロフト) ・StepでA…

’サーフェス上' に点を持つ面の面積の取得

久々にCATIAのマクロです。こちらの問題に取り組んで見ました。 Point on face - accessing face from point - DASSAULT: CATIA products - Eng-Tips質問者さんが記載していますが、「サーフェス上の点」には どの面上に点を作ったかを示すSurfaceプロパティ…

ビュー名のテキストを追加する

こちらで記載した事の確認です。 複数のビュー名とリンクした状態のテキストを新作 - C#ATIA属性リンクを持ったテキストの作成は非常に面倒なのですが、 (しかも確認する手段が無い)単純にビュー名とリンクした状態の テキストの作成であれば単純です。 日…

複数のビュー名とリンクした状態のテキストを新作

恐らく、こちらの2つの目的を一体化したものがお望みだろうと 思われる質問を頂きました。 カレントビューの角度や生成スタイルの取得2 - C#ATIA 検索したテキストの文字を、指定したテキストに追記する - C#ATIA言葉にすると・・・ 「複数のビュー名とリン…

検索したテキストの文字を、指定したテキストに追記する

御質問頂いた内容を正しく理解できているかわからないのですが、 「Drawで検索してHitしたテキストの文字を、他のテキストに追記したい」 と理解しました。テストするものは、このような感じにしました。 コードはこちら。 'vba Sub CATMain() 'ドキュメント Dim …

カレントビューの角度や生成スタイルの取得2

こちらの続きです。 カレントビューの角度や生成スタイルの取得 - C#ATIA前回「IDやSuffixが関係してくると、もうちょっとややこしいです。」と書いた ビュー名辺りのお話です。こんな状態のデータです。 ここでこちらのコードを実行します。 'vba Sub CATMa…

サーフェスの重心をDrawのテーブルに書き込む2

こちらの続きです。 サーフェスの重心をDrawのテーブルに書き込む - C#ATIAちょっとお望みの状態では無かった様で、修正しました。 'Drawからマクロをスタートし、Partのサーフェスを指定 'Drawにテーブルを新作し、重心位置を書き込む2 Option Explicit Sub CATMa…

サーフェスの重心をDrawのテーブルに書き込む

御相談頂いた、サーフェスの重心をDrawのテーブルに書き込むサンプルです。Drawからスタートし、途中でPartに切り替えて何かを指定しなければならない マクロの場合、SelectElement4を使用する必要が有ります。(他の手法は知りません) 'vba 'Drawからマク…

カレントビューの角度や生成スタイルの取得

「ビューの角度や生成スタイルの変更」について、御質問頂きました。変更についてのサンプルコードは書きにくいため、カレントビュー情報を 幾つか表示するサンプルコードを作ってみました。 Sub CATMain() Dim msg As String Dim pi As Double: pi = 4 * At…

カレントビュー内のテキスト・寸法全てを削除する

「Drawのカレントビュー内のテキストと寸法を削除したいが、 最初の1個しか削除されない」 とのご相談を頂きました。とりあえず、検索の現行選択でテキストと寸法を選択するマクロの記録をし、 不要そうな部分を削除しつつ、変数名を修正したものがこちらで…

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

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