Aller au contenu

(gile)

Moderateurs
  • Compteur de contenus

    12 247
  • Inscription

  • Dernière visite

  • Jours gagnés

    208

Tout ce qui a été posté par (gile)

  1. (gile)

    j\'suis bete ou quoi!

    J'avais bien compris.
  2. (gile)

    j\'suis bete ou quoi!

    salut, Je ne suis pas très sûr de moi et je n'ai pas 2006 sous la main (de plus j'ai plutôt tendance à désactiver la saisie dynamique),mais il me semble que l'angle par rapport au dernier segment est accessible par le Repérage polaire, donc seulement selon l'incrémentation d'angle que tu y auras paramétrée.
  3. (gile)

    Choix d\'un portable pour CAO

    Sans vouloir faire de pub non plus, 2 exemples de portables 17" avec pavé numérique intégré ici et là. Il devrait te rester assez pour une souris et de la RAM supplémentaire.
  4. (gile)

    Choix d\'un portable pour CAO

    Certes, mais c'est tout de suite moins facile à transporter ;) Je pense qu'il est possible de trouver un 17" avec ton budget, en 4x3, je crois que çà ne se fait plus (plus chez acer en tous cas), mais un format panoramique peut convenir pour Inventor (avec tous les outils à droite). Regarde du côté de HP.
  5. (gile)

    Choix d\'un portable pour CAO

    Salut, je ne connais pas les caractéristiques des modèles que tu proposes, ni les besoins d'Inventor en terme de processeur, mémoire vive et carte graphique (ce qui prime, il me semble) mais pour faire de la CAO sur un portable ma priorité serait la taille de l'écran ! Personnellement, j'ai préféré opter pour un "transportable" avec un vrai écran 17" en 4X3. [Edité le 2/11/2005 par (gile)]
  6. Salut, J'ai essayé ton code aujourd'hui, çà a marché sur 24 régions, à condition d'ajuster l'échelle des hachures à la taille du dessin (sinon messsage d'erreur style "densité des hachures..."). As tu essayé ce que propose Bonuscad (le motif "SOLID") ? Tu saurais déjà si ton problème est un problème d'échelle ou non.
  7. (gile)

    feronnerie

    Salut, tu peux trouver ici un utilitaire plutôt bien fait.
  8. Salut, Dans une version antérieure à 2006 : - Si tu veux intégrer ton Lisp à un menu déroulant existant, dans le fichier *.mns courant, ajoute ta commande en respectant la syntaxe : ***POP7 **DRAW ID_MnDraw [&Dessin] ID_Ma_Commande [Ma Commande]^C^CMonLisp - tu peux aussi créer ton propre menu déroulant à rajouter après les autres soit directement dans le *.mns courant : ***POP12 **MONMENU ID_MonMenu [Mon Menu] ID_Ma_Commande [Ma Commande]^C^CMonLisp Ces modifications ne prendront effet qu'après le chargement du fichier modifié (commande Menu). Si tu ne veux pas modifier le menu AutoCAD.mns original tu peux en faire une copie, y ajouter tes commandes et l'enregistrer (sous "monmenu.mns" par exemple) dans un dossier du chemin de recherche des fichiers de support. soit dans un sous groupe de menu que tu crées avec le bloc note et que tu enrgistres sous Menu_Perso.mns (par exemple) dans un dossier du chemin de recherche des fichiers de support et que tu chargeras avec la commande chargmnu. Ton fichier doit commencer comme ceci : ***MENUGROUP=MENUPERSO ***POP1 **MONMENU1 ID_MonMenu [Mon Menu] ID_Ma_Commande [Ma Commande]^C^CMonLisp Sous AutoCAD 2006 : Commande iup, dans la fenêtre en bas à droite choisis Nouvelle , dans la fenêtre de droite, remplace Commande 1 par le nom de ta commande, ajoute après ^C^C le nom de ta commande et une description, si tu veux. Ensuite dans la fenêtre en haut à gauche, déploie l'arborescence des menus et par "cliquer/glisser" dépose ta commande où tu veux (tu peux y avoir créer un nouveau menu avant) J'espère avoir été clair. PS : Je te conseille de lire le "Guide de personnalisation" dans l'aide d'AutoCAD. [Edité le 2/11/2005 par (gile)]
  9. Désolé, je ne vois pas. De même, je ne comprends pas pour (setq n (1+ n)) ou (setq n (+ 1 n)), les deux devraient fonctionner pareilllement. Ton code me semble correct, mais je ne peux pas l'essayer pour l'instant. À plus...
  10. Salut, je ne suis pas sûr, mais il me semble que sur certaines versions (2002 par exemple) on ne pouvait hachurer que les entités entièrement visibles à l'écran. Essaye de faire un (command "_zoom" "_extents") au début de ton lisp et (comand "_zoom" "_previous") à la fin.
  11. (gile)

    Conversion d\'unités

    Ce LISP n'est qu'un "enrobage" de ta méthode (cvunit) et il est moins complet, je n'ai retenu que certains types d'unités et que les unités courantes métriques et anglo-saxones pour une utlisation plus pratique. Pour ceux qui travaillent en lieue, angström ou années lumières, qui rêvent de gallons, de tonneaux, de miles nautiques... une version plus complète :present: : ;;; Convertisseur (defun c:conv_unit (/ typ_lst ang_lst long_lst mas_lst surf_lst tps_lst vol_lst dcl_id what_next rslt lst ) ;; Mise à jour des listes (defun maj_lst () (cond ((= (get_tile "typ_unit") "0") (setq lst ang_lst) ) ((= (get_tile "typ_unit") "1") (setq lst long_lst) ) ((= (get_tile "typ_unit") "2") (setq lst mas_lst) ) ((= (get_tile "typ_unit") "3") (setq lst surf_lst) ) ((= (get_tile "typ_unit") "4") (setq lst tps_lst) ) ((= (get_tile "typ_unit") "5") (setq lst vol_lst) ) ) (start_list "de_unit") (mapcar 'add_list lst) (end_list) (start_list "en_unit") (mapcar 'add_list lst) (end_list) ) ;; Mise à jour du champ du résultat (defun maj_rslt (/ mode) (setq rslt (cvunit (atof (get_tile "nombre")) (nth (atoi (get_tile "de_unit")) lst) (nth (atoi (get_tile "en_unit")) lst) ) ) (if (or ( ( ) (setq mode 1) (setq mode 2) ) (if (zerop rslt) (set_tile "result" "") (set_tile "result" (rtos rslt mode)) ) ) ;; Fonction principale (setq typ_lst '("angle" "distance" "masse" "aire" "temps" "volume") ang_lst '("cercle" "degré" "grade" "quadrant" "radian") long_lst '("angström" "année_lumière" "bolt" "cable" "caliber" "centimètre" "chain" "cubit" "décimètre" "décamètre" "fathom" "furlong" "gigamètre" "hectomètre" "kilomètre" "lieue" "link" "main" "mètre" "micropouce" "micron" "mile_nautique" "mille" "millimètre" "nanomètre" "pas" "paume" "parsec" "perche" "pica" "pied" "point" "pouce" "rod" "rope" "span" "survey_foot" "yard" ) mas_lst '("dalton" "dyne" "grain" "gramme" "hundredweight" "kilogramme" "livre" "long_ton" "once" "ounce_troy" "pennyweight" "poundal" "quintal" "scruple" "slug" "stone" "ton" "tonne" ) surf_lst '(" acre" "are" "barn" "centare" "centimètre_carré" "hectare" "kilomètre_carré" "mètre_carré" "millimètre_carré" "pouce_carré" "pied_carré" "rood" "section" "township" "yard_carré" ) tps_lst '("seconde" "minute" "heure" "jour" "semaine" "quinzaine" "année" "décade" "siècle" "millénaire" ) vol_lst '("baril" "board_foot" "boisseau" "centilitre" "cord" "centimètre_cube" "décalitre" "décastère" "drachme" "dry_pint" "dry_quart" "firkin" "fluid_ounce" "gallon" "gill" "hectolitre" "hogshead" "kilderkin" "kilolitre" "kilomètre_cube" "litre" "mètre_cube" "millilitre" "millimètre_cube" "minim" "peck" "pint" "pottle" "pouce_cube" "pied_cube" "puncheon" "quart" "tonneau" "seam" "stère" "tun" "yard_cube" ) ) (setq dcl_id (load_dialog "convert.dcl")) (if (not (new_dialog "conv_unit" dcl_id)) (exit) ) (start_list "typ_unit") (mapcar 'add_list typ_lst) (end_list) (maj_lst) (action_tile "typ_unit" "(maj_lst) (set_tile \"result\" \"\"))" ) (foreach cle '("de_unit" "en_unit" "nombre") (action_tile cle "(maj_rslt)") ) (action_tile "accept" "(done_dialog 1)") (start_dialog) (unload_dialog dcl_id) rslt ) [Edité le 1/11/2005 par (gile)]
  12. Pour ceux qui n'ont pas la calculatrice d'AutoCAD 2006 et son convertisseur d'unités. Boite de dialogue, fichier à enregistrer sous convert.dcl dans un dossier du chemin de recherche des fichiers de support : conv_unit:dialog{ label="Convertisseur"; initial_focus="nombre"; :popup_list{ label="Type d'unités"; key="typ_unit"; edit_width=15; } :row{ :boxed_column{ label="Convertir"; :popup_list{ label="de: "; key="de_unit"; edit_width=16; } :popup_list{ label="en: "; key="en_unit"; edit_width=16; } } :boxed_column{ label="Valeur"; :edit_box{ key="nombre"; value=""; edit_width=12; } :edit_box{ key="result"; edit_width=12; is_tab_stop=false; } } } spacer_1; ok_only; } Fichier LISP : ;;; Convertisseur (defun c:conv_unit (/ typ_lst ang_lst long_lst mas_lst surf_lst tps_lst vol_lst dcl_id what_next rslt lst ) ;; Mise à jour des listes (defun maj_lst () (cond ((= (get_tile "typ_unit") "0") (setq lst ang_lst) ) ((= (get_tile "typ_unit") "1") (setq lst long_lst) ) ((= (get_tile "typ_unit") "2") (setq lst surf_lst) ) ((= (get_tile "typ_unit") "3") (setq lst vol_lst) ) ) (start_list "de_unit") (mapcar 'add_list lst) (end_list) (start_list "en_unit") (mapcar 'add_list lst) (end_list) ) ;; Mise à jour du champ du résultat (defun maj_rslt (/ mode) (setq rslt (cvunit (atof (get_tile "nombre")) (nth (atoi (get_tile "de_unit")) lst) (nth (atoi (get_tile "en_unit")) lst) ) ) (if (or ( ( ) (setq mode 1) (setq mode 2) ) (if (zerop rslt) (set_tile "result" "") (set_tile "result" (rtos rslt mode)) ) ) ;; Fonction principale (setq typ_lst '("angle" "distance" "aire" "volume") ang_lst '("degré" "grade" "radian" "cercle" "quadrant") long_lst '("millimètre" "centimètre" "mètre" "kilomètre" "pouce" "pied" "yard" "mile" ) surf_lst '("millimètre_carré" "centimètre_carré" "mètre_carré" "kilomètre_carré" "pouce_carré" "pied_carré" "yard_carré" "acre" ) vol_lst '("millimètre_cube" "centimètre_cube" "mètre_cube" "kilomètre_cube" "pouce_cube" "pied_cube" "yard_cube" ) ) (setq dcl_id (load_dialog "convert.dcl")) (if (not (new_dialog "conv_unit" dcl_id)) (exit) ) (start_list "typ_unit") (mapcar 'add_list typ_lst) (end_list) (maj_lst) (action_tile "typ_unit" "(maj_lst) (set_tile \"result\" \"\"))" ) (foreach cle '("de_unit" "en_unit" "nombre") (action_tile cle "(maj_rslt)") ) (action_tile "accept" "(done_dialog 1)") (start_dialog) (unload_dialog dcl_id) rslt ) Pour lancer la commande taper : conv_unit, il est possible d'appeler la commande de manière transparente pour répondre à une invite en tapant 'conv_unit [Edité le 1/11/2005 par (gile)]
  13. (gile)

    talus

    Salut, Je m'immisce, quand Didier dit: c'est une façon générique pour expliquer comment charger un programme LISP, "progamme" symbolisant le nom du fichier LISP à charger. Dans le cas qui t'intéresse il te faut taper : (load "talus") ou (load "talus.lsp") pour charger le fichier dans le dessin. Ensuite, pour lancer la commande, il te faut taper talus, dans ce cas là, plus généralement, dans les fichiers LISP, la commande à taper pour lancer le programme se trouve après le c: dans la définition de la fonction : (defun c:commande ... En espérant avoir répondu à tes questions.
  14. (gile)

    texte multiligne

    Sacré Bonuscad, tes ressources semblent intarissables ! en tous cas moins facilement épuisables que les réserves pétrolifères de la planète ;) . Le LISP que tu propose marche très bien et son décriptage montre bien combien la tache n'est pas si simple ! Pour l'exemple qui posait problème ("{26,6 m{\\H0.7x;\\S2^ ;}}"), on peut tout cocher sauf Height et Stacking (respectivement \\H et \\S). Merci à tous, j'ai encore beaucoup appris sur ce coup :D [Edité le 29/10/2005 par (gile)]
  15. Salut, Pour créer de hachures personnalisées,il y a un utilitaire (LISP) ici qui marche plutôt bien !
  16. (gile)

    C\'est pour rire

    Salut, Le rire "fait main" c'est forcément meilleur ;)
  17. (gile)

    texte multiligne

    Après avoir regardé d'un peu plus près la dernière routine de Patrick_35 et les exemples à problème, le seul à poser vraiment "problème" me semble être : "{26,6 m{\\H0.7x;\\S2^ ;}}" Tel quel, à l'écran s'affiche : 26,6 m2 (avec le 2 de carré en petit et en exposant) Après exécution de la dernière version de Patrick on obtient 26,6 à l'écran et l'index donne : 26,6 m{} Pour les accolades persistantes, facile, on fait une boucle sur ces caractères jusqu'à ce qu'il n'y en ait plus. Pour le carré en exposant, j'ai rajouté un contrôle sur "\\H" et "\\S" ("\\H0.7x" semble être le code pour diminuer la taille du chiffre et "\\S2^" la mise du 2 en exposant), mais la question reste entière pour d'autres caractères spéciaux dont je ne connais pas les codes... Voilà donc une nouvelle mouture : (defun c:modif_txt (/ ss cmpt str deb fin str_d) (setq cmpt 0) (if (setq ss (ssget "_X" '((0 . "MTEXT")))) (while (setq ent (ssname ss cmpt)) (setq ent (entget ent) str (cdr (assoc 1 ent)) pos 0 ) (while (setq deb (vl-string-position 92 str pos) fin (vl-string-position 59 str pos) ) (setq str_d (substr str (1+ deb) (- (1+ fin) deb))) (if (or (vl-string-search "\\H" str_d) (vl-string-search "\\S" str_d) ) (setq pos fin str (vl-string-subst "" ";" str) ) (setq str (vl-string-subst "" str_d str)) ) ) (while (vl-string-search "{" str) (setq str (vl-string-subst "" "{" str)) ) (while (vl-string-search "}" str) (setq str (vl-string-subst "" "}" str)) ) (setq ent (subst (cons 1 str) (assoc 1 ent) ent)) (entmod ent) (entupd (cdr (assoc -1 ent))) (setq cmpt (1+ cmpt)) ) ) (princ) ) [Edité le 29/10/2005 par (gile)]
  18. (gile)

    texte multiligne

    Merci de prendre le relais, Patrick, je suis un peu largué avec les vl-string-.... J'étudie tes réponses...
  19. (gile)

    texte multiligne

    Si tu as le temps, pourais tu faire (cdr (assoc 1 (entget (car (entsel))))), sur les MTEXT qui ne marchent pas ("26.2m²" par exemple ) et me communiquer les résultats. Merci.
  20. (gile)

    texte multiligne

    C'est pas au point, mon histoire, de mon côté j'ai remarqué que çà ne marchait pas avec les "couleurs vraies" (version 2004 et postérieures). J'ai un peu moins de temps cet après midi mais je vais quand même essayer d'approfondir... À plus...
  21. (gile)

    texte multiligne

    Re, Le même, sans chercher à donner au MTEXTE la couleur "forcée", il prendra la couleur "DUCALQUE" ou celle modifiée via les propriétés. (defun c:modif_txt (/ ss cmpt ed str) (setq ss (ssget "_X" '((0 . "MTEXT") (1 . "{*"))) cmpt 0 ) (if ss (while (setq ent (ssname ss cmpt)) (setq ed (entget ent) str (cdr (assoc 1 ed)) ed (subst (cons 1 (substr str (+ (vl-string-search ";" str) 2) (- (strlen str) (+ (vl-string-search ";" str) 2) ) ) ) (assoc 1 ed) ed ) ) (entmod ed) (setq cmpt (1+ cmpt)) ) ) (princ) )
  22. (gile)

    texte multiligne

    Salut, Voici un petit LISP qui change tous les MTEXT à la couleur forcée par l'éditeur de texte en MTEXT à la couleur modifiée (la même) à l'aide des propriétés (plus de {\\C... dans l'index) : (defun c:modif_txt (/ ss ent ed str) (setq ss (ssget "_X" '((0 . "MTEXT") (1 . "{*"))) cmpt 0 ) (if ss (while (setq ent (ssname ss cmpt)) (setq ed (entget ent) str (cdr (assoc 1 ed)) ed (subst (cons 1 (substr str (+ (vl-string-search ";" str) 2) (- (strlen str) (+ (vl-string-search ";" str) 2) ) ) ) (assoc 1 ed) ed ) ) (if (assoc 62 ed) (setq ed (subst (cons 62 (read (vl-string-left-trim "{\\C" str))) (assoc 62 ed) ed ) ) (setq ed (append ed (list (cons 62 (read (vl-string-left-trim "{\\C" str)))) ) ) ) (entmod ed) (setq cmpt (1+ cmpt)) ) ) (princ) )
  23. Salut, (setq lon 3) définit une variable : lon, et lui affecte comme valeur le nombre entier 3. Sans vouloir t'offenser, si tu ne sais pas interpréter cette expression LISP, je crains que tu n'aies beaucoup de mal à faire fonctionner une boite de dialogue à l'aide des langages LISP et DCL. À mon avis tu devrais d'abord bien dégrossir tes connaissances en LISP avant de t'attaquer aux boites de dialogue, comme on dit : il vaut mieux ne pas mettre la charrue avant les boeuf. Amicalement. PS :Je veux bien, dans la mesure de mes possibilités et disponibilités, continuer à esssayer de t'aider. [Edité le 27/10/2005 par (gile)]
  24. Salut Esbe, Ne t'offense pas si tu connais par coeur ce que je dis. Pour voir l'effet des changements de PSLTSCALE dans une fenêtre de présentation il faut régénérer la vue (après un double clic dans la fenêtre) La valeur de LTSCALE (ou ECHLTP) influe aussi sur l'échelle des lignes de l'espace papier. [Edité le 27/10/2005 par (gile)]
  25. Salut, Je t'encourage fortement à persévérer dans ton apprentissage du LISP et te souhaite d'y trouver autant de plaisir que moi... Mais pour te faire gagner du temps dans le dessin des profilés, tu peux trouver ici un utilitaire plutôt bien fait. [Edité le 27/10/2005 par (gile)]
×
×
  • 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é