Aller au contenu

Bred

Membres
  • Compteur de contenus

    2 764
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bred

  1. Salut, Je ne comprends pas : quand tu fais un (setq nomdumodule "beton") tu met juste la chaine "béton" dans la variable nomdumodule. "béton" est différent de ta fonction beton Tu as deux possibilités : (defun c:test1 () (princ "test 1") (princ) ) (defun test2 () (princ "test 2") (princ) ) pour appeler test1 : (c:test1) pour appeler test2 : (test2)
  2. ... je viens de le tester sur la 2011, ça fonctionnes toujours... (qu'est-ce qu'il est bon le gars qu'à fait ça !) :P - Tu lances CEP - tu sélectionnes un cadre (un bloc) - tu sélectionnes ensuite par une fenêtre de capture tous les cadres que tu veux traiter (si tu les veux dans l'ordre, faut les sélectionner un par un) - tu donnes le nom de l'onglet (ici F00) - tu valides. - tu laisses faire. Pour que tu n'ai pas d'erreur, tu paramètres un onglet (que tu pourras supprimer ensuite) tous comme tu veux : L'imprimante, le zoom, etc... en cadran bien la fenêtre sur un de tes folio.
  3. salut, Ce que tu viens d'expliquer est exactement ce que devrait faire le lisp "CEP". Mais ça fait longtemps qu'il a été fait, et je ne l'ai pas testé sur les dernières.... quelle version d'Autocad utilises tu ?
  4. Salut, Si ce n'est sur les raccourcis, aucune idée. Par contre, si c'est les outils de modifications, vois pour déverrouiller les calques....
  5. Bred

    Premier LISP à critiquer

    Salut, cmdecho permet de ne pas avoir les commandes passer dans le lisp écrient sur la ligne de commande (cela fait plus propre). Par contre, et là ça commence à être un peu plus délicat, c'est que si tu changes la valeur de cette variable, mais qu'il y a une erreur ou une interruption utilisateur pendant le déroulement du lisp (esc), la valeur n'est pas re-initialisé, et tu te retrouve donc avec "plus rien" sur ta ligne de commande.... (et c'est le cas dans tous lisp où tu modifieras des variables). pour éviter ce problème, il faut créer une gestion d'erreur (et c'est d'ailleurs (gile) qui m'a appris comment faire... comme un peu tout -en lisp-) Mais cela est peut-être encore un peu compliqué pour tes premiers lisp, saches tout de même que cela existe. Le seul conseil que je rajouterai (mais pour un code aussi succin ce n'est pas obligatoire... mais cela permet de s'habituer à la lecture/écriture) c'est que tu peux éviter d'écrire tous les (setq.... à la suite : comme cela : (setq L (getreal "\nLongueur baffle: ") Ep (getreal "\nEpaisseur baffle: ") N (getint "\nNombre de baffles: ") Ec (getreal "\nEcartement des baffles: ") P0 (getpoint "\nPt d'insertion PAS: ")) ... et aussi essaye de ne pas écrire des lignes inutiles en remplissant des variables inutilement : remplace (setq P1 (list (+ (car P0) L Ec) (+ (cadr P0) (* N (+ Ep Ec))))) (command "rectangle" P0 P1) par (command "rectangle" P0 (list (+ (car P0) L Ec) (+ (cadr P0) (* N (+ Ep Ec)))))
  6. OK, je penses avoir compris, je n'aie pas map mais ça doit être cela : Construit ta liste avec la fonction list (enlève apostrophe avant la " (") : (ade_qrydefine ([b]list[/b] "" "" "" "SQL ([b]list[/b] var1 "SURFACE > 8 AND DESCRIPTION = 'BUREAU'")"")) [Edité le 21/1/2011 par Bred]
  7. Salut, c'est assez difficile de te répondre, mais si j'ai bien compris l'erreur doit venir de là : (ade_qrydefine '("" "" "" "SQL" (var1 "SURFACE > 8 AND DESCRIPTION = 'BUREAU'")"")) pour assembler plusieurs chaines ensemble, utilise la fonction "strcat". (strcat "toto" " va " "se promener") = "toto va se promener"
  8. Bred

    protégé son code source

    Salut, grâce à l'éditeur Visual lisp intégrer à AutoCAD, tu peux compiler tes lisps en un fichier .vlx normalement non re-travaillable.
  9. Re, Si j'ai bien tout suivi, ton but est donc de faire un déplacer, mais comme tu dois traiter un très grand nombre d'objet, tu passe par la création de bloc constitué de toute tes entités que tu déplace puis explose ? Si c'est cela, je pense que tu fais en partie fausse route : ce qui ralenti le déplacement d'un objet est je pense en premier lieu l'affichage. Je n'ai pas essayer, mais pour passer outre l'affichage, l'un des moyens est de ne plus afficher tes objets à l'écran au moment du déplacement et du "raffichage". Voir de travailler sur ton fichier sans l'ouvrir grâce aux fonctions ObjectDbx (http://www.cadxp.com/sujetXForum-13402.htm)
  10. Re, j'avoue ne pas comprendre ta question alors.... Que cherches-tu a faire exactement ? (PS : nous sommes bien d'accord que tu es dans le forum lisp ?)
  11. Salut, Tu veux donc faire un déplacer mais en changeant le handle de ton entité ? En autolisp, commande copier puis effacer. en vl : vla-copy puis vla-delete. [Edité le 20/1/2011 par Bred]
  12. Bred

    Affichage delta en ordonnée

    Salut, Commande "Distance" (ou "di")
  13. Bred

    fichier VLX

    ... faites un peu attention.... :( ...ou une solution parmi d'autre : tu fais "glisser" le fichier dans ta fenêtre graphique.
  14. Bred

    fichier VLX

    Tapes dessus avec ta tête.... ou alors relis les messages précédent.. c'est un fichier crypté, illisible. Mais si tu veux vraiment l'ouvrir, fait le avec l'éditeur de texte.... tu comprendras mieux alors.... (tu changes le .vlx par .txt)
  15. Bred

    souci avec Orbite 3D

    Non, c'est une commande à part. Jai remarqué que pour l'orbite, il faut essayer de mettre l'ensemble du plan vers la 0.0.0 du SCG. Cela à toujours été pour moi.
  16. Bred

    Coupes et Sections

    Salut, Regarde dans l'aide "PLANDECOUPE".
  17. Bred

    mise a lechelle

    Salut et bienvenue, Tu lance l'outils echelle, et à partir du point d'insert du bloc tu met un facteur de 0.01. si tu inserts les blocs, tu peux changer le facteur d'échelle à l'insertion dans le contrôle des unités (UNITES)
  18. Bred

    Outil de vérification

    salut, Pour vérifier sur quelque calque est un objet, tu clic dessus, le calque de l'objet sera afficher sur le menu déroulant des calques. Pour vérifier si plusieurs objets (différents ?) sont sur le même calque, ben ça fait parti du travail du dessinateur de le faire à la création.... comment veux-tu vérifier une multitude d'objets différents éparpillés, dans un dessin ayant une multitude d'objets sur des calques différent ??? Tu peux à l'envers vérifier quel objet sont un calque avec la sélection rapide comme décrit plus haut, que vouloir de "plus automatique" ?
  19. Bred

    F# ?!

    Salut, Ah ! ça c'est déjà un très bon point en comparaison au vb.net !.... Merci pour tous ces renseignements.
  20. Bred

    assoc complet

    Salut, merci (gile), et tu as raison d'être pointilleux sur le vocabulaire, c'est plus parlant. Bravo pour la routin, et le test de la paire pointé est tellement simple que je m'en veux de ne pas y avoir pensé ! (or (and (atom (cdr x)) (= (cdr x) ele)) Encore merci à tous.
  21. Bred

    assoc complet

    Salut, Merci pour l'idée, c'est en effet une solution.
  22. Bred

    assoc complet

    ... ah, zut, je coince. ça ne fonctionne pas si il y a des paires pointés... (member "U" (cons 1 "U")) = erreur....
  23. Bred

    assoc complet

    ... merci, mais il y a plus simple en fait : (defun assoc-full (el lst / x) (vl-remove-if '(lambda (x) (not (member el x))) lst) )
  24. Bred

    assoc complet

    ... j'en avais un autre mais je n'arrive pas à enlever la valeur nil de la liste.... (defun assoc-full (el lst /) (mapcar '(lambda (x) (if (member el x) x)) lst) ) (assoc-full "U" (list '(1 "U" 4) '(6 8 "U") '(5 2 8))) = ((1 "U" 4) (6 8 "U") nil)
  25. Bred

    assoc complet

    Salut, je viens de faire ça, c'est pas compliqué mais ça peut-être utile je pense : (et si vous avez "plus beau...) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Assoc sur tous les éléments des sous-listes ; ; -> (assoc-full "U" (list '(1 "U" 4) '(6 8 "U") '(5 2 8)))= ((1 "U" 4) (6 8 "U")); (defun assoc-full (el lst / x) (foreach n lst (if (member el n) (setq x (append x (list n))))) x )
×
×
  • 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é