Autodesk™ Inventor® 2010...

77
1 Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー 2009 07/30 東京, 2009 07/31 大阪 オートデスク株式会社 製造ソリューション 田中洋次

Transcript of Autodesk™ Inventor® 2010...

Page 1: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

1

Autodesk™ Inventor® 2010カスタマイズ機能紹介セミナー

2009 07/30 東京, 2009 07/31 大阪

オートデスク株式会社

製造ソリューション

田中洋次

Page 2: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

ゴール

オートデスク製品のカスタマイズ機能について知る

ActiveXオートメーション

VBA

VBAを使ったプログラムの開発手順を知る

作成、編集、デバッグ、インストール、実行

APIの概要と可能性を知る

Autodesk Inventor® 2010

データセットやマクロプログラムはInventor2010用ですが、考え方は以前のバージョンでも同じです。

2Inventor 2010 カスタマイズ機能紹介セミナー

Page 3: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

製品概要

AIS AutoCAD Inventor Suite

AIP AutoCAD Inventor Professional

Inventor Autodesk Inventor

ACM AutoCAD Mechanical

ACE AutoCAD Electrical

AIS = Inventor + ACM

AIP = Inventor + Inventor AddIns (Piping, Cabling, Tubing, FEM, etc) + ACM

ACMは、AutoCADも利用できる 2010版では、MDTは製品に同梱されない。詳しくは http://www.autodesk.co.jp/mdt を参照

3Inventor 2010 カスタマイズ機能紹介セミナー

Page 4: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

agenda

13:00~14:30 カスタマイズ概要紹介

ActiveX, VBA, 開発手順 etc

14:30~15:00 主要オブジェクト紹介

15:00~16:30 サンプルマクロ紹介

16:30~17:00 ADN紹介 と Q&A

適宜休憩時間を設けます。

オフィス内は全て禁煙です。ご協力お願いします。

1階ロビーに喫煙コーナーがあります。(大阪)

4Inventor 2010 カスタマイズ機能紹介セミナー

Page 5: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

カスタマイズ概要

1. ユーザインターフェイスとプログラミングインターフェイス

2. ActiveXオートメーションとVBA

3. VBAプロジェクト

4. オブジェクトについて

5. 参照設定

6. メニューへの追加

5Inventor 2010 カスタマイズ機能紹介セミナー

Page 6: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

カスタマイズ

カスタマイズには、次の二つがあります

ユーザインターフェイス・カスタマイズ

メニューや環境設定などの、主に操作面の使い勝手を向上させるためのカスタマイズ

例) ショートカットキーの割付け、ユーザメニューの作成、

Inventorでは、これも「カスタマイズ」と言っています。

プログラミングインターフェイス・カスタマイズ

AutoCADやInventorが標準では持っていない機能を、プログラミングによって実現するカスタマイズ

プログラミング言語の使い方を知っている必要

アプリケーションが提供しているこの機能のことをAPIとよびます。

Application Programming Interface

本セミナーは、プログラミングインターフェイスのカスタマイズについて紹介します。

6Inventor 2010 カスタマイズ機能紹介セミナー

Page 7: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

Inventorの「カスタマイズ」コマンド

Inventorの素の機能

ユーザインターフェイスのカスタマイズの設定

作成したマクロプログラムをメニューに登録するときに使います。

7Inventor 2010 カスタマイズ機能紹介セミナー

Page 8: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

ActiveXオートメーションとVBA

VBA

アプリケーションの中で使用できる、VB言語を使う開発環境(Visual Basic for Application)

ExcelやAutoCADに実装されているのと同じ開発環境がInventorにも用意されている

8Inventor 2010 カスタマイズ機能紹介セミナー

Page 9: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

ActiveXオートメーションとVBA

VBA (リボンメニュー)

アプリケーションの中で使用できる、VB言語を使う開発環境(Visual

Basic for Application)

ExcelやAutoCADに実装されているのと同じ開発環境がInventorにも用意されている

9Inventor 2010 カスタマイズ機能紹介セミナー

Page 10: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

Visual Basic Editor

図はAutoCADのVisual Basic Editorですが、Inventorでも同じです。

