2017-10-06 15 views
0

J'aimerais créer une étiquette personnalisée au laser à partir de la saisie d'un utilisateur sur un site Web. J'ai un modèle de fichier dxf et je voudrais remplacer le texte de l'espace réservé avec l'entrée de l'utilisateur. Mon problème est le format de fichier dxf est très illisible dans son format de texte. Est-il possible de donner un sens aux données numériques? Si non, existe-t-il d'autres formats (svg, etc.) avec lesquels il serait plus facile de travailler?Comment puis-je modifier un fichier DXF dans node.js?

EDIT: La raison pour laquelle je l'ai trouvé illisible en termes de texte est que le programme (Solidworks) a converti le texte en courbes.) À ce stade, j'essaie de comprendre comment éviter cela.

Répondre

0

AutoDesk était assez agréable pour documenter la syntaxe DXF dans les moindres détails. Passez quelques heures à comprendre la documentation à partir du lien ci-dessous, et je pense que vous trouverez très facile d'analyser et de modifier en utilisant le code. Pour remplacer simplement un texte d'espace réservé, il devrait être aussi simple que lire le fichier DXF dans une chaîne (un fichier dxf n'est pas différent d'un fichier txt), effectuer une opération de remplacement de texte et l'enregistrer dans un fichier. Assurez-vous simplement que le texte de votre espace réservé est très unique et ne figure dans aucun des mots clés du document ci-dessous (sinon votre fichier DXF sera corrompu). Quelque chose comme "PlaceHolderText" fera l'affaire.

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

Edit: Plus d'infos

je fais beaucoup de travail avec l'inventeur qui est AutoDesk en concurrence directe avec SolidWorks, ils sont effectivement le même outil. Nous étions confrontés à un problème similaire de devoir placer du texte sur des DXF en tôle plate sortis d'Inventor afin d'identifier la pièce, mais Inventor ne pouvait tout simplement pas le faire (voir, exactement la même chose!). Un de nos développeurs a eu l'idée de placer un poinçon de géométrie très précis sur le motif plat. Après la génération de DXF, il a écrit du code qui analysait le fichier DXF et remplaçait la géométrie par une entité de texte. Plus précisément, nous avons utilisé un triangle avec des côtés ayant chaque longueur définie à quelque chose comme la septième décimale. Vous pouvez ensuite utiliser l'un des sommets du triangle pour positionner le texte, y compris la rotation. Ce processus serait automatique, donc une fois que vous aurez écrit le code avec l'aide du document ci-dessus (ce qui ne prendra pas longtemps), cela fonctionnera. Si votre graveur peut gérer le texte comme vous le voulez, je dirais que c'est une très bonne solution. Nous générons des centaines de pièces chaque jour en utilisant ce code. J'espère que cela t'aides.

+0

J'ai ouvert le fichier dxf sous forme de fichier texte et il n'y avait que des chiffres. J'ai fait une recherche pour le texte de l'espace réservé (étiquette 1) et cela n'a donné aucun résultat. –

+0

Utilisez-vous peut-être un dxf binaire? Dans ce cas, cela ne fonctionnerait pas. Vous pouvez dire si le format est binaire en ouvrant le fichier dans NotePad. Si le contenu ressemble à du charabia complet, son binaire. Si on dirait qu'il y a un ordre, c'est ASCII. Pourriez-vous confirmer que vous utilisez un dxf ASCII ou binaire? – Nik

+0

C'est ASCII, il y a certainement des données discernables. Je vois toutes les données pour les courbes, les lignes et les cercles, mais il n'y a pas de texte. J'ai essayé de chercher à la fois le texte lui-même et le texte du mot-clé, sans résultats –