C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA(最近はPMillマクロとFusion360APIが多い)

関数名

最近は忙しすぎて、ブログのネタになるような事をしてません。こちらをチラッと読みました。 VBA 特定日付が、第何週目の何曜日なのかを求める関数 - t-hom’s diary 結構関数名に悩みます。リファクタリングすることで変数名の ボキャブラリ不足を回避してい…

背景図を変更したい

Drawの背景図をマクロで用紙サイズ毎に変更したいのです。 「背景図を挿入」が使えるとありがたいのですが、出来なさそうです。 昔、何かスプリクトで変更する動画を見た覚えが有るのですが、 これだったかな? CATIA V5 Macro to insert frame and title bl…

始点の無い、片追い寸法

”片追い寸法” は正式な名称じゃないと思いますが、他の表現方法がわかりません。 こちらでは ”片矢印寸法” と表記(コマンド?)されていました。 片矢印寸法(dexdsid)要はこんな感じの寸法です。 始点がクリッピングされているような状態のものです。 まず累…

指定ビュー内の2Dコンポーネントを削除する

「ビュー内の2Dコンポーネントを削除する方法」について御質問頂きました。2Dコンポーネントについては、DrawingView内のComponentsプロパティの コレクションが所有した状態になっています。 'vba 指定ビュー内の2Dコンポーネントを削除する Option Explicit Sub CATMain() Dim dD…

ストックモデルを利用している全てのツールパスの設定を未選択にする

邪魔なストックモデルを削除しようと思うのですが、相変わらず 依存が厳しく削除コマンドを行っても削除されません。 削除しようとしているストックモデルを利用しているツールパスが 計算済みの為、削除出来ないような仕様になっています。この様にストックモ…

全てのツールパスの作業平面を変更

こちらの続きのような感じです。 全てのツールパスを無効に一発で! - C#ATIAプロジェクト流用の為に、全てのツールパスの作業平面(CATIAの座標系)を 設定したいので、マクロにしました。 //pm2019macro //Set_Axis.mac ver0.0.1 //全てのツールパスを無効にし作業平面をセッ…

全てのツールパスを無効に一発で!

PowerMillの工程を使い回したい時がシバシバ有ります。 前にも書いたかも知れませんが。 既存の計算済みツールパスを全て無効にしてから始めたいので、 ツールパスのコンテキストメニューの「全て無効」コマンドを実行してます。 恐らく他のCAMソフトでも類似した機能があるはずで…

Drawビューの原点を変更する1

3Dを元に2Dを作成する際、単に平面を指定すると3Dの原点が 2Dの各ビューの原点になりますが、任意の座標系を2Dの原点としたい場合 座標系を選択した上で平面を指定すればOKですよね? (言葉では表現しにくいですね)こんな3Dデータだとします。 オレンジ色…

Win64

内容的にはこちらに記載した内容の続きです。 ファイル間リンクの取得10 - C#ATIAVBA7はVBAのバージョンだとわかるのですが、Win64って何だろう? と思い調べました。 コンパイラ定数 (VBA) | Microsoft Docs 正直に書くと以前は 「OSが64bitだよ」 って思ってまし…

オプションの設定を切り替える(発見手順)

最近こそ業務の依頼として頂くので、CATIAで2D図を使うようになったのですが 以前からあまり好きではなく、他の2DCADで構わないのであれば他のCADを 使っていました。その理由のひとつが(3Dから投影したもの以外の)線を ドラッグした際動いちゃう事なんで…

Select Case True

覚書です。 'vba Select Case True 知った際に結構衝撃的だったのですが、先にTrueを条件にしてしまい イロイロと異なる条件を元に判断してしまうのに利用しています。 (雰囲気的にYesマンみたいなイメージです)この記法は結構独特なのかと思っていたのですが…

2D属性リンクを扱いたい8

こちらの続きです。 2D属性リンクを扱いたい7 - C#ATIAこちらの「GetLinksInfo.bas」でリンク情報が手に入ったので、 セルのオブジェクト名を書き込むのをやめて、リンク情報を書き込む ことにします。 ファイル間リンクの取得9 - C#ATIA 'vba CheckAttributeLink V…

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

こちらの続きです。 ファイル間リンクの取得9 - C#ATIA客先の環境下でリンク情報の取得が出来ません・・・・。 もがきまくった末わかったのが、このコードで Sub Win64Check() #If Win64 Then Debug.Print "Win64です" #Else Debug.Print "Win64じゃ有りません" #End If…

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

こちらの続きです。 ファイル間リンクの取得8 - C#ATIAここがゴールでは無いのですが、ファイル間リンク情報をVBAで取得出来るようになりました。 こちらは、リンク情報を取得するだけのものです。 WinAPIを利用している為、標準モジュールで作成してください。 'vba GetLinksInfo…

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

こちらの続きです。 ファイル間リンクの取得2 - C#ATIA 3年程前に断念したVBAでのファイル間リンク情報取得なのですが、 昨日から少し手ごたえを感じています。元にしているコードはこちらです。 Catia V5 Get Links 過去に紹介したサイトが幾つも消えてしまっているのです…

2D属性リンクを扱いたい7