Inventor 2010 カスタマイズ機能紹介セミナー

Page 11: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

ActiveXオートメーションとVBA

ActiveXオートメーション

AutoCAD, Inventor等のアプリケーションを他のアプリケーションで使えるように公開したプログラム開発用インターフェイス

マイクロソフトが提供するテクノロジー

Inventorが公開したActiveXオートメーションを使うことで、Inventorのカスタマイズが出来ます

Visual Studioのような開発環境からでも、ExcelのVBAのような開発環境からでも、Inventorのカスタマイズが出来ます

11Inventor 2010 カスタマイズ機能紹介セミナー

Page 12: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

ActiveXオートメーションとVBA

InventorActiveX VBA

InventorData

Visulal Studio.NET

ExcelActiveX VBA

ExcelData

Inventor 2010 カスタマイズ機能紹介セミナー

Page 13: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

VBA による開発手順

Visual Basic Editor を使用してプログラムを作成

1. 新規にプロジェクトを作成します

2. プログラムをコーディングしたり、フォームを作成したりします

3. デバッグをして、プログラムの動きを確認し、修正します

4. UI(メニュー)にプログラムを登録します

プロジェクトは、拡張子.ivbのファイルに保存されます

作業を中断するときにプロジェクトを保存し、再開するときにそのプロジェクトをロードします。

作成したプログラムの集まりをプロジェクト(VBAプロジェクト)と呼びます

Inventorでも、プロジェクトという用語がありますがこれとは別物です

13Inventor 2010 カスタマイズ機能紹介セミナー

Page 14: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

開発環境をOPEN

Inventor 2010 カスタマイズ機能紹介セミナー

Page 15: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

プロジェクトの操作

新規プロジェクトを作成

Visual Basic Editorのプルダウンメニューで新規プロジェクトを選択

UserProject が作成される

図のように上書き保存ボタンを押してプロジェクトを保存する

ダイアログが出るので、プロジェクトの名前と保存場所を指定する

15Inventor 2010 カスタマイズ機能紹介セミナー

Page 16: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

プロジェクトの操作

プロジェクトのロード

作業を再開する場合は、プルダウンメニューから「プロジェクトをロード」

プロジェクトのロード解除

プロジェクトのロードを解除する場合は、プルダウンメニューから「プロジェクトをロード解除」

16Inventor 2010 カスタマイズ機能紹介セミナー

Page 17: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

プロジェクトの操作

開発環境を終了する

作業を終えるには、プルダウンメニューから「終了してAutodesk Inventor 2010へ戻る」

画面の切り替え

Inventorの画面に切り替えるには、図のアイコンをクリックする

あるいは、Alt+Tabキーで切り替えをする

17Inventor 2010 カスタマイズ機能紹介セミナー

Page 18: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

簡単なプログラムを作成

アクティブなドキュメントのファイル名を取り出すプログラム

1. 新規モジュール

2. 新規プロシージャ

1. アプリケーションオブジェクトの取得

2. アクティブドキュメントの取得

3. ファイル名を取得

4. ファイル名を表示

AISSAMP_ETC. samp0118Inventor 2010 カスタマイズ機能紹介セミナー

Page 19: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

モジュールとプロシージャ

1. 新規モジュール

Module1は自動的に作成される

右ボタンメニューでコンテキストメニュー表示して、作成

2. 新規プロシージャ

プログラムの最小単位

SUB(サブプログラム)、Function(関数)

プロシージャの集合→モジュール

モジュールの集合→プロジェクト

19Inventor 2010 カスタマイズ機能紹介セミナー

Page 20: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

簡単なプログラムを作成

VBAの場合

1. アプリケーションオブジェクトの取得

一番親のオブジェクトを取得

2. アクティブドキュメントの取得

アプリケーションオブジェクトのプロパティからアクティブドキュメントを取得

3. ファイル名を取得

アクティブドキュメントのプロパティからファイル名を取得

4. ファイル名を表示

VBAの関数を使って、ファイル名を表示

20Inventor 2010 カスタマイズ機能紹介セミナー

Page 21: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

オブジェクトの操作

オブジェクトにはメソッドとプロパティが用意されています。

どんなメソッドやプロパティがあるかはオブジェクトから教えてもらいます。(オブジェクトが知っています)

メソッドとは、オブジェクトを操作するための命令です。

プロパティとは、オブジェクトの状態を調べたり、設定できる属性(のようなもの)です。

21Inventor 2010 カスタマイズ機能紹介セミナー

Page 22: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

オブジェクトの操作

メソッドやオブジェクトを調べるには・・・

オブジェクトブラウザを使う (F2)

オンラインヘルプを使う (F1)

22Inventor 2010 カスタマイズ機能紹介セミナー

Page 23: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

プログラム実行方法

プログラム実行方法

デバッグのとき

アイコンやプルダウンメニューを使います

ステップ実行やブレークポイントの設定ができます。

Inventorから

プルダウンメニューから、マクロ実行を選択します。

ユーザ定義ツールバーから実行することも出来ます。(後ほど紹介)

23Inventor 2010 カスタマイズ機能紹介セミナー

Page 24: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

既定値のVBAプロジェクト

常に使用するVBAプロジェクトを既定値として登録しておくことが出来ます。

Inventorを起動したときに、自動的にロードされます。

ロード解除は出来ません。

アプリケーションオプションから設定します。

24Inventor 2010 カスタマイズ機能紹介セミナー

Page 25: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

VBAプログラムをUI(メニュー)に登録する

条件

マクロプログラムが既定値のVBAプロジェクトにあること

メニューに載るアイコンのビットマップファイルは、既定値のVBAプロジェクトの存在するフォルダと同じ場所にあること

ビットマップファイルのファイ名は、マクロプログラムのモジュール名とプロシージャ名と関連付けがされていること

上記の条件の場合、Inventorのカスタマイズダイアログにマクロの名前が表示される

そのマクロをユーザ定義のツールバーにドラッグアンドドロップすると完了

詳しい手順は、弊社HP内の Inventor マクロ登録手順 を参照して下さい

http://www.autodesk.co.jp/ais_document から、

APIのページを選択

→Inventor マクロ登録手順 からダウンロードできます。

Inventor8で紹介をしていますがInventor2008, 2009, 2010でも同じです。

25Inventor 2010 カスタマイズ機能紹介セミナー

Page 26: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

VBAプログラムをUI(メニュー)に登録する

リボンUIへの登録方法

1. プログラムを追加したいリボンタブを表示

2. リボンメニューの余白部でコンテキストメニュー

3. ユーザコマンドをカスタマイズを選択

4. ユーザコマンドをカスタマイズダイアログで、登録したいマクロを追加する

5. ユーザコマンドタグが追加され登録したマクロのアイコンが表示される

26Inventor 2010 カスタマイズ機能紹介セミナー

Page 27: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

他のアプリケーションからInventorのカスタマイズ

InventorActiveX VBA

InventorData

Visulal Studio.NET

ExcelActiveX VBA

ExcelData 参照設定

Inventor 2010 カスタマイズ機能紹介セミナー

Page 28: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

参照設定

ExcelからInventorのカスタマイズなど、他のアプリケーションが提供するActiveXを使用するときは、参照設定を行います。

逆に、 Inventor からExcelのカスタマイズをするときは、Inventorのvisual Basic Editor の参照設定でExcelのオブジェクトライブラリを追加しておきます。

28Inventor 2010 カスタマイズ機能紹介セミナー

Page 29: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

Excelを使ってInventorのカスタマイズ

Excelの場合

Option Explicit

Public Sub GetInventorDoc()

'Inventorアプリケーションオブジェクトの取得

Dim invApp As Inventor.Application

Set invApp = GetObject(, "Inventor.Application")

'アクティブなドキュメントを取得

Dim oDoc As Inventor.Document

Set oDoc = invApp.ActiveDocument

'ファイル名の取得

Dim FileName As String

FileName = oDoc.FullFileName

'ファイル名の表示

MsgBox FileName

End Sub Inventor2010_API_SEMI.xls29Inventor 2010 カスタマイズ機能紹介セミナー

Page 30: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

VB2005 を使ってInventorのカスタマイズ

