autocad 2009 アクションレコーダ....dvb ファイルの中身はvisual basic...

34
© 2008 Autodesk 1 First and Last Name Presenter’s Title AutoCAD 2009 アクション レコーダ 伊勢崎 俊明 プラットフォーム ソリューション

Upload: others

Post on 21-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 1

First and Last NamePresenter’s Title

AutoCAD 2009 アクション レコーダ

伊勢崎 俊明プラットフォーム ソリューション

Page 2: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 2

アジェンダ – ご紹介する項目

アクション レコーダ登場の背景

アクション レコーダとは ?

ダイナミック ブロックとは ?

効果的な利用方法のヒント

Page 3: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 3

アクション レコーダ登場の背景

Page 4: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 4

AutoCAD カスタマイズ目的

1. 作図の標準化

作図環境:図面テンプレート(.dwt)、標準仕様(.dws)

作図要素:ハッチング パターン、線種、シェイプ フォント、ブロック...

2. 操作の効率化

ユーザ インタフェース:メニュー、ツールバー、リボン ...

3. 作業の効率化

プロセス:一連の作業、反復作業、独自の処理 または ルール...カスタム コマンド(または、准じる機能)の作成で対応

- 生産性の向上

Page 5: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 5

AutoCAD のプロセス実行単位 - コマンド

コマンド:特定の機能を呼び出すための最少単位 作図 LINE、CIRCLE、ARC、DIMLINER、DIMARC ...

編集 MOVE、COPY、ARRAY、CHPROP、EXPLODE ...

ユーザ インタフェース呼び出し LAYER、TOOLPALETTES、PROPERTIES ...

出力 PLOT、PUBLISH、EXPORT...

カスタマイズ CUI、CUSTOMIZE、VLIDE、VBAIDE ...

別の視点で考えれば、コマンド ライン に入力、実行できる単位が コマンド です

Page 6: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 6

コマンド? の作成

一連の作業を ひとまとめ にする実行単位

スクリプト 拡張子 .scr ファイルを定義 .scr ファイルの中身は コマンド の羅列

マクロ VBA マクロとして .dvb ファイルに定義 .dvb ファイルの中身は Visual Basic 言語のプログラム

コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

ObjectARX:.arx ファイル元は C++ 言語のプログラム

.NET API:.dll ファイル元は C++、C#、Basic 言語のプログラム

AutoLISP:.lsp ファイルは AutoLISP 言語のプログラム

Page 7: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 7

柔軟な AutoCAD の API 4つのカスタマイズ API を提供する唯一の CAD プロから初心者まで目的や技術レベルに応じた選択肢

AutoCAD

Page 8: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 8

ObjectARX

.NET API

ActiveX / VBA

AutoLISPVisual LISP

拡張性

開発知識

AutoCAD API の位置付け

高低

Page 9: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 9

カスタマイズにより強力な設計環境を実現

業界別オートデスク製品も AutoCAD API で拡張

AutoCAD

AutoCADMap 3D

AutoCADCivil 3D

AutoCADArchitecture

AutoCADMechanical

AutoCADElectrical

GIS・土木設計向けソリューション

建築設計向けソリューション

2D機械設計向けソリューション

電気制御設計向けソリューション

Page 10: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 10

プログラムを習得が必要 !! 概念、開発言語、手順、デバッグ、ロード、実行方法、配布 ...

API を使ったコマンドの作成

AutoLISP(LISP言語)

