C#ATIA

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

円錐上の2点間最短経路

練習が嫌になりすぎ、こちらを思い出しました。
CATIA V5 掲示板

「お知恵を拝借」となっている問題です。もう、十年以上も前なんですね。
単刀直入に、円錐上の2点間を1周する最短経路を線で作る問題です。

当時、 "標準的な機能では作れない" と言う雰囲気に包まれた時に、
ここなさんがあっさり答えをUpされていました。インパクトが大きく、
未だに覚えています。

Fusion360にはシートメタルが有るので "ひょっとしたら出来るかな?"
と思いがんばってみましたが、
f:id:kandennti:20180118170117p:plain
上手く出来ませんでした。シートメタルでは閉じた状態は作れないので
半周ずつ作ったのですが、それが一番の原因のような気もしてます。


予断です。 当時気が付かなかったのですが、最初のV5BBSさんの
回答されたファイルの一つに、"ラップサーフェス" を利用している
ものがありました。 ライセンスが無くてもこちらの方法で利用可能ですよ。
ライセンスの無いコマンドを使用する - C#ATIA

ひたすら練習

相変わらず業務の合間は練習してます。その為、特に記載することがありません。
ネタに飢えているのは、YouTuberと変わらない・・・。

現在、67個モデルをUp中。
GrabCAD - CAD library
間違っているものもあります。

海外で見つける図面は第一角法で描かれているものが多く、
かなり惑わされている為、練習になっているのかすらよくわかりません。

念のため、公式のガイドブックを購入しましたが、ガッカリ。
全てを読んだ訳ではありませんが、過去問題が一年分しか載ってなさそう。
しかも2級の問題は記載無し。しっかりありました。

2級の範囲となる資料 (3DCADについてのコマゴマした内容) があるのですが
8~9割ぐらいは知っている内容でした。

3600円の価値あるのか? って自問自答してしまいますが、
何も無い状態で不安になっているよりマシかな?

プロファイルの考え方の違い

キートスさんのパートの練習問題を練習したので、GrabCADに
Upしてみました。
キートス -Kiitos- | CATIA V5 無料テキスト
前半は物足りないし、後半は履歴がぐしゃぐしゃで既に練習すべき
形状じゃないような気もしてますが・・・。

こちらで「むしろCATIAより速いかも。」と書いた理由を少々。
CAD利用技術者試験 - C#ATIA

例えばこんな単純な形の場合です。
f:id:kandennti:20180112185337p:plain
速さを感じた理由の一つはスケッチです。
上記の形状をCATIAで作成する場合、僕なら四角のスケッチと
三角のスケッチを用意し、パッドで作成します。

Fusion360の場合、今の僕ならまず四角のスケッチを作成し
押し出します。まぁ普通ですね。
f:id:kandennti:20180112185346p:plain
その後、押し出した面をサポートにしてスケッチを作成します。
(業務ではこれを僕はやらないです・・・)
一見すると判らないのですが、ボディを消すとサポートにした面の
輪郭形状が既にプロファイルとして取り込まれてます。
f:id:kandennti:20180112185404p:plain
最初はこれが邪魔でしょうがなかったのですが、他の方の動画を
見てこれを利用する方法を知りました。

その為、三角のスケッチは描かずに対角線1本だけを描けば
スケッチは終了し、そのまま押し出せます。
f:id:kandennti:20180112185425p:plain
スケッチで描く量が少ないんです。
(CATIAだって3Dエレメントを投影させれば良いのですが、
手数が少なくて済む事をお伝えしたかったので)


もう一つは、スケッチのプロファイルの考え方の違いです。
CATIAの場合は、閉じた線をプロファイルとして認識していますよね。
f:id:kandennti:20180112185438p:plain
Fusion360の場合、閉じた領域をプロファイルとして
認識しています。
f:id:kandennti:20180112185536p:plain

例えばCATIAでは、閉じた線が必要な為こんな感じの
スケッチが必要になるのですが
f:id:kandennti:20180112185545p:plain
Fusion360の場合は、閉じた領域さえあれば良いので
こんな二つの四角を描き、凹部分だけを選択し押し出せば良いのです。
f:id:kandennti:20180112185554p:plain
極端な話、スケッチでトリムする必要が無いんです。
(かなり手間が省けます)


「そんな雑な方法で良いの?」と思われるかもしれませんが、
過去問題を試して痛感したのは、時間の少なさ。
(検索すると不合格の大半の方は、時間不足のようです)

業務ではある程度の変更・修正に耐えられるようなモデリング
心掛けています(と、本人だけが思っている妄想)が、そんな
方法では準1級すら怪しい状態なんです。

