CADxp: Synchronisation sélective des attributs - CADxp

Aller au contenu

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

Synchronisation sélective des attributs Ne synchroniser que certaines propriétés

#1 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 17 juillet 2016 - 15:04

Salut,

La demande revient assez souvent (surtout pour ne pas synchroniser la position des attributs) alors je me suis un peu penché sur la question.
La commande native ATTSYNC (idem Synchroniser depuis BATTMAN) réinitialise, dans toutes les références du bloc, toutes les propriétés des attributs en fonction de celles des définitions d'attribut. En fait je la soupçonne fortement de recréer les références d'attributs en ne conservant que les valeurs.

J'ai donc essayé de faire une commande qui fonctionne comme ATTSYNC mais qui propose de sélectionner les propriétés à synchroniser dans une petite boite de dialogue.
Seules les propriétés sélectionnées seront synchronisées, inutile de cocher des propriétés qui n'auraient pas été modifiées ou de tout cocher (dans ce cas, autant utiliser la commande native).

Image IPB

Télécharger SelectiveAttSyncSetup.msi et lancer l'installeur. Le plug-in sera disponible pour tous les utilisateurs et toutes les versions d'AutoCAD 2013 à 2017 2018 installées.

Ce plugin définit:
  • une commande avec version boite de dialogue : SELECTATTSYNC et version ligne de commande : -SELECTATTSYNC
  • une fonction LISP : gc-selectattsync


Avec la version "ligne de commande" et la fonction LISP, on spécifie les propriétés à synchroniser à l'aide de la somme des codes binaires suivants :
Couleur                      1
Calque                       2
Type de ligne                4
Echelle du type de ligne     8
Epaisseur de ligne          16
Transparence                32
Position                    64
Style de texte             128
Justifier                  256
Hauteur                    512
Rotation                  1024
Facteur de largeur        2048
Inclinaison               4096
Ajouts                    8192
Suppressions             16384

On peut afficher la liste ci-dessus dans la fenêtre de texte après avoir lancé la commande -SELECTATTSYNC en entrant un point d'interrogation (?).
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
2

#2 L'utilisateur est hors-ligne   Goldorak44 

  • ceinture noire
  • Groupe : Membres
  • Messages : 439
  • Inscrit(e) : 05-juillet 13
  • LocationNantes

Posté 17 juillet 2016 - 21:46

Merci pour le partage.
Belle initiative et beau programme.
;)
PIRO Charles
Developpeur Revit, RV/RA - Formateur Revit
PIRO CIE
Image IPB
0

#3 L'utilisateur est hors-ligne   zza427 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 116
  • Inscrit(e) : 02-juillet 15
  • LocationToulouse (31) France

Posté 18 juillet 2016 - 08:43

Merci,
C'est exactement ce que je cherchais, ce programme va me faire gagner quelques heures ces jours-ci, et je vois déjà plein de situations ou il m'en fera encore gagner beaucoup.

Merci de partager tous ces outils avec nous tous.
0

#4 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 18 juillet 2016 - 08:43

Merci Goldorak44.

J'ai fais une petite mise à jour pour corriger certains oublis.
N'hésitez pas à rapporter les dysfonctionnements que vous pourriez constater.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#5 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6136
  • Inscrit(e) : 06-janvier 03

Posté 18 juillet 2016 - 10:21

Salut

Voir le message(gile), le 17 juillet 2016 - 15:04 , dit :

En fait je la soupçonne fortement de recréer les références d'attributs en ne conservant que les valeurs.

C'est tout à fait cela. Les ID changent.

@+
Les Lisps de Patrick
Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.
Joseph Joubert, 1754-1824
1

#6 L'utilisateur est hors-ligne   Goldorak44 

  • ceinture noire
  • Groupe : Membres
  • Messages : 439
  • Inscrit(e) : 05-juillet 13
  • LocationNantes

Posté 18 juillet 2016 - 10:53

Bien vu.

;)
PIRO Charles
Developpeur Revit, RV/RA - Formateur Revit
PIRO CIE
Image IPB
0

#7 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 18 juillet 2016 - 11:01

Voir le messagePatrick_35, le 18 juillet 2016 - 10:21 , dit :

Salut

Voir le message(gile), le 17 juillet 2016 - 15:04 , dit :

En fait je la soupçonne fortement de recréer les références d'attributs en ne conservant que les valeurs.

C'est tout à fait cela. Les ID changent.

@+

C'est ce que j'avais fait ici qualifiant la méthode de 'brute force'...
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#8 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 58
  • Inscrit(e) : 18-décembre 06

Posté 18 avril 2017 - 09:07

Salut à tous,

Merci Gilles, ça semble correspondre à ce que je cherche et pourtant je n'arrive pas par exemple à renommer un attribut de ALT par exemple à ALTITUDE.
Et ensuite à synchroniser cette modif sur tous les blocs sans que la position de l'attribut soit également remise à l'origine.
Cela te semble-t-il normal ou est-ce-que je ne procède pas comme il faudrait ?

Très bonne journée et continuation.

Sylvain
0

#9 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 18 avril 2017 - 16:16

Salut,

