Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. Bonjour. J'ai tenté quelques trucs pour intégrer la variable SnapAng à ton code, mais rien... Voici ce que j'ai écris et qui ne fonctionne pas : (if (< (cos (angtof x_alpha)) (angtos (getvar "snapang") 2 3)) (setq x_alpha (angtos (+ (angtof x_alpha) pi) 2 3)) ) ;_ Fin de if Si quelqu'un a un conseil, une astuce... je suis preneur...
  2. Désolé, j'ai posté avant la vrai fin de mes recherches... La solution est : (setq LstReseau (mapcar 'cons LstReseau LstReseau)) Je peux faire un voeux, c'est la première fois que j'utilise (mapcar... ;)
  3. Bonjour à tous. Voilà, je tente de faire une liste de paire pointée depuis une liste simple. Voici ma liste : (setq LstReseau '("Arrosage" "Assainissement" "Chaleur" "Chimique" "Eau potable"...) Et voici je que je cherche à faire : (setq LstReseau '(("Arrosage" . "Arrosage") ("Assainissement" . "Assainissement") ("Chaleur" . "Chaleur") ("Chimique" . "Chimique")... Je sais qu'il faudrait utiliser mapcar, mais j'ai beaucoup de mal avec cette commande... Si quelqu'un a une astuce, un conseil... Je suis preneur...
  4. Encore une petite question : comment se comporte ton code s'il y a une rotation du SCU ? Car; quand j'ai une rotation de SCU, j'ai, dans un coin du DWG ((vlax-ldata-get "DenisH" "AngSCU")) la constante en grade et orienté au NORD... Comment puis-je l'intégrer dans ton formidable code ? ? ?
  5. Je parlais de 100gr... Mais j'ai résolu le problème, c'est pour cela que j'ai effacé cette partie de mon poste, sans savoir que tu l'avais lu... :huh:
  6. Que dire... C'est surtout (gile) l'ami des lispeurs... ;) Je n'aurais JAMAIS pensé à passer par le cosinus... Mille mercis... C'est gégnial ! ! ! PS : J'ai résolu le problème "d'horizontalité" du texte...
  7. Bonjour à tous. Voilà, je cherche à écrire un texte "horizontal", en fait, dans le sens de la lecture, de gauche à droite et non à l'envers... J'ai l'angle en grade (x_alpha) et je cherche à en sortir l'angle "complémentaire pour que mon texte soit dans le "bon sens"... J'ai écris ça, mais si je suis là, c'est que ça ne fonctionne pas...: (if (> (angtof x_alpha) (* pi 2)) (setq x_alpha (angtos (- (angtof x_alpha) (* pi 2)) 2 3)) ) ;_ Fin de if L'origine des angles est au NORD (axe des Y) et je tourne dans le sens horaire. En gros, si l'angle est supérieur à 200gr ou inférieur à -200gr, y ajouter un demis-tour. Je ne suis pas très sûr d'être très claire... Si quelqu'un a la solution, un conseil... Je suis preneur...
  8. Salut Phil. Je t'ai écris ça : (defun c:Phil_RemplTxt (/) (setq Txt_Old (getstring (strcat "Taper le texte à remplacer :"))) (setq Txt_New (getstring (strcat "Taper le texte de remplacement :"))) (setq Select (ssget "_X" '((0 . "TEXT")))) (setq n 0) (while (setq Ent (ssname Select n)) (setq elst (entget Ent) n (+ 1 n) ) ;_ Fin de setq (if (= (cdr (assoc 1 elst)) Txt_Old) (progn (setq elst (subst (cons 1 Txt_New) (assoc 1 elst) elst)) (entmod elst)) ) ;_ Fin de if ) ;_ Fin de progn (princ) )
  9. Salut gégé. Il y a aussi TopStation qui fait des merveilles chez JSInfo...
  10. Salut. Peut-être en utilisant "filtre"...
  11. Même après une purge ? Alors là, je ne vois pas... Désolé...
  12. Salut Mylène. As-tu vérifié qu'il y a bien deux bloques différents ("TDS FR-EN" et "TDS EN-RU") dans le même dessin ? Si non, peut-être avec une synchronisation : commande "_battman".
  13. Mais non, tu n'es pas has been... (si cette expression existe toujours...) ;)
  14. Si le style et la hauteur du texte sont fixés DANS le texte multiligne, seul un pro du Lisp pourras te venir en aide... Ou une commande ExpressTools... Il faudrait, je pense, fouiller dans ce sens... J'ai déjà eu ce problème... Il y a quelques années... Pas encore résolu... :unsure: De plus, le "...\P..." désigne un saut de ligne, donc, inutile de le décomposer...
  15. DenisHen

    Précision du Cadastre

    Merci encore aux nouveaux venus ! ! ! BonusCAD : merci, je n'avais pas trouvé ce lien dans mes recherches... Tiphon : le papier et l'échelle sont effectivement un argument de plus... lrdb : si je l'envoi vers un GE, je perd la confiance du client et le coté "conseiller" envers lui. De plus, et si je fais ça, je perd un client potentiel... Je n'ai pas de devoir de conseil "législatif" (je ne suis ni GE ni avocat), mais ne l'a-t-on pas tous d'un point de vu "moral" ? le client ne sait pas de quoi il parle, c'est à nous, professionnels, de le guider et l'orienter vers la bonne solution, celle qui lui convient... En tous cas, merci à vous pour votre aide...
  16. DenisHen

    Précision du Cadastre

    Merci à tous, je sais que nous avons tous raison, mais comment le faire comprendre à mon client, un peu têtu ? J'ai écris ça à mon collègue commercial pour lui expliquer : Encore merci à tous.... Mais le sujet n'est pas clos... je n'ai toujours pas de "preuves irréfutables" à mettre sous le nez du client... :P
  17. Bonjour à tous. Aujourd'hui, un client me demande de caler des planches cadastrales. Je lui ai répondu que le Cadastre n'existe que pour les impôts fonciers et que leurs planches cadastrales ne sont qu'une aide graphique, elles n'ont aucune précision. Il m'affirme que non, je cherche donc une preuve "concrète" de ce que je lui ai dis. Quelqu'un aurait-il cette preuve, un lien, un décret...?
  18. DenisHen

    Levés topographiques

    +1 avec Olivier... C'est vrai qu'à l'époque, celle où on était deux, voir trois (un à l'appareil, un à la canne et un au croquis), sur le terrain, chacun se contrôlait et contrôlait ce que faisait l'autre... Maintenant, il n'y a qu'une seul personne sur le terrain, et l’autocontrôle est beaucoup moins efficace... De plus, étant de plus en plus assisté dans le travail, on fait trop "confiance" en la machine, en oubliant que c'est toujours l'humain qui saisi les données. La machine ne fait que les collecter. L'automatisation est à double tranchant...
  19. DenisHen

    Script renommer bloc

    Oops, désolé, j'avais mal lu... Non, malheureusement LT ne comprend pas le Lisp... Mais tu peux l'insérer et l'effacer, de telle sorte que la définition du bloc existe dans ton DWG.
  20. DenisHen

    Script renommer bloc

    Salut. Peut-être avec un petit lisp : (defun c:RemplBlkMyleneV () (if (tblsearch "block" "M-ATTRIBUTS_INDUS_FR-EN") (command "-renommer" "BL" "M-ATTRIBUTS_INDUS_FR-EN" "M-ATTRIBUTS_INDUS_FR-ENOLD" "") ) ;_ Fin de if ) ;_ Fin de if Attention, je ne peux le tester en ce moment... PS : petite correction...
  21. Désolé de te décevoir, mais ce code n'est pas de moi... :(
  22. Je ne comprend pas... Par un copier/coller...? Tu veux dire que tu ne sais pas éditer un .lsp depuis AutoCAD (commande 'VLIDE) ? Ou que tu ne sais pas le mettre en forme dans le forum (balises au dessus du texte "<>") ?
  23. Salut. Voici le Lisp : (defun c:MAJZ (/ obj acdoc precision *error* oldcmdecho blk b att ss ins) ; Met à jour pour toutes les références du bloc choisi un attribut sélectionné, ; pour y afficher la coordonnée Z du bloc. ; Brice Studer, mars 2011 ; ;~~~~~~~ CONFIG ~~~~~~~~~~~ (setq precision 3) ; nombre de décimales de l'altitude ;~~~~~~~ FIN CONFIG ~~~~~~~ (vl-load-com) (setq acdoc (vla-get-ActiveDocument (setq obj (vlax-get-acad-object))) ) ;~~~~~~~ GESTION ERREURS ~~~~~~~~~~~ (defun *error* (msg) (vla-endundomark acdoc) (and msg (or (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) ) (if ss (vla-delete ss)) (princ) ) ;~~~~~~~ FIN GESTION ERREURS ~~~~~~~ ;~~~~~~~ SOUS-FONCTIONS ~~~~~~~~~~~ (defun PutAttValue ( object tag value ) (mapcar (function (lambda ( attrib ) (and (= tag (vla-get-TagString attrib)) (vla-put-TextString attrib value) ) ) ) (vlax-invoke object 'GetAttributes) ) value ) ;~~~~~~~ FIN SOUS-FONCTIONS ~~~~~~~ (vla-StartUndoMark acdoc) (while (not (and (setq blk (car (entsel "\nSélectionnez un des blocs à mettre à jour: "))) (setq blk (vlax-ename->vla-object blk)) (= (vla-get-ObjectName blk) "AcDbBlockReference") (setq blk (vla-get-effectivename blk)) );and );not (princ "\nL'objet sélectionné n'est pas un bloc ! ") );while no bloc (while (not (and (setq att (car (nentsel "\nCliquez sur une valeur d'altitude: "))) (setq att (vlax-ename->vla-object att)) (= (vla-get-ObjectName att) "AcDbAttribute") (setq att (vla-get-tagstring att)) );and );not (princ "\nL'objet sélectionné n'est pas un attribut ! ") );while no attribute (if (ssget "_X" '( (0 . "INSERT") ) ) (vlax-for b (setq ss (vla-get-ActiveSelectionSet acdoc)) (if (= blk (vla-get-effectivename B)) (progn (setq ins (caddr (vlax-get b 'InsertionPoint))) (putattvalue b att (rtos ins 2 precision)) ) );if b = blk );vlax-for );if ssget (*error* nil) (princ) );MAJZ (princ "\nCommande à utiliser: MAJZ") (princ)
  24. Salut lrbd, et merci pour ton aide... je me doutais d'un truc dans ce genre, mais j'ai, pour le coup, préféré tout gérer tout depuis Excel VBA plutôt que de lancer les Lisp depuis Excel...
  25. Bonjour à tous. J'ai un petit souci, lorsque je commande AutoCAD depuis Excel, j'envoi une commande qui dure assez longtemps et Excel me sort "Microsoft Excel attend la fin de l'exécution d'une action OLE d'une autre application" Comment faire pour dire à Excel d'attendre jusqu'à ce qu'AutoCAD réponde, sans me mettre ce message qui arrête la routine VBA ?
×
×
  • 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é