C#ATIA

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

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

他ファイルの全てのピクチャを取り込む

連日、"AdvanceCAD" のデータをコピペする作業があり、さすがにウンザリ。 根本的な原因は、CADデータの運用の問題があるのは十分 わかっているのですが、今更運用方法を変更する事に 理解してもらえるはずが無い為、マクロで対応何とか してしまえと思い、作成してみま…

ファイル間リンクの取得3

こちらの続きです。 ファイル間リンクの取得2 - C#ATIA知識不足で断言できないのですが、やはり現状は無理っぽいです。 "Digital Photos" にあるサンプルを何とか動かしたいと思い、 ゴニョゴニョとコードを変更しましたが、思うような結果が得られない 理由も何となくわかり…

ファイル間リンクの取得2

こちらの続きです。 ファイル間リンクの取得 - C#ATIA"Digital Photos" にあるサンプルを何とか動かしたいと 思っているのですが上手く行きません。Form "GVI_GetCatiaLinks" の一部なのですが、 Public Sub UserForm_Initialize() Dim i As Integer Dim LstItem As Li…

ファイル間リンクの取得

"Partファイルから生成した、DrawのViewのリンク元の形状セット名を取得したい" と言うご質問を頂きました。 残念ながら、今のところ僕にはお望みの方法がわかりません。 現在ファイル間リンクに関しては、リンク元のファイルパスとリンクタイプの取得が 可能だったと思います。 手元に残っ…

空きピクチャ取得 外部マクロ

CATIAのDrawのシートと同様に、"AdvanceCAD" には1ファイル当り ピクチャが1~63まで用意されおり、複数の図面が管理できます。使用されている(要素のある)次のピクチャに移動する為の コマンドは用意されているおり、マクロでも使用できます。 が、逆に次の空のピクチャに移動する…

外部変数と外部マクロ呼び出し

"AdvanceCAD"には、関数のような観念がない・・・。 簡単なものなら構わないが、ある程度ボリュームがある物は やっぱり無理です。 幸い "外部変数" と "マクロからマクロ呼び出し" の機能があるため これで関数を作るしかないような。以前、喜多技研さんに相談したと…

お手軽に言語判定を行いたい

先日、サンプルをUpした物の様に "CATIA.StartCommand" を 利用した場合、コマンド名を言語毎に変更する必要があります。 "Unofficial CATIA User Forum" では、ここなさんが "CatSettingsファイルから判断できる" と記載していましたが、 結構手間のかかる処理が必…

2D構成要素を配置する直前まで2

こちらの続きです。 2D構成要素を配置する直前まで - C#ATIA "他のCATDrawingファイルのディテールシートから、特定の2D構成要素を 配置する直前までをマクロで実行したい" と言う事だったので、再度挑戦してみました。仮にコピー元(ディテールシートの有る)のCATDrawingファイルは、 "C…

ファイルを開きたい

ひょっとしたら最近のバージョンでは、解決している問題かも 知れませんが、古いバージョンを使用されていて同様の内容で 困っている方の参考になれば と思い記載しておきます。 (某自動車メーカーさんのDC金型設計部門の方とか) "AdvanceCAD" のマクロはマニュアルの記述によ…

親子フォルダをダイアログ表示で行き来する

業務で使用している2DCADは、客先とデータのやり取りする関係上 "AdvanceCAD" と言うCADです。(1年以上もらってない・・・)http://www.ctc-g.co.jp/solutions/acad/ (Ver20からはWindowsのみの開発になったようです)保守契約はとっくの昔に切ってしまい、Ver13…

2D構成要素を配置する直前まで

"特定の2D構成要素を、配置する直前までをマクロで実行したい" と、御質問を頂いたので、わかる範囲で挑戦してみました。マクロで配置まで行うのではなく、直前で終了する為には "CATIA.StartCommand" を利用するぐらいしか思いつきませんでした。仮に、以下の様な…

CATIAV5 で Ariawase を試してみる(ArrFilter)

"Ariawase" の "Core.bas" や "Ext.bas" の中には魅力的な 関数名が色々と入っているので、勉強を兼ねてやってみます。ArrFilter関数は、ネーミングからして配列から条件を満たしたものだけを 返してくれそうな感じがします。CATIAとは無関係ですが、簡単なもの…

Ariawaseを利用してみたい3

こちらの続きです。 Ariawaseを利用してみたい2 - C#ATIA 先日は動く状態にまではしたのですが、同等な処理とはなっておらず 実行速度が著しく落ちます。 そこで同等処理を目指し再挑戦です。2度のループと同等にする為、データムポイントを作成と形状セットへの代入 を…

Ariawaseを利用してみたい2

こちらの続きです。 Ariawaseを利用してみたい1 - C#ATIA 元となるコードはこちらのスピードテストで利用したものです。 スピードテスト1 - C#ATIA理解不足でかなり迷いましたが、何とか動く状態になったものが こちらです。 'VBA - using_ariawase Private Declare…

Ariawaseを利用してみたい1