こちらの 2D属性リンクを扱いたい6 - C#ATIAですが、内容的にはこちらを変更したものです。 2D属性リンクを扱いたい4 - C#ATIA前回CSVファイルとしてエクスポートしたのですが、 同じレイアウトでセルのオブジェクト名を記載したテーブルを 横に作成した方が…

2D属性リンクを扱いたい6

こちらの続きです。 2D属性リンクを扱いたい5 属性リンク付き座標テーブル - C#ATIA処理が満足出来るレベルまで速くなりました。 'vba AttributeLinkTable Ver0.0.2 using-'KCL0.0.12' by Kantoku '属性リンク付き座標テーブル-平面上の点のみ対応 'ver0.0.1:完成 …

DrawingTableのSetCellObjectメソッド機能していない

このメソッドです。 r1 DrawingTable (Object)既存のテキストをテーブルのセルに突っ込んでしまいたいのですが、 エラーになります。こんなコードを作りました。 'vba エラーになります using kcl Option Explicit Sub CATMain() Dim dDoc As DrawingDocumen…

2D属性リンクを扱いたい5 属性リンク付き座標テーブル

こちらの続きです。 2D属性リンクを扱いたい4 - C#ATIAやっと属性リンク付き座標テーブルが出来ました。 'vba AttributeLinkTable Ver0.0.1 using-'KCL0.0.12' by Kantoku '属性リンク付き座標テーブル-平面上の点のみ対応 Private Const TITLE = "Attribute…

fscad

ちょっと前にFusion360APIのフォーラムにあったトピなのですが 少し気になりました。 fscad - A framework for programmatic CAD in Fusion 360 - Autodesk Community説明書きを読んだ感じでは、途中の作業を自作したプログラムで処理し 最後に出来上がった…

2D属性リンクを扱いたい4

こちらの続きです。 2D属性リンクを扱いたい3 - C#ATIA今直ぐにでも使いたく時間かけていられない為、現状の小道具を 生かすことにします。属性リンクを使用するのは、単なるテキストではなくテーブルなんです。 (更に一歩ハードルが高いんです)リンク情報…

2D属性リンクを扱いたい3

大した進展も無いまま、こちらの続きです。(忘れそうなので) 2D属性リンクを扱いたい2 - C#ATIAこちらのC#で作ったやつ、正常に動きませんでした・・・。 3D CAD Model Collection | GrabCAD Community Library 何でだろう、と思ったのでVS立ち上げて実行した…

2D属性リンクを扱いたい2

こちらの続きです。 2D属性リンクを扱いたい1 - C#ATIA属性リンクを使ったことが無い為、イロイロと確認です。3DでXY平面状に点を作成し、2Dでテキストを作成。 属性リンクをH→X、V→Yとして作ります。 属性リンクパネルの「現行の選択」は多分、インターナル…

Fusion360ユーザーカード

Fusion360ユーザーカード、僕もやりました。 写真のUpが上手く行かなかったのですが。 Fusion 360 User CardTwitterで ”もうお一方いらっしゃいますが秘密" って流されている Fusion 360 Expert Elite は僕です。控えめの入力の結果ですが、背伸びしても変わ…

2D属性リンクを扱いたい1

3Dのパラメータ等の値を、2Dテキストにリンクさせた状態を作る方法を 薄々は知っていたのですが、「僕には関係ない」と思い調べずにいたのですが 使用する必要性が出てきた(逃げられそうに無い)ので、重い腰を上げる事に しました。Helpで調べたり、頂いた…

断面図から断面を切った位置の座標値を取得

こちらでコメント頂いた 「断面図から断面を切った位置の座標値を取得」 についてです。 図面の断面のネーミング - C#ATIA 結論から書くと、取得出来そうに有りませんでした。 念のためこんな感じのコードは作りました。 'vba using-'KCL0.0.12' by Kantoku …

曲線の始点終点どっちが近いのかな?判断

これ、誰も答えないのでマクロを作ろうかな? と思っているのですが Catia VBA startpoint, endpoint - DASSAULT: CATIA products - Eng-Tips 思ったより手強い。スプラインだけじゃなく、直線・円弧にも対応させて、 閉じているかどうかもチェックしたいの…

Home3Ddo

Fusion360でエキスパートエリートの小原さんのブログですが ← リンクを追加しました。内容はFusion360だけではないのですが、Fusion360の記載が充実しています。 「Fusion360 勉強部屋」は機能毎にまとめられており、うちとは大違いで 目的の内容を探しやす…

メッシュの面のグループ

メッシュの機能の中で1個だけ、Helpを読んでもよくわからない 機能があったんです。こちらの「面グループ」の機能です。 意味が理解出来ない訳ではないんです。他の専用ソフトですが こちらで表示されている「曲率グルーピング」に近い機能だろう とは感じて…

ザックリリバースエンジニアリングモデリング1

個人的にスカルプト機能を活かしたい理由の一つが、リバースエンジニアリングな モデリングです。幸い、有り難い事に専用ソフトとまでは行かないものの、 Fusion360にはそこそこの機能が備わっています。コマンドの機能等、小原さんのブログで詳しく機能を紹…