C#ATIA

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

2015-01-01から1年間の記事一覧

線幅の変更を行う

こちらでご質問頂いた件のサンプルです。 Drawingのラインの端点座標を取得 - C#ATIA最初に線幅を入力する為のダイアログが出ますので、 1~63までの数値を入力。 その後、線をドンドン指定してください。 途中、線幅を変更したい場合には、一度ESCキーを押すことで 再…

ProductTreeをXMLフォーマットでエクスポートする

先日ご紹介した "スタック・オーバーフロー" のサイトに "ProductのTreeをXMLフォーマットで出力したいのだが" みたいな 質問がありました。 vbscript - generate xml file from Catia treeview - Stack Overflowで、VBAで作ってみました。 出来上がりはこんな感じ。(…

ユーザーサイドのCATIA 関連サイト

CATIAに限らず、(国内の)ユーザーサイドのMCAD系のサイトはかなり少なく なったような気がします。 ので、CATIA関連サイトを探してみました。 ○キートス キートス -Kiitos- | CATIA V5 無料テキスト 何故このサイトで、このようなテキストが無料でDL出来るのか? 未だに謎です…

CATIAのマクロの質問

コンピュータエンジニア向けの "スタック・オーバーフロー" と言うサイトがあります。 業務でCATIAを使用している方には、ほぼ無縁なサイトで、プログラムの質問に対し 解答が付くだけといった、非常にドライなサイトです。スタック・オーバーフロー 日本語…

指定したドローイングテーブルに、指定した子形状セットの名前を反映

ご質問頂いたもののサンプルです。指定したドローイングテーブルに、指定した形状セットの子形状セットの名前を反映させます。 仮に、以下の様な状態のファイルがあるとします。 テーブルは2X2で、形状セット(a)側の子形状セットは、5個(a1~a5)有ります。 又、子形状セットの名前にはそれぞ…

指定した形状セット内のサーフェスのみ、色を変更

ご質問頂いたもののサンプルです。指定した形状セット内のサーフェスのみ、緑色に変更します。 特に記述する事もない為、ソースコードです。 'vba '指定形状セット内にあるサーフェスの色を緑に変更 Sub CATMain() Call SurfaceChangeColorMain End Sub Sub SurfaceChangeColorMain()…

指定した要素の同一形状セット内に、対称形状を作成する

ご質問頂いたもののサンプルです。ユーザーが指定した要素(点・線・面等)をZX平面を基準とした対称要素を、 指定した要素と同一の形状セット内に作成します。 仮に、以下の様な状態のファイルがあるとします。 ここでマクロを実行し、"曲線.1" "サーフェス.1" "点.1" をShiftやCtr…

指定した形状セット内に、新たな形状セットを作成する

ご質問頂いたもののサンプルです。以下の様な状態のファイルがあるとします。 ここでユーザーが形状セットを指定した際、指定した形状セットが存在し Partに直接ぶら下がっている形状セット内に、新たに空の形状セットを 作成します。 言葉で表現するとややこしいです。実際にマクロを…

外部ファイルから点を3Dに取り込む3

C#

こちらの続きです。 外部ファイルから点を3Dに取り込む2 - C#ATIAこちらも過去に "Unofficial CATIA User Forum" でUpしたものです。 前回のマクロでも目的は達成できるのですが、大量の点を取り込む際 どうしても時間がかかり過ぎます。 これに悩み、思いついたの…

外部ファイルから点を3Dに取り込む2

こちらの続きです。 外部ファイルから点を3Dに取り込む1 - C#ATIAこれは過去に "Unofficial CATIA User Forum" でUpしたものです。 CATVBA や CATVBScript では無く、VBScriptです。 VBScriptで作成するメリットは、D&Dが利用出来るところでしょうか?ソースコードで…

外部ファイルから点を3Dに取り込む1

CSVファイルの様な座標値をCATIAに取り込む機能は、Drawにはテーブル としてはあるのですが、3D側には標準的には無いのだろうと思います。 国内外のサイトを見てもそれなりに需要があるようで、機能を補填する ようにマクロがチラホラ見受けられます。http://www.coe.org/…

指定したエッジをセンターラインとするパイプ形状の作成マクロ

ご質問頂いていたエッジを指定してパイプ形状を作成するマクロです。色々と不足している部分はありますが、ご参考になれば。 Dim PartDoc As PartDocument Dim oPart As Part Dim HBody As HybridBody Sub CATMain() Set PartDoc = CATIA.ActiveDocument Set oPart…

形状セット要素の対称化マクロ

会社のデータサーバーが、暑さで壊れてしまい全く仕事になりませんでした。 暇だったので、形状セットと平面を指定し、形状セットの階層を維持しつつ データム化させ対称形状を作成するマクロを作ってみました。 (スケッチは対象外です)例としてこんな感じのデータです。 マクロ実…

形状セット内にある形状セットの数をカウントする

こちらにコメント頂いた件のサンプルになるかな?と言った内容です。 VBAでマクロを作成する際の我流な手順2 - C#ATIAPartファイル内にある形状セット全てをまわり、形状セット内にある形状セットの数を 表示させます。 言葉ではわかりにくいので、こんな感じのPartファイルです。 ソースコー…

ProductからPartDocumentを取得する

作業オブジェクトがProductの状態で、Treeにぶら下がっているPartを 操作したい と言った内容のご質問を頂いたので、調べてみました。 こんな感じでPart2を操作したい と言うことになります。このPartを操作するためには、結果的にPartDocumentさえ取得して しま…

左手系の座標系の存在チェック

当方加工屋のため、加工対象となる形状が製品基準ではなく こちらの都合の良いように配置し、CAM側に投げる事が多々あります。 古いリリースでは、GSDにしか座標変換のコマンドが無かったのですが、 今はPartデザインにもあるため、イチイチ移動させ回転させ・・等 面倒な…

3Dの文字モデリングマクロ8

こちらの続きです。 3Dの文字モデリングマクロ7 - C#ATIA実際にマクロを使用したものがこちらです。 ・プレビュー後の反転の向きが何だかおかしい? ・文字の押し出し方法 - "サポート面に対して垂直"の際、 文字によって押し出される方向が違う (恐らく辞書ファイルのサーフ…

3Dの文字モデリングマクロ7

こちらの続きです。 3Dの文字モデリングマクロ6 - C#ATIA最後にCATMainメソッドを持つ、Text3D_Startモジュールです。 'text3D VBA 'Text3D_Start Option Explicit 'フォント用Partファイルパス-この部分は各自設定してください Const FontPartPath = "C:\temp\" Const FontP…

3Dの文字モデリングマクロ6

こちらの続きです。 3Dの文字モデリングマクロ5 - C#ATIA続いてクラスモジュールとしては最後のText3DStringContainerクラスです。 このクラスは文字モデルそのものを保持しています。 'text3D VBA 'Text3DStringContainer Option Explicit Private mChars As Collection 'T…

3Dの文字モデリングマクロ5

こちらの続きです。 3Dの文字モデリングマクロ4 - C#ATIA続いて文字が配置される際のガイドカーブやサポート面を保持する Text3DGuideItemContainerクラスです。 'text3D VBA 'Text3DGuideItemContainer Option Explicit Private mGuideCurve As Text3DObjRefClass Pr…

3Dの文字モデリングマクロ4

こちらの続きです。 3Dの文字モデリングマクロ3 - C#ATIA最初に全体像をお伝えすべきでした。このような感じです。 モジュールが1個とクラスが6個で構成されています。 現状、「Text3D_Start」モジュールと「Text3DStringContainer」クラスが 未完成な状態です。 続いてCAT…

3Dの文字モデリングマクロ3

こちらの続きです。 3Dの文字モデリングマクロ2 - C#ATIA まだ完成していないのですが、この先修正しないだろうと思われる部分を 公開していきたいと思います。基本的にこちらで公開されているマクロを改造したものです。 http://www.ema3.com/CATIA_V5_MACRO/V…

CATIAで3次ベジエ曲線を描きたい1

すっかりマクロを作っている暇が無いです。CATIAで3次ベジエ曲線を描きたいと思っているのですが、 何方かご存じないでしょうか? 始点、終点と2つの制御点全てが同一平面上で構わないので 描きたいです。細かくパラメータを変化させ、得られた大量の点をスプライン…

VBAでマクロを作成する際の我流な手順2

こちらの続きです。 VBAでマクロを作成する際の我流な手順1 - C#ATIAマメな性格な方であれば、一つ一つHelpを見て理解して頂くと 良いのですが、当方めんどくさがりな性格なので次の手段に移ります。Dim ~ は変数の宣言なのでとりあえず無視し、それ以外の部分…

VBAでマクロを作成する際の我流な手順1

こちらでコメント頂いたので、 3Dの文字モデリングマクロ2 - C#ATIA VBAでマクロを作成する際の我流な手順と言いますか、取っ掛かりの ような部分を記載しておきます。 (世間一般的にどのような手順が正しいのかは知りません・・・)ありがたい事に、全てではありません…

3Dの文字モデリングマクロ2

こちらの途中経過 3Dの文字モデリングマクロ1 - C#ATIA問題山積みですが、何とか文字のサーフェスを配置するところまでは 出来てきました。 後は厚みサーフェスすれば良いかな? 想像以上のソースコードの量になり、このブログでUpして良いものだろうか・・・。

SelectElementからReferenceの取得

こちらの3Dの文字モデリングマクロを作成していますが、中々進みません。 3Dの文字モデリングマクロ1 - C#ATIAで、今回はこちらを進めていて出てきた問題です。 何かしら形状(点・線・面等)を作成したい場合、何らかの参照(ガイド・サポート等)が 必要なコマンドがほとん…

DrawingTextの位置リンク

こちらのコメントを頂いたので、DrawingTextの位置リンクのマクロを作成 してみました。 Viewに基準線を入れる2 - C#ATIA 準備として直線とテキストを1つずつ作成してください。 (味気なかったのでテキストにフレーム表示させていますが、マクロの実行には無関係です。) マクロを実行…

Drawingのラインの端点座標を取得

こちらのコメントでご質問頂いた内容ですが、 長くなってしまったのでこちらに記載します。 Viewに基準線を入れる2 - C#ATIA"端点を取得したい"は、端点の座標だろうと解釈しています。 ラインから端点座標取得する方法は2種類あります。 1つは端点のオブジェクト(P…

3Dの文字モデリングマクロ1

自分は使う機会が無いのですが、3Dで文字のモデリング機能は比較的 主要なCADでは有るのですが、何故かCATIAには無いです。 その為、検索するとその為の機能の製品が、幾らかHITします。 ○TYPE3 Type3 CAAV5, CATIAのアドオン 金銭的な問題さえなければ、間…