2015-08-13 123 views
2

是否有直接将.dwg文件转换为PDF或图像文件的Java库(免费和开放源代码)? .dwg使用最新的CAD规范(R14,R13,R12和2013)。Java库以编程方式将AutoCAD .dwg文件转换为PDF或图像?

我知道在.NET和C++中有一些...在Java中的那些大多是专有的和昂贵的(例如:Teigha for Java)。

Java中的免费的,如Kabeja通过中介格式。DXF,这是一个非常巨大的文件...

+0

我认为Teigha是较便宜的选项。 AutoCAD非常昂贵。但是,如果你想使它成为一项服务,那就成立了。如果你想制作插件而不是选择CAD程序的平台。 –

+0

Teigha vs AutoCAD定价取决于您销售多少个座位以及您想如何使用它。从我朦胧的记忆中,一旦你超过100个座位,Teigha的成本与RealDwg差不多。 –

回答

3

我的截至2015年:

经过无尽的研究和测试后,我得出结论,目前没有免费的解决方案将AutoCAD .dwg文件转换为Java中的PDF /图像,我们认为这是可靠的。这尤其适用于最新版本的AutoCAD,例如:AutoCAD 2010,AutoCAD 2013等...

可靠(和昂贵的)解决方案是Teigha by ODA(2000 $ a year)和RealDWG in C#by AutoCAD (5000 $一年)...

便宜的替代品是这样:每月$ 10(由奥古斯托Gonclaves建议)

  • 写的Lisp程序并运行

    • AutoCAD的I/O他们在AutoCAD 2015/2016的付费实例中使用SCRIPT文件..
    • 等待一个更完整的实现AutoCAD的Core控制台的...

    开源库,比如Kabeja和YCad可能能够处理与旧版本的AutoCAD,但不要期望从他们就像这些项目自几年前以来不活跃。不过,值得关注Apache Tika,因为他们开始为.dwg文件编写解析器,但开发速度很慢......

  • +0

    用PDF批处理脚本和bat文件编辑原始回复。玩得开心:-) –

    +0

    org.apache.tika.parser.dwg.DWGParser只处理标题中的元数据。 – gouessej

    5

    不确定库,但你肯定可以使用AutoCAD的I/O,这AutoCAD是作为一种web服务运行的,它可以在您的机器上无需任何应用程序。更多信息请登录http://developer.autodesk.com

    这是一个脚本(.scr),您可以在AutoCAD控制台上使用它来创建PDF文件。在这里工作真的很好。

    (setq CurrDwgName (getvar "dwgname")) 
    (setq Fname (substr CurrDwgName 1 (- (strlen CurrDwgName) 4))) 
    (setq name (strcat (getvar "DWGPREFIX") Fname ".pdf")) 
    ;Command: 
    FILEDIA 
    ;Enter new value for FILEDIA <1>: 
    0 
    ;Command: 
    -PLOT 
    ;Detailed plot configuration? [Yes/No] <No>: 
    Yes 
    ;Enter a layout name or [?] <Model>: 
    Model 
    ;Enter an output device name or [?] <None>: 
    DWG To PDF.pc3 
    ;Enter paper size or [?] <ANSI A (11.00 x 8.50 Inches)>: 
    ANSI A (11.00 x 8.50 Inches) 
    ;Enter paper units [Inches/Millimeters] <Inches>: 
    Inches 
    ;Enter drawing orientation [Portrait/Landscape] <Portrait>: 
    Landscape 
    ;Plot upside down? [Yes/No] <No>: 
    No 
    ;Enter plot area [Display/Extents/Limits/View/Window] <Display>: 
    Extents 
    ;Enter plot scale (Plotted Inches=Drawing Units) or [Fit] <Fit>: 
    Fit 
    ;Enter plot offset (x,y) or [Center] <0.00,0.00>: 
    
    ;Plot with plot styles? [Yes/No] <Yes>: 
    Yes 
    ;Enter plot style table name or [?] (enter . for none) <>: 
    . 
    ;Plot with lineweights? [Yes/No] <Yes>: 
    Yes 
    ;Enter shade plot setting [As displayed/legacy Wireframe/legacy Hidden/Visualstyles/Rendered] <As displayed>: 
    
    ;Enter file name <C:\Work\solids-Model.pdf>: 
    !name 
    ;Save changes to page setup? Or set shade plot quality? [Yes/No/Quality] <N>: 
    No 
    ;Proceed with plot [Yes/No] <Y>: 
    Yes 
    ;Command: 
    FILEDIA 
    ;;;Enter new value for FILEDIA <1>: 
    1 
    

    如果你的感觉就像“老派”,创建一个.bat文件:

    FOR %%f IN (C:\dwg_folder\*.dwg) DO "C:\Program Files\Autodesk\AutoCAD 2016\accoreconsole.exe" /i "%%f" /product ACAD /s "C:\folder\PDFScript.scr" /l en-US 
    

    这应该分批处理全部的DWG在特定的文件夹为PDF

    +0

    有没有关于如何上传,转换,下载一个.dwg文件快速入门思想REST调用?文档页面不存在:developer.api.autodesk.com/documentation/v1/acad_io/index.html#acad-io-api- reference。 – user3336544

    +0

    该示例并不完全集中在PDF上,但应该给你一些想法:https://developer.autodesk.com/api/autocadio/#stepbystep –

    相关问题