2017-10-06 24 views
0

私はウェブサイト上のユーザーの入力からカスタムレーザーラベルを作りたいと思っています。テンプレートdxfファイルがあり、プレースホルダテキストをユーザー入力に置き換えたいと思います。私の問題は、dxfファイル形式は非常にテキスト形式で判読不能です。数値データを理解する方法はありますか?そうでない場合は、他のフォーマット(svgなど)があれば、作業が簡単になります。node.jsでDXFを編集するにはどうしたらいいですか?

EDIT:テキストでは判読できないのは、プログラム(Solidworks)がテキストを曲線に変換したことです。この時点で、私はそれを防ぐ方法を見つけようとしています。

答えて

0

AutoDeskは、DXF構文を非常に詳細に文書化するのに十分なものでした。数時間かけて、以下のリンクからドキュメントを理解してください。コードを使って解析して編集するのが簡単だと思います。

一部のプレースホルダーテキストを置き換えるには、DXFファイルを文字列(dxfファイルとtxtファイルの違いはありません)に読み込み、テキスト置換操作を実行してファイルに保存し直すだけです。プレースホルダーのテキストが非常にユニークで、下の文書のキーワードに含まれていないことを確認してください(そうしないと、DXFファイルが破損する)。 "PlaceHolderText"のような何かがそのトリックを行います。

http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf

編集:詳細

私は、SolidWorksと直接競合しているのAutodesk Inventorでの作業の多くを行うので、彼らが効果的に同じツールです。我々は、部品を識別するためにInventorから出てきた板金のフラットパターンDXFにテキストを配置する必要があるという同様の問題に直面しましたが、Inventorはそれを行うことができませんでした(まったく同じです)。私たちの開発者の一人は、非常に正確なジオメトリのパンチをフラットパターンに配置するという考えを持っていました。 DXFが生成された後、彼はDXFファイルを解析し、ジオメトリをテキストエンティティに置き換えたコードを書きました。より具体的には、各辺の長さが7桁の小数点以下のように定義された三角形を使用しました。三角形の頂点の1つを使用して、回転を含むテキストの位置を決めることができます。このプロセスは自動的に行われるので、上記の文書の助けを借りてコードを書くと(長い時間はかかりません)、うまくいくでしょう。あなたの彫刻家があなたが望むようにテキストを処理できるなら、これは非常に良い解決策であると言えます。このコードを使用して、毎日数百の部品を生成します。お役に立てれば。

+0

dxfをテキストファイルとして開いたところ、数字だけでした。プレースホルダーのテキスト(ラベル1)を検索したところ、結果は表示されませんでした。 –

+0

おそらくバイナリdxfを使用していますか?この場合、これは機能しません。メモ帳でファイルを開くと、形式がバイナリかどうかを確認できます。コンテンツが完全な不器用なように見える場合、そのバイナリ。注文があるように見える場合、それはASCIIです。 ASCIIまたはバイナリDXFを使用していることを確認できますか? – Nik

+0

それはASCIIです、確かに識別可能なデータがあります。曲線、線、円のすべてのデータが表示されますが、テキストはありません。テキスト自体とキーワードテキストの両方を検索しようとしましたが、結果は表示されません。 –

関連する問題