Rechercher dans la communauté
Affichage des résultats pour « challenge » dans sujets.
502 résultats trouvés
-
Salut, Effectivement, une solution itérative est possible puisqu'on connait le niveau maximum d'imbrication (3, dans le code de Patrick_35 mais on aurait pu choisir le nombre total de colonnes). Ce sujet m'a donné une idée pour un challenge.
-
Bonjour, (vl-string-trim "," ",0,0,0,,,") me permet d'obtenir "0,0,0". C'est un préalable utile. Dans ce vieux sujet, j'ai demandé de l'aide pour traiter le problème suivant : Soit une chaine de caractères, je veux en retirer tout ce qui n'est pas chiffre entier ou virgules qui les séparent. Le but étant, à terme, de transformer le tout en liste d'entiers. "1" renvoie "1" "1,2" renvoie "1,2" "_\oi-_,90,ut5," renvoie ",90,5," -> (vl-string-trim "," ",90,5,") à la fin rend facilement "90,5" "123,,,51,2" renvoie "123,51,2" J'y arrive bien (et encore !) avec des routines lourdingues mais je me demande s'il n'y a pas de solutions récursives. Comme j'ai un peu le sujet en tête... On y parle de mécanique mais j'ai l'impression parfois de n'être qu'un chauffeur (si le lisp est le moteur) et ni ingénieur, ni même mécanicien :cool: Alors pourl'instant, j'essaie déjà un bon traitement non récursif : (defun test(nom / lettre compt) (setq compt 1) (while(and(>(strlen nom)0)( (if (wcmatch(setq lettre(substr nom compt 1)) "[0-9],[`,]") (setq compt(1+ compt)) (setq nom(vl-string-subst "" lettre nom)) )) nom) (test "3") (test "3,2") (test "3,2.") (test "..|_3,2.") (test "3,2,,,1") Seulement voilà, comme le montre le dernier test, je n'ai pas pu traiter efficacement les virgules en trop ! Serait-ce un challenge intéressant d'aller plus loin, et avec une fonction récursive ? ou cela devient-il superflu ? Autre question, très liée je pense, si je devais éclater cette chaine d'entrée en autant d'éléments d'une liste constituée de caractères simples. La récursivité est mieux adaptée aux listes (!?), non ? Hop
-
Récursion enveloppée, finale, croisée..
(gile) a répondu à un(e) sujet de VDH-Bruno dans Pour aller plus loin en LISP
Re, Je ne sais pas si on peut vraiment parler de récursion croisée pour les fonctions de tri des réponses 11, 20 et 21 de ce challenge. -
Salut, J'avais fait (ou j'avais récupéré ici) une routine qui permettait de ranger les coordonnées 3D contenus dans une liste, par ordre croissant, à partir d'un point (contenu dans cette liste)... plus moyen de mettre la main dessus.... Je crois que c'était sortis d'un challenge d'ordre de sommet de polyligne, ou un truc dans le genre... Si vous aviez ça ça m'aiderais grandement au lieu de me le retaper.... Merci.
-
Trie Interrogations ? (vl-sort list compaison-function)
Tramber a répondu à un(e) sujet de VDH-Bruno dans Débuter en LISP
Avec le génie d'Eugène et la patience et le gout de la précision de (gile), te voilà bien entouré ! Pour les smileys et la desactivation du BBCode, j'ai un peu la honte car je n'avais pas pensé à cette solution que j'applique parfois,...quand j'y pense :cool: (setq LstLong '(4.0 7.5 5.0 9.0 9.0 7.5 7.5 5.0 8.25 9.0 5.0)) (setq trie(vl-sort LstLong '(setq lisorti nil) (setq valeurencours nil cont 0) (setq trie(append(list(car trie))trie)) (mapcar '(lambda (x y)(if(= x y) (setq cont(1+ cont)valeurencours x) (setq lisorti(append lisorti(list(cons cont valeurencours))) cont 1 valeurencours y))) trie(cdr trie) ) (setq lisorti(append lisorti(list(cons cont valeurencours)))) lisorti Voivi un modeste code qui a l'air de fonctionner. Il est sur le principe de ma précédente proposition mais évite le WHILE ou un REPEAT grâce à MAPCAR et se trouve un peu amélioré. Un peu d'explications : (setq trie(append... est une astuce qui allonge la liste au début afin de comparer le n°1 avec lui même, en quelque sorte (c'est l'amélioration sus-citée). Dans le lambda, je déclare 2 listes : l'une complète, l'autre vidée du 1er élément. et je fais un if tout bête. Ex au 2ème tour du mapcar : x=4.0 et y=7.5 alors(= x y) est nul. Donc 2ème SETQ qui en finit avec le comptage des 4.0 en agrandissant lisorti et en remettant le compteur (cont) à 1 et la valeur en cours à 7.5. Et ainsi de suite. A la fin, on n'oublie pas d'ajouter le résultat de la dernière valeur en cours. Je n'ai pas beaucoup participé aux challenges de CADxp, il s'agissait de périodes pendant lesquelles j'étais sans doute indisponible ou occupé. Mais il est vrai que si tu tapes déjà du mapcar et compagnie en débutant, tu vas aller loin. Pas comme certains (que ceux qui se sentent visés me pardonnent, je ne pense pas à beaucoup de monde) ! Mais ne profitons pas de ce message pour faire de la politique ou enfoncer des clous, mes excuses VHD-Bruno. Voilà, il y a certainement d'autres solutions encore et je suis resté un peu bloqué. D'autres préférerons des codes plus "esthétiques", plus puissant et c'est tout à leur immense honneur ! Je préfère d'ailleurs le code proposé par (gile). Un nouveau Challenge peut-être ? Ou est-il inutile d'aller plus loin ? Je crois que c'est inutile. Je teste un peu plus en avant mon code avant de manger ! [Edité le 2/10/2010 par Tramber] -
Mais tu ne propose pas de l'imaginaire, mais un batiment existant. Et max je ne l'utilise jamais pour modéliser, mais pour texturer, animer, rendre... Et meme quand tu modélise un projet c'est a partir d'un plan. Donc si tu nous propose un plan vectorisé d'un batiment, la le challenge est réalisable. Certe, c'est mon avis, et il ne vaut pas grand chose.... Je ne vois pas en quoi mon ouverture d'esprit est en cause. C'est seulement mon experience de modélisation du construit qui me permet de m'exprimer. La 3D sans 2D je ne sais pas faire.
-
Bonjour à tous et toutes, Tramber, le On s'en xxxx.... était peut être mal placé, mais en relisant ton premier message sa donne vraiment pas enve de rester ZEN... BREF !!! Moi je dit vive la communauté, je vois de plus en plus s'éparpillé des messages du types 3D sur n'importe quel forum c'est pour cela que je voulais centralisé.... Sa je pense que tous le monde est d'accord... même si sa fait pas 5 ans ou X ans qu'on y participe.... C'est trés interressant..... Maintenant pour le challenge: Fraid je te pensais plus ouvert..... Et tu bosse sur 3D's max !!##'&"((, mais une grande partie des travaux réalisés sous max sont de l'imaginaire... (3Dvia OU 3dvf en est la preuve) C'est sur il tiendrait deux minutes..... Tu me décoit, je lai fait mainte et mainte fois... Par hasard tu bosse jamais avec l'étrangers ? Ou sinon je comprend plus...
-
Bonjour, De toute façon, bien reflechi, ce challenge est impossible a réaliser. 1 - Pas de 3D sans 2D Je n'ai jamais reussi a monter une 3D digne de ce nom sans des plans en 2D, ni meme sans prendre des mesures. (hors de question de poser un tachiometre atonome tout seul dans cette région, il faut etre 2 pour pas ce le faire tirer) 2 - A moins qu'il y a beaucoup de parisien participant a ce Foum, ce dont je doute fort, je ne vois pas pourquoi j'irai modéliser le trou du q de la france.... (je sais, on aime tous cela....) 3 - Je ne vois pas pourquoi j'irai me prendre la tete a texturer dans Autocad pour avoir une qualité de rendu plus que mediocre. (en plus c'est une usine a gaz...). Sous Max, si il est mis en place (scene + bibiotheque de materiaux), il faut 5 mn pour texturer un batiment. (a moins de devoir créer une texture particuliere). 4 - En fait tu réagi comme beaucoup de gent, la 3D ce n'est que quelque clics dans un logiciel. NONONONON, Pour de l'existant on est loin, mais tres loin de cela. Tu ne peux pas modéliser un batiment seulement a partir de photos (sinon y a longtemps que cela se ferais). La photogrametrie n'est possible qu'avec des réferences. Je ne voudrai pas te décourager, mais seulement des parisiens ne connaissant pas ce metier partipirons...... Bonne chance
-
Bonjour thierry, Merci... Le bon fonctionnement de ce challenge ne peut qu'être envisagé que par les utilisateur du forum...
-
Paramétrage quadro fx 3700 et autocad 2008
Dinosor a répondu à un(e) sujet de lodu24 dans AutoCAD 2008
Mon dieu, c'est vraiment tentant sauf que j'ai déjà tellement à faire ! Je ne sais même pas où je trouve le temps de communiquer sur le Forum :( Boulot, Commune, pompiers, amicale des pompiers, au comité de quatre sociétés diverses, une femme, deux gosses, un chien, un chat et ma Harley que j'aimerais rouler un peu plus... Pffff... D'autant plus que pour ton Challenge, il faudrait une limite de temps, sinon c'est trop facile. Pour comparaison, une de mes maison, j'y passe environ 10 à 16 heures jusqu'au rendu. Non franchement, je préfère m'avouer vaincu pour l'instant... ;) Amitiés. Ah, au fait, je fais tout sous AutoCad, je ne passe pas par d'autres Soft, même pas photoshop... [Edité le 10/9/2010 par Dinosor] -
Bonjour, Tu presente un sacré challenge :o Cela fait quelque temps que j'essaye de trouvé un organigrame valable pour tout les cas. Car a chaque cadastre, le dwg que l'on récupere a une structure légèrement differente. Le nombre de blocs, le nombre calques, le type d'objet..... De plus ce sont des blocs imbriqués 1) Exploser les blocs jusqu'a l'apparition des polylignes 2) les effacées car elle correspondent au cartouche 3)Exploser les blocs jusqu'a l'apparition des polylignes 4)convertir les polylignes 2d en polylignes 5)Les placer dans un calque Limite-Cadastrale 6)Exploser les blocs jusqu'a l'apparition des hachures 7)Les placer dans un calque Construction Deja, a ce niveau c'est prise de tete car les niveaux d'imbrication change a chaque dessin ensuite pour le cartouche par exemple il faut repeter l'operation deux ou trois fois, pareil pour les limites cadastrales. c'est jamais pareil Mais cela est faisable en imbriquant correctement des conditions circonstancielles permetant de dicerner utilisation des objets. c'est pour cela que je parlais d'organigrame. il faut bien prendre sont temps pour analyser les different cas qui se presentent Je sent que vais m'y remettre.......
-
Compter les éléments identiques dans une liste
Patrick_35 a répondu à un(e) sujet de fabcad dans Pour aller plus loin en LISP
Salut Par exemple (setq lst '("titi" "toto" "tata" "titi" "toto" "tata" "titi" "toto" "tata" "titi" "toto" "tata")) (while lst (setq tot (length lst) ele (car lst) lst (vl-remove ele lst) new (cons (cons ele (- tot (length lst))) new) ) ) Il y avait aussi ce challenge @+ [Edité le 30/7/2010 par Patrick_35] -
salut, J'avais oublié ce challenge... Voilà ma fonction d'incrémentation : (defun I+ (s / foo) (defun foo (l1 l2) (cond ((= (car l1) (cadddr l1) (car l2)) (if (cdr l2) (foo (cons (cadr l2) (cdddr l1)) l2) l1 ) ) ((and (= (cadr l1) (cadr l2)) (= (caddr l1) (car l2))) (cons (cadr l2) (cdddr l1)) ) ((and (= (cadr l1) (caddr l2)) (= (caddr l1) (car l2))) (foo (cons (caddr l2) (cdddr l1)) (cddr l2)) ) ((and (= (car l1) (caddr l1) (cadr l2)) (= (cadr l1) (car l2))) (cons (caddr l2) (cons (car l2) (cdddr l1))) ) (T l1) ) ) (vl-list->string (reverse (foo (cons 73 (reverse (vl-string->list s))) '(73 86 88 76 67 68 77)) ) ) )
-
Salut, À mon avis, ce "challenge" n'est pas très difficile et beaucoup ici devraient pouvoir y répondre. C'est tout à fait réalisable en pur AutoLISP sauf pour la raison évoquée ci-dessous. La plus grosse difficulté (voire impossibilité), qui mériterait peut-être une modification des consignes, est de trouver"le milieu du premier segment d'une région ou d'un mpolygon". Les données DXF des régions sont cryptées et celles des mpolygons sont semblables à celles des hachures donc assez complexe pour retrouver le contour (en plus, il peut y avoir des ilots). Un autre point mériterait des précision : que faire quand une entité a plusieurs données pour la même application ?
-
coucou le fun !! Thierry, le FUN !! je comprends que c'est un beau challenge ce lisp de mon côté j'ai fait, à ma sauce, des commandes existantes dans Covadis qui ne gère pas tous les cas qui se présentent à nous quelquefois. pour Rhymone, je n'ai même pas le début d'une réponse, désolé j'ai pas encore vraiment travaillé sur les faces3D. amicalement
-
str2lst est ce que j'ai cherché à faire vendredi. Je ne l'ai pas ici mais mon but était de traiter en récursif et j'y étais arrivé en utilisant Vl-position et substr le résultat était moins concis. Moins classe ! Le reste, je n'ai pas regardé, je snobe les problèmes de liste. Mais j'ai souvent à faire avec les listes en string séparées par des virgules vers des liste Autolisp et inversement. J'ai donc intégré des routines depuis longtemps mais elle datent d'une époque où je connaissais à peine le VLisp. (du coup j'ai pas osé les montrer). Depuis l'autre jour : beuaoucp de boulot, du temps pour ma copine et toute la journée à remettre en état des deudeuches pour une expo + un copain qui monte son local traiteur et qui a fait plein de conneries, faute de plans, comme d'hab ! Au secours Tramber ! Challenge 32 : encore perdu !
-
Zebulon_ Sympa le lisp. Tu utilises une liste par paire. Bien vu J'ai fais autrement en utilisant au max la lecture par caractère (defun in(nb str / lst pos txt val val2 valid) (and (eq (type nb) 'STR) (setq nb (read nb)) ) (setq pos 1) (while (/= (setq val (substr str pos 1)) "") (cond ((eq val ":") (if txt (setq lst (cons "to" (cons (read txt) lst))) (setq lst (cons "to" lst)) ) (setq txt nil) ) ((member val '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "." "-")) (if txt (setq txt (strcat txt val)) (setq txt val) ) ) (T (and txt (setq lst (cons (read txt) lst))) (setq txt nil) ) ) (setq pos (1+ pos)) ) (setq lst (reverse (vl-remove '- (if txt (cons (read txt) lst) lst))) pos 0 ) (if (member nb lst) (setq valid T) (while (setq val (nth pos lst)) (and (eq (nth (1+ pos) lst) "to") (setq val2 (nth (+ 2 pos) lst)) (< val nb) (> val2 nb) (setq valid T pos (length lst) ) ) (setq pos (1+ pos)) ) ) valid ) Tramber Il est pas toujours facile de répondre à un challenge, mais c'est oh combien stimulant. Par contre, dès qu'il y a de la 3D, je suis largué Didier Si tu es frustré au dernier degré, ça va, il y a encore de la marge vers le 1er ;) C'est juste une "frustratonnette" :D Il est vrai que j'ai été peu prolixe sur le 1er message, mais on m'a vite fait corriger le tir. Mais cela n'empêche pas de te lancer, même si tu as rien à prouver @+
-
coucou je suis frustré au dernier degré je regarde souvent passer les "challenge" mais si je ne réponds pas, ce n'est pas que je soit une bille en Lisp je n'ai rien à prouver à personne, par ailleurs... mais c'est simplement parce que je ne comprends JAMAIS au grand JAMAIS les énoncés suis-je le seul dans ce cas ? le dernier ne déroge pas à la règle, amicalement désolé
-
Salut merci de vos interventions Mais j'ai jamais dit que le rendu devait etre fait avec autocad voyons... Pourquoi direct se braker ctritique pour en fait ne pas avancer. Je propose un challenge ou le soft de modelisation serait autocad mais pourquoi pas exporter pour le rendu je ne voit pas ou est les soucis car c'est a peu pres le protocole normal. En ce momen tmoi c'est (Autocad+Nova+3D's max). Bon a pres si sa ne vous interesse pas tanpis pour l'autre.
-
Bonjour, pour être moins "dur" que mes collègues, je dirais qu'AutoCAD est un outil formidable pour concevoir en 3d aussi bien en architecture ou en industrie (sauf automobile...)... Mais pour une utilisation technique, pas pour les rendus. Pour le reste, ou pour les personnages, Blender est recommandable! J'ai appris à dessiner en 3d sur A2002, je l'ai fait sur A2006 et maintenant je dessine en 3d sur A2008... Les nouvelles commandes 3d (depuis A2007) sont bien, elles accélèrent le travail, mais on pouvait déjà très bien dessiner avant... Bref un challenge pourquoi pas, mais je pense qu'il y aurait plus de monde si tu lances une idée générale ("dessinez un ... en 3d, les internautes jugeront les plus originaux") qu'en parlant rendu. Chaque dessinateur aura à cœur à vendre sa capacité à utiliser sa version et son imagination créative. Suffit de donner une date butoir et un nombre de coupes et perspectives maximal autorisé, histoire que l'intelligence de la représentation la plus optimale soit prise en compte... Enfin, moi ce que j'en dis... [Edité le 14/4/2010 par Chanoine]
-
Alor moi je propose un challenge du plus bel escalier en 3D ! Ou de la plus belle 2CV. Ca m'arrange :cool:
-
Tentant comme challenge et cela peut donner des sous challenges : - décrémenter un nombre - additionner deux nombres (ou plus) - soustraction entre deux nombres (ou plus) - multiplication deux nombres (ou plus) - division deux nombres (ou plus) Mais avec le contexte en ce moment au bureau, je n'ai pas le temps :( je suis blindé pour 2 mois encore...
-
Autodesk nous propose ce petit jeu, saurez vous distinguer les vraies des fausses photos?: http://area.autodesk.com/fakeorfoto/challenge
-
Périmètre sur table de nomenclature
Curcis a répondu à un(e) sujet de Curcis dans AutoCAD Architecture
Hi hi hi j'ai lancé mon formateur sur le sujet. Visiblement le challenge va jusqu'aux gars d'Autodesk. J'attends des nouvelles..... Et vous tiens au courant A première vu ce n'est pas possible. On verra bien. Si ça ne marche pas, je continuerai à faire mes métrés pour le carreleur "à la main". A suivre donc -
Moi je trouve ca super pratique quand même :D HS: ca rejoint un peu le fichier xml que je génère comme par exemple ici : http://bseb67.free.fr/cadxp/challenge/30/test.xml en fait, j'avais envoyé un mp assez rapidement, avec le lien, du fait que je voulais laisser du temps aux autres. ;)
