-
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
-
Voir ce sujet @+
-
Je vois que Pako est plus pressé que tout le monde, et si je pose une devinette, j'ai forcement la réponse, sinon ce n'est pas la peine soit a l'age de blanche soit b le nombre d'année depuis l'époque évoquée Antoine a 21 ans : il a trois fois l'âge qu'avait sa soeur Blanche se traduit par : 21 = 3 * (a - b) donc en simplifiant 7 = a - b Au moment ou il avait l'âge qu'elle a actuellement se traduit par : 21 - b = a alors b = 21 - a Donc si on remplace b dans la première équation : 7 = a - (21 - a) 7 = 2 * a - 21 2 * a = 21 + 7 = 28 et le résultat a = 14
-
Non, pas une guerre, c'est selon la fibre de chacun Pour oli553 Est-il possible de faire plusieurs pages dans un dwf comme dans un pdf (je pense notamment aux schémas d'armoire) @+
-
Ah, merci Patrick, une commande que je ne connais pas. Vivement que je passe à une version supérieur @+
-
La solution que j'utilise plutôt que d'envoyer un dwg, c'est de faire parvenir un pdf @+
-
Deux sujets que devraient t'intéresser ICI et ICI Sinon, il suffit de faire une recherche avec vbaload ou vbarun @+
-
Certains font des projets pour l’avenir @+
-
Qu’entends tu par convertisseur de calque ? ? ? @+
-
Bonjour à tous Voila un bout de code qui permet de faire un facteur d'échelle fixe lors de l'insertion d'un bloc Il fonctionne à merveille, mais lorsque que j'ouvre un nouveau dessin, ce réacteur est toujours actif, et la variable qui le détermine est passé à nil, ce qui est normal pour un nouveau dessin. Comment faire pour savoir si mon réacteur est actif afin d’éviter de le lancer une deuxième fois, ce qui à pour conséquence qu’il s’additionne à lui même :mad: Il y a bien la possibilité de faire un (vlr-remove-all) mais ça supprime tous les réacteurs présents, ce que je voudrais éviter. Serge a bien donné une explication sur ce sujet, mais je n'arrive pas à la comprendre :casstet: @+ (defun reacteur_echelle_inserer(rea cde / ent) (if (= (car cde) "INSERT") (progn (setq ent (entget (entlast))) (setq ent (subst (cons 41 (* (cdr (assoc 41 ent)) echelle_inserer)) (assoc 41 ent) ent)) (setq ent (subst (cons 42 (* (cdr (assoc 42 ent)) echelle_inserer)) (assoc 42 ent) ent)) (setq ent (subst (cons 43 (* (cdr (assoc 43 ent)) echelle_inserer)) (assoc 43 ent) ent)) (entmod ent) (entupd (cdr (assoc -1 ent))) ) ) (princ) ) (vl-load-com) (if reacteur_echelle (vlr-remove reacteur_echelle) ) (if (setq echelle_inserer (getreal "Facteur d'échelle pour les blocs : ")) (setq reacteur_echelle (vlr-command-reactor nil '((:vlr-commandended . reacteur_echelle_inserer))) ) (princ)
-
Échelle d\'insertion répétitive de Blocs
Patrick_35 a répondu à un(e) sujet de Serge1591 dans AutoCAD 2000 à 2002
Tu as le lisp Bibles qui permet cela. Il est en téléchargement membres @+ -
Un truc vite fait pour compter des blocs sur un calque "MACOUCHE" (setq i (tblnext "block" t)) ; parcourir la table des blocs (while i (if (= (logand (cdr (assoc 70 i)) 4) 0) ; trier les blocs dans les xrefs (progn (setq n (ssget "x" (list (cons 8 "MACOUCHE") (assoc 2 i)))) (if n (princ (strcat "\nIl y a " (itoa (sslength n)) " " (cdr (assoc 2 i)) " dans le dessin")) ) ) ) (setq i (tblnext "block")) ) (princ) @+ ps : le plus dur est fait, il ne reste plus qu'à l'adapter ;)
-
Tout est faisable, il faut juste bien cadrer ce que l'on veut faire 1) Quels blocs (pas ceux de l'archi ou du plombier par exemple) 2) Où inserer la légende, sur quelle modèle et avec quels éléments (Symbole, Qt, Désignation, référence, etc...) 3) Pour faire au plus simple, je ne lance que la commande qui permet de créer la légende 4) Ce n'est valable que sur une version pleine ou une LT avec additif Ce peut être très complexe ou relativement simple à faire.Il faut juste bien définir ce que l'on veux faire, et de plus, c'est une exellente occasion pour se mettre au lisp @+
-
Un sujet que tu devrais lire @+
-
Encore faut-il être dans le bon répertoire @+
-
Ah exact, tu as gagné 10 pts pour ce bug ;) Le lisp n'est pas ma langue maternelle mais j'ai commencé sur autocad V12, ce qui fait presque 9 ans déjà. Et comme j'ai développé plein d'outils pour mon boulot, ça aide, malgré que ce ne soit pas mon métier. J'en apprends tous les jours, même avec tes lisps comme la fonction sssetfirst dont je ne me suis jamais servi. Il est toujours utile de regarder ce que font les autres, quelle est leur logique et de quelles fonctions ils se servent. Ca rafraîchi parfois la mémoire ou ça permet de faire plus court et plus simple. :cool: Tu sais, une fois que tu as bien compris comment fonctionne la programmation, le reste n'est plus qu'un jeu et une question d'interprétation. Un ordinateur est bête, si on lui dit un plus un, il répond deux. Maintenant, si le résultat est de trois, c'est qu'il y a un bug, une chose qui n'a pas été comprise, ou pire encore, un virus qui met son grain de sel. :mad2: @+
-
Parfois, il y a des erreurs dont on ne comprend pas d’où elles viennent. On a beau chercher, se tuer les yeux devant l’écran et rien, que nenni. Donc on laisse tomber, une bonne nuit et ensuite on ré-attaque le lendemain et oups... en à peine cinq minutes, on trouve. Comme quoi… http://smileys.smileycentral.com/cat/36/36_19_3.gif @+
-
$ interprété comme TEXTE et non comme DIESEL
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Débuter en LISP
Si ça peut te faire plaisir Ludwig, ton (ssget "I" '((8 . "*D$*"))) fonctionne très bien sur un autocad 2000 sans Autodesk Architectural Desktop Et je viens de voir une erreur, ce n'est pas _pselect mais _qselect @+ -
Exploser tous les blocs de chaque présentations
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Débuter en LISP
Pour Rebcao (sssetfirst sel1 sel2) sssetfirst est une fonction qui permet d'afficher les grips d'une sélection (sel1) et aussi de les mettrent en surbrillance (sel2) @+ -
Je vois que tu as corrigé ta réponse Pako et que tu as bien relu l'exposé, mais ce qui est le plus intéressant dans tout problème, ce n'est pas la solution mais la démonstration Je laisse un peu de temps volontairement afin que l'on puisse chercher un peu @+
-
Exploser tous les blocs de chaque présentations
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Débuter en LISP
http://smileys.smileycentral.com/cat/36/36_1_55.gif Bravo, rien de plus plaisant que de comprendre, de réussir et de voir fonctionner correctement son lisp @+ -
Salut Déjà pour solutionner la couleur dubloc (if (not (assoc 62 n)) (setq n (append n (list (cons 60 0)))) (if (/= (cdr (assoc 62 n)) 0) (setq n (subst (cons 62 0) (assoc 62 n) n)) ) ) (entmod n) Ensuite, pour ce qui est des attibuts Si le code 66 pour un bloc est présent, c'est que des attributs suivent Dand ce cas par exemple (setq sel (ssget "x" (list (cons 0 "INSERT")))) (setq j 0) (while (ssname sel j) (setq n (entget (ssname sel j) (if (assoc 66 n) (progn (setq i (entget (entnext (cdr (assoc -1 n))))) (while (/= (cdr (assoc 0 i)) "SEQEND") (setq i (subst (assoc 8 n) (assoc 8 i) i)) ; mettre l'attribut sur le même calque que celui du bloc par exemple (entmod i) ; modifier l'entité (entupd (cdr (assoc -1 i))) ; mettre à jour sur l'écran l'entité (setq i (entget (entnext (cdr (assoc -1 i))))) ) ) ) (setq j (1+ j)) ) Nb : la sélection doit se faire cette fois ci dans tout le dessin et non plus dans la table des blocs. Ce n'est valable que pour des blocs qui sont déjà insérés dans le dessin @+
-
Si le code 62 n'existe pas, cela veut dire que la couleur est ducalque. Si on souhaite la changer en dublock, il faut lui ajouter (setq n (append n (cons 62 "Byblock"))) @+
-
imprimer les onglets de l’espace papier en même temps
Patrick_35 a répondu à un(e) sujet de bmolama dans AutoCAD 2005
Peut-être ce lisp @+ -
Exploser tous les blocs de chaque présentations
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Débuter en LISP
J'ai un peu modifié ton programme tout en essayant de garder ton principe de fonctionnement (defun c:de(/ layouts jeu n j cmd) (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (command "_.undo" "_group") (setq layouts (layoutlist)) (if (vl-position "Model" layouts) (setq layouts (vl-remove "Model" layouts)) ) (foreach n layouts (while (setq jeu (ssget "x" (list (cons 0 "INSERT") (cons 410 n)))) (setq j 0) (command "_.layout" "_set" n) (while (ssname jeu j) (command "_explode" (ssname jeu j)) (setq j (1+ j)) ) ) ) (command "_.undo" "_end") (setvar "cmdecho" cmd) (princ) ) @+ [Edité le 19/1/2005 par Patrick_35] -
Ce n'est pas si simple que ça Pako, relis bien l'exposé @+
