Aller au contenu

Messages recommandés

Posté(e)

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).

http://gilecad.azurewebsites.net/DotNet/AttSyncOptions_2.png

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 2020 2024 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 (?).

  • Upvote 2

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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.

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut

 

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 - GitHub
Développements sur mesure pour AutoCAD

  • 8 mois après...
Posté(e)

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

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

  • 1 mois après...
  • 2 mois après...
Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

  • 2 semaines après...
Posté(e)

Salut,

 

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

 

http://gilecad.azurewebsites.net/DotNet/AttSyncOptions_2.png

 

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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.

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

  • 4 mois après...
  • 1 an après...
Posté(e)

Bonjour Gilles,

 

Je n'arrive pas à trouver la commande selectattsync parès avoir installé votre programme .msi.

 

Je dois oublier quelque chose...

 

Si vous avez un petit moment pour me répondre....

 

Merci.

 

Jean-Marc

Posté(e)

Salut gile,

Je viens d'essayer sur AutoCAD 2020 et 2019 en re-téléchargeant le programme et en le réinstallant mais ça ne fonctionne pas sad.gif

Néanmoins, pas de soucis avec AutoCAD 2018 smile.gif

 

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité