0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Parasolidの紹介

Posted at

パラソリッドとは

ジオメトリモデラー

メジャーなジオメトリモデラー(CAD Kernel)とCAD

  • PARASOLID, Unigraphics Solutions Inc(Siemens Software): UG(NX), IDEAS, SolidEdge, Solidworks
  • ACIS, Spatial Technology(Dassault Systèmes):AutoCAD,CADKEY,Mechanical Desktop,Bravo
  • CAS.CADE, MDTV(Matra Datavision): Euclid-IS, QU ANTUM

正確な境界表現(B-rep) ジオメトリモデラー

  • 固体オブジェクトの構築と操作
  • 質量特性(質量中心、慣性)を計算する
  • 多くの方法でオブジェクトを出力する
  • オブジェクトをディスク上のファイルに保存し、後で取得する
  • Clash検出

カーネルの機能

  • ハードウェアに依存しない Windows NT、UNIX、Linux
  • OS、GUIに依存しない
  • C言語

PKインターフェース

  • Parasolidのメインインターフェース
  • アプリケーションがオブジェクトをモデル化および操作し、モデラーの機能を制御する⼿段です。

下向きインターフェース

  • これらは、データ集約型またはシステム タイプの操作を実⾏するためにモデラーによって呼び出されます。
  • Frustrum, Graphical Output (GO)

image.png

PK Interface

PKインターフェース(通常はPKと呼ばれる)は、Parasolidへのアクセスを提供します。

4の構成

  1. 部品構成(Part construction) : パーツの構築、変更、組み合わせの機能
  2. Enquiry : パーツのプロパティに関する情報を返したり、質量プロパティ、幾何学情報、レンダリング情報を計算したりするための関数。
  3. Kernel management : 報、フラストラム関数、セッションパラメータなど、カーネルの特性を管理するための機能
  4. Part management : パーツ ファイルの読み込みと保存、および属性の管理を⾏う機能

PK Interfaceを使い始める

  • セッションを開始する:PK_SESSION_start
  • セッションを終了する:PK_SESSION_stop

PK Interface関数のクラス
PK インターフェース関数は次のサブクラスに分類されます。

  • CLASS : クラス階層のナビゲート
  • SESSION : セッション管理
  • ERROR : エラー処理
  • MEMORY : メモリ管理
  • PARTITION, PMARK, MARK, DELTA : Rollback

PK関数形式:PK_<OBJECT>_<text>

  • <OBJECT> : 関数が操作するエンティティクラス。BODY、FACE
  • <text> : 操作を説明する動詞と名詞の組み合わせ。例:create, make, delete
  • 例:PK_BODY_create_solid_block

PK関数への引数:

  • 単純な値、配列、および構造体
  • オプションにオプション構造を使用する

エラー処理

  • 戻り値 PK_ERROR_no_errors は成功を意味します
  • エラー処理⽅法: エラーハンドラを登録するか、各関数の戻り値をチェックして自分で⾏う

PK関数の例

PK_BODY_create_solid_block
( --- received arguments ---
double x, --- block extent in local x direction (>0)
double y, --- block extent in local y direction (>0)
double z, --- block extent in local z direction (>0)
const PK AXIS2 sf t*basis_set, --- position and orientation
--- returned arguments ---
PK BODY t *const body --- solid body returned
)

下向きのインターフェース(frustrum)

The frustrum

  • フラストラムは、アプリケーション プログラマーが記述する必要がある関数のセットです。これらは、次のタスクを実⾏するために Parasolid によって呼び出されます。

    • フラストラム制御
    • ファイル(パーツデータ)処理:Parasolid パーツファイルおよびその他のデータの保存と取得。
    • メモリ管理: 内部計算とデータ構造の保存用にメモリを割り当てます
    • グラフィカル出力
  • Parasolid Kernelを使用するためのセッションを開始する前に、フラストラムを登録します

