Aller au contenu

VDH-Bruno

Membres
  • Compteur de contenus

    1 146
  • Inscription

  • Dernière visite

  • Jours gagnés

    20

Tout ce qui a été posté par VDH-Bruno

  1. Bonjour, Tramber : Pour le lien 1 Ok, pour le 2ème de Patrick-35 c’est celui-là : http://cadxp.com/topic/14680-sauvegarde-automatique-jpg/page__view__findpost__p__76217 didier : Si d’ici la fin de l’année je réussie à ne plus ramener de travail à la maison j’ai bonne espoir de soulever une grosse partie du couvercle… (pour les liens mort!!!) A+ Bruno
  2. Bonjour, La commande AutoCAD d'origine à une option de rotation pour ne pas être restreint par le SCU. A+
  3. VDH-Bruno

    Le DWG

    Re, La mémoire m’est revenu en fait je tiens cette info d’un ingénieur structure (croisé à l’occasion d’un projet) qui se servait de cette bibliothèque pour générer des fonds de plans en dwg, en fonction de calculs issus d’un programme qu’il s’était développé. A+
  4. VDH-Bruno

    Le DWG

    Bonjour, En attendant l’avis d’expert plus compétent que moi (non pratiquant en la matière), mais il me semble avoir entendu (ou lu) que certains développeurs utilisaient la bibliothèque de l’Open Design Alliance et qu’une nouvelle alternative le projet GNU à fait son apparition… Quelques liens rapidement glané sur Wikipédia : http://fr.wikipedia.org/wiki/DWG http://fr.wikipedia.org/wiki/Open_Design_Alliance http://fr.wikipedia.org/wiki/GNU_LibreDWG A+
  5. Regarde du côté de la variable FILEDIA, à tout hasard.. Car je ne travaille pas sur AutoCAD Architecture. A+
  6. Bonsoir, Je confirme installation et fonctionnement impeccable sur mon PC perso (seven 64 bit) testé depuis gileCAD. Toujours aussi réactif, bravo et merci :) A+ Bruno
  7. Bonsoir (gile), Pour tester et te donner un retour, j’ai cliqué sur le lien, il me renvoie sur la page de Texfinder de ton site, mais quand je clique sur le bouton installer, la page xml suivante s’affiche http://gile.pagesperso-orange.fr/TextFinder/TextFinder.application A+
  8. Bonsoir BonusCAD, Au sujet des noms d’entités composant les FIELD et en voulant confronter mon approche à celles que d’autres ont pu écrire avant moi, je suis tombé sur ce post et me suis arrêté sur la réflexion suivante : Tout d’abord tel quel, la routine fonctionne c’est juste un problème d’affichage des grippes dans le cas d’une sélection avant pour t’en convaincre lance un regen pour voir la sélection gripper. Cela vient du fait que lorsque la variable PICKFIRST est à 1, l’appel à la fonction sélection ssget filtre la sélection précèdent (cas de l’option "_:S" entre autres…), préalablement activé au moyen de la fonction sssetfirst alors cette dernière n’affichera plus les sélections suivantes à moins d’une régénération de l’affichage. Pour éviter d’avoir à faire "Esc" pour annuler la sélection active, il faut soit : Régler préalablement la variable PICKFIRST à 0 (pour sélectionner les objets uniquement après le lancement d'une commande). Inserer dans le code un (command) ou un (sssetfirst nil nil) impérativement avant l’appel à la fonction ssget. Régénérer l’affichage à la sortie du code. Amicalement Bruno. (Ps1 : détail js_sub contient un espace dans la localisation du defun) (Ps2 : le code échoue si dans une cellule du tableau il y a une formule de champs dynamique)
  9. VDH-Bruno

    kesako??

    Bonsoir philsogood, Aucun problème pour décomposer le groupe de ton fichier avec les routines du post ci-dessus . A+
  10. VDH-Bruno

    kesako??

    Bonsoir, Concernant la suppression des groupes par programmation. Pour corriger mon affirmation (car ce n’est pas moins directe en AutoLISP pur) et m’aérer l’esprit.. (Un peu trop au taquet et depuis un peu trop longtemps dernièrement). Les équivalents aux fonctions VLisp posté précédemment par lecrabe (réponse n°6) : ;; VDH-Bruno Supprime tous les groupes du dwg (defun c:grdissocierall () (foreach x (dictsearch (namedobjdict) "ACAD_GROUP") (if (= (car x) 350) (entdel (cdr x)) ) ) (princ) ) Et moi-même (réponse n°8) : ;; VDH-Bruno Supprime un groupe unique par pointage (defun c:grdissocier (/ e) (and (setq e (ssget "_+.:S")) (setq e (cdr (assoc 330 (member '(102 . "{ACAD_REACTORS") (entget (ssname e 0)))))) (member (cons 350 e) (dictsearch (namedobjdict) "ACAD_GROUP")) (entdel e) ) (princ) ) A+
  11. Bonsoir, Une petite routine DIRFIELD pour identifier les entités graphique entrant dans la composition d’un champ dynamique, et comprendre rapidement qu’elles sont les entités qui sont liés (pratique lorsqu’un dwg fourmille de champs avec formules). Fonctionne sur les champs (et formules de champs) des textes, textes multiples, des références d’attributs et des tableaux, avec toutes fois une limitation sur les champs des tableaux référençant des numéros de cellules.. ;; VDH-Bruno DIRFIELD le: 12/11/2013 ;; Highlight les entités graphique qui composent le champ dynamique se trouvant ;; sous le curseur. (defun c:dirField (/ gr e l edict *error* mredraw foo) ;; Gestion des erreurs (defun *error* (msg) (if l (mredraw l 4)) (princ)) ;; Fonction redraw sur une liste d'entités (defun mredraw (l code) (foreach x l (redraw x code))) ;; Explore l'arborescence des codes 360 puis retourne les noms d'entités des codes 331 (defun foo (l / x) (cond ((null l) nil) ((setq x (assoc 331 l)) (list (cdr x))) ((append ((lambda (p) (if p (foo (entget (cdr p))))) (setq x (assoc 360 l))) (foo (cdr (member x l))) ) ) ) ) (prompt "Positionnez le pointeur sur un champ dynamique pour voir les entités liés...") (while (= 5 (car (setq gr (grread t 13 2)))) (if l (mredraw l 4)) (and (setq e (car (nentselp (cadr gr)))) (setq edict (cdadr (member '(102 . "{ACAD_XDICTIONARY") (entget e)))) (mredraw (setq l (foo (dictsearch edict "ACAD_FIELD"))) 3) ) ) (*error* nil) ) Bon test. A+
  12. Bonsoir, Rapidement ma proposition par composition de fonctions AutoLisp standard.. (defun bv:filename-base (filename) ((lambda (a b ) (substr filename a (if b (1+ (- b a))))) (+ 2 (cond ((vl-string-position 92 filename nil T)) ((vl-string-position 47 filename nil T)) (-1) ) ) (vl-string-position 46 filename nil T) ) ) A+ EDIT : Je vois que (gile) et Patrick_35 ont fait l’impasse sur la syntaxe suivante "C:/Dir/toto.dwg" EDIT2 : Simplifié les (ascii "\\") (ascii "/") (ascii ".") par leurs codes correspondants 92, 47, 46,
  13. Bonjour, Juste pour le plaisir d'ajouter un peu de confusion,je fais remarquer que si vous avez une ancienne version genre 2007, vous constateriez que c’est l’inverse.. (fermé => bleu, ouvert => jaune) :huh: . A+
  14. Bonjour, Pour l'exemple: _$ (setq lst (layoutlist)) ("Présentation1" "Présentation2") _$ lst ("Présentation1" "Présentation2") A+
  15. VDH-Bruno

    kesako??

    Merci, si un jour tu veux l’améliorer ou sécuriser, car il n’est pas sur à 100% que dans ta définition dxf à la suite du groupe (102 . "{ACAD_REACTORS") le groupe dxf 330 suivant soit celui du groupe (il peut avoir plusieurs groupe 330), il faudrait préférer une routine du style massoc, à la place de assoc et vérifier si il existe au moins un code 330 dans l’entité qui pointe sur un groupe. A+
  16. VDH-Bruno

    dwgname

    Bonjour Patrick_35, C’est un peu l’idée que je voulais exprimer avec la remarque suivante.. Amicalement Bruno
  17. VDH-Bruno

    kesako??

    Ça se fait avec les codes dxf 330 et 350 pour récupérer le nom du groupe, c'est un peu moins direct. Pas besoin de lisp sur version full, pour les groupes anonymes, il suffit dans la boite de dialogue des groupes de cliquer sur Trouvez par nom Puis de sélectionner un membre du groupe pour obtenir son nom avant de le supprimer A+
  18. VDH-Bruno

    dwgname

    Re, Pour information la version la plus rapide et celle utilisant vl-string-right-trim, à délaisser car sur l’exemple suivant le résultat est erroné. _$ (vl-string-right-trim ".dwg" "totodwg.dwg") "toto" A mon avis (et après teste) la plus efficiente et celle utilisant vl-string-subst, mais elle nécessite de connaitre et spécifier l’extension du fichier (cas présent), contrairement à la solution vl-filename-base qui est plus confortable d’utilisation. A+
  19. VDH-Bruno

    dwgname

    Bonsoir, Autres variantes possible : (vl-string-right-trim ".dwg" (getvar 'dwgname)) (vl-string-subst "" ".dwg" (getvar 'dwgname)) (substr (setq str (getvar 'dwgname)) 1 (vl-string-search ".dwg" str 1)) (substr (setq str (getvar 'dwgname)) 1 (vl-string-position (ascii ".") str nil t)) (substr (setq str (getvar 'dwgname)) 1 (vl-string-position (ascii ".") str)) A+
  20. VDH-Bruno

    kesako??

    Bonsoir Olivier, Est-ce que quelque chose de ce genre là, pourrait faire l'affaire? ;; VDH-Bruno le 16-10-2013 ;; Dissocier un groupe par pointage (defun c:grdissocier (/ e) (and (setq e (ssget "_+.:S")) (eq (vla-get-ObjectName (setq e (vlax-ename->vla-object (cdr (assoc 330 (entget (ssname e 0))))) ) ) "AcDbGroup" ) (vla-delete (vla-Item (vla-get-groups (vla-get-ActiveDocument (vlax-get-acad-object))) (vla-get-Name e) ) ) ) (princ) ) (Ps : Ctrl+H permet de faire la bascule rapidement pour PICKSTYLE 1 <-> 0 ) A+
  21. Salut, Ecrit très rapidement donc un peu brut de décoffrage, à tester.. ;; Renomme et incrémente les blocs pour la chaine spécifié (defun c:renominc (/ lst name chaine cmdecho nouvnom i *error*) (defun *error* (msg) (setvar 'cmdecho cmdecho) (if msg (princ msg) ) (princ) ) (and (setq cmdecho (getvar 'cmdecho) chaine (getstring "\nChaine de caractère à rechercher dans les définitions de blocs: ") ) (setvar 'cmdecho 0) (not (while (not (snvalid (setq nouvnom (getstring "\nBlocs à renommer en: ")))) (alert "Nom de définition de bloc non valide!!!") ) ) (while (setq bl (tblnext "BLOCK" (not bl))) (if (vl-string-search (strcase chaine) (strcase (setq name (cdr (assoc 2 bl))))) (setq lst (cons name lst)) ) lst ) (repeat (setq i (length lst)) (command "_-RENAME" "_b" (car lst) (strcat nouvnom (itoa i))) (setq i (1- i) lst (cdr lst) ) ) ) (*error* nil) ) A+
  22. VDH-Bruno

    couleur blanche

    Bonjour, Modifie le code comme indiqué par –Olivier- en réponse n°9 Si tu veux comparer en repartant du code que tu as posté, une solution possible en Vlisp. ;; Force la couleur des hachures dans les définitions de bloc en couleur 255,255,255. ;; Faire un regen pour modifier l'affichage sur les références (defun c:temp (/ blo doc ent objCoul) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) ;; Obtention d'un pointeur sur la couleur RGB (255,255,255) (vla-setRgb (setq objCoul (vla-getInterfaceObject (vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "acadver") 1 2)) ) ) 255 255 255 ) ;; Parcours la table des blocs du document (vlax-for blo (vla-get-blocks doc) (and (eq (vla-get-islayout blo) :vlax-false) ;; Parcours la définition du bloc (vlax-for ent blo (and (eq (vla-get-objectname ent) "AcDbHatch") (vla-put-TrueColor ent objCoul))) ) ) (vla-endundomark doc) (princ) ) C’est l’intention qui compte, je n’y ai rien vu de minable. ;) Amicalement Bruno
  23. VDH-Bruno

    couleur blanche

    Bonjour, Si le Tipex vient à manquer, tu peux éventuellement tester le code qui suit (code en lisp classique peut être plus facile à décortiquer pour toi). ;; Passe les couleurs des hachures de bloc forcé en 255 en couleur 255,255,255. ;; Faire un regen pour modifier l'affichage sur les références (defun c:test (/ blk e dxf) (while (setq blk (tblnext "BLOCK" (null blk))) (cond ((wcmatch (setq blk (cdr (assoc 2 blk))) "~'**") (setq blk (entget (tblobjname "BLOCK" blk)) e (cdr (assoc -2 blk)) ) (while e (if (and (= "HATCH" (cdr (assoc 0 (setq dxf (entget e))))) (= (cdr (assoc 62 dxf)) 255)) (entmod (append dxf '((62 . 7) (420 . 16777215)))) ) (setq e (entnext e)) ) ) ) ) (princ) ) A+
  24. VDH-Bruno

    Opération sur commande

    Bonsoir, Je veux bien le croire, je suis assez ignorant du système impérial, je dois l’avouer. (Ps : Je viens d’apercevoir le changement dans ta signature, je trouve que la mise à jour de ton site est réussi, merci).
  25. VDH-Bruno

    2007 avec Seven

    Bonsoir, Je développe un peu ma réponse précédente, lorsque je dis « pas génial génial » sur la config, je ne parle pas du fait que la machine tourne en 64 bits et l’appli en 32 bits en effet pas de soucis. Le problème je crois vient des droits sur la machine qui doivent être géré différemment entre Seven et XP et comme aucun responsable informatique ne peut imaginer laisser un dessinateur administrateur de son poste, cela crée quelques désagréments (ou plutôt limitation) à AutoCAD 2007 plus ou moins important suivant le niveau de verrouillage de la station DAO. Voilà le retour que je peux faire en tant qu’utilisateur. Et c’est pourquoi comme lecrabe, je pense que dans le cadre d’un fonctionnement d’entreprise une virtualisation sous XP mode est préférable. A+
×
×
  • 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é