-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Je me joins à mon tour au concert de félicitations pour ton premier programme. Il n'y a rien de plus plaisant que de voir sa réalisation fonctionner et plus encore quand d'autres en profite. Cela à permis pour commencer à te familiariser avec le lisp et de donner un aperçu des possibilités qu'offre Autocad Encore bravo et bonne continuation @+
-
Le plus simple est de passer par _appload ou encore de créer un AutoCAD.lsp et en passant par un autoload ex (autoload "c:/.../.../.../.../toto.lsp" '("toto")) Et l'appli ne se lance et ne se charge que quand on y fait appelle (le '("toto") est le nom de la fonction) @+
-
Salut Tramber La fonction lisp getcname fait la traduction français --> Anglais et vice-versa par exemple (getcname "decompos") retourne "_explode" @+
-
decomposer des xref avec LISP
Patrick_35 a répondu à un(e) sujet de lipsyking dans Pour aller plus loin en LISP
Si j'ai bien compris, voila un lisp qui décompose tout les blocs/xref dans le dessin A ne pas lancer avec une présentation @+ (setvar "cmdecho" 0) (command "_undo" "_group") (command "_.xref" "li" "*") (while (setq sel (ssget "x" '((0 . "INSERT")))) (setq n 0) (while (ssname sel n) (command "_explode" (ssname sel n)) (setq n (1+ n)) ) ) (command "_undo" "_end") (setvar "cmdecho" 1) -
Oui, je suis d'accord, discriminatoire est un peu fort, mais marque bien les esprits. Je suis certain qu'il n'y avait rien de négatif dans ta démarche, mais le fait de marquer les personnes en indiquant tel ou tel chose m'a toujours déplu, surtout quand il s’agit d’argent ou de don. C’est juste une question de déontologie Mais pour les récompenses, on est toujours preneurs, je ne sais pas, mais une casquette Cadxp par exemple (et on plus, on fait de la pub gratuite) ;) @+
-
Je n'ai absolument rien contre à ce que le site fasse de la pub pour vivre et ce n'est en aucun cas ton précédent post que je mets en cause, mais juste de fait d'indiquer les personnes qui ont données ou pas @+
-
Juste une remarque, je risque de passer pour le rabat-joie de service, mais tant pis Les donations doivent rester anonyme et le fait de l'indiquer par une étoile au niveau du nom des membres est discriminatoire, on ne fait une donation que si on le souhaite, le fait de l'indiquer oblige quelque part aux personnes qui se connectent de le faire Mais que ça n’empêche pas ceux qui le souhaitent de donner, il faut bien que le Webmaster vive et le site en voie de conséquence. @+
-
Merci Didier de ton aide, et avec le @10,20 , il est vrai que je n’est pas cherché plus loin que le bout de mon nez Amicalement @+
-
Logiciel d\'aide à la conception électrique
Patrick_35 a répondu à un(e) sujet de vstvincent dans CAO, généralités
Il y a bien la société FTZ http://www.schemelect.com/home.php?lg=fr avec schémelec et schembat, mais du coup, il faut oublier Autocad, mais quand on a rien, c'est à voir @+ -
J'ai un revendeur http://www.manandmachine.fr/mum/default.asp qui vend deux produits qui gèrent les documents, Automanager TeamWork ou Meridian J'ai bien une autre société http://www.graphicdm.com/index2.html avec un bon produit que j'utilise, mais j'ai ouie dire qu'elle a coulé @+
-
decomposer des xref avec LISP
Patrick_35 a répondu à un(e) sujet de lipsyking dans Pour aller plus loin en LISP
Peut-tu être un peu plus clair ??? Pour différencier un bloc d'un xref dans la table des block est que le xref à un nom en code 1 et pas le bloc Mais pour solutionner ton soucis, si j'ai bien compris, tu attache le xref en l'insérant, puis par la commande décomposer + un filtre sur les blocs devrait le faire @+ -
Merci de ton aide C'est juste des formules dont j'ai besoin, l'école c'est très loin En un peut plus clair, j'ai un point en coordonnées absolue, je le déplace en relatif par exemple en faisant @10,20 ou encore @5<145, quelles sont les nouvelles cordonnées absolue @+
-
Un cercle, non ,mais un arc, aucun problème, il faut juste que les deux extrémités soient concordantes @+
-
Il y a aussi la possibilité de configurer le traceur l'imbrication des plans Le traceur reçoit plusieurs dessins et optimise le tracé @+
-
Pour ecrire dans ton fichier, tu as oublié de mettre le :, soit (setq l (open "c :/Documents and Settings/lperrin/Mes documents/text ligne.txt" "w")) et pour fermer le fichier, il faut faire un close sur la variable, soit (close l) @+
-
Yes, c’est génial ce truc, merci pour tes explications, ça permet en fait de détourner n’importe quelle commande a son profit, voir aussi de travailler avec d'autres applications, mais cela me pose un problème. A ce niveau, mieux vaut-il faire un développement en visal lisp ou en vba ? @+
-
Là, je suis largué Tu peut expliquer un peu plus to lisp sur les réacteurs svp @+
-
Salut Didier, au vu de ton prog, tu m'a l'air de quelqu'un qui maîtrise bien le vb. Comme tu te proposais gentiment de faire bénéficier de ton expérience sur ce sujet, ça m’aurait sûrement évité de tâtonner afin de comprendre les bases du vba et évité les erreurs. Je pense que le plus simple est de faire une appli et de poser les questions quand je suis bloqué. Merci de ta bienveillance et à une prochaine Amicalement Ps : Tu es un crack en géométrie ?, si oui, pourrait tu me donner un coup de main pour calculer la nouvelle position en coordonnées en absolue à partie d’un point de base (en absolue) puis de coordonnées relatives avec un angle. Je suis bien passé par cal, mais je ne trouve pas ça top
-
Il y a aussi l'insertion de format wmf @+
-
Bon, plus je regarde ton prog, plus je me pose des questions 1) Peut-tu nous donner la démarche la plus facile à suivre pour créer un prog (faire d’abord la boite de dialogue avec sa mise en forme par exemple, et comment récupérer les valeurs au fur à mesure du développement) 2) A quoi sert l'explorateur de projet 3) Pourquoi une feuille générale avec des déclarations de variables, de fonctions, etc... 4) A quoi correspond les UserFormn, Autocad Object, Modules... et Module de classe 5) Dans le Module 1 (Code) , pourquoi une liste défilante (Général) et à quoi elle sert 6) Quelle est le principe de déclaration des variables et leurs type 7) Aurai-tu un lien indiquant les principales fonctions du vba en français avec leurs syntaxe Ca fait un paquet de questions et je te remercie par avance de ton aide, mais c'est pour mieux comprendre le principe de fonctionnement du vba, après, ce n'est plus que du vocabulaire @+
-
Salut Didier, décidément, il y a quelque chose, j'ai bien passé en rem les cinq lignes que tu m'a indiquées, mais rebelote cette fois ci en Private Sub Label90_BeforeDragOver. Je les passe aussi en rem et ça à l'air de fonctionner cette fois-ci. (je suis sur une version 2000 sous NT) Ca m'a l'air vachement bien ton prog avec plusieurs onglets, reste maintenant à approfondir @+
-
Pour Tramber, pour les attributs, sur 2004, j'attend d'évoluer et la solution que tu propose reste à étudier, mais why not... Pour Oli553, je pense qu'on fait le même métier, voici un lisp que je me sert régulièrement, ça n'empêche pas le décompte des inters/pc à la main à cause des plaques Tu peut créer un fichier texte à ouvrir depuis Excel en txt @+ ;;;================================================================= ;;; ;;; LEGENDE.LSP V1.30 ;;; ;;; Copyright © Patrick_35 ;;; ;;;================================================================= (defun c:leg(/ s) ;;;----------------------------------------------------------------- ;;; ;;; Gestion des erreurs ;;; ;;;----------------------------------------------------------------- (defun *errleg* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (setq *error* s) (princ) ) ;;;----------------------------------------------------------------- ;;; ;;; Création de la legende ;;; ;;;----------------------------------------------------------------- (defun faire_legende(/ a d f i n r ttt) (setq n (tblnext "block" 14)) (if (/= n nil) (progn (setq d (getvar "dwgname")) (initget "Oui Non") (setq r (getkword "\nVoulez-vous écrire la legende dans un fichier Oui / : ")) (if (= r "Oui") (progn (setq f (open (strcat d ".leg") "w")) (princ (strcat "\nEcriture du fichier " (strcat d ".LEG") " sur le disque.")) ) ) (while (/= n nil) (if (/= (zerop (logand 53 (cdr (assoc 70 n)))) nil) (progn (setq a (cdr (assoc 2 n))) (setq i (ssget "_x" (list (cons 2 a)))) (if (/= i nil) (progn (setq i (itoa (sslength i))) (while (< (strlen a) 8) (setq a (strcat a " ")) ) (while (< (strlen i) 4) (setq i (strcat " " i)) ) (setq ttt (strcat "Nombre de bloc(s) " (chr 34) a (chr 34) " -----> " i)) (if (= r "Oui") (progn (write-line ttt f) (princ ".") ) (princ (strcat "\n" ttt)) ) ) ) ) ) (setq n (tblnext "block")) ) (if (= r "Oui") (progn (close f) (princ "Terminé") ) ) ) (alert "\nAucun bloc dans le dessin") ) ) ;;;----------------------------------------------------------------- ;;; ;;; Lancement ;;; ;;;----------------------------------------------------------------- (setq s *error*) (setq *error* *errleg*) (faire_legende) (setq *error* s) (princ) ) (setq nom_lisp "LEG") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " chargé.")) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (setq nom_lisp nil) (princ)
-
Mettre des attributs à tes blocs, Tramber, pourquoi pas, mais pour faire quoi ? @+
-
Exporter le décompte sur excel, à moins de gérer plusieurs milliers de blocs, autant le faire en manuel, c'est bien plus simple, sinon par un prog de préference en vba @+
-
Tu lance la commande déplacer par exemple, pendant la sélection, tu lance la commande '_filter (en transparent), tu clic sur ajouter un objet sélectionné, tu choisis un bloc dans ton dessin et dans la liste, tu ne garde que les éléments dont tu as besoin (objet=bloc, nom du bloc="toto", le calque éventuellement...). Tu applique ton filtre et tu revient dans ta sélection. Tu tape tout dans ta sélection+entrée et tu vois que le filtre ne laisse passer que ce tu as choisi précédemment. Tu valide encore une fois, et cette fois-ci tu a le nombre d’objet sélectionnés. Ton décompte est fait, il ne reste plus qu ‘à faire esc. pour ne pas les bouger @+
