Mat BET Posté(e) le 3 octobre 2014 Posté(e) le 3 octobre 2014 Bonjour,je suis nouveau sur le forum, je ne crois pas avoir vu de sujet concernant ce que je recherche donc je me lance.Voilà, je travaille dans un bureau d'étude spécialisé dans la synthèse technique et nous recevons beaucoup de plan venant d'entreprises diverses.Chaque fois que je reçois un plan, je fais toutes une série de commande visant à ne garder que le dessin et à le mettre d'une couleur bien précise. Je lui attribue également quelques réglages supplémentaires. Je souhaite automatiser cela via l'enregistreur d'action afin d'insérer un bouton sur mon interface autocad. De ce fait à chaque nouveau plan, en cliquant sur ce bouton toutes les actions que je fais habituellement se feront d'elles-même. Gain de temps assuré. Ma question pour commencer : Via l'enregistreur d'action, ce qui n'est pas tapé au clavier n'est pas pris en compte, c'est à dire que si j'inclue la modification des unités de dessin dans mes actions automatisées, la macro s'arrête quand la fenêtre "Unité de dessin" s'ouvre et attend que je choisisse mes réglages. J'aimerai faire ce choix en ligne de commande, c'est à dire mettre les unités de dessin en mètre par exemple juste avec une ligne de commande, sans passer par la fenêtre "unité de dessin". Est-ce possible? si oui comment procède-t-on? Le but étant de l'intégrer à une macro. Merci de votre aide précieuse, j'ai essayer certaines choses mais là je bloque.
Patrick_35 Posté(e) le 3 octobre 2014 Posté(e) le 3 octobre 2014 Salut Pour automatiser mes tâches, je fais mes propres lisps et je n'ai personnellement (c'est peut-être un tort) jamais utilisé cet outil.L'avantage du lisp est que l'on peut envisager toutes les solutions possibles et réagir en conséquence, ce qui n'est pas le cas de l'enregistreur d'actions.On a beau essayer de standardiser les dessins, il y aura toujours un cas qui ne rentre pas dans les cases. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
-Olivier- Posté(e) le 3 octobre 2014 Posté(e) le 3 octobre 2014 Bonjour Mat BET et bienvenu sur le forum, Tu peux utiliser la commande -UNITS et compléter avec la variable INSUNITS. Olivier
Mat BET Posté(e) le 3 octobre 2014 Auteur Posté(e) le 3 octobre 2014 Salut Pour automatiser mes tâches, je fais mes propres lisps et je n'ai personnellement (c'est peut-être un tort) jamais utilisé cet outil.L'avantage du lisp est que l'on peut envisager toutes les solutions possibles et réagir en conséquence, ce qui n'est pas le cas de l'enregistreur d'actions.On a beau essayer de standardiser les dessins, il y aura toujours un cas qui ne rentre pas dans les cases. @+ Merci Patrick, j'y avais pensé mais je ne connais pas le langage lisp et... c'est problématique pour ce genre de chose. ;)
Mat BET Posté(e) le 3 octobre 2014 Auteur Posté(e) le 3 octobre 2014 Bonjour Mat BET et bienvenu sur le forum, Tu peux utiliser la commande -UNITS et compléter avec la variable INSUNITS. Olivier Merci Olivier, malheureusement cette commande ne me permet que de choisir le format (décimal, scientifique, etc...). Si je veux choisir de travailler en mètre, je ne peux rien modifier avec cette commande... mais je ne la connaissais pas, ça peut toujours être utile.
-Olivier- Posté(e) le 3 octobre 2014 Posté(e) le 3 octobre 2014 D'où l'utilisation de la variable INSUNITS. Olivier PS : Regarde aussi la réponse de Patrick35 car dans ton cas, un lisp serait sans doute plus efficace.
Mat BET Posté(e) le 3 octobre 2014 Auteur Posté(e) le 3 octobre 2014 Bonjour Mat BET et bienvenu sur le forum, Tu peux utiliser la commande -UNITS et compléter avec la variable INSUNITS. Olivier Ha Ok, insunits ça marche, je n'avais pas encore essayer, cool ;)j'aurai probablement d'autre interrogation dans les prochaines semaines... mais bon je vois que j'obtiens des réponses donc tout va bien :)
lili2006 Posté(e) le 3 octobre 2014 Posté(e) le 3 octobre 2014 Bonjour à toutes et tous, En lisant bien la réponse de -Olivier- => Tu peux utiliser la commande -UNITS et compléter avec la variable INSUNITS Dans ton cas (mètre) la variable INSUNITS doit donc prendre la valeur de 6 (Rappel ci dessous) INSUNITS (variable système) Spécifie une valeur d'unités de dessin pour la mise à l'échelle automatique des blocs, images ou Xréfs insérés ou associés à un dessin. Type: EntierEnregistré dans: DessinValeur initiale : 1 (système anglo-saxon) ou 4(système métrique)Remarque : Le paramètre UnitésIns est ignoré si vous insérez des blocs annotatifs dans un dessin.0Non indiqué (sans unités)1Pouces2Pieds3Miles4Millimètres5Centimètres6Mètres7Kilomètres8Micropouces9Milles10Yards11Angströms12Nanomètres13Microns14Décimètres15Décamètres16Hectomètres17Gigamètres18Unités astronomiques19Années lumière20Parsecs Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Mat BET Posté(e) le 3 octobre 2014 Auteur Posté(e) le 3 octobre 2014 Re-bonjour,dela même manière, existe-t-il une commande permettant de modifier la couleur de tous les calques? j'espère que je n'en demande pas trop ce coup-ci ;) Merci d'avance.
(gile) Posté(e) le 3 octobre 2014 Posté(e) le 3 octobre 2014 Salut, La commande -CALQUE (ou _-LAYER) en ligne de commande (avec le tiret), option COuleur en spécifiant : * (astérisque) pour la liste des calques. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Mat BET Posté(e) le 3 octobre 2014 Auteur Posté(e) le 3 octobre 2014 Salut, La commande -CALQUE (ou _-LAYER) en ligne de commande (avec le tiret), option COuleur en spécifiant : * (astérisque) pour la liste des calques. Salut (gile)merci, je venais juste de le trouver justement. Il faut cela dit le coupler avec _setbylayer pour mettre tout les calques en couleur DuCalque. Merci quand même
DenisHen Posté(e) le 4 octobre 2014 Posté(e) le 4 octobre 2014 Salut Mat BET, Tu peux poster ce que tu comptes vraiment faire et on t'aideras volontier à comprendre comment faire et donc, tu pourras les créer. Surtout que sur CadXP, il y a des "monstres" de la macro et du LiSP... Petite précision, la couleur d'un calque n'est jamais "DuCalque"... ;) c'est un pléonasme circulaire de redondance cyclique sur elle-même...Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Salut Mat BET, Tu peux poster ce que tu comptes vraiment faire et on t'aideras volontier à comprendre comment faire et donc, tu pourras les créer. Surtout que sur CadXP, il y a des "monstres" de la macro et du LiSP... Petite précision, la couleur d'un calque n'est jamais "DuCalque"... ;) c'est un pléonasme circulaire de redondance cyclique sur elle-même...Denis...Bonjour DenisH,en fait pour être clair, je veux automatiser ces actions pour des plans que je reçois de l'extérieur: - Sélectionner toutes les présentations (peu importe leur nom et leur nombre et les supprimer) >> pas encore résolu - Mettre les unités de dessin en mètres (peu importe l'échelle générale) >> résolu, ^C^C-units;2; puis ^C^Cinsunits;6; - Déverrouiller tous les calques >> résolu, ^C^C-calque;D;*;^C - Mettre tout le dessin avec une couleur unique (ici bleu) >> résolu, ^C^C-calque;CO;U;0,0,255;*;^C - Tout mettre en DuCalque pour modifier les éventuelles couleurs forcées de la couleur que j'ai choisi >> résolu, ^C^C_setbylayer;tout;;O;O; - Détacher toutes les xref >> résolu, ^C^C-xref,T,*; (cette commande détache-t-elle uniquement les dwg?) - et je termine par un JAV Voilà en gros. Je répète souvent ces actions et pour certains plans cela peut vite devenir lassant surtout quand j'en reçois une vingtaine. Bref, le langage lisp, je ne connais pas, par contre ce genre d'automatisation est plus à ma portée, il suffit juste de connaître les commandes autocad et ça fonctionne.
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 - Détacher toutes les xref >> résolu, ^C^C-xref,T,*; (cette commande détache-t-elle uniquement les dwg?) Après essai, oui. Il n'y a que les dwg qui sont détachés. Les images restent, il faut donc que je trouve comment les détacher également.
Patrick_35 Posté(e) le 6 octobre 2014 Posté(e) le 6 octobre 2014 Salut Comme tu utilises JAV, un lisp pour effacer toutes les présentations(defun c:efo(/ doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layouts doc) (vla-delete lay) ) (vla-endundomark doc) (princ) ) Ps : Dans jav, tu as une option qui permet de lancer d'autres applications comme le lisp ci-dessus. Cela veut aussi dire que tu peux y inclure tes macros traduites sous forme de lispPar exemple :Mettre les unités de dessin en mètres (peu importe l'échelle générale) >> résolu, ^C^C-units;2; puis ^C^Cinsunits;6;(setvar "lunits" 2) (setvar "insunits" 6) Pps : Pour tes images, regarde la commande -image @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Bonjour,petit souci avec JAV...dans le procédé que je suis, tout doit apparaître en ligne commande or JAV m'ouvre une fenêtre, interrompt la chaîne dans la macro et attend que je clique "OK", et donc tout ce que je tape derrière n'est pas pris en compte même les ";". Y a-t-il un moyen pour que le ";" à l'intérieur de la macro soit pris en compte? Quand je le tape en direct en lancant JAV cela fonctionne... je ne comprend pas pourquoi il ne se lance pas.en gros j'ai écrit ...jav;;; en pensant le premier ; confirme la commande, le deuxième répond OK à la permière fenêtre et le troisième répond OK à la deuxième fenêtre... or là, jav se lance, je clique OK, il se rouvre, je clique OK, il se rouvre (normal, car j'ai ;;; ) La je bloque, je ne suis pas sur que je puisse utiliser JAV avec mon procédé... :( Merci de me donner une piste si vous en avez une...
lili2006 Posté(e) le 6 octobre 2014 Posté(e) le 6 octobre 2014 Bonjour à toutes et tous, Par exemple ^C^C-xref,T,*; ne fonctionne pas chez moi,... Commande: -xref,T,*Commande inconnue "-XREF,T,*". Appuyez sur F1 pour obtenir de l'aide. Après avec une commande similaire pour l'image ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Bonjour à toutes et tous, Par exemple ne fonctionne pas chez moi,... Après avec une commande similaire pour l'image ? Bonjour,sur autocad 2013 ça fonctionne pour Xref et image aussi (merci Patrick_35).Quelle version d'autocad as-tu?
-Olivier- Posté(e) le 6 octobre 2014 Posté(e) le 6 octobre 2014 Bonjour Mat BET,Pour JAV, utilise la commande -JAV pour ne pas avoir l'ouverture de la fenêtre.Dans Autocad, le tiret au début du commande lance la version sans fenêtre lorsqu'elle existe. Olivier
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Bonjour Mat BET,Pour JAV, utilise la commande -JAV pour ne pas avoir l'ouverture de la fenêtre.Dans Autocad, le tiret au début du commande lance la version sans fenêtre lorsqu'elle existe. Olivier Super, merci beaucoup. Je ne connaissais pas cette subtilité.
lili2006 Posté(e) le 6 octobre 2014 Posté(e) le 6 octobre 2014 Re, Quelle version d'autocad as-tu? Cicil 3D 2015 (CF ma signature) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Re, Cicil 3D 2015 (CF ma signature) Re-peut-être est-ce une commande supprimée ou modifiée sur autocad 2015. Bizarre
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Re, Cicil 3D 2015 (CF ma signature) Re-peut-être est-ce une commande supprimée ou modifiée sur autocad 2015. Bizarre
lili2006 Posté(e) le 6 octobre 2014 Posté(e) le 6 octobre 2014 Re, Je ne sais pas, j'ai testé les autres, ça fonctionne,...!!:mellow: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Mat BET Posté(e) le 6 octobre 2014 Auteur Posté(e) le 6 octobre 2014 Salut Comme tu utilises JAV, un lisp pour effacer toutes les présentations(defun c:efo(/ doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layouts doc) (vla-delete lay) ) (vla-endundomark doc) (princ) ) Re-petit problème lors de l'éxecution du lisp pour suppression des présentation, autocad me renvoie l'information "; erreur: Erreur Automation La présentation à supprimer se trouve dans l'espace objet"Une présentation dans l'espace objet? y a t-t-il une solution?
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant