3

Autocad 2000iのコマンドラインでコマンドを記述する必要があり、autocadにパラメータの入力を求めます。次に、私のvb.netプログラムは、受け取ったパラメーターに基づいて動作します。

基本的に、私の解決策はすべてここにあると思います:http: //through-the-interface.typepad.com/through_the_interface/2006/09/passing_argumen.html

問題は、そこで使用されているAutodesk.AutoCAD.EditorInput名前空間への参照が見つからないことです。

ここで何が欠けていますか?EditorInputはAutocad2000iにまだ存在していませんか?


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

AutoCADにツールバーを追加するvb.netプロジェクトがあります。コマンドとパラメーターを記述して、ツールバーで選択したコンボの値をユーザーが変更できるようにしたい。

プロジェクトであなたの方法をどのように使用できますか?dvbファイルをプロジェクトに入れますか?vbaファイルをvb.netプロジェクトに統合できますか?

よろしくお願いします。

4

2 に答える 2

2

2000 年の時点では、AutoCAD 用の .Net API は存在しませんでした。LISP や VBA、またはその両方を組み合わせて処理が行われていました。ここでは、やるべきことを簡単に説明します。

VBAのみの方法:

ツール > マクロ > Visual Basic Editor (alt + F11) を開きます。

コードを入力してください:

Sub Test()

Dim str As String
str = InputBox("Enter radius:")

MsgBox str

End Sub

"-vbarun"コマンドプロンプトに入力します(引用符なし)

タイプ"Thisdrawing.Test"(モジュール名.関数名)

VBA + Lisp の方法 - (私の好みの方法)

上記のようにエディターにコードを入力します。vba ファイル (.dvb 形式) を保存します。D:\Macros名前が次のフォルダーにあるとします。MyDvb.dvb.

新しい Lisp ファイルを作成します (メモ帳を開いて以下のコードを入力し、拡張子 .lsp として保存します)。この Lisp ファイルは、すべての VBA マクロを呼び出すために使用されます。

(defun c:testcommand()
  (command "vbarun" "D:/Macros/MyDvb.DVB!ThisDrawing.Test")
)

"ap"コマンドプロンプトで入力して、このlispを一度ロードします。これにより、セッションでコマンドを使用できるようになります。

入力"testcommand"すると、コードが実行されたことがわかります

于 2012-12-06T11:40:53.970 に答える
1

.NET C# を使用した方法を次に示します。

// ユーザーにフォルダの選択を求める

        PromptResult res = ed.GetString("\nEnter the path of the folder: ");

        if (res.Status == PromptStatus.OK)
        {
            string[] filepaths = Directory.GetFiles(res.StringResult, "*.dwg", SearchOption.AllDirectories);
        }

ご不明な点がございましたら、お知らせください。

于 2013-01-16T05:13:22.207 に答える