C#ATIA

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

VBAで.gitignoreを読み込み、判断する

VBA

VBAで".gitignore"ファイルを読み込み、判断したいんです。 ".gitignore"ファイルはgitで監視対象から無視するためのファイルです。 (わかりにくい表現ですね。調べて下さい・・・)".gitignore"ファイルでは、フォルダーの指定も出来るのですが、 VBAのプ…

形状セットの深さを表示

この様な形状セットがあります。 このPart3の深さを示すための文字列を作りたいです。 こんな感じの文字列です。 Product3\Product2\Part3あぁ¥マークが変わっちゃう・・・。こんな感じにしました。 'vba Option Explicit Sub CATMain() Dim pDoc As partDo…

AIとCAD

こちらの記事を拝見しました。 https://www.worldcadaccess.com/blog/2023/12/new-companies-that-produce-ai-based-cad.htmlお、結構進んでいる! と思ったのですが、そうでも無いみたいです。 しかし、こんなサービスよく見つけられるなぁ。個人的にはCAD…

VBAエディタの取得

VBA

タイトル異なりますが、こちらの続きです。 CATVBAの標準モジュールをマクロで削除したい (希望)2 - C#ATIA もう、7年も前の話だ・・・。 ちょっと先々の事を考えて、VBAのエディターを操作したくなる 気がしたので、復習がてらExcelでも利用出来るようにと考えてお…

pycatiaを味わう6

こちらの続きです。 pycatiaを味わう5 - C#ATIA時間が無く書けなかったので、思い出しつつ書くので 間違っている可能性が有ります。can_execute関数では、アクティブなドキュメントのタイプで 実行出来ない場合をはじき出す為の関数なのですが、生憎 pycatia…

自作2Dの点とベクトル

VBA

前にも作ったのですが、やっぱり必要性を感じるので少し育てました。catiaのクラス名とバッティングする為、アンダーバーを入れることにしました。点クラスです。トレランス付きの一致を追加しています。 'vba Point_2D Option Explicit Private x_ As Doubl…

Period

また書きかけているのに放置してますね・・・。ちょっと疑問に思った事がありまして、試しました。まず、このような円や円弧をDrawで描きます。 続いてこんなマクロ(VBA)を作成しました。 'vba Option Explicit Sub CATMain() Dim sel As Variant 'Selection…

pycatiaを味わう5

こちらの続きです。 pycatiaを味わう4 - C#ATIA折角なので、既存のVBAマクロをpython化します。 CATIA_V5_SimpleMacroMenu/sample/sample_Draft_View_Lock_UnLock.bas at master · kantoku-code/CATIA_V5_SimpleMacroMenu · GitHub # pycatia Draft_View_Loc…

サラからのメール

ウッカリしていたのですが、昨日サラからメールが 届いていた事を見落としていました。当然全て英語でしたが、翻訳サイトを通して読むと なるほど、200万ポンドを送ったとの事。 (結構、リアルな数字)もし届いたら、メールの内容に沿った使い方をする事に …

pycatiaを味わう4

関連無いのですが、こちらの続きです。 pycatiaを味わう3 - C#ATIAreferenceのお話です。わかりにくいですよねreference。 でも避けては通れないです。こちらのサンプル見ていると、ちょっと不思議な気がしました。 pycatia/examples/example__hybrid_shape_…

"プロパティをリセット"コマンドをマクロで実行3

こちらの続きです。 "プロパティをリセット"コマンドをマクロで実行2 - C#ATIApythonではイマイチだった為、vbaに戻って再挑戦。 vbaの場合は、UI Automationを使います・・・デバッグしにくい。こちらを参照しながら、もがき苦しんだ末、出来たものがこちらです。 …

pycatiaを味わう3

こちらの続きです。 pycatiaを味わう2 - C#ATIA個人的にpython使うのであれば、型ヒント使いたいです。 でも前回はわかりませんでした・・・。幾つくサンプルを試した際にわかりつつあります。 例えば、PartDocumentがアクティブな状態の際はこの様にするよ…

"プロパティをリセット"コマンドをマクロで実行2

こちらの続きです。 "プロパティをリセット"コマンドをマクロで実行1 - C#ATIA基本的に断念しているのですが、"UI Automation"と言うものの存在を 知りました。 【VBAでUIAutomation】アプリケーションをマクロで動かす | やろまいCode"UI Automation catia"で検索…

ボディの体積をダンプする6

こちらの続きであり、 ボディの体積をダンプする5 - C#ATIA こちらの続きです。 pycatiaを味わう2 - C#ATIA折角pycatiaの開発環境が出来たので、VBA相当の処理を試してみます。 # pycatia test import os import sys sys.path.insert(0, os.path.abspath("..…

pycatiaを味わう2

こちらの続きと言いますか、解決です。 pycatiaを味わう1 - C#ATIA単純な事でした・・・。 もう一度vscode上での操作で最初から記載しておきます。〇フォルダ作成 エクスプローラ上で任意のフォルダを作成。 別の方法でも構いません。〇vscodeを起動 先程の…

