-
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, Je te propose ceci : (defun SetCustomByKey (key val) (vl-load-com) (not (vl-catch-all-apply '(lambda () (vla-SetCustomByKey (vla-get-SummaryInfo (vla-get-ActiveDocument (vlax-get-acad-object))) key val ) ) ) ) ) Utilisation : (setq toto (SetCustomByKey "DATE P1" "31/03/2011")) toto sera T si la propriété "DATE P1" a pu être modifiée, nil sinon (si la propriété n'existe pas par ex.). [Edité le 31/3/2011 par bryce]
-
Bonjour, Il ne peut y avoir qu'un paramètre de visibilité dans un bloc. Mais ta solution serait trop lourde de toutes façons; tu devrais plutôt utiliser un paramètre d'étirement pour changer la longueur de la table (et la position des pieds), et un paramètre de visibilité pour changer la forme des pieds. ;)
-
Bonjour, Quand un dessin est ouvert par quelqu'un, il est en lecture seule pour les autres. Par contre tu peux peut-être séparer le dessin en plusieurs xrefs, et dans ce cas plusieurs personnes pourront travailler simultanément, chacune sur une xref du dessin final. ;)
-
Sélectionner une ligne de cotes en une seule manip ?
bryce a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Oui bonuscad, il accepte 'scc, mais le souci c'est que la sélection retournée par le lisp n'est pas prise en compte par la commande. En appelant la fonction (scc) comme l'a indiqué (gile), ça fonctionne... -
Bonjour, Sans vouloir marcher sur les plate-bandes de (gile), et en attendant qu'il te réponde, j'ai modifié pline_block.lsp pour le rendre compatible 32 et 64 bits. Je n'ai pas testé (pas de 64 bits pour le moment), mais ça devrait fonctionner : ;;; Pline_block -Gilles Chanteau- 13/04/07 ;;; Insère le bloc "pline_block" après sélection d'une polyligne ;;; Attribut 1 : Nom de la pièce ;;; Attribut 2 : Longueur de la polyligne ;;; Attribut 3 : Aire de la polyligne (defun GetObjectID ( obj doc ) ;; Lee Mac (if (eq "X64" (strcase (getenv "PROCESSOR_ARCHITECTURE") ) ) (vlax-invoke-method (vla-get-Utility doc) 'GetObjectIdString obj :vlax-false ) (itoa (vla-get-Objectid obj)) ) ) (defun c:pline_block (/ AcDoc Space bloc nom ent obj ins op reg ech id long aire ref) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (if (or (tblsearch "BLOCK" (setq bloc "Pline_block")) (findfile (setq bloc "Pline_block.dwg")) ) (progn ;; attribut "nom de la pièce" ;; possibilité de changer le titre de la boite de dialogue "Choisir un nom" (if (not (setq nom (getname "Choisir un nom"))) (setq nom "") ) (while (not (setq ent (car (entsel))))) (setq obj (vlax-ename->vla-object ent)) (if (= "AcDbPolyline" (vla-get-ObjectName obj)) (progn (if (not (setq ins (getpoint "\nSpécifiez le point d'insertion ou < Centre >: " ) ) ) (progn (if (= (vla-get-closed obj) :vlax-false) (progn (vla-put-closed obj :vlax-true) (setq op T) ) ) (setq reg (vlax-invoke space 'addRegion (list obj)) ins (vlax-get (car reg) 'Centroid) ) (if op (vla-put-closed obj :vlax-false) ) (vla-delete (car reg)) ) ) (if (not (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" 1) ) (if (not (setq ech (getreal (strcat "\nEntrez le facteur d'échelle <" (rtos (vlax-ldata-get "Pline_block" "ech")) ">: " ) ) ) ) (setq ech (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" ech) ) (setq id (GetObjectID obj AcDoc) ;; Attribut périmètre (mm -> m) long (strcat "%<\\AcObjProp Object(%<\\_ObjId " (id) ">%).Length \\f \"%lu2%pr2%ct8[0.001]\">%" ) ;; Attribut surface (mm² -> m²) aire (strcat "%<\\AcObjProp Object(%<\\_ObjId " (id) ">%).Area \\f \"%lu2%pr2%ct8[1e-006]\">%" ) ) (setq ref (vla-InsertBlock Space (vlax-3d-point (trans ins 1 0)) bloc ech ech 1 0.0 ) ) ;; attribution de leur valeur aux attributs (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom long aire) ) (vla-regen AcDoc acActiveViewport) ) (alert "L'objet sélectionné n'est pas une polyligne.") ) ) (alert "Le bloc \"Pline_block\" est introuvable.") ) (princ) ) Edit: corrigé un oubli... [Edité le 30/3/2011 par bryce]
-
Ce n'est pas simplement un problème de place disponible ? Si tu masques la palette Propriétés, ça ne va pas mieux ? Avec l'interface Ruban au lieu des barres d'outils, tu as le même souci ?
-
Commandes et variables obsolètes dans la 2012
bryce a répondu à un(e) sujet de bryce dans AutoCAD 2012
Eh bien, à faire une gentille blague aux collègues, voyons ! :P -
Bonjour, Voici un début de liste des commandes et variables qui ont disparu dans AutoCAD 2012 : - le vieux Menu Écran est obsolète et est censé avoir été supprimé, mais la mésaventure de Bred semble prouver que ce n'est pas tout à fait le cas... La variable SCREENMENU par contre a bel et bien disparu. - la variable BLIPMODE a disparu, snif... :( - la commande TRACE a été supprimée. Si vous en trouvez d'autres, merci de partager ! ;)
-
Bonjour, Pourrais-tu poster une capture de ce que tu as dans la 2010 ?
-
:P Normalement il est censé avoir été supprimé dans 2012 ce menu ! S'ils se sont contentés de supprimer la variable SCREENMENU qui permet de l'activer/désactiver, ça n'est vraiment pas très malin... :cool:
-
Sélectionner une ligne de cotes en une seule manip ?
bryce a répondu à un(e) sujet de brunomu dans AutoCAD 2010
J'ai tenté avec (defun c:'scc(/) (scc)) ... mais non... :P J'ai mis à jour le Lisp pour tenir compte de la suggestion de (gile), on peut donc soit taper SCC à l'invite "Commande: ", soit (SCC) à l'invite "Choix des objets: " pour une utilisation en mode verbe/nom. -
Ce n'est pas faux, mais il y a aussi le cas d'une même vue (vue d'ensemble par exemple) qui va apparaître sur plusieurs présentations, avec les mêmes cotes mais des échelles différentes suivant le format de papier. Personnellement ça ne me fait pas hurler qu'on mette quelques cotes en espace Papier pour des vues annexes, mais je pense qu'il vaut quand même mieux que les cotes des vues principales soient en espace Objet. Dans ce cas l'annotativité est intéressante. :)
-
Une journée de formation, ça peut éviter pas mal de temps à galérer dans son coin ! ;)
-
Bonjour, Je ne comprends pas ta question... C'est-à-dire ? La variable PSTYLEMODE est toujours en lecture seule, quel que soit le dessin. :casstet:
-
Sélectionner une ligne de cotes en une seule manip ?
bryce a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Merci du tuyau (gile) ! :) Ca tombe bien, c'était justement une question que je voulais poser dans le forum "Débuter en LISP". Il n'y a pas un moyen de pouvoir utiliser une commande Lisp (sans les () ) de façon transparente pour sélectionner des objets, de la même façon qu'avec 'filter par exemple ? -
Bonjour, Aurais-tu la possibilité de poster un dessin en exemple ? http://dl.free.fr
-
En effet. :) Ou en version plus "moderne", un bloc paramétrique avec des propriétés personnalisées Longueur et Largeur. :)
-
Bonjour, C'est possible en utilisant un style de cotes annotatif. ;)
-
Bonjour, L'option Hauteur correspond à la hauteur "d'extrusion" en Z. Change de point de vue, et tu verras ! ;) Cela correspond à l'option Epaisseur dans les propriétés, qui existe pour quasiment toutes les entités de dessin 2D dans AutoCAD. Par exemple en donnant une épaisseur à un cercle, il va ressembler à un cylindre ouvert aux extrémités, MAIS cela reste un cercle 2D. :P C'est de la "fausse" 3D en quelque sorte (2D 1/2)...
-
Sélectionner une ligne de cotes en une seule manip ?
bryce a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Je me suis repenché sur ta demande, et cette fois je pense (j'espère) d'après mes tests que le résultat devrait être assez fiable... (defun c:scc( / ) (sssetfirst nil (scc)) (princ)) ; Sélectionne une chaîne de cotes (cotes linéaires ou alignées) ; ; Taper SCC à l'invite "Commande: " ou (SCC) à l'invite "Choix des objets: ". ; La commande peut être répétée pour cumuler plusieurs sélections. ; ; La sélection est stockée dans la variable globale *scc*, et peut être rappelée ; en tapant !*scc* à l'invite "Choix des objets: ". ; ; Brice Studer, mars 2011 (defun scc (/ *error* dim ent lp bp bp2 ang tss i lpi ang2 ) (setq precision 2) ; précision d'alignement des cotes, entier de 1 (le plus tolérant) à 8 (le plus précis) ;~~~~~~~~~~~~~~~~~~~~~~~~~ (defun *error* (msg) (and msg (or (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) ) (if tss (setq tss nil)) (princ) ) (setq *scc* (cadr (ssgetfirst))) (while (not (and (setq dim (car (entsel "\nChoisissez une cote de la chaîne à sélectionner: " )) ) (eq "DIMENSION" (cdr (assoc 0 (setq ent (entget dim)) ) ) ) (member (cdr (assoc 70 ent)) '(32 33 160 161)) );and );not (princ "\nL'objet sélectionné n'est pas une cote linéaire ou alignée !") );while (if *scc* (ssadd dim *scc*) (setq *scc* (ssadd dim)) ) (setq lp (cdr (assoc 10 ent)) bp (trans (cdr (assoc 14 ent)) 0 1) bp2 (trans (cdr (assoc 13 ent)) 0 1) ) (if (member (cdr (assoc 70 ent)) '(32 160)) (setq ang (angtof (angtos (angle (trans lp 0 1) (trans (polar lp (cdr (assoc 50 ent)) 1) 0 1) ) 3 precision)) ) (setq ang (angtof (angtos (angle bp bp2) 3 precision))) ) (setq tss (ssget "_X" (list (cons 0 "DIMENSION") (cons 410 (getvar "CTAB")) (cons -4 "")) ) i 0 ) (ssdel dim tss) (if tss (progn (setq lp (trans lp 0 1)) (repeat (sslength tss) (setq lpi (trans (cdr (assoc 10 (entget (ssname tss i)))) 0 1) ang2 (angle lp lpi) ) (if (or (= ang (angtof (angtos ang2 3 precision)) ) (= ang (angtof (angtos (- ang2 PI) 3 precision)) ) ) (ssadd (ssname tss i) *scc*) ) (setq i (1+ i)) );repeat (setq tss nil) ) ) *scc* );defun (princ "\nTaper SCC à l'invite \"Commande: \"") (princ "\nou (SCC) à l'invite \"Choix des objets: \" ") (princ) http://www.creao.fr/uploads/lisp/sel_chaine_cotes.lsp [Edité le 30/3/2011 par bryce] -
Bonjour, Il a sans doute utilisé l'option Largeur à mauvais escient... :P Samuel, tout de suite après avoir lancé la commande Rectangle, utilise l'option Largeur et remets-la à 0. ;)
-
Ça veut tout simplement dire que pour que ça fonctionne, les 2 segments sélectionnés doivent appartenir à la même polyligne. Pourquoi en as-tu fait 2 ? :casstet: Tu peux utiliser la commande JOINDRE pour joindre tes 2 polylignes en une seule.
-
Ça passera peut-être sur Google Docs... https://docs.google.com/leaf?id=0B-BEpwFJYTL5NzAyMzFjM2ItN2RkNi00NTU0LWJmMWMtYjliZjFiZWJjMDhj&hl=en&authkey=CIf5rv8O
-
Essaie avec ce lien : http://www.creao.fr/uploads/lisp/3dPolyFillet.lsp
-
Bonjour, J'ai bien peur que tu n'aies pas vraiment le choix... :(
