これを行うのは簡単だと思いますが、開始方法がわかりませんか?c#を使用してAutoCADファイルのレイヤー名またはラベル名を取得したい。私はフォーラムを検索しますが、本当に価値のあるものを見つけます。ObjectARXとAutoLispを見つけましたが、これらのAPIに関するチュートリアルは見つかりません。だから、私はリーチautocadファイルについての簡単な例をしたいと思います。
2120 次
2 に答える
1
公式サイトからObjectARXSDKをダウンロードした場合は、開始するための多くのサンプルプロジェクトが含まれています。APIによって公開される.dwgデータベースの構造を理解するには、AutoCADの知識が必要です。プロジェクトにかなりの時間を投資する準備をしてください。
.dwgファイル内のデータの単純な1回限りのダンプを探している場合は、データ抽出ウィザードと呼ばれるこれを行うためのコマンドがAutoCAD UIにあるため、ローカルの製図者に問い合わせてください。
stackoverflowに関する別の回答では、AutoCADデータベース接続機能を理解する方法としてこの本の章をお勧めします。
于 2011-10-12T17:10:04.000 に答える
1
次のように簡単です。
[CommandMethod("LayerIterator")]
public static void LayerIterator_Method()
{
Database database = HostApplicationServices.WorkingDatabase;
using (Transaction transaction = database.TransactionManager.StartTransaction())
{
SymbolTable symTable = (SymbolTable)transaction.GetObject(database.LayerTableId, OpenMode.ForRead);
foreach (ObjectId id in symTable)
{
LayerTableRecord symbol = (LayerTableRecord)transaction.GetObject(id, OpenMode.ForRead);
//TODO: Access to the symbol
MgdAcApplication.DocumentManager.MdiActiveDocument.Editor.WriteMessage(string.Format("\nName: {0}", symbol.Name));
}
transaction.Commit();
}
}
詳細については、http://spiderinnet1.typepad.com/blog/2012/06/autocad-net-iterate-through-layer-table.htmlを参照してください。
于 2012-06-19T00:38:37.633 に答える