-
Compteur de contenus
1 489 -
Inscription
-
Dernière visite
-
Jours gagnés
19
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par zebulon_
-
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_
-
Impresion Plusieurs Présentations et Impression PDF
zebulon_ a répondu à un(e) sujet de AFPALEMANS dans AutoCAD 2006
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_ -
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_
-
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_]
-
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_
-
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_
-
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_
-
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_]
-
ajuster avec option conserver les segments !
zebulon_ a répondu à un(e) sujet de rebcao dans AutoCAD, liste de souhaits
ça sent le vin chaud aussi ici Dommage que ce ne soit pas une commande autocad. Amicalement Zebulon_ -
Bonjour, Je pense que le dernier lisp rng, on peut l'attribuer à Kenny, j'ai trouvé ici quelque chose qui ressemble Amicalement Zebulon_
-
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_]
-
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_
-
et avec (command "_rename" "_layer" "FGT" "TOTO") Amicalement Zebulon_
-
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_
-
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_
-
Peut être en rendant le calque non imprimable en plus de l'avoir gelé ? Amicalement Zebulon_
-
Essaie d'en décomposer une pour voir si c'est ça ? Amicalement Zebulon_
-
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_]
-
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_
-
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_
-
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à
-
ç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_]
-
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_
-
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_
-
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_
