goo blog サービス終了のお知らせ 

CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

CATIAのBIM化は果たして可能なのか?

2023-03-21 06:30:18 | CATIA
CATIAをRevitのようなBIMとして使う方法は?

CATIAは、RevitのようなBIMツールではありませんが、BIMの原則に基づいた設計を行うことができます。以下は、CATIAをBIMとして使用するための一般的な手順です。

1.3Dモデルの作成:CATIAを使用して、建物の3Dモデルを作成します。建物の外観、内部レイアウト、構造などを含め、建物の各部分を詳細にモデリングします。建物の部品、構造、外観、性能、材料などの情報を含め、3Dモデルに付加情報を追加します。

2.パラメータの設定:建物の3Dモデルに対して、異なるパラメータを設定します。建物の部品、構造、外観、性能、材料などの情報を含め、異なるパラメータを定義します。これにより、建物の設計変更に柔軟に対応することができます。

3.データの抽出:CATIAからデータを抽出し、BIMツールであるRevitなどのソフトウェアにインポートすることができます。これにより、建物の構造、部品、性能などの情報を含め、異なるBIMツールで情報を共有することができます。

4.シミュレーションの実行:建物の性能をシミュレーションし、設計変更が必要な場合には、3Dモデルを更新して、異なるパラメータを設定します。

これらの手順に従って、CATIAをBIMとして使用することができます。ただし、CATIAは主に製造業界で使用されるCADソフトウェアであり、RevitのようなBIMツールではありません。建築業界に特化したBIMツールを使用することをお勧めします。

CATIAでのモデリングを自動化する方法

2023-03-19 13:41:36 | CATIA
CATIAでのモデリングを自動化する方法は?

CATIAでモデリングを自動化するには、CATIAのマクロやVBスクリプトを使用する方法があります。以下に、CATIAのモデリングを自動化する一般的な手順を示します。 CATIAのマクロエディタを開きます。 マクロを記述するための新しいモジュールを作成します。 必要な変数を定義し、必要なライブラリをインポートします。 モデルを自動的に作成するためのコードを書きます。これには、寸法や位置などのパラメータを指定する必要があります。 マクロを保存して、実行します。 以下は、例として、CATIAのマクロで円柱を作成する方法です。

Sub CreateCylinder()

' Create a new Part document
Dim PartDoc As Part
Set PartDoc = CATIA.ActiveDocument
PartDoc.Body.Clear

' Define the parameters for the cylinder
Dim Radius As Double
Radius = 10
Dim Height As Double
Height = 20

' Create the cylinder
Dim Cylinder As Shape
Set Cylinder = PartDoc.Part.ShapeFactory.AddNewCylinder(Radius, Height)
Cylinder.Name = "Cylinder"

' Update the Part document
PartDoc.Part.Update

End Sub

このマクロでは、新しいPartドキュメントを作成し、円柱の半径と高さを指定して、円柱を作成しています。最後に、Partドキュメントを更新しています。

このように、CATIAのマクロを使用することで、モデリングを自動化することができます。



pycatia CATIAをPythonで自動化するプロジェクト

2023-03-19 02:35:31 | CATIA

CATIA V5 用の Python モジュール
ここにある多くのコード例は、pywin32 を使用した CATIA V5 の自動化について詳しく説明していますが、Paul Bourne はpycatia モジュールを作成して、Python での CATIA の使用を簡素化しました。プロの環境でも CATIA と Python を使用できるので、私はこのアプローチを非常に気に入っています。

pywin32 または comtypes では、CATIA のデータ型で非常にトリッキーな状況がいくつかあったことを覚えています。このモジュールは、内部で VBA を利用してこれらの問題を解決しようとします。面白いアプローチ!

Paul はまだこのモジュールをアルファとして分類しています。しかし、Github の同類は正しい方向性を示しています。頑張れポール。

ポストする2019/04/19
CATIA での ByRef 配列の操作
これは実際にはスクリプトではありませんが、Python を使用して win32com を使用して CATIA V5 を自動化し、自動化に公開されているすべての機能を使用しようとしたときに遭遇した大きな障害に対する解決策を見つけました。