他にもちょっとした部分でも「良いな」と思う部分がある反面、
機能不足を感じる部分も有り、出来る限り練習したいと思ってます。
(練習用の図面が欲しい・・・)

モデリング練習中

こちらの続きです。

Assy練習中 - C#ATIA

CAD利用技術者試験の過去問題もUpしました。
こちらの一番下のPDFの問題です。
試験自体に興味無くても、試してみる価値があるかもしれません。
3次元CAD 使用できるソフトについて – CAD利用技術者試験

実はもう3回目ぐらい目なのですが、1級ギリギリ。
(要は、答えを知っているのに時間が足りない)

モデリングは何とかなっても、Assyが苦しいです。
(検索するとAssyは捨てろ って出てきます)

もう一つは測定。
前からFusion360の測定はちょっと弱い気がしていたので。
問4の設問17 のように離れた複数面の表面積を求める問題。
電卓の持ち込みNGっぽいので手計算するか、こちらの方法。
【重要な情報】 ソリッドモデルでの複数面の表面積の合計の測り方(代替方法) - Autodesk Community
スプリクトを作りたい・・・。

Assy練習中

こちらの続きです。
CAD利用技術者試験 - C#ATIA

図面を検索して練習中。データをUpしてます。
GrabCAD - CAD library

昨日どうしてもエラーから抜け出せないAssyだったのですが、
今日オンラインHelpのチュートリアルを試した後、再度行ったら
上手くいったのですが、相変わらず良くわからない・・・。

CADトレース技能審査のH29上級の過去問題。
ここもハッチングが必要と思われます。
f:id:kandennti:20180111134057p:plain

CAD利用技術者試験

今年の目標としてCAD利用技術者試験(3D)を受けてみようかと考えてます。
CAD利用技術者試験

t-hom’sさんの書かれている、「節目のブースト効果」そのものですw

節目のブースト効果について - t-hom’s diary

悩むのが使用するCAD。
Space-eは論外(ASSY無し、スケッチ無し)なのですが、
CATIAで受けるにはライセンスの壁が・・・。

Fusion360にしようと思って猛練習中。
自由曲面があまり無さそうなので、モデリングだけならFusion360
でも十分戦えそうです。むしろCATIAより速いかも。

コマンドID

あけましておめでとうございます。
今年もコンセプトがブレたまま、マイペースでやってまいります。


CATIAのインストールフォルダ内に [.CATNls] の拡張子のファイルがあるのをご存知でしょうか?
恐らくですが、これらのファイルは画面上に表示されている文字類を
設定するファイルなのだろうと思います。
(言語別にフォルダで分類されており、言語を切り替え再起動した際
 これらのファイルが読み込まれ表示される文字が切り替わるのだろうと思います)

海外のサイトで、このファイルについて書かれている記事を何度か見ては
いたのですが、コマンド名に関するものであまり深く受け止めていませんでした。
(今更コマンド名を知った所で、何かメリットがあるとは思えなかったので)

年末頃、こちらの記載を見て、何故CATNlsファイルについて知りたがるのか
やっと理解できました。
CATIA.StartCommand CommandID finden (Dassault Systemes - PLM Solutions/CATIA V5 Programmierung) - Foren auf CAD.de

CATNlsファイル内の記載されている右辺のコマンド名が重要なのではなく
左辺に記載されているプロパティ名が、コマンドIDなのだろう と言うことのようです。
このコマンドIDは、言語設定に関わらずコマンド呼び出し出来るもののようです。
f:id:kandennti:20180105150104p:plain

実際に行った動画です。
最初はコマンドIDとなる [c:CATHpwAxisLineHdr] で実行し
2度目は日本語設定依存となる [c:軸] で実行しています。

確かに、実行できます。


マクロで提供されていないオブジェクトを生成する際、最終手段として
[CATIA.StartCommand] を利用せざるを得ない場面があるかも知れませんが
その際、どうしても言語設定を判断し利用する事になります。
(その為にこの辺を作りました
お手軽に言語判定を行いたい - C#ATIA
C#でお手軽に言語判定を行いたい2 - C#ATIA

ですが、言語設定に依存しないコマンドIDがわかっていれば、言語判定
すら不要になります。

しかしこのコマンドIDのリストが見つからないんです。
仕方ないので、英語と日本語のリストを作成し、こちらにUpしました。
GrabCAD - CAD library

兎に角、ファイル数が多い為フリーソフトと簡単なスプリクトを作成し、
"Hdr.Title" の記載された行を抜き出し、Excelで整えつつ
軽くチェックしてみただけなので、中身については保証できません。