Aller au contenu

zebulon_

Membres
  • Compteur de contenus

    1 489
  • Inscription

  • Dernière visite

  • Jours gagnés

    19

Tout ce qui a été posté par zebulon_

  1. zebulon_

    texte multiple

    C'est mieux comme ça. Ce qui est bête, c'est que la commande _mtext ouvre directement l'éditeur de texte après avoir règlé la largeur à 0, de sorte qu'on n'a plus accès aux autres paramètres. Sauf si on clique à droite dans l'éditeur interne, on peut règler la justification a posteriori. Il y a juste la rotation qu'on n'arrive plus à définir. C'est embêtant... Amicalement Zebulon_
  2. zebulon_

    Réseau hélicoïdal

    ouaip, juste avant la commande 3dpoly
  3. zebulon_

    texte multiple

    bonjour, lorsque autodesk a inventé les mtext, ça ne m'a pas plu parce qu'il faut d'abord faire une fenêtre dans laquelle le texte est confiné, j'ai trouvé cela gonflant. J'en suis donc resté au textes simples... L'autre jour, en regardant une lrepere d'un peu plus près, je me suis dit que le texte de la ligne de repère est un texte multiple, pourtant il n'y a pas l'air d'y avoir de cadre autour. Effectivement, le texte de la lrepere a une largeur de 0 et, comme tout le monde le sait, 0 = infini. Donc, vous faites _mtext puis vous spécifiez le 1er point puis vous tapez _w (ou L) pour la largeur puis 0 puis vous rentrez votre texte multi ligne et comme le dit l'aide : ça permet aussi, je pense, d'utiliser les _mtext plus facilement dans des lisps ? 0=infini, oui. Infiniment c.. que je suis. Mettre 6 ans à trouver ça... Isch kennt m'r gràd en de àrch bisse. Amicalement Zebulon_ PS : celui qui arrive à traduire la dernière phrase gagne une visite commentée de la cathédrale de Strasbourg à son prochain passage dans cette ville.
  4. zebulon_

    Réseau hélicoïdal

    Excellent. De mon côté, j'ai fait quelque chose du même tonneau pour dessiner le ferraillage d'un pieux en béton armé. Cela dessine une polyligne qui suit une pente constante (pente=pas/2 pi R) le long du cercle de base. (defun c:hel () (setq OLD_CMD (getvar "cmdecho")) (setvar "cmdecho" 0) (setq OLDOS (getvar "osmode")) (setvar "osmode" 0) (setq PTC (getpoint "\nCentre du cercle :")) (setq R (getdist PTC "\nRayon du cercle :")) (setq P (getint "\nNombre de pas : ")) (setq PAS (getdist "\nValeur du pas : ")) (setq PREC (getint "\nPrécision : ")) (setq PENTE (/ PAS (* PI 2 R))) (setq N 0) (command "_3dpoly") (repeat (+ (* P PREC) 1) (setq ANGCUR (* N (/ (* 2 PI) PREC))) (setq LONGCUR (* ANGCUR R)) (setq PT (polar PTC ANGCUR R)) (setq Z (* LONGCUR PENTE)) (setq PT (list (car PT) (cadr PT) Z)) (command PT) (setq n (+ n 1)) ) (command "") (setvar "osmode" OLDOS) (setvar "cmdecho" OLD_CMD) ) Je ne suis pas assez fort en maths pour dire si c'est une hélice ou autre chose. Avis aux spécialistes ? Amicalement Zebulon_
  5. Sinon, dans le manuel de personnalisation de la version 12 (éh oui, la version 12), il y a un tableau à la page 89 (chap. 6) qui donne les caractères spéciaux de menu, si c'est ça que tu cherches ? J'ai retrouvé un peu la même chose dans l'aude de la version 2004 en utilisant les mots clés : caractères spéciaux menus
  6. Fais une recherche dans l'aide d'autocad avec ces termes : Sinon, pour les utilisateurs d'autolisp, sachez que le diesel (Direct Interpretively Evaluated String Expression Language) peut servir dans autolisp avec la fonction menucmd. L'exemple classique : (setq c_time (menucmd "M=$(edtime,$(getvar,date),HH:MM a/p)")) ou le petit lisp DIESEL.LSP qui permet d'entrer des expressions DIESEL en ligne de commande et de renvoyer le résultat (defun c:diesel (/ dsl) (while (/= dsl "M=") (setq dsl (strcat "M=" (getstring T "\nDIESEL : "))) (princ (menucmd dsl)) ) (princ) ) Amicalement Zebulon_
  7. Bonjour, un jour, j'ai écris un truc pour transformer des 3dfaces avec 3 sommets en solides. Peut-être que ça peut aider ? (defun c:tersol3df () (command "_undo" "_group") (setq OLD_CMD (getvar "cmdecho")) (setvar "cmdecho" 0) (setq OS (getvar "osmode")) (setvar "osmode" 0) (prompt "\nSélectionner des Faces 3D") (setq ss (ssget '((0 . "3DFACE")) )) (if ss (progn (command "_view" "_top") (command "_ucs" "_w") (setq SSL (sslength SS)) (setq I 0) (While (< I SSL) (setq E (ssname SS I)) (setq I (+ I 1)) (setq A (entget E)) (setq PT1 (cdr (assoc 10 A))) (setq PT2 (cdr (assoc 11 A))) (setq PT3 (cdr (assoc 12 A))) (setq PT4 (cdr (assoc 13 A))) ; en principe ce ne sont que des 3dfaces avec 3 sommets (command "_pline" (list (car PT1) (cadr PT1)) (list (car PT2) (cadr PT2)) (list (car PT3) (cadr PT3)) "_C") (setq H (+ (max (caddr PT1) (caddr PT2) (caddr PT3)) 10)) (command "_extrude" "_l" "" (rtos H 2 4) "0") (command "_slice" "_l" "" PT1 PT2 PT3 (list (car PT1) (cadr PT1) 0.00) ) ) (command "_ucs" "_p") ) ) (setvar "cmdecho" OLD_CMD) (setvar "osmode" OS) (command "_undo" "_end") (princ) ) Amicalement Zebulon_
  8. y en a qui sont morts pour moins que ça. Un pet de travers et, hop, en Sibérie. En parlant de Sibérie, j'en ai un avant goût. Il neige et ça caille. Mais je m'égarre. Si je vote une deuxième fois oui, ça ne serait pas un comportement très démocratique ? Amicalement Zebulon_
  9. ça ressemble plus à un plébiscite qu'à un sondage. On se croirait revenu au bon vieux temps de l'URSS où l'on était élu démocratiquement avec des scores de 99.98% des voix. Je me joins à la foule et je vote oui aussi. Amicalement Zebulon_
  10. zebulon_

    boundingbox

    Salut patrick, ça apporte quoi par rapport à puisque (vla-GetBoundingBox obj 'minpoint 'maxpoint) renvoie des points du SCG ?
  11. zebulon_

    boundingbox

    Je me doutais bien qu'il fallait bricoler un peu, puisque dans Autolisp il y a une antique fonction qui s'appelle textbox et qui permet d'obtenir la "bounding box" pour un texte simple uniquement. Mais la méthode consiste là à faire une rotation de scu suivant l'objet texte avant de lui appliquer la fonction textbox, comme dans l'exemple ci-dessous. (defun c:tbox (/ textent tb ll ur ul lr OLDOS) (setq OLDOS (getvar "osmode")) (setvar "osmode" 0) (setq textent (car (entsel "\nSélectionner un texte : "))) (command "_ucs" "_e" textent) (setq tb (textbox (list (cons -1 textent))) ll (car tb) ur (cadr tb) ul (list (car ll) (cadr ur)) lr (list (car ur) (cadr ll)) ) (command "_pline" ll lr ur ul "_c") (command "_ucs" "_p") (setvar "osmode" OLDOS) (princ) ) Pour revenir à la méthode Bounding Box, il y a un ptit bug dans autocad 2004 qui doit lui être lié. Si on définit un style de cotation encadré et qu'on fait une ligne de repère (qui sera donc encadrée automatiquement), on obtiendra un magnifique cadre autour du texte de la ligne de repère... sauf si on tourne le scu et qu'on regénère. Là, le cadre autour de texte "tire un peu la gueule". Et si on lance la méthode Bounding box sur le texte de cote dans le scu local, on obtient les mêmes points que le cadre tordu. Dans la 2006, c'est peut être corrigé ? En tout cas, merci (gile) Amicalement Zebulon_
  12. zebulon_

    boundingbox

    L'objectif est de trouver l'emprise d'un objet, quel qu'il soit. J'ai trouvé la méthode getboundingbox et ça donne ceci. (defun c:al-getboundingbox () (vl-load-com) (setq util (vla-get-utility (vla-get-activedocument (vlax-get-acad-object)))) (vla-getentity util 'obj 'ip "\nSelectionner Objet: ") (vla-GetBoundingBox obj 'minpoint 'maxpoint) (setq minpoint (trans (vlax-safearray->list minpoint) 0 1)) (setq maxpoint (trans (vlax-safearray->list maxpoint) 0 1)) (command "_line" minpoint maxpoint"") (princ) );defun Cela marche bien quand on est en scu général, mais dans un scu local minpoint et maxpoint suivent toujours l'orientation du scu général et pas du scu local. Comment je peux faire pour que ça marche bien aussi dans un scu local dont l'orientation diffère du scu général ? Merci Zebulon_
  13. Si c'est permis, on ne va pas se priver amicalement Zebulon_
  14. Bonjour, J'aimerais revenir sur ce sujet http://www.cadxp.com/sujetXForum-7110.htm où il était question des options de la fonction ssget. Depuis, je n'utilise plus guère la fonction entsel, que je remplace par (setq ss nil) (while (not ss) (setq ss (ssget "_+.:e:s" '((0 . "INSERT"))))) puisqu'on peut directement filtrer la sélection. Par contre, dans le lien ci-dessus, il n'est pas question de l'utilisation des wild-cards (*, ? #, @ etc...) dans les filtres. (voir aussi l'aide de la fonction wcmatch) par exemple : (setq ss (ssget "_x" '((0 . "INSERT") (2 . "toto*")))) qui sélectionne tous les blocs dont le nom commence par toto. C'est bien pratique, quelques fois et en plus, ça me rappelle des vieux souvenirs de MS-DOS. Toute ma jeunesse... On en a peut-être déjà parlé ici, je ne sais pas. Avec 20 000 inscrits et plus de 50 messages par jour, on a du mal à suivre ;) Amicalement Zebulon_
  15. Bonjour, ce que je cherche à faire, c'est d'importer dans le fichier courant un style de cote à partir d'un autre fichier, pas forcément ouvert. Un peu ce qu'on peut faire avec designcenter, mais en vlisp ? Pour l'instant, je bricole en insérant un bloc contenant une cote qui est sur le style en question. c'est pas très propre, mais ça marche. (defun create_dimstyle (ECH) ;; ECH contient 50 pour le 50ème etc... (setq dimname (strcat "CADSYS-COT-" ECH)) (if (not (tblsearch "DIMSTYLE" dimname)) (progn (setq NOMFIC (findfile "CADSYS-COT.DWG")) ;; le fichier contenant le style de cote cadsys-cot-1 (command "_insert" NOMFIC '(0 0 0) "1" "" "0") (command "_erase" (entlast) "") (command "_purge" "_bl" "CADSYS-COT" "_n") (command "_dim1" "_restore" "CADSYS-COT-1") (command "_dim1" "DIMSCALE" ECH) (command "_dim1" "_save" dimname) ) ) (command "_dim1" "_restore" dimname) ) Zebulon_ [Edité le 14/12/2005 par zebulon_]
  16. zebulon_

    cotedit

    Merci pour le lisp, ça va m'être utile. Il me semble pourtant quand dans les anciennes versions, on n'avait pas ce problème. On peut dire que c'est un bug ? Amicalement Zebulon_
  17. Tant que ça marche, je veux bien passer pour un homme de néandertal Un autre point intéressant de la commande cot, c'est l'option e (comme editer), qui liste toutes les variables de cotation avec leur valeur courante, un peu comme modifvar mais uniquement pour les variables de cotation. Amicalement Le dinosaure
  18. Peut-être que l'utilisation de la commande COT AJ te permettra de mettre à jour des cotes existantes en fonction du style de cote actif Amicalement Zebulon_
  19. Dans le même ordre d'idée, la commande RACCORD fonctionne de façon différente en lisp qu'avec autocad. Exemple : je veux faire un raccord de 2 segments avec un rayon de 5 dans autocad, je fais raccord, r, 5, je sélectionne le segment 1 puis le segment 2. Dans lisp, on s'attendrait à pourvoir lancer (command "raccord" "r" "5" pause pause) Perdu... La commande Raccord est interrompue après la définition du rayon (comme dans les anciennes versions d'autocad) et il faut la relancer pour faire le raccord. Amicalement Zebulon_
  20. zebulon_

    USB n\'importe quoi

    Et le sapin de Noël USB ? ça serait de saison http://www.pearl.fr/article-PE9694-SAPIN+NOEL+USB.html
  21. J'ai pas de LT, alors c'est dur de savoir. A tout hasard, _-text ? Amicalement Zebulon_
  22. -texte ne fait qu'une seule ligne de texte amicalement Zebulon_
  23. En tant qu'ancien syndicaliste, je te renvoie vers mon syndicat préféré http://www.cftc-67.fr/guide%20juridique/salaire/salaire511.htm Amicalement Zebulon_
  24. ou bien là http://www.cadxp.com/sujetXForum-1133.htm Amicalement Zebulon_
  25. zebulon_

    USB n\'importe quoi

    Ouahh, j'avais déjà vu un ventilateur USB, pratique en cas de canicule et de panne de clim (ça se branche sur le clavier, USB lui aussi, forcément). Mais là, avec l'aquarium et le poisson rouge, on arrive à des sommets... Des sommets de quoi ? A vous de juger. Amicalement Zebulon_ PS : Ce sont là de bonnes Idées cadeau pour Noël...
×
×
  • 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é