C#ATIA

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

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…

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

本題の前に、誤った情報の修正です。 API以外で"穴テンプレート"と"テンプレート"の違いを見つけられない ような記述を以前しましたが、テンプレートライブラリで見分けられる ことが分かりました。 同じ工程を"穴テンプレート"と"テンプレート"を作りました…

穴テンプレートのトーラスを考える4

こちらの続きです。 穴テンプレートのトーラスを考える3 - C#ATIAテストする形状を少し複雑にしました。 ザグリ部分に面取り(赤)を付け、面取りの両側にR面(緑)を付けました。 面取り両側のR面は凸ですが、元々付けていた黄色のR面は凹です。 恐らく、こ…

穴テンプレートのトーラスを考える3

こちらの続きです。 穴テンプレートのトーラスを考える2 - C#ATIA誤った結果となる原因の一つの "円弧の始点終点では無く、穴の軸方向を元に三次元座標の上下で判断" を組み込みつつ、出力結果を下6桁に修正しました。 # Fusion360API Python script import …

穴テンプレートのトーラスを考える2

こちらの続きです。 穴テンプレートのトーラスを考える1 - C#ATIA取りあえず、現状の理解の下に確認スクリプトを作成しました。 トーラス(R面取り等)を選択すると、それっぽい情報を出力します。 # Fusion360API Python script import traceback import ad…

穴テンプレートのトーラスを考える1

ん~フォーマットがわからない。単純なものから考えます。これは穴の断面です。 赤印部分はこんな感じです。 <segment bottomAngle="-0.000000" isConvex="1" isExpanding="Contracting" sweepAngle="-1.570796" topAngle="1.570796" type="Torus"/> 緑部分はこんな感じです。 </segment>

穴テンプレートの形状部分を真似る

見に来て頂いている方々には申し訳ないぐらいに、何も進めていませんでした・・・。 まぁ期待されていないでしょう。穴テンプレートの形状部分は、例としてこんな感じになってます。 <holeSignature version="5"> <segment isExpanding="Contracting" type="Cone"/> <segment isExpanding="Contracting" type="Flat"/> <segment type="Cylinder"/> </segment></segment></segment></holesignature>