遅延バインディング (動的ディスパッチ) を使用するだけで非常に簡単に開始できることは誰もが知っていますが、より高度なユーザーは、Byref 配列を必要とする Sub を使用できないことを既に知っています。win32com 関連の開発者はこの問題を認識していますが、一部のアプリケーションではこの種の Sub が非常に集中的に使用されているという事実には気づいていません。つまり、Point クラスから派生した任意のクラスの GetCoordinates や任意のクラスの GetFirstAxis などのトリプレットを取得するためにすべての sub が使用されています。 Plane クラスから派生します。
開発者は、問題を解決するには makepy を使用してアーリー バインドに切り替えるだけで十分だと述べていますが、CATIA V5 R19 の場合、問題はまったく解決されず、さらに問題が追加されました。読み続けて

2019/02/19
Dassault Systemes CATIA 用の Python ライブラリ
この Web サイトには、Dassault Systemes CATIA V5 を Python と Microsoft COM で自動化する方法を説明する例が既にいくつかあります。昨日、Paul は私にメールを送り、Python ライブラリを作成したと述べました。このライブラリは、いくつかの基本的な機能を備えた Python ライブラリにいくつかの COM マジックをパックしたものです。アセンブリ構造のトラバース、コンテキスト マネージャー、ファイルの変換、パーツ内の要素の検索などをカバーしています。

日本語がおかしいが、めんどくせーからGoogleChromeに翻訳させて、そのまま直さずにコピペした。
続く・・・

CATIAはGhidraで逆コンパイル可能か?

2023-03-13 17:54:35 | CATIA
ではCATIAはGhidraで逆コンパイルできますか?

CATIAは商用の3D CADソフトウェアであり、Ghidraは一般的にバイナリファイルの逆コンパイルに使用されるオープンソースのツールです。CATIAの場合、Ghidraで逆コンパイルすることはできません。

CATIAはソフトウェアの開発者によって開発された商用のアプリケーションであり、バイナリ形式はプロプライエタリな形式であり、一般的に解析することはできません。CATIAのバイナリファイルを解析するには、CATIAの開発者によって提供されるSDKやAPIを使用する必要があります。

ただし、CATIAが生成するファイル形式には、いくつかのオープンフォーマットがあります。たとえば、CATIAはSTEPファイルやIGESファイルなどの標準的な3Dファイル形式をサポートしています。これらのファイル形式は、Ghidraなどのバイナリ解析ツールを使用して解析することができます。ただし、これらのファイル形式は元のCATIAファイルよりも情報が少ないため、解析される情報量は制限されます。

CATIAの自動化について

2023-02-08 00:21:52 | CATIA
CATIAには今のところ対応したRPAツールやアドインがない。

しかし、半自動化スクリプトやマクロが存在するらしい。
CATScript、VBScript、VBAの3種類のスクリプト言語によってCATIAのAPIを使用して高度な自動化を実現できるとのこと。
(https://www.nttd-es.co.jp/magazine/backnumber/no46/no46-plm.htmlから引用)

本格的にCATIA用マクロについて学びたいのであれば、現在日本では書籍が出版されていないので、次の二点の海外の洋書を取り寄せて自力で頑張るしかない。

①VB Scripting for CATIA V5: How to program CATIA macros

②CATIA V5 Macro Programming with Visual Basic Script

※ちなみに著作権の問題は置いといて、このような有益な洋書を翻訳して出版し、稼ぐというのもアリかと。

「自分で学べる設計者向けCATIA V5R13 めざせ!CATIA認定資格」上巻の練習問題1をやってみた

2020-02-11 19:15:36 | CATIA

三点を通る円弧がうまくいかない。
二点目の位置を指定してから三点目の位置を指定しようとしても変な風になるから、中心の位置と半径、始点・終点の位置を入力してようやく描画できた。
直線の終点と長さ・角度は入力ボックスを表示させた上でTABキーを押して切り替えながら簡単にキーボード入力で指定できることを学んだ。
しかし、この本は終点の位置決めを指定の数値になるまでドラッグする方法でやらせている。
そのやり方では遅くなるだろーが!