Aller au contenu

VDH-Bruno

Membres
  • Compteur de contenus

    1 146
  • Inscription

  • Dernière visite

  • Jours gagnés

    20

Tout ce qui a été posté par VDH-Bruno

  1. Commande : (int2str 100 4) "01" Commande : (int2str 1000 4) "1" Commande : (int2str 10 4) "001" Commande : (int2str 12 4) "0012" Si DIMZIN différent de 0 Salutations Bruno
  2. Bonjour, Pour compléter, c’est un idiome d’implémentation qui est proposé et que l’on retrouve dans de nombreux codes Autolisp, mais qui n’est pas toujours justifié (avec les codes dxf générique), du moins si c’est pour construire des listes à soumettre à entmake, entmakex, entmod. J’avais ci-dessous tenté d’expliquer le pourquoi, dans un petit décryptage des fonctions entmake, entmakex, entmod: https://cadxp.com/topic/40688-exceptions-et-anomalies-dans-certaines-fonctions-lisp/?do=findComment&comment=227875 Et c’est pourquoi ci-dessus j’avais qualifié mon exemple de code "épuré" A+ Bruno
  3. Bonjour, Oui lorsque tu le mets manuellement la syntaxe est bonne, regarde le nombre de parenthèses diffèrent dans tes 2 expressions. Pour l'exemple une écriture "épuré" de ce que tu veux faire : (entmod (append (entget (car (entsel))) '((62 . 7)))) Cdt Bruno
  4. Bonjour, Sans avoir la possibilité de tester, au premier coup d'œil, je vois un problème de parenthèses essaie de remplacer ceci: ((setq texte (ssget '((0 . "text")))) cpt 0) par (setq texte (ssget '((0 . "text"))) cpt 0) A+
  5. Bonjour à tous, Dans l'appellation "Intelligence Artificielle", je trouve intéressant l'association de ces 2 mots, tout en gardant à l'esprit le sens du radical du mot Artificielle. Ma petite pensée sur le sujet qui fait et fera couler encore beaucoup d'encre😉
  6. VDH-Bruno

    espace insécable

    Bien vu, pas sur que j'aurais réussi à débugger cela en moins de temps que toi. Merci pour le retour, je garderais cela dans un coin de ma tête, sait on jamais.. A+ Bruno
  7. Bonjour -Olivier- J'espère être dans la liste des membres que tu appréciais, bien que je sois en fort retrait sur AutoCAD je ne fais toujours pas partie des retraités, bref je salue avec plaisir ton retour ici. Amicalement Bruno
  8. Bonjour Steven Si tu es toujours dans le même secteur géographique, on peut en discuter en MP si tu le souhaites, l'occasion pour moi de réviser les bases et d'un renvoie d'ascenseur. Salutations Bruno
  9. Bonjour; Peut être que cela répondra à votre besoin: (initget "Oui Non") (setq rep1 (cond ((getkword "\nContinuer ? [Oui/Non] <Oui>: ")) ("Oui")))
  10. Bonjour, Une proposition tiré de cette discussion sans utiliser nth, (traité comme un chalenge perso pour l'approfondissement de ma compréhension du lisp). (defun moveFromTo (from to lst / loop ele) (defun loop (from to lst) (cond ((minusp (max from to)) lst) ((zerop from) (setq ele (car lst)) (loop (1- from) to (cdr lst))) ((zerop to) ((lambda (l) (cons ele l)) (loop from (1- to) lst))) (T (cons (car lst) (loop (1- from) (1- to) (cdr lst)))) ) ) (if (/= from to) (loop from to lst) lst ) ) _$ (moveFromTo 2 1 '("Lundi" "Mercredi" "Mardi" "Jeudi" "Vendredi" "Samedi" "Dimanche")) ("Lundi" "Mardi" "Mercredi" "Jeudi" "Vendredi" "Samedi" "Dimanche")
  11. *temps Non pas autant que je le souhaiterais, mais il m'en reste tout de même un petit peu pour te décoder (et te déchiffrer 😁) Sinon même si je ne parle pas couramment le F#, je lirais avec intérêt ces lignes de codes, j'aime bien comprendre les avantages qu'offrent d'autres langages, cela me permet par la suite de réussir à développer des approches différentes pour d'autres problèmes.
  12. (decryptChars "X¨»²¦r|si¯´vu¬i°lqi©j" "(gile)") 😉
  13. Bonjour, Très rapidement étant en temps limité... J'ai retapé ma version de l'époque basé sur l'intégralité de la table de code ASCII, très proche de l'algorithme décrit dans la page Wikipédia: (defun vigenere_ASCII (text key mode / i lgkey) (setq i -1 mode (if mode + -) key (vl-string->list key) lgkey (length key) ) (vl-list->string (mapcar '(lambda (x) (setq i (1+ i)) (rem (+ 256 (mode x (nth (rem i lgkey) key))) 256)) (vl-string->list text) ) ) ) Pour tester: _$ (vigenere_ASCII "J'adore écoute la radio toute la journée" "MUSIQUE" T) "—|´­ÀǪm>¶¸ÆÉªmÁ´iö©¶Äs½Àʹ²u¿ªq¿´ÂÇÁ2¶" _$ (vigenere_ASCII "—|´­ÀǪm>¶¸ÆÉªmÁ´iö©¶Äs½Àʹ²u¿ªq¿´ÂÇÁ2¶" "MUSIQUE" nil) "J'adore écoute la radio toute la journée" Code que j'ai rapidement adapté pour la demande suivant, sans chercher à plus... Code: (defun vigenere_26 (text key mode / i lgkey) (setq i -1 mode (if mode + -) key (vl-string->list (strcase key)) lgkey (length key) ) (vl-list->string (mapcar '(lambda (x) (cond ((< 64 x 91) (+ (rem (+ 26 (mode (- x 65) (- (nth (rem (setq i (1+ i)) lgkey) key) 65) ) ) 26 ) 65 ) ) ((< 96 x 123) (+ (rem (+ 26 (mode (- x 97) (- (nth (rem (setq i (1+ i)) lgkey) key) 65) ) ) 26 ) 97 ) ) (T x) ) ) (vl-string->list text) ) ) ) Pour tester: $ (vigenere_26 "J'adore ecouter la radio toute la journee" "MUSIQUE" T) "V'uvwhy ioimbul pm lslyi xaolm bu naojvuy" _$ (vigenere_26 "V'uvwhy ioimbul pm lslyi xaolm bu naojvuy" "MUSIQUE" nil) "J'adore ecouter la radio toute la journee" (Ps: De mémoire j'avais une autre variante basé sur la création d'une table d'association, un peu plus fastidieuse à réécrire... que de passer par un calcul arithmétique.) A+ Bruno
  14. Perso je me suis déjà confronté à l'exercice par le passé, ne retrouvant pas mes codes, je retaperais ces quelques lignes quand j'aurais un AutoCAD sous la main...
  15. Bonjour, Historiquement le codage/décodage Vigenère dont la table était constitué des 26 caractères alphabétiques, ne tient pas compte de la casse, ni des caractères spéciaux. Le codage étant initialement basé sur une clef, l'introduction d'une seconde clef est le résultat de variantes survenue par la suite. Edit: Oup's corrigé le lapsus 256 par 26😉
  16. Je verrais pour intégrer cette possibilité dans le code, pour l'instant je n'ai pas AutoCAD sous la main, donc en provisoire je te propose de ne charger le lisp que sur les fichiers dont tu dois mettre à jour la numérotation. En provisoire pour ton cas si le lisp n'est pas chargé la numérotation reste figé à chaque changement d'onglet. A+ Bruno
  17. Bonjour La Lozère, Juste pour bien comprendre, tu souhaites supprimer ou désactiver la pagination auto? (Le but étant de la figer je suppose) A+ Bruno
  18. Bonsoir, Petite variation du code de (gile) pour le plaisir de montrer la souplesse du langage, donc si on ne voulait pas passer par le calcul en coordonnée polaire, et préférer passer par le calcule des coordonnées cartésiennes. La variante suivante travaille directement sur les d'opérateurs mathématiques, les arguments fx et fy stockent les opérandes de déplacement (+ -), dans le même esprit que la proposition de BonusCAD, ceci en remplacement des coefficients directeurs +1 ou -1 utilisé dans le code d'origine. (defun fibSpiral (p i / loop b) (setq b (- (sqrt 2.) 1.)) (defun loop (i px py n m fx fy) (vl-list* (list 10 px py) (cons 42 b) (if (< 0 i) (loop (1- i) (fx px m) (fy py m) m (+ n m) (if (= fy -) + -) fx) ) ) ) (entmakex (append (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 (+ i 1)) ) (loop i (car p) (cadr p) 0 1 - +) ) ) )
  19. Merci je prends, j'étais passé à coté de cette propriété. Joli codes comme toujours 🙂
  20. 😂😂😂 Excellent!!! Non Bretagne, c'est moins loin pour moi et j'ai pas trop envie de traverser toute la France, mais si un jour j'y vais, je m'organiserais pour faire étape à Marseille😉
  21. Re, Et pour proposer autre chose, très rapidement une variante de la Spirale Bonifacci (version arc de cercle) (defun SpiralFib (p i / sFib cen ang) (defun make_arc (cen ray angdep angfin) (entmakex (list '(0 . "ARC") (cons 10 cen) (cons 40 ray) (cons 50 angdep) (cons 51 angfin) ) ) ) (setq sFib '(1 1) ang (/ pi 2) cen (polar p (/ pi 2) 1.) ) (make_arc cen 1. (- ang) 0.) (make_arc cen 1. 0. ang) (repeat (- i 2) (setq cen (polar cen (+ ang pi) (cadr sFib)) sFib (cons (+ (car sFib) (cadr sFib)) sFib) ) (make_arc cen (car sFib) ang (setq ang (+ ang (/ pi 2)))) ) )
  22. Bonsoir, Bientôt en vacances donc j'ouvre le bal: Spirale Bonifacci (version polyligne) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Spirale Fibonacci ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun spiralFib (p i / make_courbe tan) (defun tan (ang) (/ (sin ang) (cos ang))) (defun make_courbe (dxf42 p ang corde1 corde2 i) (if (>= i 0) (cons (cons 10 p) (cons dxf42 (make_courbe dxf42 (polar p ang corde1) (+ ang (* 0.5 pi)) corde2 (+ corde1 corde2) (1- i)) ) ) ) ) (entmakex (append (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 i) ) (make_courbe (cons 42 (tan (* 0.125 pi))) p (* 0.25 pi) (sqrt 2) (sqrt 2) i) ) ) ) La variante Spirale d'Or (version polyligne) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Spirale d'Or ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun spiralOr (p i / make_courbe tan) (defun tan (ang) (/ (sin ang) (cos ang))) (defun make_courbe (dxf42 p ang corde phi i) (if (>= i 0) (cons (cons 10 p) (cons dxf42 (make_courbe dxf42 (polar p ang corde) (+ ang (* 0.5 pi)) (* corde phi) phi (1- i))) ) ) ) (entmakex (append (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 i) ) (make_courbe (cons 42 (tan (* 0.125 pi))) p (* 0.75 pi) (sqrt 2) (/ (1+ (sqrt 5)) 2.) i) ) ) ) Salutations Bruno
  23. Bonjour (gile) Juste une petite précision dans la modélisation pour le premier rayon de la Spirale d'or (qui est infini), tu pars sur une valeur de 1 (comme pour la spirale de Bonifacci)? La petite précision est utile, pour pouvoir superposer aisément les Spirales au moment de la correction 😉. Autre précision lorsque je lis ceci dans le lien sur Wikipédia : L'assertion suivant me dérange "une spirale d'or est une spirale logarithmique", car une spirale logarithmique est une spirale de croissance continue, ce que n'est pas la spirale d'or qui a un facteur de croissance à chaque quart de tour. Ouf heureusement que c'est précisé à la fin de la phrase, pour invalider l'assertion de départ... A+ Bruno
  24. C'est bon pour moi aussi, j'ai emprunté le poste de travail d'un collègue équipé d'un AutoCAD full, pendant la pause déjeuné.
  25. Génial, je n'ai pas d'AutoCAD Full sous la main actuellement, donc je devrais pas être en mesure de proposer quelque chose de suite (pas avant une bonne semaine), mais dès que c'est possible je tenterai un truc, ne serait ce que pour valider les 2 à 3 petites idées qui me viennent en tête à la lecture de l'énoncé :)
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité