Aller au contenu

Stabilisation de l'ordre des outils dans une palette .atc partagée


Messages recommandés

Posté(e)

Bonjour,

Problème maintenant bien connu et non résolu par Autodesk hormis l'import manuel d'un .xtp.

Cherchant une solution qui n'inclue aucune manipulation de la part du destinataire, 

j'ai donc fait chauffer une I.A. et nous avons finis par trouver ensemble une solution.

Réécrire le .atc

Explication:

Les outils arrivant dans l'ordre de leur création une fois ouverte dans un autre Autocad, 

nous pensions modifier directement les dates inscrites dans le fichier atc.

Une fois fois les testes manuels fait, on a bien vu que c'étais pas cela.

Les ID's est en fait la solution, mais vu la forme -> {23F225DB-3C90-419B-A6E6-F80415AC2EB4} cela semble impossible à remplacer.

L'I.A me fournis un code Python pourris qui ne fonctionne pas, comme d'habitude, mais me révèle en même temps le petit nom du module spécial ID "uuid".

Donc voici un petit script Python qui modifie un .atc pour que les outils restent dans le même ordre.

# coding: utf-8
# python 3.12
# only for Windows
"""
    palet_stabilisator
    Stabilise l'ordre des outils dans une palette Autocad
    en réecrivant les ID's des outils.

	Testé sur Windows 10/11 et Autocad 2015/25
"""

import xml.etree.ElementTree as ET
from uuid import uuid4

def palet_stabilisator(pal, newpal):
    try:
        tree = ET.parse(pal)
        root = tree.getroot()
        for elem in root.iter('ItemID'):
            new_id = str(uuid4()).upper()
            elem.set('idValue', new_id)
        tree.write(newpal, encoding='utf-8', xml_declaration=True)
        return True
    except:
        return False

if __name__ == "__main__":
    if palet_stabilisator('chemin\\complet\\mon.atc', # à replacer par vos chemins
                   'chemin\\complet\\mon nouvel.atc'):
        print('Stabilisation de la palette réussie.')
    else:
        print('Erreur, vérifier vos chemins.')
        

Je n'ai pas trouvé de solution en Autolisp pour produire les ID's.

à bientôt pour de nouvelle aventures.

 

Posté(e)

Bonjour,

Je ne comprend pas ce que tu ne comprend pas.

Si tu as déjà essayé de partager un .atc, la palette arrive avec les outils dans le désordre.

Si tu li mieux c'est stabiliser l'ordre des outils dans une palette, car effectivement stabiliser une palettte ne veux rien dire.

Posté(e)

Au 1er chargement d'un ATC dans AutoCAD, l'ordre est celui dans la palette original. Puis AutoCAD crée un fichier spécifique qui contient l'ID de chaque bouton pour conserver localement l'ordre que l'on souhaite au cas où on déplace des boutons.

Si on met à jour l'ATC, c'est ordre est conservé par défaut et donc si on réorganise l'ATC ce nouvel ordre n'est pas conservé.

C'est pourquoi lorsque l'on réordonne ou bien que l'on ajoute des boutons, il suffit de faire un Ctrl+A, Ctrl+C, puis Suppr, Ctrl+V.

Ainsi chaque nouvelle commande possède un nouvel ID, et donc lorsque l'on repartage son ATC, la personnalisation locale ne retrouvant pas ses ID, AutoCAD supprime cette personnalisation et en recrée une nouvelle en respectant l'ordre initial de l'ATC.

Cela plus de 12 ans que je partage un vingtaines de palettes ATC sur 45 PC, qui sont mises à jour tous les matins à l'ouverture de session depuis mon serveur, et ça a toujours fonctionné. Chaque nouvelle palette est reconstruite comme cela et chaque PC reçoit la nouvelle version de la palette avec l'ordre que j'ai décidé.

 

Olivier

Posté(e)

De quel sujet parles-tu? Tu as ouvert cette discussion avec ta réponse en python sans poser de questions.

Il y a cette astuce également que je ne connaissais pas https://www.autodesk.com/fr/support/technical/article/caas/sfdcarticles/sfdcarticles/FRA/Reset-tools-order-for-tool-palette-in-AutoCAD.html mais qui nécessite l'intervention de l'utilisateur.

Ce problème n'est pas nouveau et date depuis que les palettes existent : https://www.cadtutor.net/forum/topic/47128-tool-palette-issue/

Il me semble que l'on a déjà parlé sur CadXP, mais je ne retrouve pas la discussion.

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

Bonjour,

Un grand merci à Olivier, c'est exactement l'imperfection que je cherchais à corriger pour le partage de mes palettes d'outils. Les nouveaux outils se retrouvaient à la fin de palette sans tenir compte de mon classement.

J'en profite, existe t-il une commande en ligne pour:

- supprimer palettes ou groupe de palettes,

- importer ou exporter palettes ou groupe de palettes,

- activer un seul groupe de palette,

...

Je ne trouve rien😭

Cela me permettrait d'automatiser la mise en place d'un groupe de palette lors d'une installation d'AUTOCAD sur un nouveau poste.

Merci d'avance

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é