-
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, C'est-à-dire ? As-tu essayé d'ouvrir ton dwg avec la commande Récupérer (Fichier > Utilitaires de dessin > Récupérer) ?
-
métré de polyligne et extraction de donnée?
bryce a répondu à un(e) sujet de zinc78 dans AutoCAD LT 2010
Il ne faut pas transformer les polylignes en bloc. Pour récupérer les longueurs des polylignes dans un AutoCAD "full" (pas LT), on peut utiliser la commande Extraction de données (ou éventuellement un lisp). ;) -
métré de polyligne et extraction de donnée?
bryce a répondu à un(e) sujet de zinc78 dans AutoCAD LT 2010
Bonjour, J'ai fait une petite vidéo pour illustrer le principe des blocs dynamiques avec un attribut pour l'extraction des longueurs : J'ai utilisé la commande ATTEXTR, qui est la seule disponible sur LT. La fonction d'extraction de données d'AutoCAD apporterait des possibilités supplémentaires. -
1. Je ne vois pas comment un lisp pourrait décider des paramètres de mise en page à ta place. 2. Tu ne dois pas la connaître si bien cette commande, puisque même si les paramètres de tracé ne sont pas définis dans les présentations,elle permet de leur appliquer des mises en pages nommées...
-
Bonjour, Si mes souvenirs sont bons, il prend comme couleur à rendre transparente la couleur du premier pixel en haut à gauche de l'image. C'est à vérifier, mais si c'est bien ça il suffit de coloriser ce pixel en magenta par ex. dans un éditeur d'images, et tout le magenta de l'image sera transparent. Edit: en fait, c'est le premier pixel en bas à droite... :P [Edité le 23/6/2011 par bryce]
-
problème lors du gelage de calque dans fenêtre courante
bryce a répondu à un(e) sujet de david541 dans AutoCAD 2010
Bonjour, Si tu parles bien de la commande GELCALQUE, regarde du côté de l'option Paramètres, puis Fenêtres... ;) -
métré de polyligne et extraction de donnée?
bryce a répondu à un(e) sujet de zinc78 dans AutoCAD LT 2010
Bonjour, Pas possible dans LT... En utilisant un champ comme valeur par défaut de l'attribut (champ Objet qui récupère la longueur de la polyligne, ou plutôt un champ qui récupère directementla valeur du paramètre d'étirement). ;) [Edité le 24/6/2011 par bryce] -
Bonjour, Si c'est pour faire des Pdf à partir de plusieurs présentations ou plusieurs fichiers, il y a la commande Publier...
-
Bonjour, Ça risque d'être difficile pour quelqu'un sur ce forum de deviner ce qui ne va pas sans voir un exemple de fichier... ;)
-
Bonjour, Les texte ont l'air tout à fait normal, je n'ai rien vu de bizarre (sur une 2012). :casstet:
-
Bonjour, Ta demande n'est pas très claire... :casstet: Qu'appelles-tu "contrainte dimensionnelle" (pour moi, ce terme désigne une cote paramétrique, quelque chose qui n'existe pas sur la LT) ? Qu'appelles-tu "variable d'action" ? D'après ce que je crois deviner, tu dois utiliser une version complète, et te mélanger les pinceaux entre les paramètres des blocs dynamiques et les paramètres correspondant à des contraintes dimensionnelles (cotes paramétriques). Ces deux types de paramètres ne peuvent pas "communiquer"... :(
-
Remplacer plusieurs objets identiques par autant de blocs
bryce a répondu à un(e) sujet de kant_ein dans AutoCAD 2010
Bonjour, J'ai modifié le lisp pour utiliser le centre de gravité comme point de base du bloc (seules les lwpolylines sont supportées) : (defun c:PO2BL (/ bname *error* obj acdoc as blks blk ss ent ent2 region count errcount errflag lay pt i nbname) ; Crée un bloc pour chaque polyligne sélectionnée. ; Brice Studer, juin 2011 ; ;~~~~~~~ CONFIG ~~~~~~~~~~~ (setq bname "BL_") ; préfixe du nom des blocs créés ;~~~~~~~ FIN CONFIG ~~~~~~~~~~~ (vl-load-com) ;~~~~~~~ SOUS-FONCTIONS ~~~~~~~~~~~ (defun gc:VariantToLispData (var) ; par (gile) (cond ((= (type var) 'variant) (gc:VariantToLispData (vlax-variant-value var))) ((= (type var) 'safearray) (mapcar 'gc:VariantToLispData (vlax-safearray->list var)) ) (T var) ) ) ;~~~~~~~ FIN SOUS-FONCTIONS ~~~~~~~~~~~ (setq obj (vlax-get-acad-object) acdoc (vla-get-ActiveDocument obj) blks (vla-get-blocks acdoc) ) (if (= (getvar "CVPORT") 1) (setq as (vla-get-paperspace acdoc)) (setq as (vla-get-modelspace acdoc)) ) (defun *error* (msg) (and msg (or (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) ) (if ss (vla-delete ss)) (vla-endundomark acdoc) (princ) ) (vla-startundomark acdoc) (setq count 0) (setq errcount 0) (if (setq ss (ssget '( (-4 . "") )) ) (progn (initget "Courant Origine") (setq lay (getkword "\nCalque pour l'insertion des blocs [Courant/Origine] : ")) (if (not lay) (setq lay "Courant")) (setq ss (vla-get-activeselectionset acdoc)) (setq i 1) (vlax-for ent ss (setq region (vlax-invoke as 'Addregion (list ent))) (if (not (vl-catch-all-error-p (setq pt (vl-catch-all-apply 'vla-get-centroid region)) ) ) (progn (setq errflag nil) (setq pt (vlax-3d-point (trans (gc:VariantToLispData pt) 1 0))) ) (progn (setq errflag T) (setq errcount (1+ errcount)) ) ) (vla-delete (car region)) ; début création des blocs (if (not errflag) (progn (while (tblsearch "BLOCK" (strcat bname (itoa i) )) (setq i (1+ i)) ) (setq blk (vla-add blks pt (setq nbname (strcat bname (itoa i) ))) ) (vla-put-layer (setq ent2 (vla-copy ent)) "0") (vla-copyobjects acdoc (vlax-safearray-fill (vlax-make-safearray vlax-vbObject (cons 0 0)) (list ent2)) blk) (setq blk (vla-insertblock as pt nbname 1 1 1 0)) (if (= lay "Origine")(vla-put-layer blk (vla-get-layer ent))) (vla-delete ent2) (vla-delete ent); effacement de la polyligne d'origine (setq count (1+ count)) ) ); fin création des blocs );vlax-for ent );progn if ss );if ss (princ (strcat "\n" (itoa errcount) " objets ignorés.")) (princ (strcat "\n" (itoa count) " blocs créés.")) (*error* nil) ); (princ "\nCommande à utiliser: PO2BL") (princ) [Edité le 22/6/2011 par bryce] -
Remplacer plusieurs objets identiques par autant de blocs
bryce a répondu à un(e) sujet de kant_ein dans AutoCAD 2010
Bonjour, Pour ma part je n'ai pas fait beaucoup de VBA, mais voici un lisp qui pourrait servir de base de départ : (defun c:PO2BL (/ bname *error* obj acdoc ms blks blk ss ent ent2 count lay pt i nbname) ; Crée un bloc pour chaque polyligne sélectionnée. ; Brice Studer, juin 2011 ; ;~~~~~~~ CONFIG ~~~~~~~~~~~ (setq bname "BL_") ; préfixe du nom des blocs créés ;~~~~~~~ FIN CONFIG ~~~~~~~~~~~ (vl-load-com) ;~~~~~~~ SOUS-FONCTIONS ~~~~~~~~~~~ (defun gc:VariantToLispData (var) ; par (gile) (cond ((= (type var) 'variant) (gc:VariantToLispData (vlax-variant-value var))) ((= (type var) 'safearray) (mapcar 'gc:VariantToLispData (vlax-safearray->list var)) ) (T var) ) ) ;~~~~~~~ FIN SOUS-FONCTIONS ~~~~~~~~~~~ (setq obj (vlax-get-acad-object) acdoc (vla-get-ActiveDocument obj) ms (vla-get-modelspace acdoc) blks (vla-get-blocks acdoc) ) (defun *error* (msg) (and msg (or (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) ) (if ss (vla-delete ss)) (vla-endundomark acdoc) (princ) ) (vla-startundomark acdoc) (setq count 0) (if (setq ss (ssget '( (-4 . "") )) ) (progn (initget "Courant Origine") (setq lay (getkword "\nCalque pour l'insertion des blocs [Courant/Origine] : ")) (if (not lay) (setq lay "Courant")) (setq ss (vla-get-activeselectionset acdoc)) (setq i 1) (vlax-for ent ss (cond ((= (vla-get-objectname ent) "AcDb3dPolyline") (setq pt (vlax-3d-point (gc:VariantToLispData (vla-get-coordinate ent 0)))) ) ((or (= (vla-get-objectname ent) "AcDbPolyline") (= (vla-get-objectname ent) "AcDb2dPolyline") ) (setq pt (gc:VariantToLispData (vla-get-coordinate ent 0))) (setq pt (vlax-3D-point (list (car pt) (cadr pt) (vla-get-elevation ent)))) ) ) ; début création des blocs (while (tblsearch "BLOCK" (strcat bname (itoa i) )) (setq i (1+ i)) ) (setq blk (vla-add blks pt (setq nbname (strcat bname (itoa i) ))) ) (vla-put-layer (setq ent2 (vla-copy ent)) "0") (vla-copyobjects acdoc (vlax-safearray-fill (vlax-make-safearray vlax-vbObject (cons 0 0)) (list ent2)) blk) (setq blk (vla-insertblock ms pt nbname 1 1 1 0)) (if (= lay "Origine")(vla-put-layer blk (vla-get-layer ent))) (vla-delete ent2) (vla-delete ent); effacement de la polyligne d'origine (setq count (1+ count)) ; fin création des blocs );vlax-for ent );progn if ss );if ss (princ (strcat "\n" (itoa count) " blocs créés.")) (*error* nil) ); (princ "\nCommande à utiliser: PO2BL") (princ) C'est une version "allégée" d'un lisp que j'avais écrit suite à une demande de lecrabe ( http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=31981 ). [Edité le 21/6/2011 par bryce] -
Si le problème vient de ces lisps, eh bien ne les charge plus automatiquement et utilise-les avec discernement. ;) Je ne vois pas trop l'intérêt de "purger" et réinitialiser la liste d'échelles à chaque ouverture de chaque fichier... :casstet:
-
Bonjour, Tu peux essayer cette macro : ^C^Cdefducalque;tout;;o;o;-calque;co;252;*;ep;par;*;; :)
-
Bonjour, - il y a 2 update pour la 2011, sont-ils installés ? ( http://usa.autodesk.com/adsk/servlet/ps/dl/index?siteID=123112&id=2334435&linkID=9240618#section2 ) - as-tu essayé la commande _AUDIT en lui demandant de réparer les erreurs ? N'hésite pas à poster un fichier en exemple si c'est possible. ;) [Edité le 21/6/2011 par bryce]
-
Bonjour, Tout ça serait automatisable en Lisp sur une version complète d'AutoCAD. Par contre, pour AutoCAD LT tu ne trouveras rien à mon avis... :( Il faudra soit passer par un autre logiciel, soit passer sur un AutoCAD "full".
-
La capture a été faite dans un ipt... ;)
-
Bonjour, Il faut créer une représentation de vue : http://nsa19.casimages.com/img/2011/06/17/110617042147966982.png Puis définir un point de vue et verrouiller la vue (clic droit sur la vue dans le navigateur). ;)
-
Bonjour, Normalement l'ordre de tracé est mémorisé automatiquement dans le fichier. As-tu essayé de régénérer avant de commencer à tout remettre dans l'ordre après une modif ?
-
Remplacer plusieurs objets identiques par autant de blocs
bryce a répondu à un(e) sujet de kant_ein dans AutoCAD 2010
Bonjour, A mon avis, il n'y pas d'autre moyen que de passer par un lisp... As-tu la possibilité de poster un échantillon de dessin ? -
Bonjour, HPQUICKPREVIEW à 0 pour désactiver l'aperçu des hachures, HPDLGMODE à 1 pour afficher l'ancienne boîte de dialogue des hachures au lieu de l'onglet du Ruban.
-
Bonjour, De ne pas pouvoir être utilisée en ligne de commande (dans un script par exemple) ?! :mad:
-
Sauf que le point-virgule, ça ne fonctionne pas dans un script... ;) @Phil: un script, c'est tout simplement un fichier texte dans lequel tu écris une suite de commandes AutoCAD. Si tu utilises SAS, tu écris la suite de commandes dans SAS directement, et ça te permet de l'appliquer ensuite à une liste de fichiers.
-
Bonjour, - tu fais ton assemblage - tu crées un nouveau fichier de pièce - tu utilises la fonction Dériver (dans l'onglet Gérer, de mémoire...) et tu vas chercher ton iam - dans la boîte de dialogue "Dériver", tu choisis la pièce qui doit être soustraite à l'autre en cliquant sur les petites bouboules de couleur... :P
