【问题标题】:Java: parse dxf file using Ycad / Kabeja or any other simmilar libraryJava:使用 Ycad / Kabeja 或任何其他类似库解析 dxf 文件
【发布时间】:2015-08-04 13:27:09
【问题描述】:

我对编程很陌生,因此非常感谢任何帮助。

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

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

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

【问题讨论】:

    标签: java parsing dxf


    【解决方案1】:

    使用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());
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-22
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      相关资源
      最近更新 更多