Top Banner
Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門 1 © 2006 Autodesk API トピックス APIによるInventorへのアクセス ・ドキュメントハンドリングの基礎 ・ドキュメントハンドリングの基礎 ・パーツモデルの作成 B-Repの解説 ・アセンブリドキュメント ・図面ドキュメント 2 © 2006 Autodesk
41

Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Jul 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 1

Inventor プログラミング入門

1© 2006 Autodesk

API トピックス

・APIによるInventorへのアクセス

・ドキュメントハンドリングの基礎・ドキュメントハンドリングの基礎

・パーツモデルの作成

・B-Repの解説

・アセンブリドキュメント・図面ドキュメント

2© 2006 Autodesk

Page 2: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 2

API によるInventorへのアクセス

3

InventorのAPIアクセス

• オブジェクトモデル(Object Model)の紹介。

• VBAを使用して、APIにアクセスする方法。

(VBAはVB6がベースであり、Microsoft社によるリリース打ち切りの発表を受け、近い将来には実装されなくなる予定)

• Inventorに接続するためにVisualStudio2008 .NETを使用。

4© 2006 Autodesk

Page 3: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 3

InventorのAPIアクセス

アドイン クライアントアプリ(外部EXEなど)

Inventor アプリケーション クライアントアプリ

アドイン VBA アペレンテス

5© 2006 Autodesk

Inventor データ

Object Modelに付いて

COM Automation APIの機能によりObject群として公開され、それぞれのオブジェクトがアプリケーション(Inventor)内でいずれかと一致。

それぞれのオブジェクトはメソッド、プロパティ、イベントをサポート。

オブジェクトはObject Modelを通してアクセスされます。

Object Modelの最上位のオブジェクトは Applicationオブジェクト。

6© 2006 Autodesk

Page 4: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 4

Object Model 構造サンプル

Application

Documents

PartDocument DrawingDocument AssemblyDocument

PropertySets ComponentDefinition

PropertySet Features Sketches

ComponentDefinition

ComponentOccurrences

Sheets

Sheet

7© 2006 Autodesk

PropertyComponentOccurrence

Object Model 構造図 ダウンロード先

Object Model は以下のURLからpdfファイルでダウンロード可能。http://www.autodesk.co.jp/adsk/servlet/item?siteID=1169823&id=8084535

8© 2006 Autodesk

Page 5: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 5

VBA

9

InventorのAPIアクセス(VBA)

アドイン クライアントアプリ(外部EXEなど)

Inventor アプリケーション クライアントアプリ

アドイン VBA アペレンテス

10© 2006 Autodesk

Inventor データ

Page 6: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 6

InventorのAPIアクセス(VBA)

Visual Basic for Applications (VBA)はアプリケーション内にMicrosoftによって埋め込まれたプログラミング環境。込 グラ グ環境。

Inventorの一部として無償で供給。

主な使用はエンドユーザーが“マクロ”を作るため。

マクロ実行は“マクロ“コマンドまたは“カスタマイズ“コマンド経由のツールバーボタンを作成して実行。(詳細は、製品On-Lineヘルプの ”ツールバーにマクロを追加する ”を参照)

11© 2006 Autodesk

64ビットOS上では、Inventor32bitHost.exe *32として32ビットの、エミレーション動作となるために、非常に遅くなる。

InventorのAPIアクセス(VBA)

• [ ツール ] タブの [ VBA Editor ] の選択 もしくはAlt + F11 キー

12© 2006 Autodesk

Page 7: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 7

VBA統合開発環境 VBA IDE (Integrated Development Environment)

プロジェクトExplorer

プロパティプロパティ

コード Window

フォーム Window

ツールボックス

イミディエイトWindow

ウォッチWindow

13© 2006 Autodesk

VBAデモ

14© 2006 Autodesk

Page 8: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 8

外部からのInventor制御

15

InventorのAPIアクセス(Client App)

アドイン クライアントアプリ(外部EXEなど)

Inventor アプリケーション クライアントアプリ

アドイン VBA アペレンテス

16© 2006 Autodesk

Inventor データ

Page 9: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 9

InventorのAPIアクセス(Client App)

Visual Studio2008に組み込む方法

1.COMタブを使いActiveX としてタイプライブラリを参照

2. .NETタブを使い、C:¥WINDOWS¥assemblyに参照登録している、Autodesk.Inventor.Interopを参照

事前準備が必要C:¥Program Files¥Autodesk¥Inventor 2010¥SDKホルダ の

17© 2006 Autodesk

C:¥Program Files¥Autodesk¥Inventor 2010¥SDKホルダーの

DeveloperTools.msi の実行

¥Inventor 2010¥SDK¥DeveloperTools¥Toolsホルダーの

InventorWizards.msi の実行

InventorのAPIアクセス(Client App)

18© 2006 Autodesk

Page 10: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 10

InventorのAPIアクセス(Client App)

19© 2006 Autodesk

InventorのAPIアクセス(Client App)

20© 2006 Autodesk

Page 11: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 11

クライアント EXE デモ

21© 2006 Autodesk

Inventor Add-In

22

Page 12: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 12

InventorのAPIアクセス(Add-In)

アドイン クライアントアプリ(外部EXEなど)

Inventor アプリケーション クライアントアプリ

アドイン VBA アペレンテス

23© 2006 Autodesk

Inventor データ

InventorのAPIアクセス(Add-In)

Inventorが開始した時に自動的に開始される.

いつも利用できる“Window内の”アプリケーションを作成する機会を提供する.いつも利用できる Window内の アプリケ ションを作成する機会を提供する.

ユーザーとの対話するためのコマンドを作成.

内部の(dll)またはInventorプロセスより外部の(exe)の実行.

24© 2006 Autodesk

Page 13: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 13

Add-Inプロジェクトの作成 (VS2008)

25© 2006 Autodesk

Inventorアドイン用スケルトンの自動作成

26© 2006 Autodesk

Page 14: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 14

自動的に設定されたAdd-Inの内部

ここにコードを記述

27© 2006 Autodesk

ここにコードを記述

自動的に設定されたAdd-Inの内部(続き)

ここにコードを記述

ここにコードを記述

28© 2006 Autodesk

Page 15: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 15

最少のAdd-Inコード

Implements Inventor.ApplicationAddInServer

Private m_inventorApplication As Inventor.Application

Public Sub Activate(ByVal addInSiteObject As Inventor.ApplicationAddInSite, ByVal firstTime As Boolean) _

Implements Inventor.ApplicationAddInServer.Activate

m_inventorApplication = addInSiteObject.Application

End Sub

Public Sub Deactivate() Implements Inventor.ApplicationAddInServer.Deactivate

Marshal.ReleaseComObject(m_inventorApplication)

m_inventorApplication = Nothing

System.GC.WaitForPendingFinalizers()

System.GC.Collect()

End Sub

29© 2006 Autodesk

Public ReadOnly Property Automation() As Object Implements Inventor.ApplicationAddInServer.Automation

Get

Return Nothing

End Get

End Property

Public Sub ExecuteCommand(ByVal commandID As Integer) Implements Inventor.ApplicationAddInServer.ExecuteCommand

End Sub

Add-Inのレジストリー登録(VS 2008)

Add-InのProgIdは、Namespaceとクラス名から構成.

Add-InのクラスID (GUID) は HKEY_CLASSES_ROOT で、RegEditを使って見つけることも可能.

30© 2006 Autodesk

Page 16: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 16

Add-Inのレジストリー登録(VS 2008)

31© 2006 Autodesk

Add-Inのレジストリー登録(VS 2008)

Wizardは、ActiveXコンポーネントのための全ての必須登録を自動的に作成.

コンパイルプロジェクトからプロジェクトを実行する場合、登録は完了済み. (直前の登録を削除する)(直前の登録を削除する)

Wizardは、登録情報に追加する機能をサポートしており、追加情報は、 プロジェクト内で修正・追加する必要がある.