.NET API(Visual Basic、C#言語)

VBA(Visual Basic言語)

ObjectARX(C++言語)

ハードルが高すぎて手を出せない!

Page 11: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 11

スクリプト:最も容易なプロセスのカスタマイズ

スクリプト ファイル(.scr)を用意 テキスト エディタに実行したコマンドを羅列

AutoCAD コマンドでスクリプトを実行 SCRIPT コマンド

AutoCAD LT もサポート !!

作成そのものが面倒 柔軟性に欠ける 同じ位置、同じ径、同じ複写回数» 変更にはスクリプト ファイルの修正が必要

コマンドルールに合っていない ハイフンなしのコマンドも GUI を表示しないものがある» Try & Error による経験が必要

問題 ?

Page 12: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 12

アクション レコーダとは ?

「AutoCAD 2009 機能ガイド」P231 ~ を参照いただけます

Page 13: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 13

AutoCAD 上の操作を記録・再生するツール

反復する作業を記録して再利用することが可能に!

1. 記録の開始: ACTRECORD コマンド

2. 記録の停止:ACTSTOP コマンド

アクション レコーダ – 記録

記録中のクロスヘア カーソル

この間の操作が記録されます

Page 14: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 14

記録終了時に名前を付けて保存 アクション マクロ コマンド名

アクションは .actm ファイルに保存 記録したアクションは名前で識別

アクション レコーダ – 記録した内容の保存

このダイアログは、アクションの記録停止時に自動的に表示されます

Page 15: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 15

1. リボン パネルからのアクションを選択して再生

2. コマンド プロンプトからの実行 アクション マクロ コマンド名はコマンドとして機能

アクション レコーダ – 再生

Page 16: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 16

アクション レコーダ – 編集

アクション マクロの編集

アクション ツリー上での編集作業

メッセージの挿入

ユーザ入力

値入力、オブジェクト選択

Page 17: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 17

アクション レコーダ – アクション ツリーのアイコン

アイコン アクション名 説明

ユーザ入力の要求 再生中にアクションに対してユーザ入力が要求されることを示します。

ユーザ文字メッセージ 再生中にこのアクションに対してユーザメッセージが表示されます。

コマンド コマンドに対して記録されたすべての入力を含むノード。

アクション マクロ 現在のアクション マクロに関連付けられたすべてのアクションを含む最上位のノード。

絶対座標点 記録中に取得された点に基づく絶対座標値。

相対座標点 アクション マクロ内の直前の座標値を基準とした相対座標値。

プロンプト操作/キーワード プロンプト/キーワード操作。このアクション ノードをユーザ入力の要求に変更することはできません。

角度 角度値。

距離 距離値。

実数(倍精度浮動小数点数) 実数または倍精度浮動小数点数値。

整数 整数値。

文字列 文字列の値。

尺度 尺度のパーセント値。

色 色の値。

選択結果 コマンドによって使用される最終的な選択セット。これには、各サブ選択のノードも含まれます。

マクロで生成した選択セット 現在のアクション マクロで作成されたオブジェクトのみを含む選択。

事前選択セットを使用 既存の選択が、アクション マクロの再生を開始する前に選択したオブジェクトで置き換えられます。

ユーザ入力(選択)の要求 新しい選択の要求。

[プロパティ]パレット [プロパティ]パレットまたはクイック プロパティ パネルで変更されたことを示します。

プロパティ [プロパティ]パレットまたはクイック プロパティ パネルでプロパティが変更されたことを示します。

オブジェクト フィルタリング[プロパティ]パレットまたはクイック プロパティ パネルで、オブジェクト フィルタを使用した選択が適用されたこと示します。使用されたオブジェクト フィルタ タイプを示します。

モーダル ダイアログ モーダル ダイアログ ボックス。

視点変更 コマンドや座標の変更によって明示的に行われなかったビューの変更。

UCS 変更 コマンドや座標の変更によって明示的に行われなかった UCS の変更。

Page 18: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 18

アクション レコーダ – 削除

アクション ツリー上での削除

アクション マクロを削除

.actm ファイルの削除

削除されたファイルは ごみ箱 に一旦残ります

Page 19: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 19

アクション レコーダ – 利点

よく使う作図・編集操作を記録して再利用

例)一連の 10 個のコマンド操作を1つにまとめられます

プログラムの知識は必要なし

一般設計者でも簡単に利用することができます

記録したアクション マクロ(コマンド)を共有

複数の設計者のコンピュータで同じコマンドを利用できます

プログラムなしでコマンドの作成が可能

ユーザ インタフェースと組み合わせて再生方法を簡素化できます

Page 20: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 20

アクション マクロ ファイルは直接編集不可

メモ帳などのテキスト エディタでの編集は禁止

VBA や AutoLISP へ変換する機能はありません

アクション レコーダ – 制限事項

Page 21: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 21

記録されない操作がある

古くからのダイアログ上での操作

GUI だけが表示されるケースも

モードレス ダイアログでは記録が可能

図面セッションを跨ぐ操作

グリップ編集

記録したマクロの要素で編集できない要素がある

マクロ記録中の画面移動は削除できない ... など

アクション レコーダ –制限事項

Page 22: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 22

エラー処理、デバッグ機能がない

特定の参照オブジェクトの存在などに注意

画層がない

文字や寸法スタイルがない ... など

推奨事項

コマンドを記録する際には ハイフン 付きコマンドの使用を推奨

