2

私はプログラミングにかなり慣れていないので、どんな助けでも大歓迎です。

エンティティの座標を取得して JPanel にプロットするために、.dxf ファイルを解析しようとしています。基本的に、dxf ファイルのグラフィック表示が必要です。

これまでのところ、Ycad または Kabeja ライブラリの使用方法に関するいくつかの例しか見つけていませんが、エンティティを取得する方法やライブラリがどのように機能するかについてはまだ明確ではありません。また、一部のクラスが欠落しており、実際に使用したすべてのサンプル コードにクラスの欠落に関する問題があったため、ライブラリが完全ではないようです。

また、SOに関する古い質問では、多くの答えが得られません。上記のライブラリまたは私の問題を解決するのに役立つその他の方法を使用した経験がある人がいれば、大歓迎です。

4

1 に答える 1

0

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());

}
于 2015-10-09T05:50:01.703 に答える