VB.NET¥InventorAPI_VB.Net_Samp¥InvetnorAPI_samp_2010¥InvetnorAPI_samp_2010.sln

Page 31: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

VB2005 を使ったアプリケーション開発

外部アプリケーション作成ツールとして

VB6に代わるアプリケーション開発言語

.net フレームワークでの開発

VB6で作成したコードは、そのままではVB2005では動かない

Inventor で提供されているAPIはそのまま使えます。

Visual Basic 2008 Express Edition

無償ダウンロードできる

http://www.microsoft.com/japan/msdn/vstudio/express/vbasic/

Inventorのカスタマイズ可能

31Inventor 2010 カスタマイズ機能紹介セミナー

Page 32: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

BREAK

Inventor 2010 カスタマイズ機能紹介セミナー

Page 33: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

Inventor API (VBA)

オブジェクト指向

Inventorのオブジェクト構造をたどって目的のオブジェクトを取得する

AutoCADのVBAと同じ

構造を理解すればカスタマイズは簡単

Property

PropertySet

PropertySets DocumentEvents

Documents

ReferencedFiles

Document

Documents

Application

33Inventor 2010 カスタマイズ機能紹介セミナー

Page 34: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

アプリケーション開発手順の実際パーツモデリング

パーツの作成手順紹介

1. 新規パーツドキュメント作成

2. スケッチの作成

3. フィーチャの作成(押出し)

これらの手順をAPIを使ったプログラムで定義

全体のコードはAISSAMP_PartModeling.TEST05 を参照

34Inventor 2010 カスタマイズ機能紹介セミナー

Page 35: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

パーツモデリング オブジェクト構造

Application

PartDocument

PartComponentDefinition

PlanarSketches

PlanarSketch

PartFeatures

PartFeature

WorkAxes WorkPlanes WorkPoints

Work Features

Transaction Manager

Transactin Events

Transient Geometry

35Inventor 2010 カスタマイズ機能紹介セミナー

Page 36: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

1. 新規パーツドキュメントを作成

„新規パーツドキュメントを作成 ちょっと見、複雑?・・・実はとても簡単

Dim InvApp As Inventor.ApplicationSet InvApp = ThisApplicationDim oDoc As Inventor.PartDocumentSet oDoc = InvApp.Documents.Add(kPartDocumentObject, _

InvApp.FileManager. GetTemplateFile(kPartDocumentObject, _

kDefaultSystemOfMeasure, kJIS_DraftingStandard), True)

36Inventor 2010 カスタマイズ機能紹介セミナー

Page 37: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

オブジェクト構造の確認 PartDocumnet

ComponentDefinition

Features

ExtrudeFeatures

Inventor 2010 カスタマイズ機能紹介セミナー

Page 38: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

2. スケッチの作成コンポーネント定義オブジェクトの取得

PartDocument オブジェクトからの派生

ComponentDefinition (コンポーネント定義)

複合図形定義みたいなモノ

これから作るオブジェクトの入れ物

Dim oDef As Inventor.PartComponentDefinitionSet oDef = oPartDoc.ComponentDefinition

38Inventor 2010 カスタマイズ機能紹介セミナー

Page 39: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

2. スケッチの作成スケッチオブジェクト

PlanarSketches

PlanarSketch

SketchArcs SketchEllipsesSketchCircles SketchEllipticalArcsSketchPoints SketchLines SketchSplines

スケッチオブジェクトのコレクションが用意されている。各コレクションに、スケッチを追加する事でスケッチが作成される。

Inventor 2010 カスタマイズ機能紹介セミナー

Page 40: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

2. スケッチの作成スケッチ円の作成

スケッチの作成

Dim oSketch As Inventor.PlanarSketchDim oSKETCHs As Inventor.PlanarSketchesSet oSKETCHs = oDef.SketchesSet oSketch = oSKETCHs.Add(oDef.WorkPlanes.Item(3))

Dim oTG As Inventor.TransientGeometrySet oTG = InvApp.TransientGeometryDim oCir As Inventor.SketchCircleSet oCir = oSketch.SketchCircles.

