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_

    Modes de sélection

    Merci Maximilien, mais l'objet de mon intervention n'était pas d'obtenir un lisp. Je voulais juste pousser à la roue pour qu'Autodesk nous ponde une nouvelle option après choix des objets. D'ailleurs, pour ton lisp, je serais plutôt passé par un jeu de sélection que par une liste (avec des ssadd et ssname...). Affaire de gout sans doute... D'ailleurs, également, quand je dessine un faux plafond, j'utilise une hachure. On en a déjà parlé ici Amicalement Zebulon_
  2. Hello Afpa Il faut publier pour imprimer. Après on peut encore discuter si c'est mieux de faire du pdf ou du dwf... Amicalement Zebulon_
  3. Dans la plupart des cas, dire que l'ordinateur fait une erreur cela veut dire qu'on a fait soit même 2 erreurs (y compris celle qui consiste à dire que l'ordinateur a fait une erreur). Sinon, ça s'appelle un bug. Les fonctions vlax-curve m'ont toujours donné l'impression de marcher correctement. Revérifie si c'est bien le cercle que tu as mesuré et pas autre chose. Amicalement Zebulon_
  4. en utilisant les fonctions vlax-curve... (setq ENT (entlast)) (setq vlaobj (vlax-ename->vla-object ent) pt_org (vlax-curve-getStartPoint vlaobj) pt_end (vlax-curve-getEndPoint vlaobj) param_start (vlax-curve-getStartParam vlaobj) param_end (vlax-curve-getEndParam vlaobj) perim_obj (vlax-curve-getDistAtParam vlaobj param_end) ) appliquée ici sur le dernier élément créé. Après tu peux regarder ce qui a dans les variables, surtout perim_obj Sinon, en lisp, il y a aussi ;;; ;;; calculer la longueur d'un objet (defun longent (ent / obj R ANGDEP ANGFIN long) (setq obj (cdr (assoc 0 ent))) (cond ((= obj "LINE") (setq long (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent)))) ) ((= obj "ARC") (setq R (cdr (assoc 40 ent))) (setq ANGDEP (cdr (assoc 50 ent))) (setq ANGFIN (cdr (assoc 51 ent))) (setq long (abs (* R (- ANGFIN ANGDEP)))) ) ((or (= obj "CIRCLE") (= obj "SPLINE") (= obj "POLYLINE") (= obj "LWPOLYLINE") (= obj "ELLIPSE")) (command "_.area" "_o" ent) (setq long (getvar "perimeter")) ) (T (setq long nil)) ) long ) Amicalement Zebulon_ [Edité le 21/12/2006 par zebulon_]
  5. zebulon_

    Modes de sélection

    Oui, (entlast) pour LE dernier élément créé. Mais si tu as copié plusieurs éléments et que tu veux sélectionner le résultat de ta copie (entlast) ne t'en donne que un (le dernier) et tu es bon pour te repalucher les autres (ou bien utiliser le lisp de Patrick_35 que tu trouveras dans le lien de mon précédent message) Donc, ce que j'aimerais, c'est qu'Autodesk rajoute cette possibilité de sélectionner TOUS les derniers objets créés par la dernière commande, dans une prochaine version. Ce n'est donc pas compliqué pour Autodesk de faire un (entlast) avant chaque commande et de faire, quand la commande est terminée, une suite d'entnext jusqu'à arriver à nil et de mettre tout ça dans un jeu de sélection. On est déjà au moins 3 à trouver cela utile. S'il y en a quelques uns de plus, ça fera peut-être bouger les choses un peu plus vite. Amicalement Zebulon_
  6. zebulon_

    Quelques routines utiles

    Ce que je voulais dire c'est que c'est peut être kenny qui a pompé sur quelqu'un d'autre. Il a l'air de le dire lui même, mais je ne suis pas assez fortiche en anglais pour l'affirmer. Amicalement Zebulon_
  7. zebulon_

    Modes de sélection

    quand autocad t'affiche le message choix des objets : tu tapes ? et il te donne la liste de ce qui est disponible. tu peux aussi regarder l'aide de la commande SELECT qui explique tout ça en long en large et en travers. J'en ai toujours voulu à mon formateur Autocad (c'est une vieille rancune...) parce qu'il n'est pas allé plus loin dans son explication que le mode automatique. Rien sur le Trajet, sur Précédent, Dernier, etc... Ce qui manque à mon gout (on en a déjà parlé ici) c'est la possibilité de sélectionner les objets créés par la dernière commande. Amicalement Zebulon_
  8. zebulon_

    Quelques routines utiles

    Les valeurs des constantes sont différentes, mais les noms des variables sont identiques et la présentation est identique. Qui a copié sur qui ??? :) Mais comme dit Kenny lui même à propos de ses lisps Donc, si j'ai bien compris, il y en a quelques uns qui sont "tombés du camion". Concluons comme lui : Amicalement Zebulon_ [Edité le 20/12/2006 par zebulon_]
  9. ça sent le vin chaud aussi ici Dommage que ce ne soit pas une commande autocad. Amicalement Zebulon_
  10. zebulon_

    Quelques routines utiles

    Bonjour, Je pense que le dernier lisp rng, on peut l'attribuer à Kenny, j'ai trouvé ici quelque chose qui ressemble Amicalement Zebulon_
  11. zebulon_

    Coupure multiple

    C'est exactement ça. Je ne connaissais pas. Pff, quand je pense au nombre de coupure au point, ajuster et autre prolonger que j'ai fait dans ma longue et douloureuse carrière... pour rien... Mais comme on dit en alsacien : Un wan so ald worsch wi a küh Lehrsch emmer noch dezü Ce qui veut dire quelque chose comme : on en apprend tous les jours (si quelqu'un a une meilleure traduction, je suis preneur) Mais bon, je suis quand même content de mon petit lisp de 20 lignes. Amicalement Zebulon_ [Edité le 19/12/2006 par zebulon_]
  12. Re, faut-il absolument faire un lisp ? La commande renommer peut faire l'affaire en utilisant le joker * Renommer Calque Ancien nom : * Nouveau nom : prefixe* Amicalement Zebulon_
  13. et avec (command "_rename" "_layer" "FGT" "TOTO") Amicalement Zebulon_
  14. Bonjour, J'ai essayé de faire une routine qui fait des "coupures au point" à toutes les intersections entre des bords de coupe et des objets à couper. Cela fonctionne un peu comme la commande ajuster mais ça conserve tous les segments. Là où je sèche, c'est quand les objets à couper sont des cercles, des ellipses, des splines fermées parce qu'avec ces objets, la commande coupure au point ne fonctionne pas. Un arc de 360°, ça ne lui plait pas. (defun Lintersect (E1 E2 / RES LPOINT) (setq E1 (vlax-ename->vla-object E1)) (setq E2 (vlax-ename->vla-object E2)) (setq RES (vlax-invoke E1 'IntersectWith E2 acExtendNone)) (setq LPOINT nil) (While RES (setq LPOINT (cons (list (car RES) (cadr RES) (caddr RES)) LPOINT)) (repeat 3 (setq RES (cdr RES)) ) ) LPOINT ) (defun mbreak_main () (setq LPOINTTOT nil) (setq I 0) (while (< I (sslength ssb)) (setq e1 (ssname ssb I)) (setq J 0) (while (< J (sslength ssc)) (setq e2 (ssname ssc J)) (if (setq LPOINT (lintersect E1 E2)) (setq LPOINTTOT (append LPOINTTOT LPOINT)) ) (setq J (+ J 1)) ) (setq I (+ I 1)) ) (While LPOINTTOT (setq CURPOINT (car LPOINTTOT)) (setq LPOINTTOT (cdr LPOINTTOT)) (setq J 0) (while (< J (sslength ssc)) (setq E2 (ssname ssc J)) (setq PROCHEPT (vlax-curve-getClosestPointTo (vlax-ename->vla-object E2) CURPOINT)) (if (< (distance CURPOINT PROCHEPT) 0.00001) ;; le point est sur l'objet (progn (setq CURPOINT (trans CURPOINT 0 1)) (command "_break" E2 "_non" CURPOINT "_non" CURPOINT) (setq ssc (ssadd (entlast) ssc)) ;; je rajoute l'objet créé par _break au jeu de sélection ) ) (setq J (+ J 1)) ) ) ) (defun c:mbreak () (command "_.undo" "_group") (prompt "\nSélectionner les bords de coupe : ") (setq ssb (ssget)) (if ssb (progn (prompt "\nSélectionner les objets à couper : ") (setq ssc (ssget)) (if ssc (mbreak_main) ) ) ) (command "_.undo" "_end") (princ) ) Si vous avez une idée pour saucissonner aussi les cercles et les ellipses ? Je ne sais pas si ça répond à la question de Christian ici ? Amicalement Zebulon_
  15. zebulon_

    Buzzsaw

    Bonjour, Je travaille pour un partenaire qui a pris une licence buzzsaw et qui me demande de communiquer mes fichiers via cette passerelle. Vous trouverez plus de détails sur buzzsaw ici J'ai eu quelques problèmes pour l'installation. Buzzsaw n'aime pas firefox et ne fonctionne qu'avec IE5.5 ou supérieur (beurk).:casstet: D'un autre côté, Buzzsaw inclut des logiciels développés par Apache Sofware Fondation. :) Une fois installé, l'utilisation me semble assez simple. Mais je n'ai qu'un jour de recul alors si vous pouviez me donner vos impressions, vos commentaires sur ce produit ? Merci Amicalement Zebulon_
  16. zebulon_

    calques indesirables

    Peut être en rendant le calque non imprimable en plus de l'avoir gelé ? Amicalement Zebulon_
  17. zebulon_

    calques indesirables

    Essaie d'en décomposer une pour voir si c'est ça ? Amicalement Zebulon_
  18. zebulon_

    calques indesirables

    Bonjour, j'ai eu un soucis du même style sur une version 2004, mais cela ne concernait que des cotes (des lignes de repère pour être plus exact) qui apparaissent à l'impression alors qu'elles sont sur un calque gelé ! Quand j'ouvre le fichier en xref et que je décompose les lignes de repère, alors elles n'apparaissent plus dans le fichier de destination. Mais des lignes de repères décomposées, c'est pas top pour les modifs !!! Si ce sont des lignes de repères dont tu parles, alors j'apparente ça à un bug Amicalement Zebulon_ [Edité le 18/12/2006 par zebulon_]
  19. zebulon_

    cotes qui s\'égarent...

    Re, Quand on déplace un objet coté, la position de la ligne de cote se déplace et c'est la longueur d'une des lignes de rappel qui reste constante. C'est ça qui me dérange. Je préfairerais que la position de la ligne de cote reste figée et que ce soient les longueurs de lignes de rappel qui varient. Il arrive trop souvent qu'une belle ligne de cote continue ne soit plus continue après une modif d'un objet associé, voire empiète sur une autre ligne de cote parallèle. Je me débrouille peut être mal ? Amicalement Zebulon_
  20. zebulon_

    cotes qui s\'égarent...

    Bonjour, c'est peut être dû à l'associativité des cotes. Tu essaies de déplacer la cote mais pas l'objet qui lui est associé (ou le contraire). J'ai une sainte horreur de l'associativité des cotes : ça ne marche super bien que quand on te fait la démo. Dans la vrai vie, ça fout plus la m... qu'autre chose, quand on est obligé de faire des modifs (et dieu sait que ça arrive ...) Donc, je n'utilise que des cotes non associatives. J'aime bien que la cote reste là où j'ai décidé qu'elle soit, même si je bouge ou modifie l'objet coté. J'ai peut être tort ? Votre avis sur la question ? Amicalement Zebulon_
  21. En faisant un script ou, mieux, en regardant ici Amicalement Zebulon_ PS : SAS c'est pour SuperAutoScript. Rien à voir avec Gérard de Villiers, que vous retrouvez là
  22. ça fait plaisir aussi quand on découvre l'étendue de ce qui est disponible. Et ça fait surtout plaisir de pouvoir réutiliser une fonctionnalité empaquetée programmée par quelqu'un d'autre. De toute façon, je ne saurais pas programmer ces fonctionnalités, alors c'est une mine que de pouvoir disposer de librairies toutes faites. Encore faut-il s'y retrouver ... Amicalement Zebulon_ PS : Je me sers de cette méthode pour ouvrir un fichier pdf associé à un bouton aide d'une boîte de dialogue. [Edité le 13/12/2006 par zebulon_]
  23. Bonjour, il y a déjà qqe temps, on s'était posé la question de savoir comment ouvrir un pdf ou un dwf à partir du lisp ici. J'ai trouvé un petit truc qui me semble beaucoup plus sympa. C'est mieux que strartapp, parce qu'il n'y a pas besoin de lancer l'application, l'extension du fichier suffit. Et c'est bien sûr mieux qu'un (command "_shell") qui ouvre un antique fenêtre MS-DOS (je suis nostalgique, mais quand même ...) (defun do_open_filename (fileName / shell) (if FileName (progn (setq shell (vla-getinterfaceobject (vlax-get-acad-object) "Shell.Application" ) ) (vlax-invoke-method shell 'Open filename) (vlax-release-object shell) ) ) ) (defun c:_opendwf () (setq FileName (getfiled "\nSélectionner un fichier dwf à ouvrir : " "" "dwf" 16)) (do_open_filename FileName) ) En plus, si filename a une extension qui n'est pas définie, l'application demande avec quel logiciel elle doit ouvrir le fichier. J'ai essayé avec un fichier pdf, un fichier dwf et un fichier doc : ça marche à tous les coups. On en a peut être déjà parlé de ce sujet ici, alors excusez moi d'être redondant. Amicalement Zebulon_
  24. J'ai fait le test avec un compte à accès limité et ça ne pose pas de problème. D'ailleurs, quand on lance Autocad pour la première fois avec ce nouveau compte, Autocad fait aussi des écritures dans le registre, au même endroit. Donc, si ça marche pour Autodesk, il n'y a pas de raison que ça ne marche pas pour Zebulon_ Mais il y a peut-être d'autres moyens de brider les registres windows ? Je ne m'y connais pas assez. Amicalement Zebulon_
  25. Bonjour, Je souhaite stocker des données dans le registre Windows. Je me suis donc penché sur la fonction vl-registry-write. Mon soucis est de savoir si (setq Cle_Zebulon "HKEY_CURRENT_USER\\Software\\Autodesk\\Autocad\\Zebulon") (setq CurNum 5) (vl-registry-write Cle_Zebulon "CurNum" CurNum) marchera à tous les coups ou si ça dépend de droits d'administrations sur le poste ? Amicalement Zebulon_
×
×
  • 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é