3

AutoCADのMTextエンティティを解析し、生のテキストを抽出したいと思います。テキストのフォーマット方法にパターンが見られます。これがすでに解決されている場合は、車輪の再発明を行う必要はありません。オンラインで検索しましたが、十分な情報が見つかりませんでした。

私はこの主題に関するリンクや参考文献を探しています。

編集:

さらに明確にするために、ODA(Open Design Aliance)ライブラリを使用してDWGファイルにアクセスしています。私はこのライブラリに精通していません。別の開発者は、ライブラリを使用して、MTextエンティティを含むファイルから情報を抽出しています。次に、私が見ているMTextテキストを含むファイルが提供されます。C#でアクセスして使用しているMText形式のテキストを見ています。

質問:

  1. 私は他の開発者に、ODAライブラリがフォーマットされていない生のテキストを抽出する手段を提供しているかどうか尋ねました。彼の回答は、それは可能であるが、エンティティがDWGファイルに書き戻される結果になる可能性があるというものでした。元のDWGファイルに影響を与えずに生のテキストに興味があります。ODAは、ファイルを変更せずに生のテキストを抽出する方法を提供しますか?
  2. MTextのフォーマット規則に関するドキュメントに興味があるので、必要に応じて自分でパーサーを作成することを検討できます。
  3. MTextをRTFに変換するものはありますか?RTFがすべての書式設定ルールを完全に満たすわけではないことは理解していますが、これにより、WinFormsアプリで書式設定されたテキストを表示するための十分な手段が提供される可能性があります。RTFが与えられると、生のテキストも取得できます。
4

4 に答える 4

3

このフォーラムスレッドには、MTextから制御文字を取り除くVBプログラムが含まれています。このコードは、各制御文字を削除するために何をすべきかを示しているため、C#で同様のことを書くのは簡単です。

さらに、フォーマットコードのドキュメントは、AutoCADのドキュメントで入手できます。

于 2010-07-06T16:47:33.737 に答える
2

C#と.NETインターフェイスを使用している場合、MTextオブジェクトのTextプロパティは生のテキストを提供します。

MText mt;
...
string rawText = mt.Text;

フォーマットも必要な場合は、解決策が異なります。

于 2010-07-01T18:04:45.577 に答える
1

AutoCADを使用せずにAutoCADファイルを解析する場合は、解析するファイルの種類を指定する必要があります。ただし、この質問は基本的に次の質問のサブセットです。

DWGの場合、基本的なオプションはOpenDesignAllianceAutoCADRealDWGです。

これで問題が解決しない場合は、何をしようとしているのかについて詳しく説明してください。

于 2010-07-01T22:51:03.200 に答える
1

C#を使用している場合は、netDXFライブラリを試してみてください。

擬似コードは次のようにすべきだと思いました。

DxfDocument dxf = new DxfDocument();
dxf = DxfDocument.Load(openFileDialog1.FileName);//load your file
//This extracts the raw text of your first text obj
dxf.MTexts[0].PlainText;
于 2016-04-15T02:32:39.450 に答える