C#ATIA

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

2017-10-01から1ヶ月間の記事一覧

VS2017

C#

社内で利用する為のツールを作らなきゃならないと思いつつ 数年経ってしまっているのですが、気が重いです。目的のものはGUIが必要なのですが、個人的に非常に苦手です。本来であれば、勉強ついでにPythonで と思っていたのですが GUIが必要となるとC#の方が楽…

ボディをかき集める

Fusion360と他のCADを併用されている方いらっしゃいますか?Fusion360は色々なフォーマットのデータを読み込んでくれるので 助かっているのですが、Fusion360上ではこんな感じで表示しているのに 中間フォーマットでエクスポートしたものを、他のCADで読み込…

Drawのテーブルに最後の列を追加2

こちらの続きです。 Drawのテーブルに最後の列を追加 - C#ATIA前回のマクロ、ちょっとダメなんです。 セルの文字だけのコピーだったので、フォントのボールド等が正しくなかったのです。 寸法テーブルのサイズ変更する方法をmineさんに教えて 頂いたのですが、実際に使う際、一定し…

複数のフォルダを削除する

仕事が薄い時に、日頃の不満を解消したい。PowerMill内のフォルダを削除したい時が多々あるのですが、 まとめて削除出来ず、一個一個チマチマやるのが辛いです。一度に複数のフォルダを削除する為のマクロを作りました。 //PMill_Macro2018 //フォルダー削除 ver0.0.1 functio…

Drawのテーブルに最後の列を追加

Drawの穴寸法/座標寸法テーブルで、最後の列を増やしたい事が 結構あるのですが、恐らく手動では出来ないような気がしてます。 手動で出来ます(コメント部で、mineさんに教えて頂きました) (方法知っている方いらっしゃいましたら、教えて頂けると助かります)仕…

参考寸法

手抜きメニューに登録しながらマクロを修正していたら 地味なヤツを見つけました。こんな感じの、丸括弧付きの寸法って何と呼ぶのが正式なんでしょうか? (きっとJISとかで決まっていると思うのですが)僕は参考寸法と呼んでいます。 こちらでもそんな記載になってます…

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

こちらの続きです。 手抜きマクロ起動用メニュー2 - C#ATIA「Cat_Macro_Menu_Model.bas」の宣言セクション部に幾つか定数を 設けています。お好みで変更してください。 'Cat_Macro_Menu_Model.bas 'using-'KCL0.0.12' 'タグを追記したモジュールをプロジェクトに追加するだけで '…

Excelフォームボタンからマクロの起動 (未確認)

「Excelのフォームのボタンを押したら、指定した座標系を元に XYZの値を入力した位置に、点を作成したい」 と言う内容の御質問を頂きました。生憎、古いExcelしかインストールされていないため(マクロ動かない) 完全には再現できませんが、近い事はしてみたい…

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

こちらの続きです。 手抜きマクロ起動用メニュー1 - C#ATIACATVBAプロジェクトにマクロのモジュールを追加するだけで、 メニューボタンを自動的に追加します。但し、追加するモジュールにボタンとなる情報を追記する 必要が有り、以下 [タグ] と表記して説明します。 〇ファイルの構成 同一のプ…

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

CATIAのマクロを実行する際、こちらの前半に記載した方法で ツールバーに登録して使っているのですがマクロを高速に実行させる(非公式) - C#ATIA正直な所、登録が面倒です。 (何処で見たか忘れましたが、全てのファイルを閉じた状態で ツールバーを新規に作成すると、ワークベン…

ProductTree の リオーダー2

こちらの続きです。 ProductTree の リオーダー - C#ATIAサンプル用のマクロを用意していたのですが、Product用のマクロを持っていない為、 以前の物を修正し、インスタンス名でソートするマクロに変更しました。 'vba sample_ReOrder_Product ver0.0.1 using-'KCL0.0.12' by Kantoku …

複雑な条件分岐を、出来るだけ清楚に書きたい

VBA

ちょっと複雑な条件分岐を、どうやったら清楚に書けるものか 悩んでます。言葉だけでは伝わらないので、直ぐに思い付いたコードがこちらです。 'vba Sub Branch_Test() Dim NaN& '他言語のNaN代わり NaN = -100: Dim Piyo& '条件1 Piyo = 2 Dim Huga& '条件2 H…

CodeModuleクラスのProcBodyLineプロパティ

VBA

この辺に記載されていますが、Office TANAKA - VBAでVBEを操作する[CodeModuleのプロパティ] ProcBodyLine プロパティProcBodyLineプロパティの取得に失敗したら例外吐き出すって 記載しておいて欲しい。(本音は-1でも返して欲しい)ローカルウィンドウにも表示されな…

実行中のプロジェクト名とパス取得する

今まで気が付かなかったのですが・・・。VBA実行中にプロジェクト名やプロジェクトのファイルパスが欲しいなぁ と、思った事がありましたがあまり調べていませんでした。ちょっと試しているうちに発見しました。 'vba 実行中のプロジェクト名とパス取得 Option Explicit Sub CA…

mixiにあった質問

mixiに質問があったので挑戦してみましたが、 言葉だけだったのでこれで良いものかどうか 判断できません。こちらに mixi.catpart と言うファイルでUpしました。 GrabCAD - CAD library こちらにも記載したのですが CATIAのマクロの質問 - C#ATIA閉鎖的なサ…

Formにボタンを動的に追加し、イベントを発生させたい

VBA

色々と思うことが有って、VBAのFormに取り組んでいるのですが 知識が足りず悩んでます。UserFromにコマンドボタンを動的に追加し、イベントも動的に発生させたいです。 こちらで教わったのですが Formの内容を、DrawTableに反映する - C#ATIAこちらを参考にしてみま…

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

予め、お伝えしておきます。 KCLを更新しました。 非常に個人的なCATVBA用ライブラリ - C#ATIAリンクの画面やカタログ等を開いた状態でマクロを実行すると、 エラーで止まってしまうのを防ぎたかったので。 こちらの続きです。 1つのPartからBody毎にしたProductを作り出す -…

Treeの順番を取得したい

Partで、このような状態でルート?のTreeにぶら下がっているものを 見た目の順番通りに取得したいのですが、方法がわかりません。Bodyだけなら順番通りに取得できます。 形容セットだけでも同様。 Bodyと形状セット(や時系列形状セット)が混合していた場合、 個別の…

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

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