提供する必要がある可能性のある Frustrum 関数

  • FSTART:フラストラムを初期化する
  • FMALLO:仮想メモリの連続領域を割り当てる
  • FMFREE:仮想メモリの領域を解放する (FMALLO から)
  • FFOPRD/FFOPWR: Frustrum ファイルのすべての形式を開く
  • FFREAD/FFWRIT:許可されている場合、ファイルからの読み取り/ファイルへの書き込み
  • FFCLOS:フラストラムファイルを閉じる
  • FABORT:中⽌された操作の後の整理/ロングジャンプ
  • FTMKEY: TESTFR に必要なキー ネーム サーバー
  • FSTOP:フラストラムを閉じる

Graphical Output (GO):モデルを表⽰するために必要
image.png

ラインデータを⽣成するレンダリング機能
image.png

GO Functions

  • GOOPSG:階層セグメントを開きます。
  • GOSGMT:単⼀レベルのセグメントを出力します。
  • GOCLSG:階層セグメントを閉じます

ファイルタイプとファイル拡張⼦

ファイル名拡張⼦

  • text-based: .*_t
  • binary-based: .*_b (推奨)

ファイルタイプ (FAT)

  • Transmit (Part): .x_t , .x_b
  • Schema: .s_t,.s_b
  • Journal: .j_t, .j_b
  • Snapshot: .n_t .n_b
  • Partition: .p_t , .p_b

Parasolid Entity

エンティティは主に 3 つのタイプに分類されます。

  • Geometrlc Entitles
  • Topologlcal Entltles
  • Other Entltles
    image.png

Topological Entities

すべての実体から成り、モデルの構造または骨組みを構成する

  1. Body
    • Acorn : 孤⽴した頂点。
    • Wire : 接続されたエッジ(manifold)
    • Sheet : 接続された面
    • Solid : ソリッド領域
    • General
  2. Region
    • 3D 空間のサブセット
    • 物体には常に無限の空隙領域があり、物体内のすべての領域が3D 空間全体を構成します。
  3. Shell : 領域の境界とみなすことができる
  4. Face : Surfaceサブセット
  5. Loop :
    • 面境界の接続されたコンポーネント
    • ループの⽅向は、面の上からループの⽅向を見たときに、面がループの左側に局所的に位置するようにします
  6. Fin : ループによるエッジの⽅向付けされた使用を表す
  7. Edge : エッジは単⼀の曲線の境界部分です
    • A laminar : one fin
    • A manifold : two fins
    • A general edge : more than 2 fins
  8. Vertex : 頂点は空間内の点を表し
    image.png

Manifold Body

Minimal body

  • ゼロ次元
  • 空間内の点
  • 1つのボイド領域、シェル、ループ、頂点
  • ポイントを使用して作成PK_POINT_make_minimum_body

Wire

  • ⼀次元的
  • 単純に接続されたエッジのセット
  • どの頂点にも2つ以上の辺がない
  • 1 つのボイド領域、1 つのシェル

Acorn

  • 複数の頂点を持つことができる点を除いて、最小ボディと同じです

image.png

Sheetシェル

  • ⼆次元
  • 単純に)接続された面の集合(少なくとも 1 つの面)
  • 厚さゼロ
  • どのエッジにも2面以上は不可
  • オープン」または「クローズド」にすることができます
  • 1つまたは2つのボイド領域と1つまたは2つのシェル

image.png

Solid

  • 3次元
  • 連続した有限の体積を占める
  • 少なくとも 2 つの領域(two regions)
    • 1つの固体領域
    • 任意の数の空隙領域
    • 1 つの空隙領域は無限

Geometrical Entities

manifold bodies
デフォルトタイプ、エイコーンボディ、ワイヤボディ、シートボディ、ソリッドボディ

general bodies

image.png

  1. セルボディ ‑ 内部面で区切られた⼀般的なボディ
  2. 混合次元ボディ
  3. ⾮多様体ボディ ‑ 2 つのボス間のエッジが⾮多様体
  4. 分離ボディ ‑ 4 つの分離したピースから構成されます

Geometrical Entities

