Matt666
Membres-
Compteur de contenus
736 -
Inscription
-
Dernière visite
-
Jours gagnés
2
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Matt666
-
Salut !! Vinz, Et bien dans ce cas, j'approuve !! Voici ma solution, pour le fun : (defun c:vblat_matt (/ ent str) (while (or (not (setq ent (car (entsel "\nSélectionner un bloc :")))) (/= (cdr (assoc 0 (entget ent))) "INSERT") ) ) (if (cdr (assoc 66 (entget ent))) (progn (setq str "\nCe bloc contient un ou des attributs : ") (while (setq ent (entnext ent)) (if (eq (cdr (assoc 0 (entget ent))) "ATTRIB") (setq str (strcat str "\n" (cdr (assoc 2 (entget ent))) " ->\t" (cdr (assoc 1 (entget ent))) )) ) ) (alert str) ) (princ "\nCe bloc ne contient pas d'attribut.") ) (princ) ) Patrick_35, Merci pour le lien, bien intéressant ! PS : Bien sur que ça intéresse ! Nouvel exercice : Changer l'attribut "DATE" par la date du jour ! A bientot. Matt.
-
Salut ! Vinz, J'ai l'impression que tu n'es pas vraiment un débutant ;) je n'ai pas essayé ton lisp, mais à l'avoir regardé, ça m'a l'air pas mal du tout ! J'espère que cela ne décourage pas les autres, si vous pensez que l'on va trop vite, dites le nous !! on ralentira un peu. Patrick_35, Ah bon, ça a déjà été abordé ici ??? Cela dit, je m'en fous... :cool: personnellement c'est sur un terrain bien dur et bien sec que j'avance dans ce thème là... Je n'ai aucun problème avec ça, si des témoins de Jéhovah (par exemple) veulent retrer chez moi et discuter, eh bien qu'ils viennent !! Bien que j'en fasse partie, l'athéisme rime trop souvent avec intransigence... Maintenant si certains ne sont pas contents de ce que je viens de dire, et bien qu'ils aillent au diable (faites gaffe j'ai un 666 après mon nom :P ) !!! Donc merci Patrick_35 d'éclairer un peu ma lanterne, je ne serais sans doute pas le seul à me coucher moins bête (ah aha ah) ce soir... nan. J'écoute du métal, c'est tout :thumbup: le chiffre 666 fait légion dans ce style. Et puisque "Matt" est toujours pris, "Matt666" l'est un peu moins... Après c'est vrai que cela peut être intéressant... J'ai recherché un peu le 888, avant de poster ma question, pour voir sa signification. mais je ne suis pas tombé sur grand-chose... Voilà voilà !! A bientot. Matt. PS : J'attends vos réponses pour la question sur la vitesse, et je poste une suite...
-
Ok, d'accord ! Merci Gile...
-
Oups :mad2: Oui, c'est vrai... J'ai confondu entre entité et table... Mais cela revient au même ! Tu as des attrib et des seqend... Il ne faut prendre que des attribs !
-
Mais c'est à partir de la 2006 que les fichiers de menu ont été remplacé par un fichier CUI... Les fichiers MNU MNS, MNR, MNC ont tous été supprimés. Maintenant c'est un seul fichier en XML qui permet de gérer les menus, barres d'outils... Voilà ! Enfin, je crois !!! A bientot. Matt.
-
Pour tous tes posts en trop, il faut aller sur la page, et tu fais "signaler" en bas.
-
Attention, ton code ne fonctionne tout le temps... Qui te dit que l'entité qui suit le bloc est un attribut ??? L'entité qui suit le nom du bloc est peut être une des lignes qui composent le bloc, par exemple ! ;) EDIT : C'est quoi 888 ? Excuse le manque de savoir.... [Edité le 4/1/2008 par Matt666]
-
Bravo Lovecraft :D Juste un soucis de parenthèse... La fonction 'while' avec 'not' sert à répéter le entsel jusqu'à ce que celui ci soit rempli. Ta fonction while ne fonctionne pas comme cela... Si tu fais simplement ceci (bouger une parenthèse+entget mal placé) : (defun c:vfblatt (/ ent) (while (not ent) (setq ent (car(entsel "\nCliquez un bloc : "))) ) (setq ent (entget ent)) (if (/= (cdr (assoc 0 ent)) "INSERT") (alert "ceci n'est pas un bloc") (if (= (cdr (assoc 66 ent)) nil) (Alert "Ce bloc ne contient pas d'attribut") (Alert "ceci est bloc bloc contenant des attribut"))) ) Là le 'while' et 'not' fera son travail ! sinon ta condition (if (= (cdr (assoc 66 ent)) nil) ...) peut s'écrire avec 'not'... (if (not (cdr (assoc 66 ent))) ...) Voilà... je montre la mienne.. (defun c:vblat (/ ent) (while (or (not (setq ent (car (entsel "\nSélectionner un bloc :")))) (/= (cdr (assoc 0 (entget ent))) "INSERT") ) ) (if (cdr (assoc 66 (entget ent))) (princ "\nCe bloc contient un ou des attributs.") (princ "\nCe bloc ne contient pas d'attribut.") ) (princ) ) Maintenant, on sait comment voir si un bloc contient des attributs. Mais on ne sait toujours pas les voir !!! La seule façon de voir un attribut, c'est de faire un entnext sur l'entité bloc-attribut. Voilà. Prochain exercice : Afficher la valeur du premier attribut trouvé dans un bloc attribut ! C'est pas évident, mais on va y arriver ! par exemple j'ai un attribut date, je veux afficher la valeur de la date... Bon courage. A bientot ! Matt.
-
:cool: El diablo.... Exactement ! Une condition qui dit d'abord si l'entité sélectionnée est de type BLOC. Ensuite, si oui, trouver le code 66. Voilà !A toi de jouer Pascal ! Merci Vinz34.
-
Ah oui, ok... C'est pas mal ! par contre si ton bloc est sans attribut, tu ne peux pas le sélectionner... bof ! C'est presque ça ! Le plus utilisé est sans nul doute le princ. Il faut en mettre un tout seul à la toute fin de ton code, pour éviter la répétition... (defun c:bl_att(/ blatt) (while (not blatt) (setq blatt (cdr (assoc 66 (entget (car (entsel "\nSélectionnez le bloc: ?"))))))) (princ "\nceci est un bloc à attribut.") [b](princ)[/b] ) essaie d'utiliser une condition à ton résultat de code dxf 66... [Edité le 3/1/2008 par Matt666]
-
Salut Pascal ! Bonne année à toi aussi, merci... C'est exactement ça !
-
Bah oui, il est dur ton challenge !! Ca creuse, ca creuse.... A bientot ! Matt.
-
Salut. Dans les paramètres de style de cote, onglet ajuster. Tu as un encadré "Echelle des objets de cote" Dans "Utiliser l'échelle générale de" tu indiques la nouvelle échelle de cotation. A bientot. Matt.
-
D'après l'article du lien que je t'ai donné : Si je le décompose (un molygone) je perds mes données. Aprè je sais pas trop ce que cela veut dire, mais faut ptet faire gaffe à la commade décompser sur un mpolygon... A bientot ! Matt.
-
Houlà... Autocad Map, nan ? Regarde ici, peut être un début d'explication... En tout cas pour transformer un mpoylgon et polyligne...
-
Assez d'accord, aussi ! A savoir qu'en déconnecté, c'est plus rapide, et ça plante moins. Mais quel intérêt ? :exclam: A bientot. Matt.
-
Cet homme est un fou :D Merci gile... EDIT : je dirai même plus... [Edité le 26/12/2007 par Matt666]
-
:o ... Ouch.. Impressionant ! Bravo Gile !
-
Aille... Ca fonctionne très bien chez moi... Réinstallation, quand tu nous tiens :casstet:
-
Juste une petite question : C'est quoi, exactement, ça ? Sinon, tu peux ajouter des informations à la suite de cette commande... (defun c:tp () (command "propdess") (princ (strcat "\nTemps dessin :" "\n\t" (rtos (* 86400 (getvar "tdindwg")) 2 2) " secondes." "\n\t" (rtos (/ (* 86400 (getvar "tdindwg")) 60) 2 2) " minutes." "\n\t" (rtos (/ (* 86400 (getvar "tdindwg")) 3600) 2 2) " heures." )) ) Par exemple...
-
la commande propdess ne te suffit pas ???
-
Tu copies le contenu de fichier dcl dans la réponse à ce post ;)
-
Aille... C'est mal parti ! Je dirai comme Lili, a moins que... Pourrais-tu bous montrer un dcl qui plante, s'il te plait ?
-
Salut Speedy !! C'est le bon début ! Pour t'aider, regarde du coté des codes dxf liés à un bloc...
-
Salut ! As-tu regarder AutoCAD.dce ? je ne sais pas si c'est pareil pour autocad, mais pour bircsCAD, le dcl est sensible à la casse des fonctions... par exemple : Button = faux ; button = ok Column = ; column = ok Voilà. A bientot ! Matt.
