CadXP: Problème de burst autocad 2020 - CadXP

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Problème de burst autocad 2020

#1 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 25 janvier 2021 - 17:51

Bonjour,

Je me permets de vous solliciter, Voila j'essaie de dynamiser le bureau avec des blocs dynamiques. J'ai créer par conséquent par mal de bloc dynamqiues. Ces éléments sont ensuite envoyés à des clients. Je fais donc la fonction burst. Mais malheureusement les attributs se transforme en caractère spéciaux. J'ai donc essayé d'introduire une LISP qu'une personne à déposé sur internet mais rien y fait.

Pouvez-vous me donner un conseil ou une solution à ce problème ?

Je vous joins le DWG d'origine (Non bursté) ==> faite la fonction Busrt ==> et théorie vous verrez des caractères spéciaux une fois cette fonction faite.

Merci par avance pour vos retour.
0

#2 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 431
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42) Forez

Posté 25 janvier 2021 - 17:59

Hello

SVP ton DWG dans un lien Download : Free, WETransfert, etc ...

LA SANTE, Bonne Annee, Bye, lecrabe
Autodesk Expert Elite Team
0

#3 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 25 janvier 2021 - 18:03

Voir le messagelecrabe, le 25 janvier 2021 - 17:59 , dit :

Hello

SVP ton DWG dans un lien Download : Free, WETransfert, etc ...

LA SANTE, Bonne Annee, Bye, lecrabe


Je vous communique le lien : https://we.tl/t-BR6b4NDg1K

Merci
0

#4 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 431
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42) Forez

Posté 25 janvier 2021 - 18:55

Hello

Pas sur de bien comprendre ton probleme !

J'ai utilise un tres vieux Lisp ATT2TXT pour traiter tes Blocs dynamiques
et obtenir en TEXTs les attributs classiques de tes Blocs !

En plus ces TEXTs arrivent sur de multiples calques
dependants du Nom du bloc et du Nom d Etiquette des attributs ...

Cela t'aidera peut etre !?

CONSEIL : SVP AUCUN caractere special ou accentue ou blanc/espace
dans le Nom d Etiquette des attributs !

LA SANTE, Bye, lecrabe


 
;; 
;; Programme developpe par Hubert L.  pour Patrice B.
;; 
;; Routine: Att2Txt par HL - Blocs classiques ONLY !
;; 

;; 
;; Micro-modifs par PB le 16/06/2000 + 19/06/2000
;; Noms de calques generes : "ATT__VAR__*" & "ATT__CON__*"
;; 

