AutoDesk достаточно хорошо документировал синтаксис DXF в мельчайших подробностях. Потратьте пару часов на изучение документации по ссылке ниже, и я думаю, вам будет довольно легко анализировать и редактировать код с помощью кода.
Чтобы просто заменить некоторый текст-заполнитель, это должно быть так же просто, как чтение файла DXF в строку (файл dxf ничем не отличается от файла txt), выполнение операции замены текста и сохранение его обратно в файл. Просто убедитесь, что ваш текст-заполнитель очень уникален и не содержится ни в одном из ключевых слов в документе ниже (в противном случае ваш файл DXF будет поврежден). Что-то вроде «PlaceHolderText» поможет.
http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf
Изменить: дополнительная информация
Я много работаю с AutoDesk Inventor, который является прямым конкурентом SolidWorks, так что это фактически один и тот же инструмент. Мы столкнулись с аналогичной проблемой, связанной с необходимостью размещать текст на DXF-файлах развертки листового металла, которые вышли из Inventor, чтобы идентифицировать деталь, но Inventor просто не мог этого сделать (понимаете, точно так же!). У одного из наших разработчиков возникла идея разместить на развертке очень точную геометрическую штамповку. После создания файла DXF он написал код, который анализировал файл DXF и заменял геометрию текстовым объектом. В частности, мы использовали треугольник, каждая сторона которого имела длину, определенную примерно до 7-го знака после запятой. Затем вы можете использовать одну из вершин треугольника для позиционирования текста, включая поворот. Этот процесс будет автоматическим, поэтому, как только вы напишете код с помощью приведенного выше документа (что не займет много времени), он просто заработает. Если ваш гравер может обрабатывать текст так, как вы этого хотите, я бы сказал, что это очень хорошее решение. Мы генерируем сотни деталей каждый день, используя этот код. Надеюсь это поможет.
person
Nik
schedule
08.10.2017