1

我希望有人可以在这里帮助我。我正在使用 yCad 库读取许多 dxf 文件并将复合模型输出为 dxf 格式。

读取文件的初始过程完成。但是,当我保存文件时,它会在没有模型的情况下保存。

下面是用于保存 dxf 文件的代码示例

public static boolean SaveDxf(String outputPath, String fileName, Yxxf model)
{
    try
    {
        model.iohandler = new YutilIOHandler();
        model.ioname = new YutilIOHandlerName(fileName);
        model.ioname.dstfile = outputPath + "\\" + fileName + ".dxf";
        YdxfPutHandler handler = new YdxfPutHandler();
        handler.commandPutMainStart(model.iohandler, model);
        return true;
    }
    catch(Exception ex)
    {
        System.out.println("failed to save dxf file: " + ex.getMessage());
        return false;
    }
}

当从编辑器查看文件时,会报告错误,说明模型为空。

即使读取 dxf 文件,然后在没有任何操作的情况下保存,也会发生错误。

4

1 回答 1

1

我已经解决了这个问题。

由于以下选择,该解决方案需要修改我正在使用的 YCad 库的版本。

if (ent instanceof YxxfEntLine)
{
    YdxfPutEntLine.put(putbfr, (YxxfEntLine)ent);
}

注意:这可能是由于库的版本过时所致。

该方法已修改为包括所有必需的类型。

else if(ent instanceof YxxfEntPolyline)
{
    YdxfPutPolyline.put(putbfr, (YxxfEntPolyline)ent);
}

解决方案中添加了许多新类。

当我有时间时,我会看看是否可以将这些修改提交到源库,如果需要的话。

于 2014-05-23T10:24:19.470 回答