我想從用戶在網站上的輸入中製作定製的激光標籤。我有一個模板DXF文件,我想用用戶輸入替換佔位符文本。我的問題是dxf文件格式在文本格式中非常不可讀。有什麼辦法來理解數字數據嗎?如果沒有,會有更容易使用的其他格式(例如svg等)?如何在node.js中編輯DXF?
編輯:我發現它在文本方面不可讀的原因是程序(Solidworks)將文本轉換爲曲線。)在這一點上,我試圖找出如何防止這種情況。
我想從用戶在網站上的輸入中製作定製的激光標籤。我有一個模板DXF文件,我想用用戶輸入替換佔位符文本。我的問題是dxf文件格式在文本格式中非常不可讀。有什麼辦法來理解數字數據嗎?如果沒有,會有更容易使用的其他格式(例如svg等)?如何在node.js中編輯DXF?
編輯:我發現它在文本方面不可讀的原因是程序(Solidworks)將文本轉換爲曲線。)在這一點上,我試圖找出如何防止這種情況。
AutoDesk很棒,足以詳細記錄DXF語法。花幾個小時瞭解下面鏈接的文檔,我想你會發現用代碼解析和編輯很容易。
只需要替換一些佔位符文本,它應該與將DXF文件讀入字符串(dxf文件與txt文件沒有區別)一樣簡單,執行文本替換操作並將其保存迴文件。只要確保您的佔位符文本非常獨特,並且不包含在下面文檔中的任何關鍵詞中(否則您的DXF文件將被損壞)。像「PlaceHolderText」這樣的東西將做的伎倆。
http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf
編輯:更多信息
我做了很多與Autodesk Inventor的是在使用SolidWorks直接競爭的工作,所以他們實際上是相同的工具。我們遇到了類似的問題,需要將文本放在Inventor發出的鈑金平面圖案DXF上以識別零件,但Inventor根本無法做到(請參閱完全相同!)。我們的一位開發人員有一個想法,在平面圖案上放置一個非常精確的幾何圖形衝頭。 DXF生成後,他編寫了一些解析DXF文件並用文本實體替換幾何圖形的代碼。更具體地說,我們使用了一個三角形,每邊的長度定義爲小數點後第七位。然後可以使用三角形的某個頂點來定位文本,包括旋轉。這個過程是自動的,所以一旦你在上面的文檔的幫助下編寫代碼(不需要太長的時間),它就可以工作。如果您的雕刻機可以按照您想要的方式處理文本,我會說這是一個非常好的解決方案。我們每天使用此代碼生成數百個零件。希望這可以幫助。
我將dxf作爲文本文件打開,並且只有數字。我搜索了佔位符文本(標籤1),結果沒有任何結果。 –
你可能使用二進制DXF?在這種情況下,這是行不通的。您可以通過在記事本中打開文件來判斷格式是否爲二進制格式。如果內容看起來像完整的亂碼,它的二進制文件。如果看起來有一個命令,它就是ASCII。你能確認你使用的是ASCII還是二進制DXF? – Nik
它是ASCII碼,絕對有數據可辨。我看到曲線,線條和圓圈的所有數據,但沒有文字。我試過搜索文本本身和關鍵字文本,但沒有結果 –