-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Problème de boucle sur les attributs de bloc
Patrick_35 a répondu à un(e) sujet de Morgul dans Débuter en LISP
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 ;) @+ -
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 @+
-
Numérotation Automatique d\'un attribut de Bloc
Patrick_35 a répondu à un(e) sujet de grosseel dans Pour aller plus loin en LISP
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 @+ -
Verrouiller l\'état d\'une présentation.
Patrick_35 a répondu à un(e) sujet de Aviglémy dans AutoCAD 2006
Je ne sais pas car je ne l'ai pas testé. Je regarderai un peu plus tard @+ -
Numérotation Automatique d\'un attribut de Bloc
Patrick_35 a répondu à un(e) sujet de grosseel dans Pour aller plus loin en LISP
Salut Et pourquoi ne pas se servir de LATT @+ -
Renseigner un attribut de bloc après selection
Patrick_35 a répondu à un(e) sujet de Morgul dans Débuter en LISP
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 @+ -
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 @+
-
Verrouiller l\'état d\'une présentation.
Patrick_35 a répondu à un(e) sujet de Aviglémy dans AutoCAD 2006
Et je viens de trouver ce sujet. Reste a le tester voir s'il te convient @+ [Edité le 26/8/2006 par Patrick_35] -
Verrouiller l\'état d\'une présentation.
Patrick_35 a répondu à un(e) sujet de Aviglémy dans AutoCAD 2006
Salut C'est faisable, mais c'est un sacré boulot. Il y a du réacteur dans l'air @+ -
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 @+
-
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 @+
-
A quand une gestion des calques hierachisé?
Patrick_35 a répondu à un(e) sujet de sam0169 dans AutoCAD 2007
??? 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 @+ -
Gestion d\'accrocha et de Grille
Patrick_35 a répondu à un(e) sujet de grosseel dans Débuter en LISP
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 @+ -
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: @+
-
Gestion d\'accrocha et de Grille
Patrick_35 a répondu à un(e) sujet de grosseel dans Débuter en LISP
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"))) @+ -
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 @+
-
Salut Si tu inséres un bloc avec des attributs, ne pas oublier la variable attreq @+
-
Quand tu le souhaites, mais le plus simple à l'ouverture de chaque dessin (via appload ou par un startup) @+
-
Ajout de la fonction Ctr @+
-
C'est qui qui va gagner un String CadXP :cool: @+
-
Salut On peut ruser en se servant de (acad-pop-dbmod) et (acad-push-dbmod) @+
-
Excel vers ------------------>> AutoCad
Patrick_35 a répondu à un(e) sujet de JUJUZAZA dans Débuter en LISP
Salut Tu devrais plutôt regarder ce logiciel qui correspond à ta demande @+ -
Salut Belle démo qui rejoint celle donné par Kamal @+
-
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 ;) ) @+
-
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)
