読者です 読者をやめる 読者になる 読者になる

C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA

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

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

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

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

OSG エンドミル ケース

普段、OSGのエンドミルを使わないのですが、R0.5 0.5°首下30 シャンクΦ4の テーパーネックエンドミルが欲しかったので、買いました。シャンクΦ6だと結構あるのですが、Φ6だとあまり奥まで加工できないので 何度か購入しましたが、諦めました。Φ4はナカナカ無いん…

精度過剰による弊害

予め書いておきますが、今回は非常に個人的な意見で単なる愚痴です。 CATIA V5のCADとしてのトレランスは0.001mmだと言うことは、何となく知っては いるのですがSpace-eのトレランスは幾つなのか知りません。一つだけ目安になりそうな方法が、エクスポートしたIgesのヘッダー(ク…

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

前回のマクロでは、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…

PowerMILLのVortex

ちょっとした機会で、PowerMILLのデモを見せてもらいました。気になるのは粗加工のVortex。 今時だと当たり前なのでしょうか? ストックモデルを利用する事も可能なようです。但し、見るからにちょっとガッカリしました。 わかり易くしたかったので Web上で画像をちょ…

Space-e D&Dでファイル変換するスプリクト

気が付いたら、今月は一度もブログを書いていませんでした。 (案外、業務以外の事が忙しい・・・) 以前、CATIA V5でD&Dでファイル変換するスプリクトを作成しました。 D&DでIgesファイルを変換する(オマケ付き) - C#ATIA 業務では他にSpace-eと言うCADCAMを利用しているの…

小さな線や面を非表示にし、リネームする

こちらの続きです。 小さな線や面を削除する - C#ATIA基本的に前回のコードを改造したものです。 'catvba sample_Hide_Rename_SmallShape '指定した形状セット内の微少要素の削除 Private Const SmallLength = 0.01 '微少長さ 単位mm Private Const SmallArea = 0…

AP

加工屋の場合の "AP" と言えば切り込み量ですが 今時の世間では一般的にこれだろうと思います。マッキーじゃ、刺さらないだろうな・・・。デカールは抜けるっぽいです。

小さな線や面を削除する

久々のCatVBAです。 'catvba sample_DeleteSmallShape '指定した形状セット内の微少要素の削除 Private Const SmallLength = 0.01 '微少長さ 単位mm Private Const SmallArea = 0.0000000001 '微少面積 単位m^2 Private SmallShapes As Collection '削除要素 Pr…

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

使用しているPCには複数のCATIAのリリースをインストールしています。 (受け取り可能なフォーマットで、CATIA V5 としている以上、 最新のリリースもインストールしておきたい為です)近々R2015になるので、不要なリリースのものをアンインストールしました。 アンインストールするとCATIA V5 ファイルの関連付け…

選択した面の周辺の面も、選択状態にする2

こちらの続きです。選択した面の周辺の面も、選択状態にする1 - C#ATIAPythonの内包表記、For文の前に記述するのは他の言語には見られない 異様さを最初は感じたものの、案外書きやすくて使いまくってますが、 処理速度がちょっと気になったので、時間も測定…

選択した面の周辺の面も、選択状態にする1

Fusion360は一つの面から、周辺の面を取得することが可能なんですね。面を選択し、選択した面とその面に接する面を選択した状態で 終了するスプリクトです。(言葉で表現するとわかりにくい・・・) #FusionAPI_python #Author-kantoku #Description-Surface_Around_S…

面の境界を取得する

面の境界を取得する際、やはり曲線になる場合があるためスケッチで作るしか 方法が無さそうです。 #FusionAPI_python #Author-kantoku #Description-GetBoundaryCurves #指定した面の境界を取得 import adsk.core, adsk.fusion, traceback _app = adsk.core.Appl…

曲面上を2点クリックし直線を作りたい

今後の事を考え、スプリクトで曲面上に線を作成したいと思っていました。Fusion360の3D空間で点・線・面を表現するには、"コンストラクション" が 一番相応しい気がしているのですが、"コンストラクション" で表現できるのは こちらの選択フィルタを見ても Help"点" "軸" "平面" だけな…

スプリクトで2要素間の距離測定をしたい5

こちらの続きです。 スプリクトで2要素間の距離測定をしたい4 - C#ATIA あちらのスクリプトをコマンドダイアログ(?)仕様に修正しました。 #FusionAPI_python #Author-kantoku #Description-GetExtremumPoint ver0.04 #曲線の指定方向の最大・最小位置に点を作成します。 im…

スケッチ作業中を判断する

CATIAの場合はワークベンチを判断すればわかるのですが、Fusion360の場合は ワークスペースをチェックしても、判断できません。 Fusion360はスケッチオブジェクトを指定して、そこに線を書いているので "スケッチワークスペース" なんて存在しないんですね。そこで思いついたのが、 "スケッチ停止"…

クリックした位置に点を作成する

前から "マウスでクリックした位置をワールド座標で取得したい" と思っていたのですが、 ガッカリするほど簡単に出来ました。実は、こちらのスクリーン座標からワールド座標に計算しなきゃダメかな? って思っていたんです。 MouseMoveEvent サンプル - C#ATIA Fusion360のウィンドウサイス…

スプリクトで2要素間の距離測定をしたい4

こちらの続きです。 スプリクトで2要素間の距離測定をしたい3 - C#ATIA やっと極値コマンド代わりのスプリクトが出来ました。 予め書いておきますが、イマイチな部分が多々ありますので。先にコードです。 #FusionAPI_python #Author-kantoku #Description-GetExtremumPoint v…

スプリクトで2要素間の距離測定をしたい3

こちらの続きです。 スプリクトで2要素間の距離測定をしたい2 - C#ATIA 昨日の計測コマンドの頼りなさを考えると、別の方法で考えます。 色々とHelp調べていると(Help見飽きました・・・)、 点-曲線の最短となる位置の曲線のパラメータが取得できる事がわかりました。こち…

スプリクトで2要素間の距離測定をしたい2

こちらの続きです。 スプリクトで2要素間の距離測定をしたい1 - C#ATIA 昨日文章にしたことを、手動で試してみてガッカリしました。 歪んだ局面に穴をあけ、ある程度遠いところに平面を作成しました。 この平面と穴部分の距離を測ったのですが、 32.304mmです。 …

スプリクトで2要素間の距離測定をしたい1

スプリクトで2要素間の距離測定をしたいのですが、見つかりません。実はこちらの問題をスプリクトで解決できるかな? と考えています。 形状面の穴の高点 低点 - Autodesk CommunityCATIAであれば単純に '極値' コマンドで解決するのですがFusion360には 無いですね。そ…

手探り

こちらで断念しかかったタイムラインの操作 素人のぼやき - C#ATIA昨日マウスのイベントが出来たので、キーボードも似たようなもんだろうと 思い再度挑戦しました。 再生・逆再生・一時停止がキーボード操作で出来たのですが、 さらに機能を付け足し再度実行すると、原因不明で…

MouseMoveEvent サンプル

やっと出来た・・・この程度?ってレベルなんですけど。FusionAPIはイベントが利用できるのですが、海外のフォーラムを見ても 後ろ向きな回答ばかり。 Mouse Click Event - Autodesk CommunitySolved: How to use KeyDownEvent - Autodesk Community (tomo1230さん すごい…

素人のぼやき

色々と試したものの上手く出来なくて、結果として何もしていないに 等しい・・・。 同じ事を2度試さないための覚書です。 これ、スクリプトで出来るだろうと思ってました。 解決済み: Fusion 360の履歴自動再生を途中でやめたい - Autodesk Community タイムラインの再…

パラメトリックな正十二面体

こちらの質問は解決しているのですが、読んでいたらサイズ変更が可能(パラメトリック)な 正十二面体をFusion360で作ってみたくなりました。解決済み: 平面を作成できない - Autodesk CommunityCATIAでは、正四面体、正六面体、正八面体、正十二面体、正二十面体を 作…

履歴を残したままコピペを行う

最近Fusion360ネタしか書いてないです。すいません。 何かご要望・ネタ等頂ければ、CATIAのマクロを書きますので、よろしくお願いします。先日のスクリプトを作った際に気が付いたので、間違った情報を修正しておきます。 Fusion360のダイレクトモデリング - C#ATIA こ…

指定したボディの重心に点を作成する

元ネタはこちら解決済み: ボディの中心(重心?)を基準に尺度変更したい - Autodesk Community悩みに悩んで出来ました。 何となく後には引けない気がしたので。 #FusionAPI_python #Author-kantoku #Description-Create_Body_COGPoint ver0.02 import adsk.…

Fusion360 選択したオブジェクトのタイプを表示

やっとCATVBAのSelectElement2のような処理を行う、Fusion360APIのサンプルを 見つけました。 早速流用して開発向けのスクリプトを作成してみました。 #GetGeometryObjectType by kantoku #fusionAPI_python import adsk.core, adsk.fusion, traceback def run(cont…

Fusion360CAM ポストコンフィグをイジル

CAMソフトで結構手間取るのが、ポスト処理を行うためのファイル。 (Fusion360CAM ポストコンフィグって呼ぶんですね)ちょっとした改良をしようと思ってファイルの中を見ても…想像以上にプログラムチック。 JavaScriptのようです。フォーラム見ても、盛んに 「カスタムポストにつきましては、弊社…

加工時間の実績を取る

Fusion360CAMにも、ソフト上で加工時間を確認する機能があるのですが、 正直なところ目安程度ですよね。 恐らくどのソフトでも。こちらの方も。 機械加工時間予測 | 技術の森 過去ログ | 挑戦する製造業のために/NCネットワーク予測される原因はこちらに詳しく記…

Fusion360CAM ポスト処理(オマケ)

こちらの続きです。 Fusion360CAM ポスト処理 - C#ATIA 2工程目の粗加工も結局、Fusionで作りました。 で、完成です。(右側は本物) 今考えると、普通に粗加工しても良かったな とは思ってます。 寸法的にはこんな感じです。 実はこれ、こちらの「4.」のところ…

Fusion360CAM ポスト処理

ちょっと血迷って、実際にFusion360CAMの経路で削って みようかと思い始めました。 こんな形状の内側だけです。 狭いところが幅4mmで、φ3エンドミルで加工したいんです。 普段利用しているCAMには、Adaptive Clearingな経路を 作成できないので、その気になりま…

CATVBAの標準モジュールをマクロで削除出来たよ。

こちらの続きです。 CATVBAの標準モジュールをマクロで削除したい (希望)2 - C#ATIA 何から何まで教わっていながら、やっていませんでした、スイマセン。 出来上がりましたので、ご報告を。コード等はいつものGrabCADさんにUpしております。 GrabCAD - CAD library マクロの実…

Fusion360 シミュレーションを試してみた?

使ったことが無かったので、シミュレーションをやってみました。サンプルとしてよく "片持ち梁" ナンかを試されている方も いらっしゃるのですが、個人的には "イヤ、別に・・・" と思ってしまうので、もうちょっと違うものを。 (基本だと言うことは十分承知しております スイマセ…

Fusion360CAM "式" を利用し類似経路をお手軽に作成してみる

前回こちらで試した際 Fusion360CAM イビツな材料からの粗加工経路作成 - C#ATIA "式" が利用できる事に気が付いたので、これを利用した際の ちょっとしたアイデアを示したいかなぁ と思っています。 僕の場合、放電加工の電極の加工が多いため、一般的な部品加工…

A360 クラウドサービス

こちらのデータをUpするつもりはなかったのですが、 Fusion360CAM イビツな材料からの粗加工経路作成 - C#ATIAAutodeskのクラウドサービス "A360" を利用するとこんな事が出来るんですね。 すごいな、CAMまで見れちゃうなんて。

工具交換後、元の位置(XY)に戻るカスタムマクロ2

こちらと同様で、使う機械が異なります。 工具交換後、元の位置(XY)に戻るカスタムマクロ - C#ATIA庄田鉄工さんのものですが、モデルチェンジしちゃっているので NCN8200が一番近いかな? 庄田鉄工 うちじゃXYのストロークが一番大きいのですが(でも、Zのストロークが小さい・・・)、 …

Fusion360CAM イビツな材料からの粗加工経路作成

こんな形状を元に、Adaptive Clearingな経路を作りたいと 思っていますが、恐らく実際には加工しないです・・・。 Adaptive Clearingな経路のメリットは、antecさんのブログを 一通り読まれると良いかな? と思います。 ものを削って過ごす 恐らく日本語では一番詳し…

Fusion360CAM 加工領域の選択

買ってもらえそうに無いので、もう一度 Fusion360 CAM に 挑戦しようかなと思い検索したら、こちらのブログがヒットしました。Makke!のblog同じモデルを参考にしてみようかと探してみたら、見つからない・・・。 と思ったらこちらにあったものの一部なんですね。 ん~…

CAMソフトウェア企業の市場占有率(インストールシート数)

別の事を検索していたら、気になったので過去の物も 何となく探してみました。 (英語や日本語混在でスイマセン・・・見つからなかったので) 2015年のものだと思われます。 News Articles | The latest news from Vero Software - Vero atop the CAM vendor charts…

CATVBAの標準モジュールをマクロで削除したい (希望)2

こちらの続きです。 CATVBAの標準モジュールをマクロで削除したい (希望) - C#ATIA imihitoさんから重要なコメントを頂いたので、早速試してみました。 試したコードはこちら 'vba Sub MSAPC_Apc_Test() Dim oApc 'As Apc Set oApc = CreateObject("MSAPC.Apc") Dim oVBE …

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

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

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

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

OnshapeのAppStore

今月は全く余裕が無いので、何も試していないです。結構前なのですが、機能が付く付く言われていたOnshapeのCAM ですが、AppStoreと言う形で一応追加されたようです。 基本無料でアイテム課金のゲームみたいな感じですね。内容を見て結構ガッカリ。 「Mastercam」と「…