Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 17/01/2014 dans toutes les zones

  1. A créer les rubans, il faut les créer de façon a ce que chaque objet sélectionné fasse apparaître un ruban approprié. Je m'explique : je sélectionne un objet plate-forme et le ruban des plate forme apparait. je sélectionne une canalisation, le ruban canalisation apparait et ainsi de suite pour une courbe de profil en long, un axe en plan, une étiquette, un mNT objet etc... sinon les ruban ça sert à rien.... D'ailleurs en attendant cette intégration j'ai fait une palette outil qui regroupe les commandes covadis par thème : ploy 3d, poly 2d, point topo, mnt classique, mnt objet, cotation, etc...
    1 point
  2. Salut, Sur les systèmes 64 bits, l'ObjectId est codé sur 64 bits, comme AutoLISP ne connait que les entiers codé sur 32 bits, une nouvelle méthode : Application.Document.Utility.GetObjectIdString (non documentée, mais la documentation ActiveX a aussi disparue...) qui retourne l'ObjectID codé sur 64bits sous forme de chaîne (entier long ou hexadécimal). Noter que la propriété ObjectId fonctionne toujours mais ne retourne pas la même chose. Utilisation : (setq *util* (vla-get-Utility (vla-get-ActiveDocument (vlax-get-acad-object)))) (vla-GetObjectIdString *util* obj :vlax-true) (vlax-invoke-method *util* 'GetObjectIdString obj :vlax-true) retournent l'ObjectId sous forme hexadécimale, ex : "000007FFFF706540" (vla-GetObjectIdString *util* obj :vlax-false) (vlax-invoke-method *util* 'GetObjectIdString obj :vlax-false) retournent l'ObjectId sous forme d'entier long, ex : "8796083610944" (vlax-invoke *util* 'GetObjectIdString obj :vlax-true) (vlax-invoke *util* 'GetObjectIdString obj :vlax-false) retournent tous les deux la forme hexadécimale. Il semble que la forme entier long de l'ObjectId soit requise dans certains cas comme les formules de champ objet. Exemple avec une fonction qui retourne l'ObjectId de 'obj' sous forme de chaîne représentant un entier 32 ou 64 bits utilisable dans une formule de champ qui fonction quelle que soit la version d'AutoCAD (>= 2004, bien sûr) : (defun gc:GetObjectIdString (obj) (or *util* (setq *util* (vla-get-Utility (vla-get-ActiveDocument (vlax-get-acad-object)))) ) (if (vlax-method-applicable-p *util* 'GetObjectIdString) (vla-GetObjectIdString *util* obj :vlax-false) (itoa (vla-get-ObjectId obj)) ) )
    1 point
×
×
  • 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é