(defun c:Att2Txt ( / CTENT ENT PTYPE GE PNOM PA ATTNAME ATTETIQ ATTVAL ATTHAU ATTROT OTHER_NAME OTHER_LIST EN1 LIST_ATT POINT_ATT ATTX ATTY INSATT ) 

 (command "_UNDO" "_M")

 (att_bl_list)
 (princ "\n")
 (princ CTENT)
 (command "_layer" "_set" "0" "")

;; **** Eventuellement commentez les lignes suivantes ***
 (ALERT "Attributs copies en Textes sur calques ' ATT__CON__* / ATT__VAR__* ' 
          \n Textes crees au point d'insertion des attributs 
	  \n Retour au calque 0 ")

;; **** Eventuellement commentez la  ligne  suivante  *** 
 (alert (strcat "Nombre de bloc traites = " (itoa ctent)))

)


(defun att_bl_list ()
(ssget)
(setvar "cmdecho" 0)
(setvar "highlight" 0)
  (setq ent (ssget "P" (list (cons 0 "INSERT"))))
 (setq ctent 0)
  (if ent
   (progn
     (while (< ctent (sslength ent))
        (setq selent (ssname ent ctent))
        (xlist)
        (setq ctent (1+ ctent))
      )
    )
    (prompt "\nRIEN A LISTER")
  )
(setvar "highlight" 1)
(setvar "cmdecho" 1)
(princ)
)


(defun xlist ()
  (setq ptype nil)
  (setq ge (entget selent))
  (setq pnom (cdr (assoc 2 ge)))

    (setq pa selent
        attname "VERTEX")

     (bl_def)
    ;(princ pnom)
(if (= 1 (cdr (assoc 66 ge)))  ;entite suit
(while (/= attname "SEQEND")
       (setq pa (entnext pa))
        (if pa (progn
              (setq attname  (cdr (assoc 0  (entget pa))))
              (setq attetiq  (cdr (assoc 2  (entget pa))))

;; ATTPLACE ci-dessous = Point d'insertion de l' ATTRIBUT
              (setq attplace (cdr (assoc 10 (entget pa))))

              (setq attval   (cdr (assoc 1  (entget pa))))
              (setq atthau   (cdr (assoc 40 (entget pa))))

;; ATTPLACE ci-dessous = Point d'insertion du BLOC
;;            (setq attplace (cdr (assoc 10 ge)))

;; Hauteur du texte MICROSCOPIQUE et non pas hauteur de l'attribut
;;            (setq atthau   0.001)


;; Fin Modification
              (setq attrot   (cdr (assoc 50 (entget pa))))


                (if (= attname "ATTRIB") (progn
                           ;(princ attval)(princ "\n")

;;                         (command "_layer" "_m" (strcat "ATT__CON__" attetiq) "")
                           (command "_layer" "_m" (strcat "ATT__VAR__" attetiq) "")

                           (command "_text" attplace atthau (/ (* 180 attrot) pi) attval)
                                         ) 
                ) ;fin de if attrib
            ) ;fin de progn pa
                (= attname "SEQEND")
              
   ) ;fin de if pa

)  ;fin de while
) ; fin de if "entite suit"

)



(defun bl_def()
(setq other_name nil)
(setq other_list nil)
(setq en1 nil)
;(setq list_att xbetiq2)

   (setq en1 (cdr (assoc '-2 (tblsearch "block" pnom))))
      (while (/= nil en1)
	(if (and (= "ATTDEF" (cdr (assoc '0 (entget en1))))
		 (or (= 2 (cdr (assoc '70 (entget en1))))
                     (= 3 (cdr (assoc '70 (entget en1)))) 
                 )
             )
		 (progn  
                    (setvar "lastpoint"  (cdr (assoc '10 ge))) 
                    (setq pointatt (cdr (assoc '10 (entget en1))))
                    (setq attx (car pointatt))
                    (setq atty (cadr pointatt))
                    (setq insatt (strcat "@" (rtos attx) "," (rtos atty)))

;;                  (command "_layer" "_m" (strcat "ATT__CON__" (cdr (assoc '2 (entget en1)))) "")
                    (command "_layer" "_m" (strcat "ATT__CON__"  (cdr (assoc '2 (entget en1)))) "")

                    (command "_text" (cdr (assoc '10 ge)) (cdr (assoc '40 (entget en1))) "0" (cdr (assoc '1 (entget en1))))
	         )
	 )  
	
	(setq en1 (entnext en1))
   ) ;fin de while 1
(princ)
 )

(princ "\nTapez ==> ATT2TXT ") (princ) 

;; (princ "\nPour une selection partielle: Utiliser FILTER auparavant ") (princ) 


Autodesk Expert Elite Team
0

#5 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 25 janvier 2021 - 19:32

Re,

En gos mon problème c'est :

J'utilise la fonction burst sur mes bloc Dynamiques, une fois burster j'enregistre le plan. je quitte autocad et ouvre à nouveau ce dernier. Et quand je regarde mes blocs dynamiques les caractères spéciaux apparaissent.

Pour info Je n'ai pas mis d'espace entre les attributs cela donne : 20x50ht avant burst et ##x##ht après burst.

j'espère avoir été plus clair.

Pour la routine LISP que vous m'avez passé je prend tout le texte ou je ne prend pas ce début :
;;
;; Programme developpe par Hubert L. pour Patrice B.
;;
;; Routine: Att2Txt par HL - Blocs classiques ONLY !
;;

;;
;; Micro-modifs par PB le 16/06/2000 + 19/06/2000
;; Noms de calques generes : "ATT__VAR__*" & "ATT__CON__*"


Merci par avance
0

#6 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 25 janvier 2021 - 19:53

Et si je peux encore plus vous éclairez voici un lien d'autodesk expliquant les problèmes rencontrés :

https://knowledge.au...characters.html

Merci à tous pour vos retours afin de pouvoir m'aider.
0

#7 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 431
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42) Forez

Posté 25 janvier 2021 - 19:54

Hello

Tout ce qui commence par ;
C du commentaire !
Donc tu peux inclure dans ton copier / coller vers ton futur fichier texte ATT2TXT.lsp

Désolé plus de AutoCAD sous la main à cet instant !

SVP tu es avec quelle version 20XX de AutoCAD ??

Si AutoCAD 2021, SVP tu re-essayes avec LISPSYS = 0 (Juste pour voir)

LA SANTE, Bye, lecrabe
Autodesk Expert Elite Team
0

#8 L'utilisateur est hors-ligne   Steven 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3 900
  • Inscrit(e) : 03-mars 03
  • LocationDans le TARDIS

Posté 25 janvier 2021 - 20:39

Voir le messageGege, le 25 janvier 2021 - 17:51 , dit :

Bonjour,

Je me permets de vous solliciter, Voila j'essaie de dynamiser le bureau avec des blocs dynamiques. J'ai créer par conséquent par mal de bloc dynamqiues. Ces éléments sont ensuite envoyés à des clients. Je fais donc la fonction burst. Mais malheureusement les attributs se transforme en caractère spéciaux. J'ai donc essayé d'introduire une LISP qu'une personne à déposé sur internet mais rien y fait.

Pouvez-vous me donner un conseil ou une solution à ce problème ?

Je vous joins le DWG d'origine (Non bursté) ==> faite la fonction Busrt ==> et théorie vous verrez des caractères spéciaux une fois cette fonction faite.

Merci par avance pour vos retour.


Salut,

Ça fonctionne très bien de mon côté.

Que veux-tu dire par caractères spéciaux?
Peux-tu joindre un fichiers avec lesdits caractères spéciaux après la commande BURST?
Steven________________________________________
Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.
Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.
En rêve; AutoCAD sous Linux.
0

#9 L'utilisateur est hors-ligne   Fraid 

  • ceinture noire 4em dan
  • Groupe : Membres
  • Messages : 2 071
  • Inscrit(e) : 08-août 05
  • LocationST Malo 35

Posté 25 janvier 2021 - 21:26

Bonjour,

Peut etre des champs dans les attributs?
...plus je sais où je suis, moins je sais où je vais....
Extrait d'une double interview simultanée d'une particule élémentaire.
0

#10 L'utilisateur est hors-ligne   eklundh80 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 13-mai 20

Posté 26 janvier 2021 - 08:43

Bonjour,

Et en utilisant le lisp de Lee Mac Nburst?
1

#11 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 26 janvier 2021 - 11:23

Voir le messageeklundh80, le 26 janvier 2021 - 08:43 , dit :

Bonjour,

Et en utilisant le lisp de Lee Mac Nburst?


J'ai utilisé le Lisp de Lee Mac et malgré tout les caractères spéciaux sont de nouveau apparus :

Méthode :

1. J'ai pris les éléments en question.
2. Je fais la fonction Burst NBurst Ou PBursT
3. J'enregistre et quitte le dessin.
4. J'ouvre le dessin et je refais par exemple un coup de sauvegarde et je perds les informations.
0

#12 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 26 janvier 2021 - 11:32

Voir le messageSteven, le 25 janvier 2021 - 20:39 , dit :

Salut,

Ça fonctionne très bien de mon côté.

Que veux-tu dire par caractères spéciaux?
Peux-tu joindre un fichiers avec lesdits caractères spéciaux après la commande BURST?


Bonjour Merci pour votre retour.

Je vous joins le DWG avec les caractères spéciaux.
je vous transmets également le DWG initial via ce lien : https://we.tl/t-BR6b4NDg1K
Méthode qui à fait que j'ai des caractères spéciaux :
1. Burst version initial
2. sauvegarde et quitter
3. ouvrir le dessin puis sauvegarder.

Et j'ai remarqué que les caractères spéciaux (##x##ht) correspondent à des attributs qui n'apparaissent pas sur le bloc dynamqiue mais sur des éléments cachés dans ce blocs dyn. La hauteur par exemple ne figure pas sur le dessin car on travail en 2D mais dans la table des propriétés sur autocad on rentre la valeur de la hauteur pour que le dessin mette à jour la valeur demandée.

La fonction Burst pour moi supprime les éléments cachés du bloc dynamiques donc à mon avis c'est pour ça que les "#" apparaissent.

J'espère avoir été plus clair dans mes information et merci encore de votre aide.
0

#13 L'utilisateur est hors-ligne   Maxime063 

  • ceinture verte
  • Groupe : Membres
  • Messages : 62
  • Inscrit(e) : 03-juin 20

Posté 27 janvier 2021 - 10:40

Bonjour,

De mon point de vue, tu devrait aussi décomposer ton texte après la fonction burst. Car le texte est en lien avec l'objet dans le bloc, en le décomposant il perd l'association est donc affiche une erreur.
0

#14 L'utilisateur est hors-ligne   Gege 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 12
  • Inscrit(e) : 29-avril 20

Posté 27 janvier 2021 - 14:45

Voir le messageMaxime063, le 27 janvier 2021 - 10:40 , dit :

Bonjour,

De mon point de vue, tu devrait aussi décomposer ton texte après la fonction burst. Car le texte est en lien avec l'objet dans le bloc, en le décomposant il perd l'association est donc affiche une erreur.


Bonjour merci pour votre retour.

En effet quand je fais la fonction Burst puis la fonction décomposer je conserve le texte. Pensez-vous qu'il ai une solution par exemple avec une routine ou un LISP pour faire ces deux fonctions en une ?

Merci
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)