Aller au contenu

Patrick_35

Membres
  • Compteur de contenus

    6 374
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Patrick_35

  1. Salut (gile) Ton lisp est bon, mais tu aurais pu faire ton test sur le SEQEND, que je trouve plus logique que sur le ATTRIB Bon, c'était juste une remarque en passant ;) @+
  2. Patrick_35

    Bug avec le lisp LATT

    Salut Je ne connais pas Autodesk Architectural Desktop, mais apparement, ça a l'air de bloquer avec lui Envoi le dessin pour que je le regarde. Le fait d'exporter doit te faire perdre la base qui a été créée et du coup, tout refonctionne. Tu dois avoir dans cette base un élément autre qu'un attribut, ce qui explique que cela plante @+
  3. C'est ce qu'il fait Par exemple, je commence ma numérotation de disjoncteurs par Q1, une laison avec le disjoncteur suivant qui prendra automatiquement Q2. Je fais des copies, et miracle, la numérotation suit @+
  4. Je ne sais pas car je ne l'ai pas testé. Je regarderai un peu plus tard @+
  5. Salut Et pourquoi ne pas se servir de LATT @+
  6. Salut un (setq bl (car (entsel))) pour sélectionner un bloc contenant des attributs un (setq att (entget (entnext bl))) pour trouver le premier attribut un (setq att (subst (cons 1 "Mon Texte") (assoc 1 att) att)) pour changer la valeur de l'attribut un (entmod att) pour mettre l'attribut à jour dans la base d'autocad un (entupd (cdr -assoc -1 att)) pour mettre à jour à l'écran et si d'autres attributs suivent, un (setq att (entnext (cdr (assoc -1 att)))) Et si tu n'as plus d'attibuts, tu trouvereas un (0 . SEQEND) de l'entnext. C'est ce qui permet de faire des boucles et de sortir pour dire que c'est fini @+
  7. Patrick_35

    Bug avec le lisp LATT

    Salut C'est curieux en effet :casstet: As-tu re-téléchargé LATT, puis relancé histoire de voir ? Sinon, tu peux m'envoyer ton dessin @+
  8. Et je viens de trouver ce sujet. Reste a le tester voir s'il te convient @+ [Edité le 26/8/2006 par Patrick_35]
  9. Salut C'est faisable, mais c'est un sacré boulot. Il y a du réacteur dans l'air @+
  10. Patrick_35

    ObjectDCL Open source ?

    Ah bah, plus ouin, mais super, Je l'ai téléchargé, installé et il ne reste plus qu'a découvrir la bête Tramber, tu ne vas plus être tous seul sur la planête ObjectDCL, enfin encore un peu, le temps de voir de quoi il retourne @+
  11. Patrick_35

    Lisps de Patrick_35

    Merci lecrabe c'est gentil :) Bon, je viens de faire évoluer Ctr en V1.01 afin qu'un copier avec point de base soit lui aussi ignoré et une meilleur gestion des réacteurs, notamment si la variable SDI n'est pas à zéro et qu'on ouvre un autre dessin @+
  12. ??? Ton coup de gueule ne me fait pas comprendre ce que tu veux dire avec ton titre. Si c'est dans le désordre dans le gestionnaire des calques, change la variable maxsort qui doit être au minimum à la valeur du nombre de tes calques pour que ça soit dans l'ordre @+
  13. Pour récuperer les valeurs de ta boite de dialogue, il faut attribuer une action à chacune des clés dans ton dcl un (action_tile "accractif" "(je_vais_dans_ma_sous_routine)") permet de traduire l'action de "accractif" (et dans le cas présent, via un toggle) sur ma routine Je constate que tu fais un done_dialog 1 alors que tu ne prends en compte que l'action sur accept et non sur cancel et de plus, tu ne récupère pas la valeur qui serait retournée par (start_dialog) Donc, le 1 du done_dialog ne sert à rien. Il existe le boutton ok_button et cancel_button, en fonction de ton choix afin d'éviter un ok_cancel qui ne sert que partiellement @+
  14. Patrick_35

    ObjectDCL Open source ?

    ReOUINN !!! Le fichier zip est vérolé :( Ca me fait penser lorsque que tout sera ok que Patrick pourra créer une rubrique ObjetDCL et le proposer en téléchargement :) (gile) Tu peux essayer voir si ça fonctionne sir la 2007. Si ObjetDCL n'est pas multi-version, il perd grandement de son interêt :mad2: @+
  15. Salut En lisant ton lisp, j'ai remarqué plusieurs choses qui me surprenne ;;------------------------------------------------------------------------ --------------------------------------------------------------------------- ------------------- ;***** Fonction Création d'une grille d'aide ***** ;chargement de la boite de dialogue (defun c:ac-grille (/ dcl_id snapmode snapunit gridmode gridunit espx espy espax espay unitaccr unitgrid) (setq id (load_dialog "ERAS-EL.dcl")) (new_dialog "grille" dcl_id) ;Extraction des valeurs existantes des variables snapmode et snapunit et écriture dans la boite de dialogue (setq snapmode (getvar "snapmode")) (if (=1 snapmode) (set_tile "accractif" "1") (set_tile "accractif" "0") ) ; (setq unitaccr (getvar "snapunit")) (setq espx (car unitaccr)) (setq espy (cadr unitaccr)) (set_tile "espx" (rtos espx)) (set_tile "espy" (rtos espy)) ; ;Extraction des valeurs existantes des variables gridmode et gridunit et écriture dans la boite de dialogue (setq gridmode (getvar "gridmode")) (if (=1 gridmode) (set_tile "griactif" "1") (set_tile "griactif" "0") ) ; (setq unitgri (getvar "gridunit")) (setq espax (car unitgri)) (setq espay (cadr unitgri)) (set_tile "espax" (rtos espax)) (set_tile "espay" (rtos espay)) ; ;Lecture des valeurs entrées dans la boite de dialogue et changementdu contenu des variables correspondantes [surligneur][b] (defun defvar () [/b][/surligneur] <--- Aucun appel sur cette fonction (setq espx (atof (get_tile "espx"))) (setq espy (atof (get_tile "espy"))) (setvar "snapunit" (list espx espy)) (if (= "1" (get_tile "accractif")) (setvar "snapmode" 1)) (setvar "snapmode" 0)) ) (setq espax (atof (get_tile "espax")) (setq espay (atof (get_tile "espay")) (setvar "gridunit" (list espax espay)) (if (= "1" (get_tile "griactif")) (progn (setvar "gridmode" 0) (setvar "gridmode" 1)[surligneur][b])[/b][/surligneur]<--- Cette parenthèse est en trop ? [surligneur][b](setvar "gridmode" 0)[/b][/surligneur] <--- Encore une fois ? ) (action_tile "accept" "(done_dialog 1)") (start_dialog) (princ) ) Et une astuce pour que le code soit plus court (if (=1 snapmode) (set_tile "accractif" "1") (set_tile "accractif" "0") ) Tu peux faire (set_tile "accractif" (itoa snapmode)) Et si on pousse plus loin, on peux éviter la variable snapmode en faisant (set_tile "accractif" (itoa (getvar "snapmode"))) @+
  16. Patrick_35

    ObjectDCL Open source ?

    Ben oui, pour moi aussi. Ce sont les sources et il ne reste plus qu'a les compiler mais avec quoi ? Si une âme charitable passe dans le coin, je suis preneur. Enfin de superbes boîtes de dialogues en perspective :D @+
  17. Salut Si tu inséres un bloc avec des attributs, ne pas oublier la variable attreq @+
  18. Quand tu le souhaites, mais le plus simple à l'ouverture de chaque dessin (via appload ou par un startup) @+
  19. Patrick_35

    Lisps de Patrick_35

    Ajout de la fonction Ctr @+
  20. C'est qui qui va gagner un String CadXP :cool: @+
  21. Salut On peut ruser en se servant de (acad-pop-dbmod) et (acad-push-dbmod) @+
  22. Salut Tu devrais plutôt regarder ce logiciel qui correspond à ta demande @+
  23. Patrick_35

    MATRIX

    Salut Belle démo qui rejoint celle donné par Kamal @+
  24. Patrick_35

    Spooler d\'impression

    J'ai trouvé mon bonheur. Il ne me reste plus qu'a le traduire en vlisp Bonne vacances. ps : pour moi, c'est demain :thumbup: pps : Tu sais comment envoyer un courriel sur un réseau intranet, donc sans serveur smtp ? (bien sur en vl ;) ) @+
  25. Patrick_35

    verr vers unverr

    Salut Fraid L'idée est bonne, sauf que tu as oublié de regarder du coté des codes dxf. Il est vrai que c'est un mélance autolisp/vlisp et que c'est à mes débuts en vlisp Bon, voici la fonction @+ ;;;================================================================= ;;; ;;; UNVERR.LSP V1.00 ;;; ;;; Déverrouiller toutes les fenêtres des présentations ;;; ;;; Copyright (C) Patrick_35 ;;; ;;;================================================================= (defun c:unverr(/ fen n sel tot) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (if (setq sel (ssget "x" (list (cons 0 "VIEWPORT")))) (progn (setq n 0 tot 0) (while (ssname sel n) (setq fen (vlax-ename->vla-object (ssname sel n))) (if (eq (vlax-get-property fen "displaylocked") :vlax-true) (progn (vlax-put-property fen "displaylocked" :vlax-false) (setq tot (1+ tot)) ) ) (setq n (1+ n)) ) (princ (strcat "\n" (itoa tot) " fenêtre(s) de déverrouillée(s)")) ) (princ "\nPas de fenêtres") ) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) (princ "\nUNVERR.LSP chargé. Tapez UNVERR pour l'exécuter") (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é