配布時は、InventorアドインとしてActiveXコンポーネント登録を実行するための登録は必要.

Regsvr32を使ったコンパイル済みのDLLを登録することが可能.

(64bit OS はregasm exe)

32© 2006 Autodesk

(64bit OS はregasm.exe)

Page 17: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 17

Inventor Add-In作成デモ

33© 2006 Autodesk

Apperentice Server

34

Page 18: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 18

InventorのAPIアクセス(Apprentice Server)

アドイン クライアントアプリ(外部EXEなど)

Inventor アプリケーション クライアントアプリ

アドイン VBA アペレンテス

35© 2006 Autodesk

Inventor データ

InventorのAPIアクセス(Apprentice Server)

InventorアペレンテスサーバーはスタンドアロンCOMコンポーネントとしてInventorアプリケーションAPIのサブセットを提供.

それを使っているクライアントのインプロセスとして走る.

スタンドアロンで使用可能(Inventorを必要としない)

無料で提供(Inventor Viewの一部としてインストール済み)

アセンブリ構成、B-Rep、図面シート、ビューへのアクセスは、読み込み専用の提供.(アクセス制限)

iProperty、アトリビュート、ファイル参照へのアクセスはRead/Write提供.

36© 2006 Autodesk

Page 19: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 19

Apperentice Serverデモ

37© 2006 Autodesk

ドキュメントの概要

38

Page 20: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 20

ドキュメント

Inventorは、異なるデータタイプの、唯一のドキュメントタイプを持っています.

パーツドキュメント (*.ipt)

Application

Documents

( p )

アセンブリドキュメント (*.iam)

図面ドキュメント (*.idw)

プレゼンテーションドキュメント (*.ipn)

APIは、それぞれのドキュメントのための異なるオブ

ジェクトタイプを利用し、それぞれのドキュメントタイプを表す.

PartDocument

AssemblyDocument DrawingDocument

PresentationDocument

Document

39© 2006 Autodesk

表す.

Inventor2008から、幾つかの新しいドキュメントの概念

があります、しかし、ほとんどの場合は、これらの変化を無視することができます.

それらはアセンブリ以降で、取り扱われます

ドキュメントの働き

新規ドキュメントの作成

Documents.Add

既存のドキュメントを開く

Documents.Open

開いたドキュメントのアクセス

Documents.Item

(Enumerateは、全てのドキュメントと、別のドキュメントにより参照され、開かれたものを含みます)

40© 2006 Autodesk

Page 21: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 21

ドキュメントの働き

ドキュメントの保存

Document.Save

コピーに名前をつけて保存

Document.SaveAs

iProperties

Document.PropertySets

ドキュメントを閉じる

Document.Close

41© 2006 Autodesk

パーツドキュメント

42

Page 22: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 22

パーツドキュメント内のジオメトリ作成

43© 2006 Autodesk

パーツデモ

44© 2006 Autodesk

Page 23: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 23

Transient Geometry 幾何オブジェクト

TransientGeometryオブジェクトは、メソッドやプロパティの為の入力として使用し

たり、自分の計算の為の内部使用として使うことができる幾何のオブジェクトを作ることを考慮している.

Matrix, Matrix2d

Vector, Vector2d

UnitVector, UnitVector2d

Box, Box2d

Application

TransientGeometry

45© 2006 Autodesk

コンポーネント定義(Component Definition)

パーツとアセンブリドキュメントは、パーツとアセンブリで定義された情報に

PartDocument

ComponentDefinition オブジェクトを通してアクセス可能。DrawingはComponentDefinition は無い。

PartComponentDefinition

PartDocument

SheetMetalComponentDefinition

46© 2006 Autodesk

AssemblyDocument

AssemblyComponentDefinition

AssemblyDocument

WeldmentComponentDefinition

Page 24: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 24

パーツドキュメント (スケッチ)

スケッチはほとんどのフィーチャーの為のビルディングブロック.

スケッチは、その振る舞いがジオメトリと寸法拘束によ て制御される ンテ テ (線 円拘束によって制御されるエンティティ(線、円など)から構成.

パーツドキュメントは、スケッチベースクラスから派生したPlanarSketchオブジェクトを使用.

47© 2006 Autodesk

パーツドキュメント (スケッチ)

スケッチは真の2Dジオメトリを含む.

スケッチ定義は2D座標系.

スケッチはパ ツの平面ジオメトリに関スケッチはパーツの平面ジオメトリに関する3D空間に置かれる.(フェース面または作業平面)

48© 2006 Autodesk

Page 25: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 25

スケッチ エンティティ 基礎

スケッチ構成:

スケッチエンティティ

ジオメトリ拘束

2つの線は相互に影響して位置.

ジオメトリ拘束

寸法拘束

スケッチエンティティは、スケッチポイントと常に関連しており、完全に一致した拘束点と繋がっている. 3点と4つのジオメトリ拘束は

作成される.

49© 2006 Autodesk

プロファイル

フィーチャー作成は、入力として直接スケッチを取得しません、しかし、入力として変わりにプロファイルとパスを取得します.

プロファイルは、フィーチャーが利用するプロファイル内に、開いたまたは閉じたループを定義.

閉じたプロファイルは、閉じたループの幾つかの組み合わせで構成.

開いたプロファイルは、終端が繋がったエンティティの1つのセットから構成

50© 2006 Autodesk

ンティティの1つのセットから構成.

Page 26: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 26

パーツドキュメント(フィーチャ)

作成と高度な問い合わせは、ほとんどのフィーチャーで利用可能. (以下の“赤”は除く)

一般の問い合わせ機能は、ほとんどのフィーチャーで利用可能.

フィーチャーは、ブラウザーに現れた同じ順序でPartFeaturesコレクションを通して列挙されている.

BoundaryPatchFeature, ChamferFeature, CircularPatternFeature, CoilFeature, DecalFeature, DeleteFaceFeature, EmbossFeature, ExtendFeature, ExtrudeFeature, FaceDraftFeature, FilletFeature,

51© 2006 Autodesk

, , ,HoleFeature, KnitFeature, LoftFeature, MirrorFeature, MoveFace, NonParametricBaseFeature, RectangularPatternFeature, ReferenceFeature, ReplaceFaceFeature, RevolveFeature, RibFeature, SculptFeature, ShellFeature, SplitFeature, SweepFeature, ThickenFeature, ThreadFeature, TrimFeature

ワークフィーチャ

完全な構造物と問い合わせと編集は、ワークフィーチャーの全てのタイプのためにサポートされる;

planes axes pointsplanes, axes, points.

基礎となる作業点に加えて、APIは基礎になる作業平面と作業軸をサポート.

アセンブリドキュメントがサポートされました、しかし唯一、AddFixedメソッドがサポートされている.

これの作成は、アセンブリ内に作業平面と位置のコントロールを使ったアセンブリ拘束です.

52© 2006 Autodesk

Page 27: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 27

B-Rep

53

B-Repの概要

B-Repまたは“Boundary Representation”はソリッドモデルの完全なジオメトリの記述を提供.

ソリッドを作成するのに使用.

ソリッドモデルのトポロジおよびジオメトリの両方へのアクセスを提供.

54© 2006 Autodesk

Page 28: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 28

B-Repの概要 SurfaceBody

階層の最上位オブジェクトを定義

ソリッド全体を表現ソリッド全体を表現

ComponentDefinition オブジェクトから取得

55© 2006 Autodesk

B-Repの概要 FaceShell

接続された Face(面)のセットを定義

ほとんどのソリッドは1つの FaceShell を持つほとんどのソリッドは1つの FaceShell を持つ

56© 2006 Autodesk

Page 29: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 29

B-Repの概要 Face

接続された Face(面)が FaceShell を定義

容積を含む容積を含む

57© 2006 Autodesk

B-Repの概要 EdgeLoop & Edge

PartComponentDefinitionFace の境界を定義するエッジのセットを指す

Face 間の接続状況を提供するSurfaceBodies

SurfaceBody

EdgeLoop

EdgeLoops

Face

Faces

FaceShell

FaceShells

Face 間の接続状況を提供する

面の境界の一部を定義する

1つの面と他の接続状況を定義

58© 2006 Autodesk

Page 30: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 30

B-Repの概要 Vertex

PartComponentDefinition面の境界の一部を定義する

1つの面と他接続状況を定義

Edges

SurfaceBodies

SurfaceBody

EdgeLoop

EdgeLoops

Face

Faces

FaceShell

FaceShells

1つの面と他接続状況を定義

59© 2006 Autodesk

Edge

Vertex

Vertices

B-Repの概要 EdgeUse

PartComponentDefinition

EdgeUse オブジェクトは Face(面)に境界情報を提供

サーフェスのパラメータ空間の2Dカーブ

重要な循環方向を持つ

Edges

SurfaceBodies

SurfaceBody

EdgeLoop

EdgeLoops

Face

Faces

FaceShell

FaceShells

重要な循環方向を持つ

60© 2006 Autodesk

Edge

EdgeUse

EdgeUses

Vertex

Vertices

Page 31: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 31

B-Repの概要 アクセス

SurfaceBodiesコレクションは、0または1つのSurfaceBody のいずれかを含む.

B-Repエンティティのアクセス.

B Rep構造体のトラバーサ B-Rep構造体のトラバーサ.

既存フィーチャーから. (Faces, EndFaces, StartFaces, SideFaces)

明示された点の近く. (LocateUsingPoint)

明示されたベクトルの交点. (FindUsingRay)

エンドユーザーによる選択.

以前に割り当てられたアトリビュートに基づいての問い合わせ.

61© 2006 Autodesk

B-Repの概要 Geometryオブジェクト

Geometryオブジェクトはトポロジの“スナップショット”です.

編集する事は可能、しかし得られた元のトポロジに影響はしません.

Geometryオブジェクトは、TransientGeometry オブジェクトを使用し、直接作成することが可能.

ジオメトリは” 無限”です.

62© 2006 Autodesk

Page 32: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 32

B-Repデモ

63© 2006 Autodesk

アセンブリ

64

Page 33: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 33

アセンブリ ドキュメント

API は、アセンブリ機能のほとんどをサポート.

コンポーネントの配置&作成.

コンポーネント編集 コンポ ネント編集.

パターン

拘束

ワークフィーチャー

パラメータ

iMate

スケッチ

65© 2006 Autodesk

フィーチャー

リプレゼンテーション

iAssemblie

BOM

アセンブリ ドキュメント (API側からの視点)

アセンブリドキュメントが含む:

他のドキュメントの参照.

オカレンス情報、拘束

参照:1. Axle.ipt2. Wheel.ipt

WheelAssembly.iam

オカ ン 情報、拘束

ワークフィーチャー

いかなるジオメトリもアセンブリドキュメントに無く、唯一パーツと他のアセンブリドキュメントへの参照のみ.(アセンブリフィーチャーは、特別例外です.)

p

オカレンス:1. Axle:1, Reference 1,

(0,0,0,…), Visible, …2. Wheel:1, Reference 2,

(0,0,-2,…), Visible, …3. Wheel:2, Reference 2,

(0,0,2,…), Visible, …

66© 2006 Autodesk

Page 34: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 34

参照:1. Axle.ipt2. Wheel.ipt

アセンブリ ドキュメント (API側からの視点)

ComponentOccurrences コレクションは、

全ての既存のオカレンスを超えて繰り返しを許し、追加のオカレンスを加えるため

WheelAssembly.iam

オカレンス:1. Axle:1, Reference 1,

(0,0,0,…), Visible, …2. Wheel:1, Reference 2,

(0,0,-2,…), Visible, …3. Wheel:2, Reference 2,

(0,0,2,…), Visible, …

のサポートを提供.

DocumentDescriptorsEnumeratorオブ

ジェクトは、このドキュメントにより参照されるドキュメントのアクセスを提供.

67© 2006 Autodesk

アセンブリ ドキュメント (参照の辿り方)

68© 2006 Autodesk

Page 35: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 35

アセンブリドキュメント (プロキシ)

Q: ジオメトリはアセンブリでは存在しない

ので、どのようにアセンブリ内のジオメトリにアクセスするか?

A: プロキシは、あたかもエンティティがア

センブリで実際に存在するかのように、エンティティを表します.

69© 2006 Autodesk

アセンブリドキュメント(プロキシ)

プロキシは実際のオブジェクトのパスを定義.

Cylindrical Face 1

Wheel:1¥CylinderFace

Cylindrical Face 2

Wheel:2¥CylinderFace

プロキシはユーザーがエンティティを選択する時に戻る.

プロキシはCreateGeometryProxy メソッドを使って作成可能.

既存のプロキシパスはAdjustProxyContext を

70© 2006 Autodesk

j y使って調整が可能.

パスはOccurrencePath プロパティで調査可能.

Page 36: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 36

アセンブリ構造デモ

71© 2006 Autodesk

アセンブリ配置デモ

72© 2006 Autodesk

Page 37: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 37

アセンブリドキュメント(拘束)

拘束作成は入力としてアセンブリまたはアタッチしたパーツのエンティティのプロキシからワークジオメトリとして獲得することが可能.

拘束の照会は、関連したエンティティと

拘束を管理しているパラメータを返す.

73© 2006 Autodesk

アセンブリ拘束デモ

74© 2006 Autodesk

Page 38: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 38

アセンブリドキュメント(リファレンス)

間接的オカレンスの置き換えによってInventor内のリファレンスの修正。

アペレンテスを使いInventorの外部よりリファレンス情報の直接編集が可アペレンテスを使いInventorの外部よりリファレンス情報の直接編集が可能。

(これは、デザインアシスタントユーティリティによって使われた機能。)

リファレンスを変更することは、Inventor11で同じようにサポートされる。

新しいリファレンスドキュメントは、リプレースドキュメントと同じ資産を持つ必要がある。 (通常、オリジナルの修正されたコピー)

75© 2006 Autodesk

Assembly

Part 1 Part 2 Part 2 (Rev 2)

図面ドキュメント

76

Page 39: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 39

図面ドキュメント

ベースと投影ビューの作成

77© 2006 Autodesk

図面ビュー作成デモ

78© 2006 Autodesk

Page 40: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 40

図面定義オブジェクト(Definition Object)

BorderDefinition

SketchedSymbolDefinition Sh t

BorderDefinition

BorderDefinitions

DrawingDocument

DrawingSketch

SketchedSymbolDefinition

TitleBlockDefinition

の各オブジェクトは1つのスケッチを含みます。

Sheet

Sheets

SketchedSymbol

SketchedSymbolDefinitions

SketchedSymbols

TitleBlock

Border

DrawingView

DrawingViews

DrawingSketches

DrawingSketch図面ドキュメント

79© 2006 Autodesk

SketchedSymbolDefinition

SketchedSymbolDefinitions

TitleBlockDefinition

TitleBlockDefinitions

DrawingSketch

DrawingSketch

スケッチシンボル作成デモ

80© 2006 Autodesk

Page 41: Inventor プログラミング入門 © 2006 Autodesk 1...Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010) © Autodesk, 2010 1 Inventor プログラミング入門

Inventor2010プログラミング入門 Autodesk Inventor API (Version 2010)

© Autodesk, 2010 41

学習を深める方法

• OnLine help

• SDK sample

D l C t• Developer Center

www.autodesk.com/developinventor

• Discussion Groups

http://discussion.autodesk.com

autodesk.inventor.customaization

• API Training Classes

www autodesk com/apitraining

Camtasia Studio 5

81© 2006 Autodesk

www.autodesk.com/apitraining

• Autodesk Developer Network

www.autodesk.co.jp/adn

ADN Extranet 日本語リソース & ナレッジベース & サンプル

82© 2006 Autodesk