Java:使用 Ycad/Kabeja 或任何其他类似库解析 dxf 文件

标签 java parsing dxf

我对编程还很陌生,因此我们将不胜感激。

我正在尝试解析 .dxf 文件,以便获取实体的坐标并将它们绘制到 JPanel 上。基本上我需要 dxf 文件的图形表示。

到目前为止,我只找到了一些有关如何使用 Ycad 或 Kabeja 库的示例,但我仍然不清楚如何获取实体,甚至不清楚库是如何工作的。这些库似乎也不完整,因为缺少一些类,而且几乎我使用的每个示例代码都存在一些缺少类的问题。

关于SO的老问题也没有给我很多答案。如果有人对上述库有任何经验或任何其他可以帮助我解决问题的方法,我将不胜感激。

最佳答案

使用kabeja库,它将 DXF 转换为 PDF/SVG/JPEG 工作示例:

    private static void parseFile(String sourceFile, String index)
        throws FileNotFoundException, ParseException, SAXException {

    InputStream in = new FileInputStream("C:\\Users\\z003kebe\\Downloads\\DWGAndDxf\\dwg\\"+sourceFile);
    // Parser dxfParser = DXFParserBuilder.createDefaultParser();
    Parser dxfParser = ParserBuilder.createDefaultParser();
    dxfParser.parse(new FileInputStream("C:\\Users\\z003kebe\\Downloads\\DWGAndDxf\\dwg\\"+sourceFile), "UTF-8");
    DXFDocument doc = dxfParser.getDocument();

    SAXGenerator generator = new SVGGenerator();

    // generate into outputstream

    // output the SVG
    SAXSerializer out = new SAXPDFSerializer();
    // or you can use also pdf
    // org.kabeja.xml.SAXSerialzer out =
    // org.kabeja.batik.tools.SAXPDFSerializer();
    // tiff
    // org.kabeja.xml.SAXSerialzer out =
    // org.kabeja.batik.tools.SAXTIFFSerializer();
    // png
    // org.kabeja.xml.SAXSerialzer out =
    // org.kabeja.batik.tools.SAXPNGSerializer();
    // jpg
    // org.kabeja.xml.SAXSerialzer out =
    // org.kabeja.batik.tools.SAXJEPGSerializer();

    OutputStream fileo = new FileOutputStream(outputFile+index+".PDF");
    // out.setOutputStream(response.getOutputStream()) //write direct to
    // ServletResponse
    out.setOutput(fileo);
    // generate
    generator.generate(doc, out, new HashMap());

}

关于Java:使用 Ycad/Kabeja 或任何其他类似库解析 dxf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810630/

相关文章:

java - 通过代理java创建套接字

java - 登录和第三方写入标准输出。如何阻止他们交错

java - 函数式接口(interface)应该直接调用吗?

java - 如何更改Crawler4j中的默认crawlStorageFolder?

c# - 对包含索引的多行进行分组并为每个索引创建自定义对象列表

java - 在 Eclipse 中,从 Java 项目访问 Android 项目类

svg 2 dxf 转换

csv - 从 Autocad 获取实体数据

dxf - 组代码 210 220 230 不在 DXF 文件中

android - JSON 解析在 Java 中无法按预期工作