-
Compteur de contenus
2 764 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Bred
-
... un autre manière sans utiliser de gestion erreur (defun c:CB () (command "_.DIMLINEAR") (while (not (zerop (getvar "CMDACTIVE"))) (command pause) ) (command "_change" (entlast) "" "p" "ca" "cotation" "") (princ) )
-
Salut je crois que c'est ThisDrawing.SendCommand "...."
-
Salut, tout ce que tu as copier à pour principe de créer une gestion d'erreur "universel".... si tu à beaucoup de lisp, tu peux t'en servir en routine, mais il faut que tu modifies ton code comme suit : (defun c:CB () (INTRO_PRG_ERR) (setq Calq (getvar "CLAYER")) (SAVE&SET_VAR "CLAYER" "COTATION") (command "_DIMLINEAR" Pause Pause Pause) (setvar "CLAYER" Calq) (princ) (END_PRG_ERR) )
-
Comment avoir des menu différents à l\'ouverture d\'autocad
Bred a répondu à un(e) sujet de mimine dans AutoCAD 2006
Salut pour charger des menus : là ! pour décharger un menu : (command "DECHARGIUPERSO" "mon_menu") -
Salut, je ne suis pas assez bon en vba pour te donner une solution, mais pour faire ce que tu veux en une seule manip je ne vois que 2 possibilités (que je pourrais faire en lisp): - Soit tu sélectionne la ligne à prolonger, en cliquant à un endroit sur la ligne le plus près de l'extrémité que tu veux prolonger : ceci te permet donc de récupérer les valeurs de la ligne (donc le calque), de récupérer le point d'extrémité le plus proche d'où tu viens de cliquer, et de commencer à dessiner une ligne à partier de ce point (sur le calque récupérer précédement). - Soit tu selectionnes le point, et tu fait un test pour savoir quel ligne contient ce point. [Edité le 5/1/2007 par Bred]
-
Salut, un petit lisp : (transformer "NOM_ETIQ" par le nom de l'etiquette correspondant à l'attribut correspondant dans le cartouche) (defun c:attnom () (while (not (and (setq ent1 (car (entsel "\n Choix de l'attribut à nommer en nom fichier :"))) (equal (cdr (assoc 0 (entget ent1))) "INSERT") ) ) ) (while (not (equal (cdr (assoc 2 (entget ent1)))" [b] NOM_ETIQ[/b]" )) (setq ent1 (entnext ent1)) ) (setq Filname (vl-string-subst "" ".dwg" (vlax-get-property (vla-get-activedocument (vlax-get-acad-object)) 'Name))) (setq ent1 (entmod (subst (cons 1 Filname) (assoc 1 (entget ent1)) (entget ent1)))) (command "regen") (princ) ) ------------------------------------------------------- Nota au maitres lisp : je ne comprends pas, j'ai été obligé de mettre un (command "regen") à la fin....(entupd ent1) n'a pas l'air de fonctionner ....
-
tu penses à une porte vitrée ou une coulissante à laisser ouverte .... une porte coulissante (pas de porte vitrée, il faut penser à l'intimité), mais avec une surface laissant passer la lumière (du style cloison japonaise). Le but étant de laisser la lumière, et de pouvoir libérer un maximum d'espace si besoin (table à rallonge par exemple). Selon le style d'aménagement, un rideau en voilage pourrais même faire un style, voir des doubles rideaux (voilage+tissus).... afin de libérer un maximum d"espace quand c'est ouvert.
-
Je pense que c'est le mieux (mais le plus difficile !!!) Par contre je fairais une porte de chambre en cloison coulissante pour profiter de la lumière de la fenêtre de la chambre si besoin.
-
Salut, Est-ce possible de rajouter des fenêtres au Nord ou à L'Est dans la cuisine ? (dans l'idée de faire entrée+cuisine+SdB = Séjour) [Edité le 26/12/2006 par Bred]
-
OK, trouvé !!! (c:rpref mode option [setting]) Bien sûr, cette fonction ne marche que sur la 2006 (la 2007 ne fonctionnant pas pareil). [Edité le 22/12/2006 par Bred]
-
Salut, Je cherche à atteindre les options de "préférences de rendu" dans autocad 2006, et dans la 2007 aussi.... (j'ai fait une compraraison avant/après dans la base de registre, ça n'a pas l'air de passer par là...) merci !
-
Autodesk m'a répondu : si vous avez un contrat de souscription vous pouvez utiliser les anciennes versions d'Autocad. Donc c'est OK.... c'est ce qu'il vaut réellement !!! ;) ... (quoi-que : je n'en suis qu'à 6 erreurs fatal par jour en ce moment, mais c'est vrais que la fin d'année approchant, je lui en demande un peu moins.... c'est Noël pour tout le monde... pour mon Autocad aussi !!!)
-
En fait, maintenant, j'ai un doute.... Car je suis en mode Souscription, mais depuis la version 2006 (qui est une mise à jour de 2004). Et Autodesk m'a envoyer un message comme quoi j'étais obligé de désinstaller les anciennes version quand j'ai voulu re-demander des codes d'activations de la 2004 (car j'ai fait un formatage de ma bécane). Pour la 2006, cela faisait moins de 120 jours que j'avais activer la 2007, donc il n'ont pas fait d'histoire pour me refiler le code, mais ils ne m'en aurait peut-être pas fait vu que je suis en souscription.... donc pour la souscription je ne sais pas en fait.... Je vais balancer un mail au centre d'activation pour leur poser la question, je vous tiens au courant.
-
J'ai essayer de comprendre la fonction de (gile).... et je rend ici ma conclusion (non arrété) si d'autre ont l'envies d'essayer de la comprendre.... J'ai compris (ce qui ne veux pas dire que je saurais remettre en place un code comme ça...) les fonctions de "traitement de liste" (cons (caar lst)(mapcar'cdr (vl-remove-if-not '(lambda (x) (= (caar lst) (car x))) lst))) (Création de la première liste) et (vl-remove-if '(lambda (x) (= (caar lst) (car x))) lst) (enlève les éléments utilisés pour créer la liste précédement créer) Puis j'ai essayé de comprendre le pourquoi du résultat de la récursivité.... J'ai re-trouvé l'exlication de (gile) ici.... Si j'utilise la console de suivi avec (fact test) et lst = '((1 . "a") (2 . "b") (3 . "c") (1 . "d") (3 . "e")) j'obtient ça : Ce qui est juste.... J'ai eu du mal à comprendre pourquoi ça "empile" les résultats trouvés, dans ma logique ça aurait plûtot tendance à "écraser" le résultat précédent à chaque passage... Puis j'ai compris que c'était le rôle du premier "cons"... Donc la logique est parfaite : - Création du début de la liste = (1 "a" "d") - Retrait élément ayant servis à créer liste précédente, puis traitement par fonction TEST de la liste trouvé, donc Ajout à la première liste la seconde = ((1 "a" "d") (2 "b")) - - Retrait élément ayant servis à créer liste précédente, puis traitement par fonction TEST de la liste trouvé, donc Ajout à la première liste la seconde = ((1 "a" "d") (2 "b") (3 "c" "e")) ... c'est Fa-bu-leux !!! ... je rêve du jour où j'arriverais à mettre ça en place tout seul... MERCI !!!! [Edité le 21/12/2006 par Bred]
-
mais tu ne peux pas zoomer dans la fenêtre pour le rendre + grand ???? - Les plans de délimitations sont indépendant pour chaque fenêtre, et qui plus est pour l'espace objet : si tu fais un 3dorbite, que se passe t'il ? Question parrallèle : maitrises-tu le travail en espace présentation, ou es-tu débutant et tu le découvres ? [Edité le 21/12/2006 par Bred]
-
Bien-sûr !!!!... merci.... ! (c'est bon, arrêtezr ! vous m'avez achevé !!!) :P
-
A un moment c'est ce que je faisais, mais j'avais un résultat bizarre... jusquà ce que je passe lst à nil avant... Tu veux vraiment m'enfoncer on dirait, à me faire des trucs comme ça! :( ... Tiens.... il neige.... (... et non, pas encore : mais les sommets sont blancs.... comme quelques cheveux suplémentaire depuis quelque minute...) MERCI ! -------------------------------- edit - croisement (gile) -------------------------------- c'est vraiment le genre de routine que je trouve génial : à l'égal de ton post sur les matrices, (gile)... tiens.... une idée.... ce genre de routine de classement ne pourrais pas faire partis d'un post réalisé par l'un des Merveilleux lispeur que vous êtes ??? (slurp !) ;) avec des exemples du même type .... [Edité le 19/12/2006 par Bred]
-
Bon, alors, dans le désordre : - bonuscad : merci - mais ta routine ne donne pas le bon classement (je pense - après tests) - Patrick_35 : merci - mais j'ai un souci pour la faire fonctionner : tu fait un (car sel) dans ta routine, avec sel étant un " < selection set ... > ", donc ça bug.... - Trambert : merci - ça fonctionne (en adaptant ma liste comme tu la construit) (repeat (sslength sel) (setq lis (append (list (list (car (cdr (assoc 10 (entget (ssname sel x))))) (cdr (assoc -1 (entget (ssname sel x)))))) lis) x (+ 1 x) ) ) - (gile) : merci - mais c'est parfait. .... bon, les gars.... je décrete qu'à partir de cette heure, je rentre en dépréssion !!!!
-
Mon dieu !! et (gile) qui me sort une fonction récursive les doigts dans le nez.... Bon.... je vais en rester à expliquer comment fairedes drapeaux japonnais, moi, c'est beaucoup plus de mon niveau !!! (snif!) :( merci²
-
Rassurer moi.... vous aviez ces bouts de routine classé quelque part, hein ??? ou vous venez de me les taper à la volée ? (attention : votre réponse peut gravement atteindre ma santé mentale, et me sentir abaisser au viveau de l'amibe !....) (Par contre il y a un souci de parenthèse au code de Patrick_35... Hoouuuu ! ) ;) ....) merci !!!!
-
Salut, Je n'y arrive pas !!!! j'ai une liste sous la forme : ((243.62 . < Nom d'entité: 7ef6df58 >) (24.25 . < Nom d'entité: 7ef990f8 >) (243.62 . < Nom d'entité: 7ef991b0 >) (243.62 . < Nom d'entité: 7ef991b8 >) (24.25 . < Nom d'entité: 7ef991c0 >) ...etc....) et je voudrais la rangée sous la forme : ((243.62 . < Nom d'entité: 7ef6df58 >< Nom d'entité: 7ef991b0 >< Nom d'entité: 7ef991b8 >) (24.25 . < Nom d'entité: 7ef990f8 > < Nom d'entité: 7ef991c0 >) ...etc....) j'ai essayé (foreach... , (mapcar .... mais j'avoues planter sur la logique.... Pour expliquer plus précisement : j'ai une sélection de bloc que je range en liste de manière à avoir en sous liste : (coordX_ent1 . ent1) (setq sel (ssget '((0 . "INSERT")))) (repeat (sslength sel) (setq lst (append (list (cons (car (cdr (assoc 10 (entget (ssname sel x))))) (cdr (assoc -1 (entget (ssname sel x)))))) lst) x (+ 1 x) ) ) Puis je veux ranger cette liste de manière que tous les blocs ayant le même X soit regroupés ensemble. ((coordX_ent1 ent1 ent2 ent3)(coordX_ent4 ent5 ent6 ent7)...) merci de votre aide! [Edité le 19/12/2006 par Bred]
-
Des délimitations ne serait-elle pas activé ? Tu n'arrives pas à Zoomer dans une fenêtre, ou à en changer l'echelle ? [Edité le 19/12/2006 par Bred]
-
Salut, (setq lay (tblnext "LAYER" T)) te donne la valeur du prmier calque sous la forme ((0 . "LAYER") (2 . "Nom du Calque") (70 . 0) (62 . 7) (6 . "Continuous")) Donc, dans la boucle : (if (member (cdr (assoc 2 lay)) '(FGT)) - ("FGT" serait juste) = Si "FGT" fait partis du nom du calque (en partie ou en entier) - Alors tu renommes le calque (command "_rename" "_layer" "FGT" "Toto23" "") - Sinon tu passe au calque suivant (setq lay (tblnext "LAYER")) ... tant qu'il y a un calque.... (while lay ...... (setq lay (tblnext "LAYER")) (quand lay = nil, c'est fini) Donc tu comprendras que ceci ne te rajoute pas un préfixe.... Pour cela il faut que tu utilise la fonction (strcat "Préfixe" "Nom ancien Calque") Je te laisse un peu chercher.... j'édite : Zebulon à trouver la solution ultime, qui plus est peut s'intégrer dans un lisp aussi.... [Edité le 19/12/2006 par Bred] [Edité le 21/12/2006 par Bred]
-
Nvidia oui... mais en AGP, ça saute de la NVIDIA Quadro FX 500 (ou 700) à 600€ TTC (et ce sont des 128 Mo en mémoire) à la NVIDIA Quadro FX 3000.... 2000 € TTC.... Un pote me dit que ça vaudrait peut-être mieux que je change de carte mère pour passer en PCI !!!.... :casstet: C'est vrais que pour les prix, il n'y a pas photo ! [Edité le 21/12/2006 par Bred]
-
? Tu n'as besoin que de 2 points (voir 1 point puis les dimensions de ton rectangle)...
