Aller au contenu

Bruno_T

Membres
  • Compteur de contenus

    31
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bruno_T

  1. il y a ça de chez Autodesk Labs qui s'en rapproche : http://labs.autodesk.com/utilities/google_earth_extension_beta/ J'avais fait joujou à l'époque avec mais je constate que c'en est toujours au même point...
  2. effectivement il y a un problème sur tes xrefs, donc j'ai simplement utilisé la commande [surligneur]controle [/surligneur] qui a corrigé les erreurs. Puis je les ai purgés. Maintenant ça fonctionne, les voici en retour dans un zip : (j'ai utilisé un autre site car DL Free semble saturé) http://www.yousendit.com/download/MVNkOGNSZEt0d0YzZUE9PQ
  3. après un upload, dl.free.fr retourne un lien où on peut télécharger les fichiers. J'ai besoin de ce lien pour les téléchager ;)
  4. ce n'est pas normal, l'xref devrait être transformé en bloc appartenant au dessin, donc visuellement rien ne devrait changer. Il faut peut être contrôler le fichier principal via la commande [surligneur] controle [/surligneur] en faire de même avec le fichier xref. Si le problème persiste il faut analyser les fichiers, peut-être pouvez-vous me les transmettre via http://dl.free.fr/
  5. tout dépend s'il on veut quelques éléments de l'xref ou tout l'xref pour avoir tout l'xref : via la boite de dialogue de gestion des références externes faire un clique droit sur le nom de l'xref puis choisir Lier, l'xref sera transformé en bloc qu'il restera à décomposer. pour avoir quelques éléments : utiliser la commande ncopy des express tools ou Menu Express > Blocks > Copy Nested Objects
  6. Bruno_T

    impression monochrome

    IMO, le plus simple, c'est à dire sans avoir à intervenir sur le fichier, est de créer une vraie configuration de traceur monochrome (c'est à dire créer un pc3 et un pmp monochromes). Cela rend la solution indépendante du fichier dwg. Même les petites imprimantes ont un mode d'impression monochrome.
  7. Bruno_T

    Tri liste de points

    avec (setq lis '((1 1 0) (2 3 1) (5 6 1) (8 3 2) (9 1 5))) (setq lcomp '(4 5 0)) (setq xi (car lcomp) l (length lis) i -1) (while (and (< (setq i (1+ i)) l) (< (car (nth i lis)) xi))) (list (nth (1- i) lis)(nth i lis)) mais on ne connait pas entièrement le problème, notamment les réactions souhaitées sur les bords de la liste et en cas d'égalité avec le "x" d'un des éléments...
  8. re, peux-tu mettre a disposition un fichier ? car suivant le cas, je pense que cela peux-aller de réalisable en une manipulation à pratiquement infaisable. Bruno
  9. bonsoir PHILPHIL, si j'ai bien compris ton problème... méthode 1 pour joindre des segments espacés qui apparaissent visuellement comme des tirets, il faut utiliser Pedit option M, option Joindre, type de jointure : prendre les 2, distance d'analyse : prendre environ la longueur d'un "tiret". on obtient 1 polyligne avec de nombreux sommets. Pour nettoyer ces sommets, utiliser la commande overkill des express tools, avec les options PLINES, OVERLAP, END to END activées. puis finir en donnant un style de ligne proche de celui initiale. méthode 2 en utilisant uniquement overkill et un Numeric Fuzz suffisamment important (j’ai utilisé 1 dans mon exemple) http://img185.imageshack.us/img185/8553/20081023212531xy6.png Bruno Toniutti
  10. bonjour willfrca en fait je ne comprends pas cette phrase : La 2009 et la 2007 utilisent toutes deux du dwg 2007, alors qu'entends-tu par "exporter" ? As-tu un fichier d'exemple ayant ce problème ? merci Bruno Toniutti
  11. bonjour, normalement à ce niveau AutoCAD attend le nom d'un pc3, il est inutile d'utiliser un chemin si les pc3 sont correctement placés dans le dossier Plotters (ou son équivalent s'il a été redéfini dans les préférences d'AutoCAD) (command "-traceur" "oui" "" "montraceur.pc3" etc.... en lisp, les chemins ne s'écrivent pas de la même manière que sous windows : par exemple : C:\Program Files\AutoCAD 2008 s'écrit au choix : C:\\Program Files\\AutoCAD 2008 ou C:/Program Files/AutoCAD 2008 as-tu utilisé une écriture correcte pour ton chemin ? Bruno Toniutti
  12. bonjour, en complément a la solution de (gile) , il y a aussi le célèbre stripmtext (public domain) que j'utilise depuis des années : ce lisp permet de faire un nettoyage sélectif des mtexts http://cadabyss.wordpress.com/2007/04/01/stripmtext-v309/ Bruno Toniutti
  13. bonjour, De mémoire, il me semble qu'il y a peu de temps Autodesk avait communiqué sur le nombre de fichiers dwg sur la planéte, j'ai 10 milliards en tête mais je n'arrive pas à remettre la main dessus. En 2003 :D "on" estimait qu'il y avait 3 milliards de dwg mais ça m'amuse comme chiffre, la méthode pour évaluer cela ? (nombre des différentes licences en activité) X (après étude, le nombre de fichiers que produit en moyenne une licence) le tout indexé sur le nombre d'années d'existence d’AutoCAD, le tout indexé sur l'ensemble des programmes qui produisent du dwg, le tout etc. etc. Rien que pour évaluer le nombre d'habitants alors que les décés et les naissances sont suivis, on est encore obligé de passer dans les foyers pour demander "combien vous êtes ?"....alors le nombre de fichiers AutoCAD... à 10 milliards prés effectivement ça doit juste... ;)
  14. bonjour LUDWIG, voici une version en tentant de simplement répondre à tes questions et à ce que tu as posté. Il reste encore des problèmes potentiels. Comme je ne sais pas ce qui détermine l'ordre de tes sommets, j'ai donc choisi de les trier suivant l'axe des x. (defun c:cotmas ( / osmodeSave ss n eList xyz lwpolyPts) ; sauvegarde osmode pour ne pas prendre le risque d'interférer avec le lisp (setq osmodeSave (getvar "osmode")) (setvar "osmode" 0) (setq ss (ssget '((0 . "INSERT")))) (setq n 0 lwpolyPts nil) (repeat (sslength ss) (setq eList (entget (ssname ss n))) ; les coordonnées du point d'insertion sont dans le code du groupe 10 (setq xyz (cdr (assoc 10 eList))) ; construction de la liste des sommets de la lwpolyligne (setq lwpolyPts (cons (list 10 (car xyz) (cadr xyz)) lwpolyPts)) (setq n (1+ n)) ) ; tri des sommets suivants les x, ou autre chose à déterminer... (setq lwpolyPts (vl-sort lwpolyPts '(lambda (x1 x2) (< (cadr x1) (cadr x2))))) ; création de la lwpolyligne, le code 90 contient le nombre de sommets (entmake (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") (cons 90 (length lwpolyPts))) lwpolyPts ) ) ; restauration du osmode (setvar "osmode" osmodeSave) (princ) ) Bruno Toniutti [Edité le 22/10/2008 par Bruno_T]
  15. Bruno_T

    TOOLS LMAN

    bonjour, ce sont les états des calques qui proviennent de LMAN (ancienne commande des express tools), depuis plusieurs versions c'est intégré directement dans AutoCAD au niveau du gestionnaire des calques, mais le format de sauvegarde étant différent entre les 2 versions, AutoCAD converti les anciennes versions au nouveau format pour les rendre accessibles dans le gestionnaire des calques. idem que tout le monde après au audit tout rentre dans l'ordre, si ce n'est qu'AutoCAD trouve 393 erreurs et que 2 insertions du BTR ne sont pas réparables et sont donc effacées. + dans ton fichier le calque Defpoints est gelé, il ne devrait pas, puisque il sert au bon fonctionnement d'AutoCAD, en général il est inactif. Bruno [Edité le 21/10/2008 par Bruno_T]
  16. Bonjour scake j'imagine que l'outil d'Autodesk pour traiter un ensemble de fichiers ne te convient pas, peux-tu la poster ? suivant comment tu l'as programmée il se pourrait qu'il n'y ait plus grand chose à faire pour gérer la question des xrefs. Bruno Toniutti
  17. Bruno_T

    Bloc *U139

    oui Patrick naturellement c'est mieux, mais quand on a converttostaticblock de dispo :P , converttostaticblock a du apparaître vers la 2006, aujourd'hui ça doit être effectivement ok pour la majorité des utilisateurs. Comme je l'ai écrit, j'ai posté cela juste en tant qu'étude de programmation, bref c'est une bête curieuse que de passer par un audit et il n'y a plus de raison de procéder ainsi. Bruno Toniutti
  18. Bruno_T

    Bloc *U139

    bonjour, je propose ça mais je n'ai pas le moyen de le tester en dehors du fichier proposé par ludo07. (Donc si quelqu'un a un fichier avec des tonnes de blocs anonymes, merci à lui de le poster). le principe est de provoquer volontairement des erreurs dans la table des blocs pour les blocs ano, puis de les faire corriger par AutoCAD lui-même. C'est une étude de programmation et non une solution finale pour le problème initial évoqué. (setq doc (vla-get-activedocument (vlax-get-acad-object))) (setq i 0) (vlax-for obj (vla-get-blocks doc) (if (= (substr (strcase (vla-get-name obj)) 1 2) "*U") (progn (while (tblsearch "block" (itoa (setq i (1+ i))))) (vla-put-name obj (itoa i)) ) (setq blocks (cons (vla-get-name obj) blocks)) ) ) (vlax-invoke-method doc 'AuditInfo :vlax-true) (setq i 0) (vlax-for obj (vla-get-blocks doc) (if (not (member (vla-get-name obj) blocks)) (progn (while (tblsearch "block" (setq newName (strcat "U" (itoa (setq i (1+ i))))))) (vla-put-name obj newName) ) ) ) (vlax-release-object doc) donc si on souhaite seulement retirer le caractére anonyme des blocs on devrait pourvoir simplement faire : (setq i 0 doc (vla-get-activedocument (vlax-get-acad-object))) (vlax-for obj (vla-get-blocks doc) (if (= (substr (strcase (vla-get-name obj)) 1 2) "*U") (progn (while (tblsearch "block" (itoa (setq i (1+ i))))) (vla-put-name obj (itoa i)) ) ) ) (vlax-invoke-method doc 'AuditInfo :vlax-true) (vlax-release-object doc) Bruno Toniutti
  19. bonjour ingoenius, ce que tu décris ressemble à ce qu'on trouve par exemple de manière classique dans un cartouche présent dans plusieurs présentations de plusieurs fichiers. donc je ne comprends pas pourquoi tu utilises un champ pour afficher ta variable, un bloc classique avec un attribut ne convient-il pas ? ou un text ou etc... Bruno Toniutti
  20. bonjour, Une petite recherche de dgnlstyle.shx et ses variantes avec google indique comme on peut s'y attendre, qu'il s’agit du fichier de définition des formes shx utilisé par microstation quand il produit du dwg. La boite de dialogue "sélectionner le fichier formes" s'affiche quand il manque un fichier de forme pour les types de ligne. Quand une fonte est manquante et que la variable FONTALT n'est pas définie alors AutoCAD affiche une boite de dialogue différente proposant de sélectionner une fonte pour le style de texte en question. Effectivement, le fait d'afficher le type de fichier "Polices de forme (*.shx)" induit les utilisateurs en erreur quant à l'origine de leur problème. La boite de dialogue proposée par AutoCAD est dans le principe similaire à celle de Gile, si ce n'est qu'AutoCAD vérifie que la fonte n'est pas disponible avant d'en proposer son remplacement. Gile, j'ai lu rapidement ton code, j'ai l'impression que c'est un remplacement global pour tous les styles, mes excuses si ce n'est pas le cas. Pour remplacer les types de ligne posant des problèmes, on peut utiliser les outils de "norme CAO", ils sont accessibles à tous les utilisateurs, naturellement on peut aussi programmer une solution plus efficace. Bruno Toniutti [Edité le 21/10/2008 par Bruno_T]
  21. bonjour, voici une manière de faire : (if (setq e (car (entsel "Sélection d'une entité : "))) (progn (setq typeTxt (cdr (assoc '0 (entget e)))) (if (or (= typeTxt "TEXT") (= typeTxt "MTEXT")) (princ "\n C'est un text ou un Mtext") (princ "\n Ce n'est ni un text ni un Mtext") ) ) ) Bruno Toniutti [Edité le 2/10/2008 par Bruno_T]
  22. Bruno_T

    ssget

    bonsoir, oui ça évite de balayer plusieurs fois des jeux de sélections, mais naturellement tout dépend de ce qu'on souhaite en faire par la suite. On peut aussi l'écrire sous une forme plus compacte en évitant d'écrire les codes logiques (-4 . " < o r" etc., cependant c'est exactement la même chose. (ssget "X" (list (cons 0 "INSERT") (cons 2 "sb1,sb2,sb3"))) Bruno Toniutti
  23. oui Gilles, effectivement je n'ai pas suffisamment fait de tests (et seulement 1 de plus depuis...), j'ai corrigé mon code initial, merci pour l'info. Effectivement le principe est similaire à ta seconde solution. Bien que je trouve ces challenges intéressants, je ne sais pas si j'aurai le temps de m'attaquer aux autres :( Bruno Toniutti [Edité le 20/9/2008 par Bruno_T]
  24. bonjour, (defun err-ttt (msg) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ (strcat "\nErreur: ")) (princ msg) (setq *error* *error-Acad* *error-Acad* nil) (princ) ) (defun c:ttt (/ ss i *error-Acad*) ; initialization (setq *error-Acad* *error* *error* err-ttt) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) ; main test (setq ss (ssget)) (repeat (setq i (sslength ss)) (vla-put-color (vlax-ename->vla-object (ssname ss (setq i (1- i)))) 2) ) ; exit (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (setq *error* *error-Acad*) (princ) ) Bruno Toniutti [Edité le 20/9/2008 par Bruno_T]
  25. bonjour, on peut supprimer la saisie du point d'insertion, et de mémoire, l'extension dwg (cela est peut-être dépendant de la version d'AutoCAD) (command "_insert" "ancienbloc=nouveaubloc") (command) ancienbloc et nouveaubloc peuvent avoir le même nom Bruno Toniutti
×
×
  • 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é