ハイフン 付きコマンドはコマンド プロンプト モードで動作します

例)LAYER コマンド ではなく、-LAYER コマンド

アクション レコーダ –制限事項

すべてのコマンドがハイフン付き呼び出しをサポートするわけではなりません

Page 23: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 23

ダイナミック ブロックとは ?

「AutoCAD 2009 機能ガイド」P45 ~ を参照いただけます

Page 24: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 24

振る舞いのついたブロック - AutoCAD 2006 で登場 !! いままでのブロックと同様の扱いを受けます INSERT[ブロック挿入] コマンドで挿入 BLOCK[ブロック定義] コマンドで定義 いままでのブロック(スタティック ブロック)が作成できます

ブロック エディタでの定義や編集 いままでのブロック(スタティック ブロック)も作成できます ダイナミック ブロック固有の振る舞いを追加できます パラメータ アクション

ダイナミック ブロック

Page 25: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 25

ダイナミック ブロックの特徴

ブロック定義の数がすぐ増えて管理が面倒 表示状態や参照テーブルを内蔵 複数のブロックを1つにまとめることができる

挿入後のブロック参照は形状変更できない 分解なしでも要素図形の変化や調整が可能 分解なしでブロック作成、編集 -ブロック エディタ

ブロック挿入後の位置合わせ操作が無駄 複数の挿入基点や配置、反転、位置合わせを内蔵 編集コマンドでの位置合わせ操作が低減

ダイナミック ブロックで作図効率を大幅にアップすることが可能です!

Page 26: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 26

ユーザが直接変化させることができる情報 ブロック選択時に グリップ として表示されます グリップ = パラメータ 例)

パラメータ

点パラメータ

可視パラメータ

反転パラメータ

位置合わせパラメータ

直線状パラメータ

Page 27: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 27

アクション

パラメータ情報の変化に反応する振る舞い グリップ 操作を受けてブロックの 外観を変化 させます アクションはパラメータを常に “監視” します 例)

ストレッチ アクション直線状パラメータの変化を受けて、”机” 構成図形をストレッチします

配列複写アクション直線状パラメータの変化を受けて、“椅子”構成図形を配列複写します

Page 28: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 28

パラメータとアクションの関係

パラメータ と アクション は基本的にペアで関連付け アクションの追加にはパラメータが必要 1つのパラメータを複数のアクションと共有も可能 パラメータとアクションには可能な組み合わせがある

アクション パラメータ

移動 点、直線状、円形状、XY

尺度変更 直線状、円形状、XY

ストレッチ 点、直線状、円形状、XY

円形状ストレッチ 円形状

回転 回転

反転 反転

配列複写 直線状、円形状、XY

ルックアップ ルックアップ

Page 29: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 29

ダイナミック ブロック集計

ブロック情報の表作成の自動化:DATAEXTRACTION コマンド

ブロック属性、ブロック プロパティ、ダイナミック ブロック プロパティ...

セルを追加して計算式を埋め込むブロック数とその属性を自動集計

更新操作で再集計 再集計数で再計算

Page 30: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 30

アクション レコーダ と ダイナミック ブロックの違い

アクション レコーダ

コマンド実行による駆動

作図は AutoCAD オブジェクト単位

作図後オブジェクト単位で編集可能

図面ファイルに埋め込み出来ない

作図に付随するルールを記録可能

作図に得手不得手がある

ダイナミック ブロック

ブロック挿入後のグリップ操作駆動

作図は ブロック参照 単位

挿入後分解なしに要素の編集不可

図面ファイルに埋め込み可能

作図に付随するルールを定義可能

作図に得手不得手がある

直行モードが記録されない

円形状の配列複写に対応するパラメータ、アクションがない

Page 31: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 31

効果的な利用方法のヒント

Page 32: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 32

[オプション] ダイアログ指定を活用

アクションの記録場所と再生場所を個別に管理可能

アクション マクロの共有

共有フォルダを指定して .actm ファイルを複数の設計者で共有!

Page 33: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 33

[ユーザ インタフェースをカスタマイズ] ダイアログを活用

ツールバーやリボンのボタンに記録したアクションを割り当て

アクション マクロの再生の簡素化

詳細は「メニュー カスタマイズ」セッションで紹介

Page 34: AutoCAD 2009 アクションレコーダ....dvb ファイルの中身はVisual Basic 言語のプログラム コマンド ObjectARX、.NET API、AutoLISP のいずれかで定義

© 2008 Autodesk 34