Orphan geometry: 孤⽴ジオメトリは、どの位相エンティティにも接続されて
いないジオメトリです。
image.png

Entity related

  • セッション内の特定のエンティティの識別⼦。
  • 1回のセッションでユニークであること
  • 整数PK関数はエンティティへのポインタとして使用します
  • 存続期間: 参照するエンティティがまだ存在している間
  • カーネル内でのみ作成され、以下からのみ取得できます。

image.png

パラソリッド機能

Model representation
• Geometry & Topology
• General Topology
• Tolerant modeling

Creation & editing
• Primitives
• Lofting & sweeping
• Blending
• Hole Filling
• Booleans & patterning
• Offset, hollow, thicken
• Face Change
• Model Simplification
• Tapering

Enquiries
• Data structure enquiries
• Mass properties
• Closest Approach
• Clashing & Containment

Rendering & Selection
• Wire frame, hidden line
• Faceting

Application support
• Attributes
• Session & partitioned rollback

Data import/export
• XT format
• Trimmed surface & B-rep support

Creating Manifold Bodies

ボディを作成する 4 つの⽅法

  1. make a primitive body from raw data : ⼀連の PK 関数を使用して、ブロック、円錐、円柱、⾓柱、球、トーラスに必要なすべてのトポロジとジオメトリを⽣成できます
    • examples: PK_BODY_create_solid_block, PK_BODY_create_sheet_circl
      e
  2. make a body from geometry : PK関数は既存のジオメトリからボディを作成するためにも使用できます
    • Example: PK_SURF_make_sheet_body
  3. make a body from topology : ⼀部のローカル操作では、既存のトポロジからボディを作成できます。
    • Example: PK_FACE_make_sheet_body
  4. make a body from an existing body
    • copy body :
    • ⼀般体から多様体を抽出する : PK_BODY_make_manifold_bodies

単純体から複雑体へSimple to Complex body

いくつかの操作により、より複雑なタイプのボディを⽣成できます。

  • Sweep and spin(スイープして回転させる)
  • Imprint(刻印)
  • Thicken(厚み)
  • Change region type
  • Add rubber face
  • Pierce

Sweep and spin:ボディのタイプを変更する
PK_<ENTITY>_sweep, PK_<ENTITY>_spin

Original & resultant entities

  • minimum bodies - wire bodies
  • wire bodies - sheet body
  • sheet bodies - solid body
  • faces of solid bodies - an extension to the solid
    image.png

Imprint
PK_BODY_imprint_curve, PK_FACE_imprint_curve
PK_REGION_imprint_curve

  • to create new faces
  • to create a profile
    image.png

Thicken : シートボディをソリッドボディに厚くする
PK_BODY_thicken
image.png

Change region type
PK_REGION_make_solid : 3D space defined by sheet body
PK_REGION_make_void : solid convert to sheet body

Add rubber face
PK_EDGE_make_faces_from_wire
イヤ ボディ内のワイヤフレーム エッジのループにゴム面をアタッチして、シート ボディを作成するために使用できます

Pierce
PK_FACE_delete_from_sheet_body
ロファイルから穴が開いたソリッドを作成するために使用できます
image.png

Boolean Operation

  • Union連合
  • Intersection交差
  • Subtraction減算

image.png

Inquiriesお問い合わせ

Class Structureクラス構造

  • PK_ENTITY_is, PK_ENTITY_is_
  • PK_ENTITY_ask_class

Data Connectionsデータ接続

  • Topological Relationships
  • Topological/Geometric Relationships
  • Session management relationships

Data Relationshipsデータ関係

  • PK_FACE_ask_oriented_surf

Topological

  • PK_REGION_is_solid
  • PK_BODY_ask_type
  • PK_SHELL_find_sign

Geometric

  • PK_CURVE_eval ; returns points and derivatives
  • PK_SURF_eval_with_normal ; returns surface normal
  • PK_SURF_ask_param ; returns parameters of surface

Mass Properties

  • PK_TOPOL_eval_mass_props
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?