我希望修改dwg内容后,再重新保存,但是重新保存后,新的dwg无法打开,代码如下

public static void main(String[] args) {
// 输入 CAD 文件路径
String inputFilePath = “C:\Users\木木\Downloads\电度表 (1).dwg”;
// 输出 CAD 文件路径
String outputFilePath = “C:\Users\木木\Downloads\电度表444.dwg”;

    try {

        // 加载 CAD 文件
        CadImage cadImage = (CadImage) CadImage.load(inputFilePath);
        // 获取所有的块(Block)
        CadBlockDictionary blockEntities = cadImage.getBlockEntities();

        // 遍历每个块记录
        for (String blockName : blockEntities.getKeys()) {
            // 获取对应的 CadBlockEntity
            CadBlockEntity blockEntity = blockEntities.get_Item(blockName);
            // 获取块内的所有实体
            for (Object entity : blockEntity.getEntities()) {
                if (entity instanceof CadText cadText) {
                    cadText.setDefaultValue("111");
                }
            }
        }
        
        DwgOptions dwgOptions =new DwgOptions();
        cadImage.save(outputFilePath,dwgOptions);
        System.out.println(outputFilePath);
    } catch (Exception e) {
        System.err.println("CAD发生错误:");
        e.printStackTrace();
    }
}

dwg.zip (142.6 KB)

转换前和转换后的dwg文件

假如不传dwgOptions会出现如下报错

image.png (100.9 KB)

@lumu,
您好。
我们已创建 CADJAVA-11848 来调查并修复此问题。

我们已创建 CADJAVA-11848 来调查并修复此问题。
解决了吗

@lumu,
我们发现与此任务相关的其他问题,我们正在努力解决这些问题。我们希望在 25.02 版本中完成它,但由于免费论坛支持政策,无法保证交付时间。任务的状态可在此页面底部的线程中查看。