关于java的dwg转dxf问题。

看论坛发现dwg好像不支持低版本cad修改。我们用的是2010,aspose.cad好像只支持2018。
所以我们调整了方案将dwg修改后保存为dxf格式的cad。
但是转换效果不理想。
原始dwg的cad样子:
yuanshi.png (3.3 KB)

转换后dxf的cad样子:
转换.png (4.0 KB)

主要代码:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setSpecifiedEncoding(CodePages.SimpChinese);
CadImage cadImage = (CadImage)CadImage.load("D:\\demo.dwg",loadOptions);
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setBackgroundColor(Color.getBlack());
cadRasterizationOptions.setPageWidth(cadImage.getWidth());
cadRasterizationOptions.setPageHeight(cadImage.getHeight());
cadRasterizationOptions.setAutomaticLayoutsScaling(false);
cadRasterizationOptions.setNoScaling(true);
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
cadRasterizationOptions.setUnitType(UnitType.Kilometer);
RasterizationQuality rasterizationQuality = new RasterizationQuality();
rasterizationQuality.setArc(RasterizationQualityValue.High);
rasterizationQuality.setHatch(RasterizationQualityValue.High);
rasterizationQuality.setText(RasterizationQualityValue.High);
rasterizationQuality.setOle(RasterizationQualityValue.High);
cadRasterizationOptions.setQuality(rasterizationQuality);
DxfOptions dxfOptions = new DxfOptions();
dxfOptions.setVectorRasterizationOptions(cadRasterizationOptions);
cadImage.save("D:\\zhuanhuan.dxf", dxfOptions);

用的aspose.cad-24.6.1.jar
原cad文件:
demo.zip (216.0 KB)

@wangwei001,
我们支持写入 DWG 2018,但读取所有现有格式。
请尝试此示例将 DWG 转换为 DXF:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setSpecifiedEncoding(CodePages.SimpChinese);
CadImage cadImage = (CadImage)CadImage.load(inputFile,loadOptions);

DxfOptions dxfOptions = new DxfOptions();
dxfOptions.setOutputMode(CadOutputMode.Convert);
cadImage.save(dxfName, dxfOptions);

我按照该方式执行。但是转换的dxf没有内容。

@wangwei001,
这是我的结果。
demo.dwg.dxf.zip (171.5 KB)
您能否再检查一次您这边的所有路径,我无法重现内容为空的文件。

我知道了,我用的查看cad的软件不支持这个dxf的格式我换了一个新版本的查看cad软件可以打开了。
请问可以在转换的dxf时候指定dxf的版本版本吗。

@wangwei001,
恐怕导出为 DXF 时没有设置版本的选项,但版本会保留。如果您的原始 DWG 是 2018,则使用此代码转换的结果也会产生 DXF 2018。