コミュニティ
AutoCAD - 日本語
製品テクニックや情報を共有、質問、解答したり、情報を検索など使い方は様々です。お役立てください。
キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

AutoCAD .NET APIを使って、オブジェクト イベント(ObjectAppended)の処理

7件の返信7
解決済み
返信
メッセージ1/8
NKCAUTOCAD01
4089 件の閲覧回数, 7 件の返信

AutoCAD .NET APIを使って、オブジェクト イベント(ObjectAppended)の処理

お世話になっております。

AutoCAD .NET APIを使って、AuoCAD VBAからのコマンド移植しているのですが。

オブジェクト イベント(ObjectAppended)の処理を移植したいのですが。

AutoCAD .NET API デベロッパーガイドに、オブジェクト イベントの処理という項目が

あったのですが、どうも解かりません。

勝手なおお願いなのですが。 なにかいい参考書籍ありませんか、

それか詳しい方簡単にレクチャーしていただけませんか。

よろしくお願いします。

7件の返信7
メッセージ2/8
acadvideo
次のアカウントへの返信: NKCAUTOCAD01

こんにちは。

 

私は VBA からの移植方法はわからないのですが、.NET で ObjectAppended の処理を行うときは、こんな感じでできると思います。

 

<CommandMethod("GroupName", "GlobalName", "LocalName", CommandFlags.Modal)> _
Public Sub FuncName()

    Dim doc As Document = Application.DocumentManager.MdiActiveDocument
    Dim db As Database = doc.Database

 

    AddHandler db.ObjectAppended, New ObjectEventHandler(AddressOf test)
End Sub

 

Public Sub test(sender As Object, e As Autodesk.AutoCAD.DatabaseServices.ObjectEventArgs)
    MsgBox(e.DBObject.ToString)
End Sub

-------------------------------------------------------------------------
中川和久
ブログ : http://blog.acadvideo.com/
Web サイト : http://www.acadvideo.com/
Facebook : http://www.facebook.com/pages/ACAD-Video/146762492038053
メッセージ3/8
NKCAUTOCAD01
次のアカウントへの返信: acadvideo

お世話になっております。

いつも、中川さんにはお世話になっております。

早速の回答ありがとうございます。

それで、1点質問があるのですが、

<CommandMethod("GroupName", "GlobalName", "LocalName", CommandFlags.Modal)> _
Public Sub FuncName()

となっているところで、

CommandMethod("GroupName", "GlobalName", "LocalName", CommandFlags.Modal)

の定義の意味教えていただきたいです。

 特に、("GroupName", "GlobalName", "LocalName", CommandFlags.Modal)の引数は

どういう意味なのでしょうか。

勝手なお願いばかりですいません。

よろしくお願いします。

メッセージ4/8
acadvideo
次のアカウントへの返信: NKCAUTOCAD01

こんにちは、

 

"GroupName", "GlobalName", "LocalName" のところは、コマンドのグループ名、グローバル名、ローカル名を指定します。

 

例えば、グローバル名として "MyCommand"、ローカル名として "私のコマンド" と指定すると、コマンドラインに MyCommand と入力しても 私のコマンド と入力しても実行できます。

でも、普通はグローバル名とローカル名は一緒でいいですよね。

 


CommandFlags.Modal のところは普通のコマンドはこれでいいと思います。


でも、場合によって変更する必要があるときもあります。

 

以下の URL から ObjectARX for AutoCAD 2013 の Download ObjectARX Documentation を入手できます。

 

http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=785550

 

それに含まれている arxmgd.chm の [Autodesk.AutoCAD.Runtime Namespace] - [CommandFlags Enumeration] に記述があるので見てみてください。

 

では。

-------------------------------------------------------------------------
中川和久
ブログ : http://blog.acadvideo.com/
Web サイト : http://www.acadvideo.com/
Facebook : http://www.facebook.com/pages/ACAD-Video/146762492038053
メッセージ5/8
NKCAUTOCAD01
次のアカウントへの返信: acadvideo

お世話になっております。

なんども申し訳けありません。

ほんとうにありがとうございました。

 

メッセージ6/8
NKCAUTOCAD01
次のアカウントへの返信: NKCAUTOCAD01

すいません。

また問題がありまして、教えていただきたいのですが。

ObjectAppended イベントで追加されたObjectを取るには、どうしたらいいか教えてもらえませんか。

よろしくお願いします。

メッセージ7/8
acadvideo
次のアカウントへの返信: NKCAUTOCAD01

こんばんは。

 

「10-19-2012 07:02 PM」の書き込みにある以下のコードの引数 e (e.DBObject)で追加されたオブジェクトを取得できると思いますが、このことでいいでしょうか。

 

Public Sub test(sender As Object, e As Autodesk.AutoCAD.DatabaseServices.ObjectEventArgs)
    MsgBox(e.DBObject.ToString)
End Sub

-------------------------------------------------------------------------
中川和久
ブログ : http://blog.acadvideo.com/
Web サイト : http://www.acadvideo.com/
Facebook : http://www.facebook.com/pages/ACAD-Video/146762492038053
メッセージ8/8
NKCAUTOCAD01
次のアカウントへの返信: acadvideo

お世話になっております。

早速の回答、助かりました。

ありがとうございます。

お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。

フォーラムに投稿  

Autodesk State of Design & Make Report