pycatiaを味わう1

気になっていたpycatiaを試してみることにしました。 但し、不完全で解決する方法がわかりません。 解決方法がわかったら別途記載しますが、取り組んだ事を 忘れてしまいそうなためのメモ書きです。pycatia自体はこちらです。 GitHub - evereux/pycatia: pyt…

予想される価格上昇

こちらを見つけました。 Projected price increase. - Autodesk Community 正式な日本(円ベース)での価格はまだ未発表?の様ですが、10万を 超えそうな感じでしょうか?但し、色々と緩和条件があるようです。(中央ぐらいに記載あり) Autodesk Fusion Industr…

パズル

ここ数日、お別れしたはずのSpace-eを触ってます。 ver5.10かな?起動する度に、パズルやってます。こちら。 馬鹿にしてません?正規ユーザーが手間がかかる面倒な仕組み。世間は、パスワードからパスキーに移行しようとしているのに・・・。

ボディの体積をダンプする5

こちらの続きです。 ボディの体積をダンプする4 - C#ATIA中途半端な状態で止まっていましたが、やっと取り組めました。 ・CATIAの場合、体積が単純なプロパティでは取得出来ない ・VBAのクラスに拡張プロパティのような考えが無い を考慮すると、 ソート関数…

VBScript

先月、非推奨がアナウンスされていたんですね。 知りませんでした。 VBScriptが非推奨になった?その理由と代替言語を解説 | アンドエンジニアん~結構痛いなぁ。 web関連では既に使われなくなったような気はしていますが、 ちょっとしたものには、単体のス…

バッテリーレンチ?自作

社内事情により、バッテリーフォークの管理を担当する事に なりました。・・・フォークはあるものの、あまり活躍していないです。管理と言っても、充電しつつバッテリー液のチェックと補充です。積んであるバッテリーは、こちらのバッテリーと同じ?類似?で…

スクリプトから別のスクリプトを呼び出したい3

こちらの続きです。 スクリプトから別のスクリプトを呼び出したい2 - C#ATIA前回の最後に "スクリプトランチャ的なアドインを試しに作成したのですが、" と記述したのですが、探したところ奇跡的に以前のものが 残っていました。色々と修正が必要だったもの…

スクリプトから別のスクリプトを呼び出したい2

やらなければならない事が有るのは承知しておりますが、 しばらく何もやっていなかったため、リハビリです。 恐らくこちらの続きです。 スクリプトから別のスクリプトを呼び出したい - C#ATIA以前行った方法は、スクリプトをモジュールとして読み込み実行し…

-240.000

最近は業務が忙しく、ほぼ何も取り組めておりません。業務でマシニングセンター(FANUCのロボドリルなので、正しくは タッピングセンターと呼ぶのかも・・・)を使っていますが、 工具長補正の為の工具測定は、"Zブロックプリセッター"と言うやつを 使ってい…

ボディの重複名をさける

こちらを拝見。 How to rename Catia Bodies with Unique names - DASSAULT: CATIA products - Eng-Tipsなるほど、辞書を使うんですね。自分だったらどうするかな・・・。それ以上に、コピペした際に重複した名前を避ける機能が オプションの設定で出来たは…

穴テンプレートのオペレーション部を考える2

時間が経ちましたが、こちらの続きです。 穴テンプレートのオペレーション部を考える1 - C#ATIA穴テンプレートのオペレーション部のこちら <holeData operationType="drill" toolDiameterRatio="1.000000" version="1.0"> <holeMapping> <segment index="2"/> </holeMapping> </holeData> operationType部分の文字を取得する関数を作成しました。 def get_hole_data_operation_type( ope: cam.Operati…

ボディの体積をダンプする4

こちらの続きです。 ボディの体積をダンプする3 - C#ATIAソート関数等って恐らくVBA自体には無いですよね・・・。 ExcelのRangeであればメソッドがあるようですが、純粋なVBAには無さそう。アルゴリズムの勉強と言う意味では、ソートを自作するのも 少しだけ…

ボディの体積をダンプする3

こちらの続きです。 ボディの体積をダンプする2 - C#ATIA前回は単純にルートコンポーネントのボディを取得した順番に 体積をダンプしました。 目的によりますが取得した順番で処理を行うより、ソートされた 状態で処理を行った方が効率が良い場面が、結構あ…

ボディの体積をダンプする2

こちらの続きです。 ボディの体積をダンプする1 - C#ATIA比較の為に、Fusion360でボディの体積をダンプします。 # Fusion360API Python script import traceback import adsk.core as core import adsk.fusion as fusion def run(context): ui: core.UserInt…

ボディの体積をダンプする1

ちょっと、やろうとした事の手前で、苦戦しました。CATIA V5でPart内の全てのボディの体積をダンプさせてみました。 'vba Option Explicit Sub CATMain() Dim doc As partDocument Set doc = CATIA.ActiveDocument Dim pt As Part Set pt = doc.Part Dim spa…