AddByCenterRadius(oTG.CreatePoint2d(0, 0), 5)

40Inventor 2010 カスタマイズ機能紹介セミナー

Page 41: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

2. スケッチの作成ジオメトリ (トランジェントジオメトリ)

エッジや面、ベクトルやマトリクスなどの幾何表現をするためのオブジェクト

Dim oTG As Inventor.TransientGeometry

Set oTG = InvApp.TransientGeometry

トランジェントジオメトリオブジェクトからジオメトリを派生

Dim oVec As Inventor.Vector

Set oVec = oTG.CreateVector(0, 0, 1)

Inventorの長さ“1”は、”1cm”を表します。

41Inventor 2010 カスタマイズ機能紹介セミナー

Page 42: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

3. フィーチャの作成フィーチャオブジェクト

ChamferFeatures

CoilFeatures

DecalFeatures

DeleteFaceFeatures

EmbossFeatures

ExtrudeFeatures

FaceDraftFeatures

FilletFeatures

HoleFeatures

KnitFeatures

LoftFeatures

MirrorFeatures

NonParametricBaseFeatures

CircularPatternFeatures

RectangularPatternFeatures

ReferenceFeatures

ReplaceFaceFeatures

RevolveFeatures

RibFeatures

ShellFeatures

SplitFeatures

SweepFeatures

ThickenFeatures

ThreadFeatures

PartFeatures

42Inventor 2010 カスタマイズ機能紹介セミナー

Page 43: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

フィーチャの作成

フィーチャコレクションから、タイプ別のフィーチャコレクションを取得

更に、そのフィーチャコレクションにフィーチャを追加する。

43Inventor 2010 カスタマイズ機能紹介セミナー

Page 44: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

3. フィーチャの作成押出しフィーチャの作成

押し出し

スケッチ→プロファイル→押出しフィーチャ

通常の操作ではプロファイルが自動的に認識されるが、カスタマイズではプロファイルを意識する必要あり

Dim oPROf As Inventor.ProfileSet oPROf = oSketch.Profiles.AddForSolid

Dim oExtr As Inventor.ExtrudeFeatureSet oExtr = oDef.Features.ExtrudeFeatures.

AddByDistanceExtent(oPROf, 3, kPositiveExtentDirection, kJoinOperation)

44Inventor 2010 カスタマイズ機能紹介セミナー

Page 45: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

4. その他フィーチャの名前を変える

フィーチャ名の変更

oEXTR.Name = "名称変更:" + Format(Now)

マクロプログラムが実行されたときの時刻がフィーチャ名になります

取り出したオブジェクトに対し、プロパティやメソッドを使ってさまざまな作業をさせることができる

上書きされた色

省略の設定

45Inventor 2010 カスタマイズ機能紹介セミナー

Page 46: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

応用例パーツの自動設計

ダクト自動作成マクロ

配管で使うダクトを自動作成

あらかじめルートを作成し、実行

Duct. CreateDuctStart

パーツ作成マクロ

サイコロを自動的に作成

作成過程ごとに視点を変更

Dice. CreateDiceStart

DEMO

¥DATASET¥ETC¥DUCTSAMP.ipt

46Inventor 2010 カスタマイズ機能紹介セミナー

Page 47: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

BREAK

Inventor 2010 カスタマイズ機能紹介セミナー

Page 48: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

主要オブジェクトの紹介

プロジェクト・環境(UI)

パーツ

スケッチ

フィーチャ

作業オブジェクト

作業平面・作業軸・作業点

アセンブリ

コンポーネントオカレンス

コンポーネント定義

アセンブリ拘束

プロキシ

姿勢マトリクス(行列)

LOD(Level Of Detail)

計測単位(Unit Of Measure)

ジオメトリ

カスタム(クライアント)グラフィック

コマンドマネージャ

プロパティ

パラメータ

ビュー

イベント

トランザクション

BOM

図面

シート

• 風船・パーツリスト・・・・48Inventor 2010 カスタマイズ機能紹介セミナー

Page 49: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

計測単位 (Unit Of Measure)

AutoCADに無い便利な機能

絶対的な大きさを保持

値と単位がセット

