C#ATIA

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

2023-02-01から1ヶ月間の記事一覧

ChatGPT様にCATIA V5のマクロを書かせてみる

こちらに刺激を受け、CATIA V5のマクロを書かせてみました。 ChatGPTを使ってFusion 360の3Dモデリングのスクリプトをつくってもらう方法|神原 友徳 tomo1230|note呪文1 CATIA V5のVBAで星型をつくるマクロを教えてください返答1 Sub CreateStar() Dim oD…

全ての寸法に番号バルーンを付ける6

こちらの続きです。 全ての寸法に番号バルーンを付ける5 - C#ATIA もう、十分な牛歩戦術。 作成するバルーンの先頭番号を入力させますが、当然 自然数でなければNGの為、該当しない入力時は赤文字に切り替え OKボタンはグレーアウトにする ぐらいの実装は、 …

ボディの"点から位置"の移動

最近はあまりブログでFusion360APIを書いていませんが、 実はそこそこ書いてます。今年になり導入された移動コマンドのAPIの"点から位置"の サンプルが無かったので、こちらに記載しました。 Solved: Re: MoveFeature does not work when i am out of the ro…

全ての寸法に番号バルーンを付ける5

こちらの続きです。 全ての寸法に番号バルーンを付ける4 - C#ATIA大して進んでいませんが、嫌いなのですがフォーム作ります。 頑張っても綺麗にならないと思っているのですが、 こちらで説明されているフッターのアイデアはお借りました。 VBA 見栄えの良い…

VBAをVSCodeで開発

VBA

VBAをVSCodeで開発したくありませんか?僕はしたいです。検索すると幾らかヒットします。 一つは、いげ太さんが公開した "vbac.wsf" を使う方法。 もう一つは、VSCodeの拡張 "XVBA" を使う方法。ExcelでXVBAを試しましたが、すごいですね。マクロの実行が 出…

全ての寸法に番号バルーンを付ける4

こちらの続きです。 全ての寸法に番号バルーンを付ける3 - C#ATIAもう一つ、大きな機能を追加したかったので実装しました。 実務としては、バルーンを配置して図面を作成するだけではなく、 このバルーンの番号と寸法をExcelに書き出しています。 想像通り、…

小数点以下の桁数を取得する

VBAです。ちょっと検索したのですが、小数点以下の桁数を取得する簡単な方法が あるのかどうかイマイチ分かりませんでした。 目的はRoundさせる際の引数として渡したいだけなのですが・・・。 (Roundで良いのかどうかは別のお話ですが、今回はRoundで)結果…

全ての寸法に番号バルーンを付ける3

こちらの続きです。 全ての寸法に番号バルーンを付ける2 - C#ATIA 時間がかかりましたね・・・。前回の物を実行するとこんな感じです。 確かに寸法上にバルーンが配置されています。 しかし、バルーンのテキスト部分が、全て同じような右上方向ですよね? こ…

VBAの静的クラス

こちらの続きです。 2次元のバウンダリボックス - C#ATIA前回のものとこちら2つも含め、githubで公開しました。 2次元の点オブジェクト - C#ATIA 2次元のベクトルオブジェクト - C#ATIAGitHub - kantoku-code/CATIA_V5_Geometry_used_for_balloon_adjustment…

2次元のバウンダリボックス

こちらの続きです。 2次元のベクトルオブジェクト - C#ATIA最後に欲しかったバウンダリボックスです。 'vba BBox2D.cls Option Explicit Private points_ As Variant Private center_ As Pnt2D Private Sub Class_Initialize() points_ = Empty End Sub Priv…

ビューの名前変更をツリー上でも即反映する

こちらのサンプルを実行しても、ツリーのビュー名が変更されない とコメント頂きました。 カレントビューの角度や生成スタイルの取得2 - C#ATIA実際に試した所、ビュー名をテキストは変更が反映されていますが、 ツリー上のビュー名は反映されていませんでし…

選択したボディのエッジの両端点座標の取得

CATIA V5です。選択したボディのエッジの両端点座標をメッセージボックスで 表示させるサンプルです。 'vba Option Explicit Sub CATMain() '選択 Dim selElm As SelectedElement Set selElm = select_element("select edge", Array("Edge")) '両端点相当の…

2次元のベクトルオブジェクト

こちらの続きです。 2次元の点オブジェクト - C#ATIA引き続きベクトルオブジェクトです。 機能的にかなり不足していますが、とりあえず使いたい用途では これで十分な気がします。クラスモジュールです。 'vba Vec2D.cls Option Explicit Private x_ As Doub…

2次元の点オブジェクト

こちらを進めていく上で限界を感じました。 全ての寸法に番号バルーンを付ける2 - C#ATIA座標値を配列で管理する事に混乱してきましたので、 自作の2次元の点オブジェクトのクラスを作る事に。幸い、Fusion360のAPIにPoint2Dオブジェクトがあり、 何のプロパ…

配列のDebug.Assert

CATIA V5と言うより、VBAなお話です。ちょっと行き詰まるところと申しますか、限界を感じたのでクラスを 作って対応しようと思っているところなのですが、作る以上単体テスト っぽい事を行い、安全性を確認・確保しようと思っています。ところが、これ自体で…

ビューのサイズで四角を描く

ここの所、連日CATIA V5です。 さすがに、VBAエディタにも慣れてきましたが・・・やっぱり辛い。では本題。DrawのViewのサイズを取得し絶対座標で四角を描きます。 もちろん四角を描くのが目的ではなく、最終的にはビューの中心を 取得したいです。 'vba Opt…

配列でベクトル演算

ちょっと先を考えてのテストです。VBAでベクトルを扱いたいのですが、それっぽいクラスが 無いんですよね・・。 他の言語の場合、手っ取り早くやりたい場合は複素数を使って 計算させているようなのですが、生憎VBAには無いです。クラスを作るべきとは重々感…

全ての寸法に番号バルーンを付ける2

こちらの続きです。 全ての寸法に番号バルーンを付ける1 - C#ATIA 取りあえず試すことが出来る状態となりましたが、まだまだ・・・。 個人的な用途として、こんな感じの参照寸法にはバルーンを作りたく 無いです。えぇ作りたくないんです。寸法を参照寸法に…

全ての寸法に番号バルーンを付ける1

CATIA V5です。 先日、絶対座標での寸法値位置の取得が出来ました。 Drawの寸法値に四角を描く - C#ATIAこれを元に連番となる番号バルーンを作ります。 ・・・バルーンはDrawingTextオブジェクトなのですが、 DrawingTextsオブジェクトにはバルーンを作る為…

Drawの寸法値に四角を描く

CATIA V5です。 あそこまで出来たから、やる気が出てきました。(許可も取った!)表題の意味ですが、アクティブなシートの寸法値に線で四角を 描きます。 ”線じゃなくて、フレーム使えば良いじゃん!”と思われるでしょう。 四角を描くことが目的じゃなくて…

リブコマンド

あまり試さないのですが、Fusion360には比較的簡単に リブを作る為の "リブ" コマンドが有ります。先日のUpdateからなのか、それ以前からなのか 分からないのですが・・・ そっか、そこは別料金なんだ。厳しいな。