-
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
-
Salut Le lien vient d'être réparé. @+
-
Salut Dans l'espace Papier, tu vas dans ta fenêtre en Espace objet. Tu ouvres le gestionnaire de calques et tu cliques sur le gestionnaire des états de calque ou directement en ligne de commande LMAN. Tu sauvegardes ton état de calques. Tu vas dans une autres fenêtres (dans le même onglet ou pas) et tu restaures ton état sauvegardé auparavant. Ca, c'est la méthode Autodesk. Maintenant, tu as aussi GEF @+
-
Salut A te lire, tu as des spec communes à plusieurs dessins. Plutôt que d'utiliser les dictionnaires, pourquoi ne pas se servir d'un fichier extérieur ? La mise à jour sera plus facile, un peu comme les xrefs. Pour répondre à ta question, regarde du coté de (vlax-ldata-get ...) @+
-
Salut Je vais faire mon chieur ;) Merci, je me plais à jouer de la langue française bien que je ne sois pas à l'abri de quelques petites erreurs de grammaire. Moi non plus et je me joins à bryce pour ses félicitations. @+
-
Lecture d'une liste de listes
Patrick_35 a répondu à un(e) sujet de Fraid dans Pour aller plus loin en LISP
Quelque chose danc ce style ? (defun c:test ( / lste result) (setq Lste '( ("fdffg" "FDFFG" "1234" "4569" "22" ) ("fdifg" "FDIFG" "1224" "4569" "22" ) ("mdffg" "MDFFG" "1434" "4569" "22" ) ("adffg" "ADFFG" "1234" "4169" "22" ) ) ) (setq CheckList (strcase (getstring T "\nTapper le string : ") T)) (mapcar '(lambda(x)(list (nth 2 x) (nth 1 x))) (vl-remove-if-not '(lambda(x)(eq (caddr x) CheckList)) Lste)) ) Un exemple avec assoc, mais qui utilise le 1er élément de la liste (par exemple mdffg) (defun c:test ( / lste result) (setq Lste '( ("fdffg" "FDFFG" "1234" "4569" "22" ) ("fdifg" "FDIFG" "1224" "4569" "22" ) ("mdffg" "MDFFG" "1434" "4569" "22" ) ("adffg" "ADFFG" "1234" "4169" "22" ) ) ) (setq CheckList (strcase (getstring T "\nTapper le string : ") T)) (if (setq result (assoc CheckList Lste)) (list (nth 2 result) (nth 1 result)) ) ) @+ -
Lecture d'une liste de listes
Patrick_35 a répondu à un(e) sujet de Fraid dans Pour aller plus loin en LISP
Tu n'as aucune récursion. Cela permet d'appeler directement la liste souhaitée. c'est dans la même logique que les codes dxf Cela dépend du besoin. Si tu as plusieurs fois le même identifiant, oui, voir avec vl-remove-if ou vl-remove-if-not, mais s'il est unique, c'est vraiment avec assoc le plus simple. Miantenant, c'est comme tu veux @+ -
Lecture d'une liste de listes
Patrick_35 a répondu à un(e) sujet de Fraid dans Pour aller plus loin en LISP
Salut Je suis comme VDH-Bruno, par certain de tout comprendre. Je vais quand même te donner une astuce pour éviter d'utiliser un mapcar, c'est d'utiliser assoc Par exemple (assoc "mdffg" Liste) ce qui devrait retourner logiquement Ensuite, avoir dans la liste retournée, les deux premiers éléments identiques, je ne vois pas trop l'intérêt, au contraire. @+ -
Enfin :D Ce qui bug chez toi, c'est l'affichage de l'identificateur de l'attribut. Je ne comprends pas pourquoi et je l'ai donc désactivé, histoire de voir. @+
-
Grumph J'ai modifié le lisp pour voir si c'est ce que je suppose. @+
-
Ok, merci et je pense avoir trouvé grâce à cette vidéo. Le lisp a été conçu pour une version 32 bits et non 64. Avec ce sujet, j'ai modifié le lisp en conséquence. Ca fonctionne sur une 32 bits. @+
-
Je ne comprends pas. Ci-joint une petite vidéo avec ton fichier d'exemple. Si tu pouvais faire de même afin d'essayer de cerner le problème. @+
-
Je viens de faire un test avec LXL (v5.02) et ton fichier en exemple et tout fonctionne correctement. 1) Je lance LXL 2) Je vais rechercher le fichier Excel qui m'interesse. 3) J'assigne la Feuille Excel. 4) Je vais rechercher l'attribut et lui assigne une cellule Excel (par exemple A1). 5) Je lance une mise à jour d'Autocad vers Excel. 6) J'ouvre mon fichier Excel pour vérifier le résulat. 7) Tout est OK. @+
-
Salut Comme je le disais @+
-
Salut Ben oui, le but de JAV (avec toutes les options) est justement d'éliminer tout ce qui ne concerne pas Autocad de base. Quand on recoit des plans venant de l'extérieur et qu'on ne dispose pas un des verticaux d'autocad, l'intelligence du dessin nous est donc d'aucune utilitée et peut être supprimée Donc, si on a une application du style Covadis, il faut faire attention aux options de JAV qui risque de rendre inintelligent le dessin. Cela fait partie des options indiquées comme sensible dans JAV voir des zombies et proxys. Mais il reste quand même des options qui peuvent être utilisées dans tous type d'autocad comme effacer les lignes de longueur 0, d'effacer les groupes vides, etc... @+
-
Euréka, j'ai trouvé (comme dirait Archimède). Tu avais raison. J'ai mis le lien à jour (de mon blog en v1.10) Oui, mais uniquement si elles sont vide. Merci, c'est gentil, mais reprendre des lisps qu'on n'a pas écrit soi-même n'est pas une chose aisé. Mais, tu peux t'en inspirer et poser des questions pour progresser. @+
-
Salut C'est une option dans JAV, pas avec PUR. J'ai oublié d'indiquer le (vl-load-com). J'ai modifié le lisp Il n'y a pas de raison. Tout fonctionne sur ma 2009 Cela ne fonctionne pas que sur un dessin ? Si c'est le cas, merci de m'envoyer un exemple pour que je puisse regarder, sinon, sur quelle version d'Autocad es-tu ? @+
-
Salut Dégele et active tout les calques pour voir. @+
-
Merci. Si tu regardes bien, il y a beaucoup de copier/coller de morceaux de lisps. Il reste ensuite à les assembler intelligemment ;) Il n'y a pas de raison que cela ne fonctionne pas. :o Sur ma 2009, tout est OK. Réinstalle JAV à tout hasard Tu n'as pas besoin de lancer à chaque fois PURO (ps:PURO = PUR+Option) car le gabarit est mémorisé dans Autocad. @+
-
salut J'ai profité de ma pause déjeuner pour te faire quelque chose. Tu lances la commande pur pour purger le dessin tout en conservant ce qui est définit dans un gabarit. Tu lances la commande puro pour définir le gabarit. Si le gabarit n'a pas été définit avec puro et que la commande pur est lancée en premier, la question sera alors posée pour le gabarit. Maintenant, avec JAV, tu peux désactiver l'option purger et activer lancer une/des application(s) dans lequel tu ajoutes PUR. ps : j'ai fais quelques tests, mais pas en profondeur. @+
-
Salut C'est tout à fait possible. On peut se servir d'un gabarit pour exclure les éléments à purger. Cela demande du temps que je n'ai pas en ce moment. @+
-
Salut Tout dépend des options choisis dans JAV. Il faut décocher Purger le dessin @+
-
Visibility state & look up
Patrick_35 a répondu à un(e) sujet de CadFrank dans Pour aller plus loin en LISP
Salut Tu peux regarder dans le Special_selections de (gile) Tu as quelque chose sur les blocs dynamiques. @+ -
Salut J'ai du mal à cerner ta demande. Tu souhaites savoir à quoi correspondent les ACAD_PROXY_ENTITY, d'ou ma réponse. Mais ensuite, c'est pour les supprimer ? Si c'est la cas, tu as une option de JAV pour cela. @+
-
Salut Oui, on le retrouve ici ps : mais la variable taskbar est pas mal aussi. @+
-
Télécharger un fichier
Patrick_35 a répondu à un(e) sujet de pingoo666 dans Pour aller plus loin en LISP
J'en ai aussi profité pour revoir download (defun download (url dir / byte fic file fso http ok tbl taille) (setq http (vlax-create-object "MSXML2.XMLHTTP") fso (vlax-create-object "Scripting.FileSystemObject") file (strcat dir (vl-filename-base url) (vl-filename-extension url))) (vlax-invoke-method http 'open "get" url :vlax-false) (vl-mkdir dir) (if (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke (list http 'send))) (princ (strcat "\nLe lien " url " n'est pas valide.")) (if (eq (vlax-get http 'status) 200) (if (vl-catch-all-error-p (setq taille (vl-catch-all-apply 'vlax-invoke (list http 'getResponseHeader "Content-Length")))) (princ "\nErreur de lecture sur la taille du fichier.") (if (< (atoi taille) (vlax-get (vlax-invoke fso 'getdrive (substr (vlax-invoke fso 'getabsolutepathname file) 1 1)) 'freespace)) (progn (princ "\nTéléchargement en cours...")(princ) (while (not (eq (vlax-get http 'readystate) 4)) (vla-eval (vlax-get-acad-object) "DoEvents") ) (setq tbl (vlax-safearray->list (vlax-variant-value (vlax-get-property http 'responsebody)))) (if (vl-catch-all-error-p (setq fic (vl-catch-all-apply 'vlax-invoke (list fso 'createtextfile file)))) (princ (strcat "\nImpossible de créer le fichier " file)) (progn (foreach byte tbl (vlax-invoke fic 'write (vl-list->string (list (+ 12288 byte)))) ) (vlax-invoke fic 'close) (setq ok T) ) ) ) ) ) (princ (strcat "\n" (vlax-get http 'statustext) "...Erreur " (itoa (vlax-get http 'status)) ".")) ) ) (vlax-release-object http) (vlax-release-object fso) ok ) Test (download "http://carnet-de-cablage.chez-alice.fr/Blog/Syn-v1.21.zip" "c:/test/") Par contre, pour mon test sur le fichier zip, j'ai du ajouter 12288 à chaque byte du fichier. Il y a quelque chose qui m'échappe pour l'instant. @+