オブジェクト内の単位は決まっている

長さ=cm 要注意!

時間=秒

角度=ラジアン

指定した単位系で入出力する機能を持つ

UOMを使って単位系の変換が可能

oPara.Value = oUOM.GetValueFromExpression(DUMMYSTR, "mm")

任意の数値をInventorの計測単位に変換

TB_BendLength.Value = oUOM.GetStringFromValue(BendLength, "mm")

AISSAMP_ETC. UomSamp49Inventor 2010 カスタマイズ機能紹介セミナー

Page 50: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

ジオメトリオブジェクト

エッジ

トポロジ→Edge オブジェクト

ジオメトリ

トポロジ→Faceオブジェクト

ジオメトリ

50Inventor 2010 カスタマイズ機能紹介セミナー

Page 51: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

プロパティ (ドキュメントプロパティ)

ドキュメント単位に情報を付加

ApprenticeServerからもアクセスできる

既定値で4つのプロパティセット

プロパティの値は、文字列でOK

Inventorは、単位つきの文字列を数値として判断できる。

“1.0 mm” → 0.1

詳しくは、UOM(計測単位)参照

Application ApprenticeServerComponent

Document ApprenticeServerDocument

PropertySets

PropertySet

Property

51Inventor 2010 カスタマイズ機能紹介セミナー

Page 52: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

パラメータ

パラメータはインテリジェント寸法

設計意図の伝達に使用

サイズ定義とフィーチャ形状

コンポーネントの位置間関係を制御

機能条件への関連寸法

方程式によるパラメータ定義も可能

VBAで作ったユーザ定義関数によるパラメータ定義も可能 APIのヘルプから、User-Defined Functions in Parameter Expressionsの項を参照

52Inventor 2010 カスタマイズ機能紹介セミナー

Page 53: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

パラメータ オブジェクト Parameters

ModelParameters

ParameterTables

ReferenceParameters

UserParameters

ModelParameter

Parameter

ParameterTable

TableParameters

TableParameter

Parameters

ReferenceParameter

UserParameter

ModelParameter

TableParameter

ReferenceParameter

UserParameter

パラメータオブジェクトは名前、数式などの他にトレランスのアクセスが可能

Dim oParas As Inventor.ParametersSet oParas =

oDoc.ComponentDefinition.ParametersDim oPara As Inventor.ParameterSet oPara = oParas.Item("TEST2")Dim oTOLE As Inventor.ToleranceSet oTOLE = oPara.Tolerance

• Inventorでは、コレクションからオブジェクトを取り出すときに、多くの場合、“名前”で検索が可能

53Inventor 2010 カスタマイズ機能紹介セミナー

Page 54: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

オブジェクトの選択

オブジェクト選択は、ユーザ定義クラスを使う

ひとつだけ選択

Dim MySele As InvSelect

Set MySele = New InvSelect'コンポーネントオカレンスをひとつ選択するDim oCoo As Inventor.ComponentOccurrence

Set oCoo = MySele.Pick("コンポーネントオカレンスを選択:", kAssemblyOccurrenceFilter)

複数個選択Dim MySele As InvSelect

Set MySele = New InvSelect'窓選択で複数のオブジェクトを選択するDim oSS As Inventor.ObjectsEnumeratorSet oSS = MySele.PickPlural("コンポーネントオカレンスを選択:", kAssemblyOccurrenceFilter)

54Inventor 2010 カスタマイズ機能紹介セミナー

Page 55: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

UI (ユーザインターフェイスの構築)- クラシックUI

プログラミングによるカスタマイズで、UI を構築

環境(Environments)

ツールバー(CommandBars)

コマンド(ControlDefinitions)

UIの設定を元に戻したいときは、「すべてリセット」

構築内容が解除される

55Inventor 2010 カスタマイズ機能紹介セミナー

Page 56: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

UI (ユーザインターフェイスの構築)- クラシックUI

コマンドバーの作成

Set CreateUserdefinedCommandBar =

invApp.UserInterfaceManager.CommandBars.Add(DisplayName, InternalName)

コマンドバーにマクロを追加Set oMacroDef =

