Aller au contenu

Lucas DE AMORIM

Membres
  • Compteur de contenus

    4
  • Inscription

  • Dernière visite

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

Lucas DE AMORIM's Achievements

Newbie

Newbie (1/14)

  • One Month Later Rare
  • Week One Done Rare
  • First Post Rare
  • Conversation Starter Rare

Recent Badges

0

Réputation sur la communauté

  1. Merci beaucoup pour vos retours @Luna Merci pour la correction ! Effectivement je veux aligner tes blocs en colonne sur un même axe vertical donc merci pour ton aide. J'ai également du mal a fouiller dans les sujets existant pour trouver exactement quelque chose correspondant a mon besoin 😕 @DOMI Merci beaucoup pour l'incrémentation, finalement j'ai opté pour une autre option dûe à un changement de nommage mais cela me sera utile prochainement ! Encore merci, Lucas
  2. Bonjour, Je sais qu'il existe une commande "ALIGNER" sur AutoCAD mais il semblerait qu'elle ne réponde pas exactement à mes besoins car elle concerne surtout les textes. Sur autocad 2021, j'aimerais créer un LISP (si AutoCAD ne permet pas cette fonction) Je contextualise puis je donnerais les objectifs : J'ai un dessin avec un fond de plan, par dessus de nombreux blocs ont été disposés pour faire de l'implantation d'équipements. J'ai collé ces blocs dans un nouveau fichier sans fond de plan afin de garder tous leurs attributs (essentiellement le nommage), le but étant, dans ce nouveau dessin, de faire un synoptique. Cependant, les ayant copiés collé, il sont disposés dans un désordre total j'aimerais dans un premier temps qu'ils se retrouvent tous alignés en colonne avec un espacement régulier. Puis dans un second temps eventuellement qu'ils se rangent dans l'ordre de leur numérotation. Savez-vous si un LISP de ce type existe déjà ? J'en ai essayé un qui n'aboutit pas le voici : (defun c:AlignBlocks () (setq start-point (getpoint "\nSélectionnez le point de départ de la colonne : ")) (setq spacing (getdist "\nEntrez l'espacement entre les blocs : ")) (setq current-point start-point) (foreach blk (ssget) (command "._move" (cdr (assoc 10 (entget (ssname blk 0))))) current-point (setq current-point (polar current-point 0 spacing)) ) (princ "\nBloc aligné en colonne avec succès.") ) Je vous remercie par avance pour l'interêt que vous aurez porté à ma demande, Bonne journée Lucas
  3. Merci beaucoup pour vos réponses ! J'avais également un problème au niveau de la selection "MTEXT" que j'écrivais "TEXTMULT". @Luna effectivement il est plus confortable d'avoir un suivi pendant l'éxecution du LISP c'est une très bonne idée. Encore merci !
  4. Bonjour, Je vais vous donner le contexte. Aujourd'hui, je dois mettre à jour des plans réalisés par un autre bureau d'études. J'utilise la version 2021 d'AutoCAD. Étant habitué à travailler avec des blocs et des attributs, j'utilise les commandes ATTOUT et ATTIN pour extraire, intégrer et mettre à jour mes données. Je me trouve aujourd'hui confronté à l'implantation d'une grande quantité d'objets nommés avec des TextMult totalement détachés. Selon un document Excel, je dois renommer chacun de ces textes en suivant une nouvelle codification. Au cas par cas, la fonction "RECHERCHER" n'est donc pas viable, vu la quantité de textes à mettre à jour. Je recherche donc un programme en LISP capable de mettre à jour tous les textes de mon fichier en se référant à une liste d'anciens et de nouveaux noms. Voici où j'en suis dans mes recherches : (defun c:UpdateCameraNamesTest () (setq oldNewNames '(("CAM-3-01" . "CAM-SAS-N3-01") ("CAM-3-02" . "CAM-SAS-N3-02") ("CAM-3-03" . "CAM-UVL-N3-03") ("CAM-3-04" . "CAM-SAS-N3-04") ("CAM-3-05" . "CAM-PRP-N3-05") ("CAM-3-06" . "CAM-DJT-N3-06") ("CAM-3-07" . "CAM-UHR-N3-07") ("CAM-3-08" . "CAM-PAL-N3-08") ("CAM-3-09" . "CAM-PAL-N3-09") ; Ajoutez d'autres correspondances ici ) ) (vl-load-com) (setq ss (ssget "_M")) (if ss (progn (setq i 0) (while (< i (sslength ss)) (setq text (vlax-ename->vla-object (ssname ss i))) (setq oldText (vla-get-textstring text)) (setq newText (assoc oldText oldNewNames)) (if newText (vla-put-textstring text (cdr newText)) ) (setq i (1+ i)) ) ) ) (princ "Mise à jour des noms des caméras effectuée.") ) Une fois le programme chargé dans mon fichier, je le lance, et un message s'affiche : "Mise à jour des noms des caméras effectuée", m'assurant ainsi que le LISP a effectué son travail. Cependant, aucun texte n'a été modifié. J'ai l'impression qu'il y a un problème lors de la phase de sélection, et que les critères ne tiennent pas compte des textes dont j'ai besoin. C'est pourquoi aucun texte correspondant à ceux de ma liste n'est trouvé, et le LISP se termine. Malheureusement, malgré mes efforts pour résoudre le problème, je n'arrive pas à atteindre mon objectif. J'espère avoir été clair dans ma description. J'espère également qu'une personne pourra m'aider et que ce post sera utile à d'autres à l'avenir. Cordialement, Lucas
×
×
  • 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é