C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

KCL

不覚にも、KCLのご利用をお考えの方へ

非常に個人的に作成している CATVBA用ライブラリ なのですが、サンプルとして 掲載しているマクロを利用する際には必要となる為、今更ながらご説明です。例えばこちらの場合ですが、 単独な3D曲線の取得する1 - C#ATIA サンプルコードのヘッダ部分を確認してください。 (忘れ…

単独な3D曲線の取得する1

こちらの続きです。 端点一致を探る、組み合わせテスト5 - C#ATIA とりあえず、機能するものを先に作りました。 'vba test_FindSingle3DCurve Ver0.0.1 using-'KCL0.08' '単独な3D曲線の取得 Option Explicit '*** 設定 *** Private Const Tolerance = 0.001…

3D曲線の端点座標値を取得3

こちらの続きです。 3D曲線の端点座標値を取得2 - C#ATIA 未だにこだわっているのですが、何とかもうちょっと速くしたいので。3D曲線を取得するコードを書くのが面倒だったので、検索で済ませていたのですが 真面目にHybridShapesから探し出すように修正してみ…

3D曲線の端点座標値を取得2

こちらの続きです。 3D曲線の端点座標値を取得 - C#ATIA SPAWorkbenchで端点を取得する方法が、桁違いに速い事はわかったのですが 実際テストしてみると体感的にかなり遅いんです。 その為、形状セットを指定した後の時間を測定するように変更してみました。 'vba …

選択セットを利用し、再選択を高速化

こちらの続きです。 選択セットを利用する - C#ATIA 通勤中に "ひょっとしたら今回使うかも" と思ったので、 選択セットを利用した "再選択の高速化" をテストしてみました。選択セットを作成する際、事前に選択状態にしなければならない為 一度だけでは無意味です。 一…

端点一致を探る、組み合わせテスト1

前回の応用です。 3D曲線の端点座標値を取得 - C#ATIA 3D曲線の端点座標一致を探し出す、組み合わせテストコードを作りました。 予め書いておくと、何も考えずに単純に作っているので全くダメのものです。 少ない量であれば、まぁ大丈夫ですが 数が多いと最悪CATIA…

3D曲線の端点座標値を取得

ご相談頂いた内容を実現する為に、テストコードを作成しました。 3D曲線の端点部分の座標値の取得は、ほぼやったことがありません。2Dの直線であれば、こちらで端点座標を取得しています。 Drawingの直線を移動する2 - C#ATIA 実は、2Dと異なり3Dの場合はプロパティ…

"エリア フィルを修正" コマンドに挑戦

「マクロで "エリア フィルを修正" コマンドを」と御相談を頂いたのですが、難しいです。よくわかっていない物をマクロ化する際に最初に利用するのが、個人的なライブラリ "KCL" のCATMainにしているマクロです。 選択されたものをローカルウィンドウでみて見ると、エリアフィルではなく、Drawing…

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

前回のマクロでは、2つを比較して色を反映させましたが、同一の面を認識 = 異なる面を認識なので、2つを比較して異なる面を抽出するマクロを作りました。 'vba sample_GetChangeArea_ver0.01 using-'KCL0.08' '2つのボディ/形状セットの異なる面を抽出 Option Explici…

非常に個人的なCATVBA用ライブラリ "KCL" をVer0.07にしました

こちらで公開している非常に個人的なCATVBA用ライブラリ "KCL" を 修正・追加しました。 非常に個人的なCATVBA用ライブラリ - C#ATIA 公開しているサンプルマクロでも特にSelectItem関数を利用しているのですが、 今まではこんな記載方法をしていました。 ・・・ Dim HB As…

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

昔と異なり最近は、客先から3DCADデータを受け取って作業を行うことが 殆どなのですが、当然全ての客先がCATIAを使っているわけでは無い為、 中間フォーマット(Parasolid,Acis,Step,Iges)で受け取る事が殆どです。 (メーカーさんがCATIAでも、間に数社はいるとCATIAでも…

指定した要素の周囲要素を取得する3

こちらの続きです。 指定した要素の周囲要素を取得する2 - C#ATIA前回は無意味だったので、結局素直に距離を測り判断します。 リフレームオンと検索でHitした要素だけの距離測定のため、全部の要素に 対して行うより短時間で済むはずです。 'vba sample_Get_Outskir…

指定した要素の周囲要素を取得する2

こちらの続きです。指定した要素の周囲要素を取得する1 - C#ATIA "周囲要素を取得する" と書いておきながら、画面に表示されたものを 取得している為、遠くに有るのに "周囲の要素" を判断されている事は 昨日の時点で気が付いていました・・・。これを改善…

指定した要素の周囲要素を取得する1

"指定した要素の周囲の要素を取得したい" とご質問を頂きました。すんなり行う機能がCATIAには無いような気がするので、"リフレーム オン" と "検索" を利用します。 'vba sample_Get_Outskirt_Items using-'KCL' '指定した要素(GSD)の周囲要素を取得 Option Explic…

指定ボディを子ボディにしつつ、リネーム2

こちらの続き・・・と言うか反省です。 指定ボディを子ボディにしつつ、リネーム - C#ATIA 昨日のコードでは、こう書きました。 'vba type1 Sub CATMain() Dim Msg$: Msg = "Bodyを選択して下さい : ESCキー 終了" Dim SelElem As SelectedElement Do Set SelElem = KC…

指定ボディを子ボディにしつつ、リネーム

明日には出口にたどり着けそう。長かった・・・。少し前に行った作業で、類似した作業を何度もやることになった為 急遽作ったマクロです。 指定したボディをアセンブルで子供にするだけのマクロです。 えぇ大した事無いです。 具体的に示すとこんな事です。 このボディー.…

曲線と戦ってみる11 - 曲線の最小Rを求める

こちらの続きです。 曲線と戦ってみる10 - C#ATIA曲線内の最小Rとなる部分を見つけ出せば、何か糸口が掴めるかな? と思っています。 指定した曲線の最小Rって "式" で取得できる事 知っていましたか?こんな感じです。 "長さ" のパラメータを作成して、画像のよ…

曲線と戦ってみる9

こちらの続きです。 曲線と戦ってみる8 - C#ATIA 曲線の長さとチャレンジする円弧の長さの関係を 掴みたい為、こちらのコードを修正しました。 曲線と戦ってみる4 - C#ATIA何処を修正したのか忘れてしまった為、全てコードを 記載しておきます。(KCLは必要です) 'vba…

曲線と戦ってみる7

こちらの続きです。 曲線と戦ってみる6 - C#ATIA 一本の曲線を近似化するだけなので、あまりスピードには こだわるつもりは無かったのですが、コードが荒れない程度であれば 高速化したいので、テスト用コードを作成。こちらのType1のコードを見ると、y4yamaさんも曲線…

曲線と戦ってみる5

こちらの続きです。 曲線と戦ってみる4 - C#ATIA 色々な曲線を試しているうちに気が付くのですが、 このマクロ欠点が幾つか有ります。 ・直線部分は近似化されない 直線部は、3点通過の円弧が作成出来ない為当然と言えば 当然です。 こんな感じで直線が含まれた…

曲線と戦ってみる4

こちらの続きです。 曲線と戦ってみる3 - C#ATIA コードの理解を深めたかったのと、今後修正等を行いやすくしたかった為 Type1と元に作り直しました。 'vba Arc_Approximated Option Explicit Private Const mPntCount = 151& '曲線上のポイント数 Private Const …

非常に個人的なCATVBA用ライブラリ

-- 重要 -- こちらは古い記述です。 最新のものはこちらになります。 GitHub - kantoku-code/KCL: Library for personal CATVBA (CATIA macro) ------公開するコードを短くしたい為、非常に個人的に作成している CATVBA用ライブラリを公開しておきます。…