Aller au contenu

Siham2432

Membres
  • Compteur de contenus

    5
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Siham2432

  1. Bonjour Giles, merci beaucoup pour les codes, le premier fonctionne parfaitement, Quelle est la différence entre le premier et le deuxième ? Je vois que la structure n'est pas la même ?
  2. Bonjour à tous, J'ai trouvé ce lisp de Gile sur ce topic https://cadxp.com/topic/20076-mettre-le-contenu-dun-calque-au-premier-plan/page/2/ qui fonctionne parfaitement, mais j'aimerais l'améliorer pour qu'il cible également les objets situés dans les blocs. Est-ce possible ? Je n'ai pas réussi à créer la boucle pour parcourir tous les blocs sans distinction et mettre les objets situés dans le calque cible au premier plan. ;;; TOP & BOT (gile) ;;; Placer tous les objets du calque de l'objet cible en avant (TOP) ;;; ou en arrière (BOT). ;;; ;;; L'utilisation de la fonction mapcar permet de définir les deux fonctions ;;; dans une seule expression. (mapcar (function (lambda (cde fun) (eval (list 'defun cde '(/ ent doc sort space ss cnt var) '(vl-load-com) (list 'and '(setq ent (car (entsel "\nSélectionnez un objet sur le calque cible: ") ) ) '(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)) space (if (= 1 (getvar 'cvport)) (vla-get-PaperSpace doc) (vla-get-ModelSpace doc) ) ) '(or (not (vl-catch-all-error-p (setq sort (vl-catch-all-apply 'vla-getObject (list (vla-getExtensionDictionary space ) "ACAD_SORTENTS" ) ) ) ) ) (setq sort (vla-addObject (vla-getExtensionDictionary space ) "ACAD_SORTENTS" "AcDbSortentsTable" ) ) ) (list 'progn '(vla-StartUndoMark doc) '(setq ss (ssget "_X" (list (assoc 8 (entget ent))))) '(setq var (vlax-make-safearray vlax-vbObject (cons 0 (1- (sslength ss))) ) cnt 0 ) '(vlax-for obj (setq ss (vla-get-ActiveSelectionSet doc)) (vlax-safearray-put-element var cnt obj) (setq cnt (1+ cnt)) ) '(vla-delete ss) (list fun 'sort '(vlax-make-variant var)) '(vla-EndUndoMark doc) ) ) '(princ) ) ) ) ) '(c:top c:bot) '(vla-MoveToTop vla-MoveToBottom) ) Pouvez-vous m'aiguiller sur la démarche à suivre ? Je vous remercie d'avance.
  3. Siham2432

    LISP delete all xref

    Bonjour Olivier, Je n'étais pas au courant de cette discussion et merci de me l'avoir partagé. Même si le code est similaire, j'ai l'impression, le mien ne fonctionnait pas que ce soit pour les xref introuvables ou non référencés. Je vais regarder ce topic. Je te remercie également pour ton deuxième message avec le lien pour les images, je vais regarder. Siham
  4. Siham2432

    LISP delete all xref

    Bonjour Didier, Merci de ta réponse mais non. Je connais déjà ce système, mon premier code était quand AutoLISP dont celui que tu envoies, mais cette solution ne me conviens pas pour 2 raisons. La principale est que le code que je souhaite écrire va s'insérer dans un code bien plus important en VL qui va traiter beaucoup de fonctions l'une après l'autre. Un peu comme le JAV de Patrick_35, mais en automatique sans boite de dialogue et en ajoutant d'autre nettoyage. La deuxième, c'est que j'ai l'impression que vla-endundomark ne fonctionne pas ou ignore les commandes autolisp. Et vu le nombre de fonctions que le code global utilise en AutoLisp. Et si j'ai le moindre problème avec une étape, ou si le rendu ne me convient pas ou peu importe la raison en fait. Je n'ai pas envie de marteler x fois Ctrl+Z pour tout annuler.
  5. Bonjour à tous, Je suis débutant en lisp et je n'arrive pas à construire ma routine qui me permettrait de supprimer l'ensemble des xref d'un dessin. Peut importe leurs états : chargés, déchargés, introuvables, etc. Pour être le plus complet possible. J'aimerais que mon code puisse supprimer tout les xref qu'elles qu'ils soient : dwg / image / dwf / dgn / pdf J'avais commencé à construire le code ci-dessous, mais ça ne marche pas. (erreur : " ; erreur: type d'argument incorrect: VLA-OBJECT nil ") (vlax-for bl (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))) (or (eq (vla-get-isxref bl) :vlax-false) (findfile (vla-get-path bl)) (vla-detach bl) Je sèche un peu quelqu'un, aurait-il des suggestions ? Je vous remercie tous d'avance.
×
×
  • 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é