Aller au contenu

bonuscad

Membres
  • Compteur de contenus

    5 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    56

Tout ce qui a été posté par bonuscad

  1. Juste pour info. Le code de retour de (grread) pour les clicks-droit est influencé par la variable SHORTCUTMENU anisi que les associations avec Shift et Control on peut tester comme ceci (setq n 0)(repeat 16 (setvar "SHORTCUTMENU" n) (print (itoa n)) (princ (grread)) (setq n (1+ n)) ) [Edité le 31/3/2007 par bonuscad]
  2. bonuscad

    commande _pedit magique

    Moi j'aime bien ce qui est magique... Mais si tu ne veux pas dévoiler ton tour de passe-passe! :(
  3. Bred, Sans avoir testé, je regarderais vers la variable TARGET, elle définit le point cible de la caméra. Le point source étant, je suppose la variable VIEWCTR. Avec ces 2 variables, il y a peut être moyen d'en déduire le positionnement désiré des plans de délimitations avant et arrière?
  4. En ligne de commande ceci ne fonctionne pas ? Commande: (getenv "MaxHatch") "10000" Retourne la valeur actuelle de MaxHatch Commande: (setenv "MaxHatch" "40000") "40000" Fixe l'environnement de MaxHatch à 40000.
  5. bonuscad

    Clop -inette

    Quand je lis ce genre d'article , je fini par penser que cette loi est inutile car elle ne vas pas à l'essentiel. L'essentiel à mon avis serait de protéger les générations futures du tabagisme (pour moi c'est trop tard, je suis presque incurable), mais quand je vois que les gouvernements sont incapable de faire façe aux industriels, je doutes quand tapant sur le consommateur on résolve le problème à long terme (il faut dire que pour les gouvernements c'est plus facile, comme d'hab on culpabilise les petits pour cacher son impuissance devant les gros) C'est un peut comme l'automobile, on vous culpabilise en disant que vous roulez trop vite et on vous réprimande en vous flashant, alors que les constructeur continuent à produire des véhicules puissants ET polluants. Résultats des courses, de plus en plus de gens roulent sans permis. Si l'intention des ces lois sont louables, elles ont des effets non souhaités car on a pas traité la cause du problème. PS: Je respecte encore les non-fumeurs et conduis avec un permis, mais jusqu'à quand? L'époque de la prohibition de l'alcool en Amérique à entrainé ce que l'on sait, pour moi le tabac va suivre le même chemin avec les conséquences que l'on connait aussi. Qui sera le Al Capone du siècle...
  6. Fais une recherche dans le forum avec le mot "MAXHATCH", tu auras ta réponse. Ou dans l'aide d'Autocad avec le même mot
  7. Il est très bien ce petit prog pour un débutant ;) Cependant il serait bien aussi de tenir compte des erreurs de saisies de l'utilisateur. Pour ceci tu as la fonction (initget) qui répond très bien à ce besoin. (voir l'aide pour le bit de controle) Donc ceci par exemple serait mieux (initget 1) (setq som (getpoint "\n1ere angle de la porte: ")) (initget 1) (setq pt1 (getpoint som "\n2eme angle de la porte: ")) ;(setq oldosmode (getvar "osmode")) ;(setvar "osmode" 0) (initget 33) (setq pt2 (getpoint som "\ncoté d'ouverture de la porte: ")) J'ai mis aussi (setvar) en remarque, car tu n'as pas fait de gestion d'erreur et comme tu ne modifie qu'OSMODE, tu peux à la limite te passer de la gestion d'erreur (ESC en cours d'utilisation) en faisant tes commande comme ceci: ; dessine le trait et l'arc (command "_.line" "_none" som "_none" angle50 "") (command "_.arc" "_none" pt1 "_none" angle20 "_none" angle50) ;(setvar "osmode" oldosmode) Dans ce cas la variable ne sera pas changé même en cas d'abandon de la routine. Mais tu peux opter aussi pour la gestion d'erreur, c'est une bonne habitude. PS: note aussi l'usage du "." devant la commande, cela t'assure que tu utilise bien la commande native est non une commande redéfinie (au cas où)
  8. Il y a justement un fil sur un forum US Il semblerais qu'il y ait quelques difficultés avec 2007. En tout cas les lignes proposées fonctionnent bien pour moi (inférieure à 2007) (defun c:test (/ a AutoCAD doc util) (setq AutoCAD (vlax-get-acad-object) doc (vla-get-activedocument AutoCAD) util (vla-get-utility doc) ) (vla-getremotefile util (strcat "http://ichart.finance.yahoo.com/table.csv?s=DYN&a=10&b=10&c=1993&d=09&e=28&f=2006&g=d&ignore=.csv") 'file actrue ) file )
  9. bonuscad

    Message à l\'ouverture!!

    Un truc comme ça, glisser à la fin du fichier acad200ndoc.lsp ? ((lambda ( / first_blk q_xref l_xref l_blk n_blk js l) (setq first_blk (tblnext "BLOCK" T) q_xref nil l_xref nil l "") (cond (first_blk (setq l_blk (list first_blk)) (while (setq n_blk (tblnext "BLOCK")) (setq l_blk (cons n_blk l_blk)) ) (foreach n l_blk (setq js (ssget "_X" (list (cons 0 "INSERT") (assoc 2 n)))) (if (>= (cdr (assoc 70 n)) 4) (setq q_xref T l_xref (cons (cdr (assoc 2 n)) l_xref)) ) (print) ) ) ) (if q_xref (alert (strcat "\nCe fichier fait appel à des XRefs insérés:\n\n" (foreach n l_xref (setq l (strcat n "\n" l)))))) (prin1) ))
  10. Si ta fonction est (defun c:test ....) alors TEST au clavier est reconnu, mais si ta fonction est (defun test ....) alors TEST au clavier sera inconnu, il faut faire (TEST) au clavier.
  11. bonuscad

    me rapelle plus

    Peut être en ligne de commande? _.ATTEDIT (avec boite de dialogue) _.-ATTEDIT (sans boite de dialogue)
  12. bonuscad

    Texte de SelectionS ....

    Gilles m'a soufflé la réponse a propos de la variable NOMUTT, par contre j'aurais oublié la gestion pertinente d'erreur qu'il a proposé. C'est une variable que habituellement je n'utilise pas (les conséquences peuvent être déroutantes pour un utilisateur, car il n'y a plus aucun message en ligne de commande en cas de non restoration de celle-ci) Donc la proposition de Gilles est excellente si suivie à la lettre.
  13. bonuscad

    Rechercher texte

    Merci Bred de me rafraichir la mémoire, mais avant de sortir l'artillerie lourde, juste pour situer une insertion dans mon dessin.... je voulais savoir savoir si je ne passais pas à côté d'une évidence. Mais s'il le faut je me résignerais à trouver une solution par programmation en adaptant ce que j'avais proposé. Tramber, la commande ATTECRAN est la même chose que la variable ATTMODE.
  14. Bonjour, Voilà ma situation: J'ai environ 11000 insertion du même bloc dans mon dessin, celui-ci a des attributs, MAIS INVISIBLES. Je connais la valeur de l'attribut à rechercher et donc je voulais utiliser la fonction "Rechercher texte" La fonction me trouve le texte, mais me signale que c'est un attribut invisible et donc la fonction Zoom se retrouve en grisé (pas accessible) et moi qui voulais situer mon insertion dans le dessin :mad2: Comment puis faire, la variable "ATTMODE" n'a aucun effet pour la commande rechercher? Y a t-il une façon rapide que je ne connais pas pour changer ce bit de visibilité? J'ai essayé aussi avec (ssget "_X" (listre de filtre)) mais rien avec "attrib" ! J'ai pas envi d'éplucher une collection de 11000 "insert" :(
  15. J'ai mis longtemps à trouver l'erreur, car cela fonctionnait pour moi. En fait j'ai fait la macro sous une version pleine, et l'accés est possible pour les variables USERR1-5, USERI1-5 et USERS1-5, alors que sous LT seul les variable USERS1-5 le sont.:calim: Donc j'ai modifié le précédent post, en espérant de n'avoir pas fait d'autres erreurs, car je n'ai pas de LT pour tester.
  16. La solution serait bien d'utiliser DWGPREFIX Malheureusement un problème récurent se pose en Diesel: La chaine retournée par $(getvar,DWGPREFIX) retourne un truc du style: "C:\Mes documents\" et en ligne macro l'antislash est interprété comme une pause utilisateur. Donc à ce jour, pas de solution. Je crois que RebCao avait contourné le problème en utilisant l'usage $(getenv,Variable_environnement_déclarée) mais ça complique beaucoup la mise en place. NB: Pour moi la commande SETENV est inconnue en 2002, donc pas pus tester.
  17. Une proposition que j'ai faite sur un autre forum: Elle nécessite 3 boutons qui seront à exécuter dans l'ordre à chaque éxecution, elle fera une colonne des mesures de longueur effectuées par objet (mesurable, cela va de soit) puis la somme de l'ensemble. Le mieux est d'essayer ;) * 1er bouton d'initialisation pour commencer, ou faire une nouvelle somme. ^C^C_.users1;0.0;_.text;_justify;_right;\\0.0;Récapitulatif;^Z * 2ème bouton pour le calcul (macro répétée indéfiniment jusqu'à l'appui de la touche ESC ou sélection du 3ème bouton) *^C^C_.area;_object;\_.users1;$M=$(+,$(getvar,users1),$(rtos,$(getvar,perimeter),2,2));_.text;;$(rtos,$(getvar,perimeter),2,2); NB: PAS d'espace en fin de la ligne (après le dernier ";") * 3éme bouton pour le total ^C^C$M=$(if,$(!=,$(getvar,users1),0.0),_.text;;Total=$(getvar,users1);)^Z On peut faire mieux, mais en diesel, cela devient vite pénible :casstet: NB:ATTENTION, Toutes les définitions de macros doivent tenir sur 1 seule ligne, aucun espace ne doit s'insérer lors des copier-coller [Edité le 12/3/2007 par bonuscad]
  18. bonuscad

    Polylignes épaisses

    Ce problème m'est déjà arrivé il n'y a pas longtemps. Dans mon cas c'était une polyligne constituée de segments droit très court (distance parfois inférieure à l'épaisseur) avec une épaisseur constante. L'apparence dans ce cas était bonne, j'ai cherché à la lisser (introduction de segment d'arc) pour la rendre visuellement plus agréable. Catastrophe, même apparence que toi. J'en ai déduit que des arcs très court cassaient les jointures!!! As tu des segments d'arc courts?
  19. bonuscad

    Prob sur mon lisp

    Sur quelle version travailles tu? Si ce n'est pas 2006 ou supérieure, j'essayerais de voir ce qui cloche de plus près à temps perdu. Quel est le résultat que tout souhaite vraiment obtenir, il y a peut être d'autres cheminements possible (les fonctions vlax. pour les solides peuvent être utiles) au lieu de passer par un fichier texte.
  20. Hé oui, comme si bien dit dans l'aide ils ont mélangé 2 type de codification. Pour les cotes pivotées, horizontales ou verticales, ce filtre à l'air de fonctionner (ssget '( (0 . "DIMENSION") (-4 . "< AND") (-4 . "&=") (70 . 0) (-4 . "< NOT") (-4 . "< OR") (-4 . "&=") (70 . 1) (-4 . "&=") (70 . 2) (-4 . "&=") (70 . 4) (-4 . "OR>") (-4 . "NOT>") (-4 . "AND>") ) Ce qui est bizarre j'ai du écarter (70 . 1) alors que cela aurait dut être fait par la condition logique (70 . 0) faire du boléen sur des codes qui sont a moitié des bits de controle..... :casstet:
  21. Avec le code 70 L'ennui c'est que cette valeur entière n'est pas un bit logique, cela nécessite un filtre complexe. (ssget '( (0 . "DIMENSION") (-4 . "< AND") (-4 . "&=") (70 . 1) (-4 . "< NOT") (-4 . "< OR") (-4 . "&=") (70 . 3) (-4 . "&=") (70 . 5) (-4 . "OR>") (-4 . "NOT>") (-4 . "AND>") ) ) NB: enlever les espaces après le "< "
  22. Quand j'ai commencé le lisp, une recommandation de coder les variables sur 6 caractères maxi était conseillé pour la rapidité d'éxecution. Bien que les machines soit devenues de plus en plus rapide, je pense (mais cela est à vérifier) que cela reste d'actualité. En effet (setq var_1 987.654) prendrait moins de place en mémoire que (setq ma-variable_numéro1 987.654). Personnellement sans savoir si ceci est encore d'actualité, j'essaie d'appliquer encore cette règle, pour ne pas pénaliser le temps d'exécution (peut être que de 6 caractère cela est passé à 12?) Donc ta technique de condenser tes noms de variables et/ou fonction, bien que vite illisible améliore le temps d'exécution.
  23. bonuscad

    Wipeout avec des arc

    Au cas ou "Wipeout" n'aurait jamais utilisé auparavant, il ne se passe rien. L'instruction classique: (if (not (member "wipeout.arx" (arx))) (arxload "wipeout.arx")) ou (if (not (member "acwipeout.arx" (arx))) (arxload "acwipeout.arx")) suivant les versions. devrait être rajouté, pour que ceux qu'ils veulent essayer ne soient pas surpris. ;) Bon résultats depuis le SCG et dans le SCG. Je pense que pour des wipeout cela est suffisant pour l'utilisation courante, de tout façon pour mon usage j'évite le plus possible ces genres d'entités au comportement bizzare et à la gestion difficile lors des rendu papier.
  24. Gilles, Un oubli de parenthèse fermante pour le (and , [le premier dans plineorg], fausse le message final. "entité non valide" est retourné dans le cas d'un bon déroulement et rien dans le cas contraire. En fait tes instructions font partie du and, mais cela n'empêche pas le bon déroulement. Bon travail, j'aurais peut être simplement rajouté une indication visuelle sur le sommet concerné comme peut le faire pedit lors de la modification des sommets. ;) NB lors de mes test, ta fonction avant modification, fonctionnait dans les scu non parallèles. Mais je n'ai peut être pas assez poussé les tests.
  25. bonuscad

    Prob sur mon lisp

    ???? Est ce vraiment toi qui a pondu ce code? Au vu de l'emploi des (cond et (if fait dans celui-ci, je suis surpris que tu poses cette question. Ce n'est qu'une condition de plus à faire pour affecter par exemple une valeur "0.0" à ta chaine.
×
×
  • 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é