-
Compteur de contenus
2 160 -
Inscription
-
Dernière visite
-
Jours gagnés
16
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par bryce
-
Bonjour, Il faudrait que Titi95 les mette à disposition en plus du dwg.
-
Il manque les textures par contre, ce qui peut fausser la comparaison... ;)
-
Bonjour, Voici une vidéo montrant la mise en place des contraintes: https://chronicle.autodesk.com/Main/Details/8a5a842a-c587-451b-930a-6b8b801bb086
-
Tu as redémarré AutoCAD pour qu'il recharge le pgp ? Si tu tapes la commande SHELL dans la ligne de commande, il se passe quoi ?
-
Bonjour, Aurais-tu bidouillé ton fichier ? :unsure: Vérifie s'il contient bien ceci (vers la 60e ligne): ; Exemples de commandes externes pour les fenêtres de commande DEL, DEL, 8,Fichier à supprimer: , DIR, DIR, 8,spécification de fichier: , SH, , 1,*Commande SE: , SHELL, , 1,*Commande SE: , START, START, 1,*Application à démarrer: , TYPE, TYPE, 8,Fichier à répertorier: , ; Exemples de commandes externes pour Windows ; Pour une autre méthode, se reporter également à la fonction AutoLISP (STARTAPP). EXPLORER, START EXPLORER, 1,, NOTEPAD, START NOTEPAD, 1,*Fichier à modifier: , PBRUSH, START PBRUSH, 1,
-
Supprimer des attributs sur un ensemble de bloc (répertoire)
bryce a répondu à un(e) sujet de ASTERIXII dans Routines LISP
Bonjour, Dans le 2e onglet, dans la partie centrale (commandes à appliquer à chaque fichier), vérifie s'il n'y a pas une ligne vide à la fin, après la dernière parenthèse. Si c'est le cas, supprime-la. Le fichier .seq devrait être comme ceci (je viens de voir qu'un saut de ligne gênant est ajouté à l'export): <preproc></preproc> <proc>(setq tags "NOM,PB") (if (setq ss (ssget "_X" (list (cons 0 "ATTDEF") (cons 2 tags)))) (progn (repeat (setq i (sslength ss)) (entdel (ssname ss (setq i (1- i)))) ) ) )</proc> <postproc></postproc> <autoopen>True</autoopen> <autosave>True</autosave> <diesel>False</diesel> Edit: j'ai mis en ligne une version corrigée de Sequence. -
Supprimer des attributs sur un ensemble de bloc (répertoire)
bryce a répondu à un(e) sujet de ASTERIXII dans Routines LISP
Si tu veux tester en script, tu peux télécharger et décompresser Sequence: https://www.box.com/s/d6kzzmt5y50pkutsqc9w Ensuite tu le lances, dans l'onglet Options tu indiques le chemin vers l'exécutable AutoCAD (acad.exe). Dans le 1er onglet, tu définis la liste des fichiers à traiter (je ne sais pas s'il est raisonnable d'en faire 1000 d'un coup, mais tu peux tenter). Dans le 2e onglet, tu colles le code ci-dessous dans la partie centrale (commandes à appliquer à chaque fichier): (setq tags "CV,SA,CH") (if (setq ss (ssget "_X" (list (cons 0 "ATTDEF") (cons 2 tags)))) (progn (repeat (setq i (sslength ss)) (entdel (ssname ss (setq i (1- i)))) ) ) ) La 1ère ligne est à modifier pour définir les étiquettes d'attribut à effacer. Dans le 3e onglet, tu cliques sur le bouton Lancer, et tu admires... B) J'ai fait un test sur une grosse liste de 4 fichiers, ça a fonctionné. :P -
Bah, fallait les congeler... :P ;)
-
Si tu désactives l'accélération matérielle et que ça ne va pas mieux, c'est que le problème ne vient pas de la carte graphique.
-
Supprimer des attributs sur un ensemble de bloc (répertoire)
bryce a répondu à un(e) sujet de ASTERIXII dans Routines LISP
Bonjour, J'ai l'impression qu'il y a une confusion sur ce que tu appelles des blocs. Ne s'agit-il pas plutôt d'une bibliothèque constituée d'un simple répertoire contenant un tas de fichiers dwg (destinés à être insérés en tant que bloc) ? :unsure: Si c'est bien ça, il faudrait donc simplement supprimer les définitions d'attributs, sans besoin de synchroniser. -
Bonjour, Je suggère quelques tests supplémentaires: - désactiver/désinstaller Norton - déconnecter le câble réseau - se connecter sous Windows en tant qu'utilisateur local (pas sur un domaine). A mon avis, ton souci ne vient pas d'AutoCAD lui-même, mais de l'environnement.
-
Il faut mettre en place des contraintes géométriques (tangences, coïncidences, perpendicularités, etc.) et dimensionnelles (cotes paramétriques), de façon à ce qu'on puisse faire varier la cote d'angle sans que le dessin se déforme. Va dans l'éditeur de bloc et affiche les contraintes géométriques pour voir un peu comment c'est fait. ;)
-
Bonjour, Ça semble faisable en bloc paramétrique: coude.zip
-
Oui, c'est ça. :) Utilisé de manière basique, le Lisp te permet de faire la même chose que des macros, mais avec plus d'interactivité. Ici par exemple, on lance la commande Hachures, puis la boucle while permet de mettre en pause tant qu'une commande est active (variable CMDACTIVE > 0), ce qui n'est pas possible avec une simple macro.
-
Bonjour, C'est le moment de te lancer avec un Lisp simple. ;) Par exemple: (defun c:HH ( / ) (setvar "CECOLOR" "ByLayer") (setvar "CELTYPE" "ByLayer") (setvar "CELWEIGHT" -1) (setvar "LWDISPLAY" 0) (command "-CALQUE" "L" "01_CONT_BBSG" "E" "01_CONT_BBSG" "IN" "~01_CONT_BBSG" "L" "01_CONT_BBSG" "E" "01_HATCH_BBSG" "CO" 252 "01_HATCH_BBSG" "TL" "Continuous" "01_HATCH_BBSG" "") (command "-HACHURES") (while (> (getvar "CMDACTIVE") 0) (command pause) ) (command "_LAYERP") (princ) )
-
Repérer les N° d'attributs identiques
bryce a répondu à un(e) sujet de FormaBois dans AutoCAD LT 2012
Bonjour, A priori, vu le temps qu'il faut pour une extraction d'attributs sur LT et en l'absence de Lisp, ScanDXF est à mon avis l'option la plus rapide. -
Désolé, mais à côté... :P Relis-bien ma réponse (et note le ~ devant le nom du calque). ;)
-
Bonjour, Tu peux le faire avec la commande -CALQUE, option INactif, et ~nomducalqueàisoler. ;)
-
Bonjour, Pour trouver l'aire de faces 3D, j'avais dans ce sujet utilisé la formule de Kahan, une variante de la formule de Héron: (defun bs:triangleArea ( coords / longueurs a b c ) ; Argument : une liste de 3 points, chaque point étant une liste de 2 ou 3 coordonnées ; Retour : la surface du triangle (nombre réel) (setq longueurs (cons (distance (car coords) (cadr coords)) longueurs) longueurs (cons (distance (cadr coords) (caddr coords)) longueurs) longueurs (cons (distance (caddr coords) (car coords)) longueurs) longueurs (bs:sort longueurs '>); tri décroissant ) (apply '(lambda (a b c) (/ (sqrt (* (+ a b c) (- c (- a B)) (+ c (- a B)) (+ a (- b c)) ) ) 4.0)) longueurs) ) (defun bs:sort ( l fun / ) ; fonctionne comme vl-sort, mais sans supprimer les doublons de la liste (mapcar '(lambda (x) (nth x l)) (vl-sort-i l fun)) ) (defun c:3DFAREA ( / ss i f aire ) (setq ss (ssget '((0 . "3DFACE")))) (if ss (progn (setq i 0 aire 0.0) (repeat (sslength ss) (setq f (entget (ssname ss i)) aire (+ aire (bs:triangleArea (list (cdr (assoc 10 f)) (cdr (assoc 11 f)) (cdr (assoc 12 f))))) i (1+ i)) );repeat (prompt (strcat "\n" (itoa i) " faces 3D traitées, aire totale : " (rtos aire 2 8))) );progn );if (princ) ) Edit: c'est bizarre, il y a des B qui se remettent systématiquement en majuscules dans la fonction lambda ?! :mellow:
-
Salut Tramber, Je ferai une page sur mon site quand ScanDXF ne sera plus en beta (càd quand j'aurai pris le temps d'améliorer le support des blocs dynamiques). ;)
-
Bonjour, Beta 16, correction d'un bug provoquant un crash lors du calcul de l'aire des Faces 3D.
-
Bonsoir, Pour que la macro fonctionne sans modification sur une 2013, il faut mettre PICKADD à 1 (au lieu de 2 par défaut). Pour info, la commande Aligner est dispo sur les LT récentes (taper ALIGNER au clavier).
-
Concaténer des attributs suivant une condition (bloc-valeur)
bryce a répondu à un(e) sujet de zebzeb dans AutoCAD 2012
Bonjour, Essaie avec ce petit lisp: (defun C:CONCAT ( / bloc tag tags val ss i result found b attlist att ) (setq bloc "CARTOUCHE" ; nom du bloc tag "N°DOC" ; étiquette de l'attribut à rechercher tags '("AFFAIRE" "PHASE" "EMET" "LOT" "DOC" "ZONE" "NIV" "NUMDOC" "INDICE") ; liste des attributs à concaténer ;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~ val (getstring T "\nValeur à rechercher: ") ss (ssget "_X" (list (cons 0 "INSERT") (cons 2 bloc))) i 0 result "" ) (if (and ss (not (zerop (strlen val)))) (progn (vl-load-com) (while (and (not found) (< i (sslength ss))) (setq b (vlax-ename->vla-object (ssname ss i)) attlist (mapcar '(lambda (x) (cons (vla-get-TagString x) (vla-get-TextString x)))(vlax-invoke b 'GetAttributes)) i (1+ i) ) (and (setq att (assoc (strcase tag) attlist)) (= (strcase (cdr att)) (strcase val)) (setq found T) ) );while (setq ss nil) );progn );if ss (cond (found (foreach a tags (if (setq att (assoc (strcase a) attlist)) (setq result (strcat result "_" (cdr att))) (setq result (strcat result "_???")) ) ) (alert (princ (strcat "\n" (substr result 2)))) ) (T (alert (princ "\nAucun résultat !")) ) );cond (princ) ) -
Bonjour, https://chronicle.autodesk.com/Main/Details/96fd8fbc-3054-4d93-8af9-09cea4cfc04f
