2017-10-06 18 views
0

웹 사이트의 사용자 입력에서 맞춤형 레이저 라벨을 만들고 싶습니다. 템플릿 dxf 파일이 있고 자리 표시 자 텍스트를 사용자 입력으로 바꾸고 싶습니다. 내 문제는 dxf 파일 형식이 텍스트 형식으로 매우 읽을 수 없다는 것입니다. 수치 데이터를 이해하는 방법이 있습니까? 그렇지 않다면 다른 형식 (svg 등)으로 작업하기가 더 쉬울까요?node.js에서 DXF를 편집하려면 어떻게해야합니까?

편집 : 텍스트 측면에서 읽을 수없는 이유는 프로그램 (Solidworks)이 텍스트를 곡선으로 변환한다는 것입니다.이 시점에서 나는이를 방지하는 방법을 찾으려고합니다.

답변

0

AutoDesk는 DXF 구문을 매우 자세하게 문서화 할 수있을 정도로 멋졌습니다. 몇 시간 동안 아래의 링크에서 문서를 이해하고 코드를 사용하여 구문 분석하고 편집하는 것이 매우 쉽다는 것을 알게 될 것입니다.

일부 자리 표시 자 텍스트를 바꾸려면 DXF 파일을 문자열 (dxf 파일은 txt 파일과 다르지 않음)로 읽는 것과 마찬가지로 텍스트 대체 작업을 수행하고 다시 파일에 저장해야합니다. 자리 표시 자 텍스트가 매우 독특하고 아래 문서의 핵심 단어에 포함되어 있지 않은지 확인하십시오 (그렇지 않으면 DXF 파일이 손상됩니다). "PlaceHolderText"같은 것이 트릭을 할 것입니다.

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

편집 : 추가 정보

나는 솔리드 웍스와 직접 경쟁에의 Autodesk Inventor와 많은 작업을 할, 그래서 그들은 효과적으로 같은 도구입니다. 우리는 파트를 식별하기 위해 Inventor에서 나온 판금 플랫 패턴 DXF에 텍스트를 배치해야하는 것과 비슷한 문제에 직면 해 있었지만 Inventor는이를 수행 할 수 없었습니다 (정확히 똑같은 것을보십시오). 개발자 중 한 명이 평면 패턴 위에 매우 정밀한 형상 펀치를 배치 할 생각이있었습니다. DXF가 생성 된 후 그는 DXF 파일을 구문 분석하고 기하학을 텍스트 엔티티로 대체 한 코드를 작성했습니다. 더 구체적으로 우리는 삼각형을 사용하여 각 변의 길이가 7 번째 소수점과 같은 것으로 정의되었습니다. 그런 다음 삼각형의 꼭지점 중 하나를 사용하여 회전을 포함하여 텍스트를 배치 할 수 있습니다. 이 프로세스는 자동으로 수행되므로 위의 문서를 사용하여 코드를 작성하면 (긴 시간이 소요되지는 않음) 작업이 완료됩니다. 조각사가 원하는 방식으로 텍스트를 처리 할 수 ​​있다면 아주 좋은 해결책이라고 할 수 있습니다. 우리는이 코드를 사용하여 매일 수백 개의 부품을 생성합니다. 희망이 도움이됩니다.

+0

dxf를 텍스트 파일로 열었으므로 숫자 만있었습니다. 자리 표시 자 텍스트 (레이블 1)에 대한 검색을 수행했는데 결과가 표시되지 않았습니다. –

+0

아마도 바이너리 dxf를 사용하고 있습니까? 이 경우에는 작동하지 않습니다. 메모장에서 파일을 열어 이진 형식인지 확인할 수 있습니다. 콘텐츠가 완전한 횡설수설 모양 인 것처럼 보이면 그 바이너리. 순서가있는 것처럼 보이면 ASCII입니다. ASCII 또는 바이너리 DXF를 사용하고 있는지 확인할 수 있습니까? – Nik

+0

그것은 ASCII입니다. 확실히 식별 가능한 데이터가 있습니다. 곡선, 선 및 원에 대한 모든 데이터가 표시되지만 텍스트는 없습니다. 나는 결과 자체와 함께 텍스트 자체와 키워드 텍스트를 모두 검색해 보았습니다. –