invApp.CommandManager.ControlDefinitions.AddMacroControlDefinition(MName)

Set AddMacroToCommandBar = oCmdBar.Controls.AddMacro(oMacroDef)

環境にコマンドバーを追加Set oEnvironment =

invApp.UserInterfaceManager.Environments.Item("PMxPartSketchEnvironment")

oEnvironment.PanelBar.CommandBarList.Add oCmdBar

サンプルマクロMenuClassic.SetSampleMacroToUI

56Inventor 2010 カスタマイズ機能紹介セミナー

Page 57: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

UI (ユーザインターフェイスの構築)- リボンUI

Inventor2010から、リボンUIが採用された

リボン

アクティブなドキュメントのタイプによってリボンが切り替わる

57Inventor 2010 カスタマイズ機能紹介セミナー

Page 58: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

UI (ユーザインターフェイスの構築)- リボンUI

リボンタブ

作業内容によってタブが切り替わる

フィーチャ操作時

スケッチ編集時

リボンパネル

58Inventor 2010 カスタマイズ機能紹介セミナー

Page 59: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

UI (ユーザインターフェイスの構築)- リボンUI

リボンUIへのアクセスSet oRibbons = invApp.UserInterfaceManager.Ribbons

Set oRibbon = oRibbons.Item(“ZeroDoc”) ‘図面を開いていない時のリボン

リボンタブSet oRibbonTab = oRibbon.RibbonTabs.Item(“id_TabTools”) „ツールタブ

リボンタブにリボンパネルを追加Set AddMyRibbonPanel = oRibbonTab.RibbonPanels.Add(DispName, IntName,

MyClientiD)

リボンパネルにコマンドを追加Set AddMacroToRibbonPanel =

oRibbonPanel.CommandControls.AddMacro(oMacroDef, IsLargeIcon, IsShowText)

サンプルマクロMenuRibbon. SetSampleMacroToRibbonUI

59Inventor 2010 カスタマイズ機能紹介セミナー

Page 60: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

BREAK

Inventor 2010 カスタマイズ機能紹介セミナー

Page 61: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

サンプルマクロの紹介

Inventor 2010 カスタマイズ機能紹介セミナー

Page 62: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

カスタマイズの実践テクニック

モデリングの作業を振り返ると、同じ手順の操作を何度もやっていることに気づく・・・

操作手順を減らすことを考える

対話的操作でない部分はカスタマイズ

例) 新規パーツから1stスケッチの作成

本当はこうしたいのだが、手間が掛かるので出来ないでいる・・・

有るべき姿を十分に検討する

手間の掛かる部分をカスタマイズ

62Inventor 2010 カスタマイズ機能紹介セミナー

Page 63: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

カスタマイズする。その前に!

他の機能は使えないか?十分検討しましょう

Inventorは、製造系の3次元設計に特化している

カスタマイズする前に、Inventorの機能が使えないかチェック

プログラミングによるカスタマイズが不要な例

投影図作成

必要なビューを用意したテンプレートを使う

自動モデリング

呼び寸法の変更→ iPart, パラメータの利用、エクセルリンク

部分形状→iFeatureの利用

63Inventor 2010 カスタマイズ機能紹介セミナー

Page 64: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

サンプルデータセットのインストール

Inventor_API_SEMI_Data_09Jul.zip を解凍

PPT資料

VBAプロジェクトファイル

VB.NETサンプル

DATASET

プロジェクトファイル

SEMI_0907.ipj

64Inventor 2010 カスタマイズ機能紹介セミナー

Page 65: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

Inventor TOOL (サンプルマクロ集)

サンプルデータ内のVBAフォルダに入っています。

Inv2010API_SEMI.ivb を規定値のVBAプロジェクトのパスに設定します。

UI (メニュー)の設定をするために、以下のマクロを実行します。

クラシックUIのとき

MenuClassic. SetSampleMacroToUI

リボンUIのとき

MenuRibbon. SetSampleMacroToRibbonUI

65Inventor 2010 カスタマイズ機能紹介セミナー

Page 66: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

原点を一致LocateCenter

指定したコンポーネントオカレンスの配置位置を原点と一致させ、固定拘束をセットします。

