Posso converter um arquivo .dxf em .png ou .jpg com uma ferramenta de comando?

4

Estou procurando alguma ferramenta de linha de comando que me permita converter o dxf para qualquer outro formato.

    
por user1532587 21.04.2015 / 21:14

1 resposta

5

Há vários programas de desenho vetorial que suportam arquivos DXF em vários graus e têm recursos de conversão de linha de comando, incluindo dia , inkscape e até libreoffice .

  • dia parece apoiar a entrada e a saída png do dxf, por exemplo

    dia jcsample.dxf -e jcsample.png
    

    ou, com dimensões de saída explícitas,

    dia jcsample.dxf -s 744x1052 -e jcsample.png
    

    no entanto, o resultado foi um arquivo vazio no primeiro caso e corrompido no segundo, no arquivo de amostra que eu tentei - você pode ter mais sorte.

  • O

    inkscape também parece oferecer suporte à mesma funcionalidade, por exemplo,

    inkscape -f jcsample.dxf --export-png=jcsample.png
    

    no entanto, novamente, o resultado foi ilegível. O que fez funcionar para o inkscape foi convertido para Encapsulated PostScript primeiro

    inkscape -f jcsample.dxf --export-eps=jcsample.eps
    

    e, em seguida, convertendo eps em png ou jpeg, por exemplo, usando o Ghostscript

    gs -sDEVICE=png16m -dNOPAUSE -dBATCH -dSAFER -sOutputFile=jcsample.png jcsample.eps
    

    ou

    gs -sDEVICE=jpeg -dJPEGQ=100 -dNOPAUSE -dBATCH -dSAFER -r100 -sOutputFile=jcsample.jpg jcsample.eps
    

    [<>> Observe que o mesmo truque não parece funcionar para dia , mesmo que também suporte a saída PostScript ]

    A desvantagem de inkscape é que o filtro de importação dxf abre uma caixa de diálogo para confirmar o dimensionamento e a codificação padrão, tornando-o não verdadeiramente interativo: até onde eu sei, não há atualmente uma maneira de evitar isso, embora exista uma solicitação de recurso pendente (adicionar a opção -z ou --without-gui não parecem ajudar).

  • libreoffice parece funcionar diretamente para png ou jpg

    libreoffice --headless --convert-to png jcsample.dxf
    
    libreoffice --headless --convert-to jpg jcsample.dxf 
    

    no entanto, no mesmo arquivo de amostra, as imagens resultantes foram dimensionadas para caber centralmente em uma página de retrato; novamente, a solução pode ser usar um formato de vector intermediário, e. pdf

    libreoffice --headless --convert-to pdf jcsample.dxf
    pdfcrop jcsample.pdf
    gs -sDEVICE=png16m -dNOPAUSE -dBATCH -dSAFER -sOutputFile=jcsample.png jcsample-crop.pdf
    

Desculpe, essa não é uma resposta única para todos os casos, mas esperamos que ela ofereça algumas coisas para você tentar.

    
por steeldriver 22.04.2015 / 02:42