春頃に "Ariawase" と言う、VBAライブラリを見つけました。 vbaidiot/Ariawase · GitHub いげ太の日記 製作者のいげ太さんはF#erとして有名な方で、正直VBAを 扱っているとは驚きでした。(業務上仕方なく っぽいです) ライブラリだけではなく、"vbac" と言う…

CATIA V5-6R2015

CATIA V5-6R2015って出てるんでしたって? 来ていないような気がする・・・。

Drawingの直線を移動する2

こちらの続きです。 Drawingの直線を移動する1 - C#ATIA先週上手く行かないと思っていたのですが、上手く行ってました。 個人的にはかなりイマイチなのですが、ソースコードです。 'vba Sub CATMain() Dim oDoc As DrawingDocument Dim oSel 'As selection Dim Ms…

Drawingの直線を移動する1

"Drawingの直線を移動したい" と、ご質問頂いたので挑戦してみました。 結論から書くと、まだ出来上がっておりません。思ったより困難でした。 自宅に帰ってしまったので、記憶だけである程度ご説明します。ご存知かも知れませんが、Drawingには "移動" コマント…

仕方なく、OOoBasicをやってみました3

こちらの続きです。 仕方なく、OOoBasicをやってみました2 - C#ATIA折角なので、CATIAでもやってみます。元にするものは、こちらのスピードテストで使用したものです。 スピードテスト1 - C#ATIAまず、元のソースコードを丸ごとOOoBasic側にコピペします。 VBAやVS…

仕方なく、OOoBasicをやってみました2

こちらの続きです。 仕方なく、OOoBasicをやってみました1 - C#ATIA 個人的な印象です。○エディタが貧弱 本当に最低限の機能しか無いのでつらいです。 が、昔は専用の エディタが無かったような気がするので、あるだけありがたいです。 とは言え、自動補完が…

仕方なく、OOoBasicをやってみました1

業務を行う際、21世紀らしからぬ(全員で裏紙に記入する)作業があります。 この下らない行為を、Excelのマクロで改善してしまえ! と思い マクロを作成することに。ところが、社内のPCを見るとExcelのライセンスが不足しており、Excelと OpenOfficeCalcが混在…

他Partとリンクした平面の作成4

こちらの続きです。 他Partとリンクした平面の作成3 - C#ATIA 出来上がりました。 全体的な流れはCATMainメソッドをご覧になれば、把握できるかと思います。 'CreateLinkedPlane - vba Option Explicit Type ItemPart Item As AnyObject Part As Part End Type Sub…

他Partとリンクした平面の作成3

こちらの続きです。 他Partとリンクした平面の作成2 - C#ATIA 2番目の部分はユーザーに選択をさせ、Referenceを取得している だけなので割愛。 (メッセージが間違っているようですが・・・)質問者の方がエラーになるとしている3番目ですが、イメージとしては こんな感じです…

他Partとリンクした平面の作成2

こちらの続きです。 他Partとリンクした平面の作成1 - C#ATIA 質問者さんはCatVbsを使用しているようなのですが、 デバッグやりにくいので、VBAで進めていきます。3つに分かれているので1つ目です。 恐らくマクロの記録で作成し、少し手直しした感じがします。 'vba…

他Partとリンクした平面の作成1

ブログタイトル無視して、加工について書いておこうかとも思ったのですが、 stackoverflowにCATIAの質問が新たに出ていましたので、そちらについて 書くことにします。 I am trying to create a positioned sketch in CATIA. But I am stuck on creating plane. b…

アクティブなシートの全てのビューの2Dコンポーネントを全て展開する

結構忙しかった為、すっかり更新をサボっておりました。こちらのマクロは、これ単体で利用する事を目的としたものでは 無いのですが、過去に必要になった為作成しました。 タイトル通り、全ての2Dコンポーネントを展開するだけです。 'アクティブなSheetのメインと背景以…

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

こちらの続きです。 CATIAで2次ベジエ曲線を描きたい1 - C#ATIA 前回の点群を気持ち悪いのでZX平面でミラーし、Z座標は位置とは 無関係な為、XY平面に投影してみました。 念のため外円の始点終点はマークを変えておきました。 とりあえず、外側の円だけを考えてみ…

Onshapeを、ちょっと試してみました2

こちらの続きです。 Onshapeを、ちょっと試してみました - C#ATIA 気が付いたらOnshapeがUpDateされていました。 客先からデータが届くまで、以前Upしたデータで試してみました。まず、3Dを開いて左下の "+" をクリックするとメニューが出てくるので "CreateDrawing" を…

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

こちらの続きです。 3Dの文字モデリングマクロ8 - C#ATIA こちらにも関係しています。 CATIAで3次ベジエ曲線を描きたい1 - C#ATIA VBA版は、辞書ファイルを用意しなければならなかったのですが C#版では辞書ファイル無しにしたい為、何とかフォントのアウトラインを 取得しなけ…

BodyのTreeを各種フォーマットでエクスポートする

先日作成した "ProductTreeをXMLフォーマットでエクスポートする" マクロの ベースとなった、BodyのTreeをエクスポートするマクロをついでに公開しておきます。 (過去に "Unofficial CATIA User Forum" Upした事のある物です) そこそこボリュームが大きい為、下記のサイトにモジュール等をUp…