Aller au contenu

Skip

Membres
  • Compteur de contenus

    3
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Skip

  1. Skip

    LXL mode d emploi

    Merci pour cette explication, ca rend le programme un peu plus clair. Je vais joindre mes fichiers pour voir si ca aide ! J'ai un fichier autocad, avec pleins de blocs differents. Chaque blocs sont contruit de la meme maniere avec trois attributs d'informations : -ASSET_NAME qui reprend le nom du bloc -ASSET_TAG le nom spécifique de l’équipement, qui est une information a rentrer manuellement a partir du fichier Xcel -XY_COORD qui sont les coordonnées XY dynamique du bloc J'ai un fichier excel qui est créer avec les recommandations clients pour le nommage de l'attribut "ASSET_TAG" Mon problème: Je peux avoir 40 fois le même bloc avec un ASSET_TAG différent. Et c'est cette information que j'aimerais automatiser avec LXL. Sinon c'est trop chronophage de cliquer chaque cellule pour chaque bloc. Joint moin fichier xcel que j'ai trié comme tu l'a recommandé, mais a voir si c'est convenable pour ce problème la. et un screen avec tous les blocs differents ou je dois rentrer cette informations ASSET_TAG. Ce screen n'est qu'un dixieme de tous les blocs que je dois manuellement renseigner... j'espere avoir été un peu plus précise ! merci encore de l'aide et des explications apportées ! Camille WBHD-D01-SYS-DS03-M3-SY-test.xlsx
  2. Skip

    LXL mode d emploi

    Bonjour, Du temps a passé depuis 2007... Mais ce lisp est vraiment utile. merci ! Si je comprend bien, si j'ai trois blocs identique avec attributs identiques, dans mon dessin mais contenant des informations différentes. Je dois lier chaque blocs manuellement ? Cela est un peu lourd, est il possible que cela se fasse automatiquement ? par exemple chaque bloc identique s'incrémente avec les informations du tableau excel. sans que l'on ai a attacher chaque attribut a une cellule ? Bloc 1 : attribut 1 colonne A. Attribut 2 colonne B Bloc 2: Attribut 2 colonne A Attribut 2 colonne B. Et ca recupere chaque bloc du meme nom pour les remplir ? On lie seulement un bloc une fois et les autres s'alimente automatiquement. pour expliquer j'ai un tableau excel avec chaque blocs correspondant a une ligne. Et mes colonnes sont les attributs. Ligne 1 : CCTV colonne 1 : Attribut 1 colonne 2 attribut 2 etc... Ligne 2 : Light colonne 1 attribut 1 colonne 2 attribut 2 etc... Les attributs sont toujours les mêmes entre les blocs , juste l'info diffère. J'aimerais que mes blocs se remplisse avec les info de mon excel sans avoir a selectionner chaque attribut de chaque bloc. Est ce possible ? Je ne sais pas si je suis claire, désolée ^^ merci en tout cas de l'aide ! Cdt, Camille
  3. Bonjour, Je veux créer une étiquette qui, en cliquant sur le bloc qui se trouve dans la xref, trouvera l'attribut "ASSET_TAG" et l'affichera dans l'etiquette. Ce lisp marche sur les blocs en dur. Mais pas sur les blocs dans les Xref. Si l'attribut est vide l'etiquette indique "TAG_MISSING". Pouvez vous m'aider ? (defun c:BNameLabel (/ obj lastentity ent attrib tagname attribvalue) (vl-load-com) (if (setq obj (car (entsel "\nSélectionnez le bloc : "))) (if (eq (cdr (assoc 0 (entget obj))) "INSERT") (progn (setq lastentity (entlast)) (vl-cmdf "_.mleader" "_non" (trans (vlax-get (setq obj (vlax-ename->vla-object obj)) 'InsertionPoint) 0 1) PAUSE) (while (eq 1 (logand 1 (getvar 'CMDACTIVE))) (vl-cmdf "")) ;; Récupération des attributs du bloc (setq attrib (vlax-invoke obj 'GetAttributes)) ;; Boucle sur chaque attribut pour trouver celui avec le tag spécifié (setq tagname "ASSET_TAG") ; Modifier "ASSET_TAG" par le tag de l'attribut que vous voulez récupérer (setq attribvalue nil) (foreach att attrib (if (eq (vlax-get att 'TagString) tagname) (setq attribvalue (vlax-get att 'TextString)) ) ) ;; Mise à jour du texte du leader en fonction de la valeur de l'attribut (if (and attribvalue (not (equal lastentity (setq ent (entlast))))) (vla-put-textstring (vlax-ename->vla-object ent) attribvalue) (vla-put-textstring (vlax-ename->vla-object ent) "TAG_MISSING") ) (if (and (equal attribvalue "") (not (equal lastentity (setq ent (entlast))))) (vla-put-textstring (vlax-ename->vla-object ent) "TAG_MISSING") ) ) (princ "\nObjet invalide !") ) ) (princ) )
×
×
  • 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é