親や兄弟のコンポーネントと同じ原点を持つ場合に便利です。

ポイント

派生パーツ

オカレンスの選択(ピック)

マトリクス

66Inventor 2010 カスタマイズ機能紹介セミナー

Page 67: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

座標系を一致LocateCompByConst

指定したコンポーネント同士で座標系を一致させます

同じ向きの基準面同士でフラッシュ拘束

同じコンポーネントを続けて指定した場合は、そのコンポーネントとトップアセンブリの座標系を一致させます

ポイント

アセンブリ拘束

拘束駆動

67Inventor 2010 カスタマイズ機能紹介セミナー

Page 68: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

iDNS

アセンブリの情報をエクセルに表示

コンポーネントの置換えやプロパティ情報の編集を支援

ポイント

BOM

検索パス

プロパティ

名前の解決(派生パーツと図面)

コピーデザイン

ExcelからInventorマクロを起動インプロセスで実行するテクニック

注意

Inventor11, 2008, 2010用です

Inventor Document Navigating Sheet

Inventor 2010 カスタマイズ機能紹介セミナー

Page 69: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk Inventor 2010 カスタマイズ機能紹介セミナー

Goal Seek

パラメータを操作して、ターゲットの値を目標値に合わせる。

ターゲットの種類

エッジ

面積

体積、質量

参照パラメータ

ポイント

リファレンスキー

パラメータ

UOM(計測単位)

Page 70: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

TreeWalk

アセンブリを構成するすべてのパーツコンポーネントを巡回

各パーツに指定の編集を行う。

ねじ穴の編集

パターンフィーチャの親フィーチャを表示

材料と色(レンダースタイル)をカスタムプロパティに書出し

フィーチャの省略

etc

ポイント

再帰的処理

プロパティ操作

フィーチャ操作

70Inventor 2010 カスタマイズ機能紹介セミナー

Page 71: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

3D Manipulator

指定したコンポーネントを、距離や角度を指定して移動・回転させるツール

指定したコンポーネントの座標系に従って移動・回転

「3D移動回転」のユーザインターフェイスを使って、コンポーネントの移動・回転

ポイント

選択(ピック)

UOM(計測単位)

「3D移動回転」のUI

マトリクスを使った姿勢のコントロール71Inventor 2010 カスタマイズ機能紹介セミナー

Page 72: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

===重要な注意事項===

1.この資料の作成に当たっては、不具合の無いように十分に注意を払っておりますが、プログラム等の使用にあたって、何らかの問題が生じても、オートデスクとして責任を持つことは出来ません。利用者の自己責任でご利用いただくようお願いします。

2.この資料の内容は、無償にて自由に使っていただけます。ただし、2次配布はご遠慮願います。

上記内容について、承諾いただけるかたのみ、利用ください

72Inventor 2010 カスタマイズ機能紹介セミナー

Page 73: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

Q&A

Inventor 2010 カスタマイズ機能紹介セミナー

Page 74: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

アンケートをお願いします。

Inventor 2010 カスタマイズ機能紹介セミナー

Page 75: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

データセットの入手方法

本セミナー資料

サンプルプログラム&データセット

以下のサイトからダウンロードしてください。(2009年8月4日以降)

http://www.autodesk.co.jp/inventor_apisamp

または

https://projectpoint.buzzsaw.com/msdjapan/MfgSolutions/Misc

/AIS_API_SEMI_Data_09Jul.zip?public

ハイパーリンクでアクセスできない場合は、WEBブラウザのURLアドレス欄に上記urlを貼り付けてアクセスしてください。

75Inventor 2010 カスタマイズ機能紹介セミナー

Page 76: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk

連絡先

本セミナーに関する質問、問い合わせは

[email protected]

まで、メールにてお願いします。

76Inventor 2010 カスタマイズ機能紹介セミナー

Page 77: Autodesk™ Inventor® 2010 カスタマイズ機能紹介セミナー...Inventorが公開したActiveXオートメーションを使うことで、Inventorのカス タマイズが出来ます

© 2009 Autodesk 77Inventor 2010 カスタマイズ機能紹介セミナー