You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kabeja 0.4版本:修改DXF文件后如何保存变更?

使用Kabeja 0.4保存修改后的DXF文件

Kabeja 0.4版本确实没有DXFWriter类,要保存修改后的DXF文档,直接调用DXFDocument的write()方法即可。另外你的原代码存在一个冗余操作:已经把文本实体添加到图层,且图层已加入文档的情况下,不需要再单独调用document.addDXFEntity(text),这会导致实体被重复添加。

以下是修正后的完整代码:

import org.kabeja.parser.Parser;
import org.kabeja.parser.ParserBuilder;
import org.kabeja.dxf.DXFDocument;
import org.kabeja.dxf.DXFText;
import org.kabeja.dxf.DXFLayer;
import java.io.*;
import org.kabeja.parser.ParseException;

public class DXFLayerTest {
    public static void main(String[] args) throws IOException, ParseException {
        File inputFile = new File("D:\\11.016571.DXF");
        File outputFile = new File("D:\\11.016571ADDL.DXF");

        try (FileInputStream inputStream = new FileInputStream(inputFile);
             FileOutputStream outputStream = new FileOutputStream(outputFile)) {
            
            // 解析输入DXF文件
            Parser parser = ParserBuilder.createDefaultParser();
            parser.parse(inputStream, "UTF-8");
            DXFDocument document = parser.getDocument();

            // 创建文本实体
            DXFText text = new DXFText();
            text.setText("SOME-PART-ID");
            text.setHeight(5.0);
            text.setRotation(0);
            // 必须设置插入点,否则生成的文本会因无坐标无法显示
            text.setInsertPoint(new double[]{10.0, 10.0, 0.0});

            // 创建新图层并添加文本
            DXFLayer layer = new DXFLayer();
            layer.setName("engraving");
            layer.setColor(0xC3C3C3);
            layer.addDXFEntity(text);

            // 将图层添加到文档(文本随图层自动加入文档,无需单独添加)
            document.addDXFLayer(layer);

            // 保存修改后的文档到输出文件
            document.write(outputStream);

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

核心要点说明:

  • 保存逻辑:document.write(outputStream)是Kabeja 0.4的标准保存方式,直接将修改后的文档写入输出流即可
  • 实体归属:文本实体只需绑定到图层,图层加入文档后,实体自动属于该文档,重复添加会导致冗余实体
  • 插入点设置:原代码缺失文本插入点配置,这会导致生成的文本因无坐标信息无法在DXF文件中显示,必须补充设置

内容的提问来源于stack exchange,提问作者Jhon Fagen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:35:08