#1 Mon 19 March 2018 08:55
- Vincent-SIABS
- Participant actif
- Date d'inscription: 20 Sep 2016
- Messages: 57
[ACAD + DXF] Attribution de Bloc de facon automatique
Bonjour,
N'étant pas expert sur Autocad, je me permet de venir poser ma question ici.
On me transmet régulièrement des dxf issus de levé GPS;
Est-il possible que j’attribue aux calques contenus dans le DXF des blocs de façon automatique ?
Sachant que pour chaque point j'ai un champs type contenant une valeur, puis je m'appuyer sur ce champs pour rattacher un bloc ?
Merci de votre aide.
Hors ligne
#2 Mon 19 March 2018 09:42
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [ACAD + DXF] Attribution de Bloc de facon automatique
Hello
SVP tu nous fournis un petit DXF exemple et d'autre part un DWG provenant du DXF exemple
avec deja qq Blocs inseres manuellement que l'on comprenne bien !?
S'agit il toujours du meme Bloc a inserer ?
Ou bien le champ TYPE doit "gouverner" le Nom du Bloc a inserer ?
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Mon 19 March 2018 10:11
- Vincent-SIABS
- Participant actif
- Date d'inscription: 20 Sep 2016
- Messages: 57
Re: [ACAD + DXF] Attribution de Bloc de facon automatique
En lisant la réponse je vois que je me suis en plus mal exprimé.... :-(
En fait je n'ai pas de champs type. Juste un champ "calque" qui me sert à identifier le "type" de ponctuel.
Du coups effectivement je cherche dans un premier temps à ce que le champ "calque" gouverne le bloc à insérer.
Dans le dxf en pièce jointe j'ai plusieurs calques auquel je voudrais attribuer des blocs identiques pour chaque entités contenues dans le calque.
J'ai aussi mis dans l'archive 2 blocs un pour le calque candelabre et un pour le calque panneaux.
Merci de votre aide.
Hors ligne
#4 Thu 29 March 2018 15:13
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: [ACAD + DXF] Attribution de Bloc de facon automatique
Bonjour,
En copiant-collant ce qui suit en ligne de commande de ton dessin en DXF?
NB:Pour que ça fonctionne, il faut que tes bloc soient définis dans ce fichier dessin DXF (insertions préalables)
Code:
((lambda ( / flag lst_lay dxf_lay js n ent pt_ins) (setq flag T lst_lay nil) (while (setq dxf_lay (tblnext "LAYER" flag)) (setq lst_lay (cons (cdr (assoc 2 dxf_lay)) lst_lay) flag nil)) (foreach el lst_lay (cond ((tblsearch "BLOCK" el) (setq js (ssget "_X" (list '(0 . "POINT") (cons 8 el) '(67 . 0)))) (cond (js (repeat (setq n (sslength js)) (setq ent (ssname js (setq n (1- n))) pt_ins (cdr (assoc 10 (entget ent))) ) (entmake (list '(0 . "INSERT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (cons 8 el) (cons 2 el) (cons 10 pt_ins) '(41 . 1) '(42 . 1) '(43 . 1) '(50 . 0.0) '(70 . 0) '(71 . 0) '(44 . 0) '(45 . 0) '(210 0.0 0.0 1.0) ) ) ) ) ) ) ) ) ))
Hors ligne