Avec la commande native ATTSYNC les références d'attribut sont supprimées et recréées à partir des définitions d'attribut et de leur propriétés initiales (exceptée la valeur).
Pour éviter ça, SELECTATTSYNC ne supprime pas les références d'attribut existantes mais synchronise sélectivement leurs propriétés en fonction des paramètres entrés dans la boite de dialogue. Et pour ce faire, le programme récupère les propriétés des définitions d'attribut et les affecte aux références d'attribut ayant la même étiquette, donc, si tu "renommes" un attribut, c'est un peu comme si tu en créais un nouveau et le programme ne peut pas le retrouver dans les référence d'attribut existantes.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#10 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 987
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 24 avril 2017 - 15:24

Bonjour Gilles,

Le programme fonctionne bien sous AutoCAD MAP jusqu'à la version 2017, par contre si je le charge sous AutoCAD 2018 (ou un produit vertical MAP3D ou Civil3D), ça crashe dès que j'essaie d'ouvrir un dessin existant ou de créer un nouveau dessin.
Est-ce qu'il fonctionne bien sous AutoCAD 2018 chez toi?

Olivier
0

#11 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 24 avril 2017 - 15:43

Salut,

Ça marche chez moi avec la nouvelle version.
Ton problème est peut-être dû à un conflit entre le chargement "manuel" la DLL avec NETLOAD et le contenu du fichier PackageContents.xml.

Le lien a été mis à jour pour que le plugin soit compatible avec 2018.
Donc,
- soit tu désinstalles l'ancienne version et tu installes la nouvelle ;
- soit tu modifies le fichier PackageContents.xml dans : %programdata%\Autodesk\ApplicationPlugins\SelectiveAttSync.bundle pour autoriser les versions 2018 en mettant SeriesMax="R22.0".
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#12 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 987
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 25 avril 2017 - 08:02

Bonjour Gilles,

désolé pour le dérangement, ce n'est pas cette DLL qui pose problème, c'est LayerLockSel que j'avais essayé de charger et qui pose problème.

Olivier
0

#13 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 25 avril 2017 - 08:30

Salut,

Idem pour LayLockSel :
- soit tu désinstalles et tu réinstalles la dernière version (ici).
- soit tu modifies le fichier PackageContents.xml (SerieMax="22.0") mais dans ce cas, il faut aussi lacer une "Réparation" depuis le panneau de configuration pour que la variable système soit enregistrée pour toutes les version d'AutoCAD installées.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#14 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 987
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 25 avril 2017 - 11:08

Bonjour,

effectivement, je devais avoir une vielle version. En désinstallant tout et en réinstallant, c'est OK.
Merci et encore désolé pour le dérangement.

Olivier
0

#15 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 58
  • Inscrit(e) : 18-décembre 06

Posté 20 juin 2017 - 12:56

Bonjour,

Avec du retard, merci encore à Gilles.
Tchuss.

Sylvain
0

#16 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 19 septembre 2017 - 15:25

Salut,

Un sujet sur le groupe de discussion AutoCAD - Français d'Autodesk m'a rappelé ce petit programme.
Je l'ai mis à jour pour supporter aussi AutoCAD 2018 et j'ai ajouté :
  • une commande "scriptable" (avec invites en ligne de commande). Le choix des options de synchronisation se fait sous forme d'un nombre entier (CF ci dessous)
  • une fonction LISP qui prend deux arguments: le nom du bloc ou le nom d'entité (ENAME) de la définition du bloc à synchroniser et un entier représentant les options de synchronisation (CF ci dessous). La fonction retourne le nombre de blocs traités (-1 en cas d'erreur).


Les options de synchronisation correspondent à la somme des codes binaires suivant :
Couleur                      1
Calque                       2
Type de ligne                4
Echelle du type de ligne     8
Epaisseur de ligne          16
Transparence                32
Position                    64
Style de texte             128
Justifier                  256
Hauteur                    512
Rotation                  1024
Facteur de largeur        2048
Inclinaison               4096

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#17 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 02 octobre 2017 - 17:27

Salut,

J'ai ajouté deux options pour pouvoir synchroniser (ou pas) les attributs ajoutés ou supprimés.

Image IPB

Couleur                      1
Calque                       2
Type de ligne                4
Echelle du type de ligne     8
Epaisseur de ligne          16
Transparence                32
Position                    64
Style de texte             128
Justifier                  256
Hauteur                    512
Rotation                  1024
Facteur de largeur        2048
Inclinaison               4096
Ajouts                    8192
Suppressions             16384

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#18 L'utilisateur est hors-ligne   striker91210 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 24-novembre 08

Posté 03 octobre 2017 - 13:35

Bonjour Gile,

Merci beaucoup pour ce lisp. J'ai installé l'ancienne version et je n'arrive pas à installer la nouvelle. Même après un désinstall. J'ai toujours l'ancienne boite de dialogue.

Pourrais-tu nous envoyer un nouveau lien, Merci encore pour ton aide.
0

#19 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10649
  • Inscrit(e) : 02-septembre 05

Posté 03 octobre 2017 - 14:08

Le lien dans le premier message est à jour.
Désinstaller proprement l'ancienne version via le panneau de configuration.
Installer la nouvelle version.

PS: il ne s'agit pas d'un LISP mais d'un plugin .NET qui définit :
une commande avec version boite de dialogue : SELECTATTSYNC et version ligne de commande : -SELECTATTSYNC
une fonction LISP : gc-selectattsync.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#20 L'utilisateur est hors-ligne   striker91210 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 24-novembre 08

Posté 03 octobre 2017 - 15:06

OK super J'ai bien la bonne Version, merci beaucoup. Je vais tester
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)