Convertir un PDF en DXF puis DWG

Avez-vous déjà eu a devoir redessiner sur un PDF (ou une image) car personne n’avait dessiné cela avant ? utiliser xref, attacher un PDF :nauseated_face:

Utiliser le site ZAMZAR et le convertir en DXF, après l’enregistrer avec l’extension DWG™

Vous avez gagner plus de 15 minutes sur votre projet

2 « J'aime »

Merci. A noter qu’il existe la possibilité d’importer des vecteurs depuis un PDF dans AutoCAD®, sous réserve que ce PDF en comporte naturellement:

Bonjour,
Pour transformer un PDF (vectoriel) en DXF j’ai deux autres solutions à proposer sans mettre dans le cloud un fichier qui peut être confidentiel.

avec PsToEdit pstoedit -f "dxf:-ctl -mm" "%INFILE%" > "%OUTFILE%"

  • « %INFILE% » est le fichier PDF d’entrée
  • « %OUTFILE% » est le fichier DXF de sortie

avec InkScape où je fais attention à mettre la précision à environ 100

Enregistrer le fichier en DXF14 ou DXF12

Ensuite avec un Lisp pour séparer par couleur (en créant des calques) dont voici le prototype ci-dessous.

(defun c:inkscape (/ liste n)
  (defun CREATE_LAYER (NAME)
    (setq COULEUR (cond
		    ((= NAME "ROUGE") 1)
		    ((= NAME "JAUNE") 2)
		    ((= NAME "VERT") 3)
		    ((= NAME "CYAN") 4)
		    ((= NAME "BLEU") 5)
		    ((= NAME "MAGENTA") 6)
		    ((= NAME "BLANC") 7)
		    ((= NAME "GRIS") 8)
			((= NAME "C9") 9)
			((= NAME "C30") 30)
			((= NAME "C36") 36)
			((= NAME "C57") 57)
			((= NAME "C70") 70)
			((= NAME "C106") 106)
			((= NAME "C240") 240)
		    (t 9)
		  )
    )
    (if	(not (tblsearch "LAYER" NAME))
      (entmake (list '(0 . "LAYER")
		     '(100 . "AcDbSymbolTableRecord")
		     '(100 . "AcDbLayerTableRecord")
		     (cons 2 NAME)
		     '(70 . 2)
		     (cons 62 COULEUR)
		     '(6 . "Continuous")
		     '(290 . 1)
		     '(370 . -3)
	       )
      )
    )
  )
  (setq	liste (list (if	(ssget "X" (list (cons 62 1)))
		      (cons "ROUGE" (ssget "X" (list (cons 62 1))))
		    )
		    (if	(ssget "X" (list (cons 62 2)))
		      (cons "JAUNE" (ssget "X" (list (cons 62 2))))
		    )
		    (if	(ssget "X" (list (cons 62 3)))
		      (cons "VERT" (ssget "X" (list (cons 62 3))))
		    )
		    (if	(ssget "X" (list (cons 62 4)))
		      (cons "CYAN" (ssget "X" (list (cons 62 4))))
		    )
		    (if	(ssget "X" (list (cons 62 5)))
		      (cons "BLEU" (ssget "X" (list (cons 62 5))))
		    )
		    (if	(ssget "X" (list (cons 62 6)))
		      (cons "MAGENTA" (ssget "X" (list (cons 62 6))))
		    )
		    (if	(ssget "X" (list (cons 62 7)))
		      (cons "BLANC" (ssget "X" (list (cons 62 7))))
		    )
		    (if	(ssget "X" (list (cons 62 8)))
		      (cons "GRIS" (ssget "X" (list (cons 62 8))))
		    )
			(if	(ssget "X" (list (cons 62 9)))
		      (cons "C9" (ssget "X" (list (cons 62 9))))
		    )
			(if	(ssget "X" (list (cons 62 30)))
		      (cons "C30" (ssget "X" (list (cons 62 30))))
		    )
			(if	(ssget "X" (list (cons 62 36)))
		      (cons "C36" (ssget "X" (list (cons 62 36))))
		    )
			(if	(ssget "X" (list (cons 62 57)))
		      (cons "C57" (ssget "X" (list (cons 62 57))))
		    )
			(if	(ssget "X" (list (cons 62 70)))
		      (cons "C70" (ssget "X" (list (cons 62 70))))
		    )
			(if	(ssget "X" (list (cons 62 106)))
		      (cons "C106" (ssget "X" (list (cons 62 106))))
		    )
			(if	(ssget "X" (list (cons 62 240)))
		      (cons "C240" (ssget "X" (list (cons 62 240))))
		    )
	      )
  )
  (foreach n liste
    (progn
      (if n
	(CREATE_LAYER (car n))
      )
      (Command "_.CHANGE"
	       (cdr n)
	       ""
	       "_p"
	       "_layer"
	       (car n)
	       "_color"
	       "_bylayer"
	       ""
      )
    )
  )
)

A savoir que j’ai installé sur mon PC GhostScript pour la gestion des PDF.

1 « J'aime »

Un grand merci, génial :rofl:

Une question qui revient souvent…