Reyoh Posté(e) le 22 août Partager Posté(e) le 22 août Bonjour Mesdames et Messieurs, Avant de devenir fou je me suis dit et si tu allais faire un tour sur CadXP. La macro : Citation BLOC: Permet de conserver ma sélection et de créer un bloc via la fenêtre de définition de bloc jusque la rien de sorcier Cependant la macro Citation BLOC;SELECT;D;;^C^C_CHPROP;CA;0;CO;DuCalque;TL;DuCalque;EP;DuCalque;; Refuse de m'ouvrir la fenêtre de définition de bloc et me propose de faire ca en "ligne de commande" J'ai essayer moulte variantes sans succès... Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 22 août Partager Posté(e) le 22 août Coucou, Petite question juste pour être sûre : tu cherches à remplacer les propriétés (calques, couleur, type de ligne) pour les objets devant composer la nouvelle définition de bloc, ou bien pour la nouvelle référence de bloc ? Car si c'est bien les sous-objets, je pense qu'il est alors préférable de faire ces modifications en amont afin de lancer la commande BLOC à la toute fin. Le problème des boîtes de dialogue dans une macro ou autre, c'est qu'une fois qu'elle est ouverte, le programme n'a plus la main sur quoi que ce soit et donc rien ne se fait. C'est pour cela que les commandes utilisant des boîtes de dialogue ont toujours une version homonyme qui utilisent uniquement la ligne de commande (il suffit d'ajouter un "-" devant le nom de la commande). Je ne maîtrise pas les macros mais peut-être que dans ce genre de cas, afin de permettre à la macro de terminer son exécution, il utilise les versions sans boîtes de dialogue si jamais des actions sont nécessaires après l'exécution de la boîte de dialogue. Bisous, Luna Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 22 août Auteur Partager Posté(e) le 22 août Hello Mon but est de faire un commande qui créer mes bloc uniquement sur le calque 0 avec tout ses paramètres de base sans que j'ai à me soucier de les redéfinir J'ai en effet essayer de faire la manipulation dans l'autre sens mais cela me fait perdre ma sélection et donc ajoute 2-3 étapes supplémentaires dont je souhaiterais me passer et en ajoutant "SELECT" avant "BLOC" je n'arrive pas à récupérer l'intégralité de ma dernière sélection La commande ressemble à ça : Citation _-LAYER;CH;"0"; _-COLOR;DUCALQUE;-TYPELIGNE;A;DuCalque;;-EPAISSLIGNE;DuCalque;; BLOC; La bise Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 22 août Partager Posté(e) le 22 août Pas sûr d'avoir tout compris; une fois tous les objets sélectionnés, il faut - changer leurs propriétés pour les mettre sur le calque 0, et leur affecter la couleur / type de ligne / épaisseur à Ducalque, puis resélectionner ces mêmes objets et lancer la commande BLOC ou bien - les laisser tels quels et lancer la commande BLOC, puis une fois le bloc créé (par conversion), il faut le mettre sur le calque 0 et lui affecter la a couleur / type de ligne / épaisseur à Ducalque. Pour la 1ère solution, il vaut mieux utiliser la propriété Dubloc, plutôt que Ducalque => ça rend les blocs plus souples pour une utilisation ultérieure Pour la 2eme solution, c'est la pire façon de créer des blocs, sauf si le but du jeu est d'empoisonner la vie des utilisateurs et leur faire perdre beaucoup de temps dans la réutilisation du plan. Olivier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 22 août Partager Posté(e) le 22 août Salut @Reyoh, Pour ajouter un complément d'information à la réponse d'@Olivier Eckmann, concernant la propriété des objets d'un bloc en DUBLOC, DUBLOC, DUBLOC, voici une vidéo expliquant les subtilités d'un bloc créé en DUCALQUE ou en DUBLOC. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 22 août Auteur Partager Posté(e) le 22 août Bonjour @Olivier Eckmann, Je choisit la solution 2 car j'ai déjà une commande qui redéfinit les calques avant création du bloc donc ma sélection doit rester tel qu'elle lorsque je crée mon bloc. Mon soucis viens du fait que je jongle entre pas mal de calque et que lorsque je crée un bloc il n'est pas sur le calque 0 mais se met sur le calque courant ce qui lors de la publication peu engendrer des problèmes exemple : bloc sur calque defpoint et donc invisible à l'impression Ce qui généralement m'oblige a corriger mes erreurs + refaire une publication ce qui est une perte de temps absolue La solution est donc de redéfinir les valeur courantes sur calque 0 / DuCalque puis créer le bloc ou inversement créer le bloc puis redefinir les valeurs du bloc sur calque 0 / DuCalque à savoir que la commande de mon 2em message fonctionne mais m'oblige a refaire la sélection lors de la création du bloc ce qui m'ennuie mais reste une solution acceptable pour le moment (je souhaite sauter l'étape de la sélection et la faire avant de lancer ma commande tout en conservant la fenêtre "définition de bloc") Citation _-LAYER;CH;"0"; _-COLOR;DUCALQUE;-TYPELIGNE;A;DuCalque;;-EPAISSLIGNE;DuCalque;; BLOC; Bonjour @Steven, Merci pour le complément avec un peu de chance je trouverais la motivation de me farcir les 25min de video ^^' La bise ! =) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 22 août Partager Posté(e) le 22 août Dans ce cas, même si je désapprouve le fait de construire des blocs comme ça, la macro serait celle-ci ^C^C_-LAYER;CH;"0";;_-COLOR;DUCALQUE;-TYPELIGNE;A;DuCalque;;-EPAISSLIGNE;DuCalque;_.PSELECT;P;;BLOC; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 22 août Partager Posté(e) le 22 août il y a une heure, Reyoh a dit : Bonjour @Olivier Eckmann, Je choisit la solution 2 car j'ai déjà une commande qui redéfinit les calques avant création du bloc donc ma sélection doit rester tel qu'elle lorsque je crée mon bloc. Mon soucis viens du fait que je jongle entre pas mal de calque et que lorsque je crée un bloc il n'est pas sur le calque 0 mais se met sur le calque courant ce qui lors de la publication peu engendrer des problèmes exemple : bloc sur calque defpoint et donc invisible à l'impression Ce qui généralement m'oblige a corriger mes erreurs + refaire une publication ce qui est une perte de temps absolue La solution est donc de redéfinir les valeur courantes sur calque 0 / DuCalque puis créer le bloc ou inversement créer le bloc puis redefinir les valeurs du bloc sur calque 0 / DuCalque à savoir que la commande de mon 2em message fonctionne mais m'oblige a refaire la sélection lors de la création du bloc ce qui m'ennuie mais reste une solution acceptable pour le moment (je souhaite sauter l'étape de la sélection et la faire avant de lancer ma commande tout en conservant la fenêtre "définition de bloc") Bonjour @Steven, Merci pour le complément avec un peu de chance je trouverais la motivation de me farcir les 25min de video ^^' La bise ! 😃 Se farcir 25 minutes de vidéo une seule fois peut peut-être faire gagner 25 minutes tous les jours 😉 Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 23 août Auteur Partager Posté(e) le 23 août @Olivier Eckmann La commande que tu m'a fournie ne fonctionne pas "_.PSELECT" n'est pas reconnue. Comme je le précisait dans mon 2em message en la remplaçant "_.PSELECT;P;;" par "SELECT;P;;" je perd ma sélection d'où l'intérêt de créer le bloc dans un premier temps et enfin changer le bloc de calque, type de ligne, etc Au final le vrais problème de ma commande c'est qu'en exécutant celle qui suit il ne me propose de créer mon bloc en ligne de commande et ne m'ouvre pas la fenêtre de définition (voir screen) pour autant la commande "BLOC" seule m'ouvre bien cette fameuse fenêtre. Citation BLOC;SELECT;D;;^C^C_CHPROP;CA;0;CO;DuCalque;TL;DuCalque;EP;DuCalque;; @Steven Certes mais en se recentrant sur le problème on parle bien de macro et non pas de création de bloc. La bise ! ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 23 août Partager Posté(e) le 23 août Bonjour @Reyoh, Testé chez moi sur AutoCAD 2020, AutoCAD MAP 2023 et Map 2025. Aucun souci, la sélection précédente est bien conservée dans le dialogue de création des blocs. Quelle version d'AutoCAD? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 23 août Auteur Partager Posté(e) le 23 août AutoCAD LT 2025 résultat de la commande : Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 23 août Partager Posté(e) le 23 août Effectivement la commande PSELECT qui fonctionne comme SELECT, mais qui conserve la sélection en actif n'est disponible que sous AutoCAD et pas sous LT. C'est moins cher, donc ça en fait moins 😞 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 23 août Partager Posté(e) le 23 août @Reyoh, Pas de LT pour tester, mais essaie ça ^C^C_-LAYER;CH;"0";;_-COLOR;_BYLAYER;_-LINETYPE;A;_BYLAYER;;_-LWEIGHT;_BYLAYER;(sssetfirst nil (ssget "_P"));_BLOCK Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 27 août Auteur Partager Posté(e) le 27 août @Olivier Eckmann Merci ça marche exactement comme je l'entendait ! =) Par contre je m'interroge sur la fin de la macro : (sssetfirst nil (ssget "_P")) C'est du code LISP ça ? ce qui veut dire que je peut intégrer des élément de LIPS dans les macros DIESEL. Ce qui veut également dire que malgré mon envie de ne pas m'y intéressé il faudra bien y passer un jour ^^' La bise Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 27 août Partager Posté(e) le 27 août Bonjour @Reyoh mon envie de ne pas m'y intéresser Alors là !, j'avais jamais vu ça, des gens qui n'ont pas le temps, OK, des gens qui n'ont pas le besoin, OK, mais ENVIE de ne pas le faire, jamais ! Quelque part, c'est respectable, car c'est une drogue dure et une fois le doigt mis dans l'engrenage, il n'est pas simple de le retirer. Pour bien progresser, il faut se fixer un but pas trop éloigné et ensuite ça roule tout seul avec l'aide existante aujourd'hui sur la toile. Amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 27 août Partager Posté(e) le 27 août Bonjour @Reyoh, Personnellement, je trouve le DIESEL bien plus indigeste que le LISP. Ceci dit, dans le code envoyé, hormis ce qui est entre parenthèse, le reste c'est de la macro simple et pas du Diesel. Surtout que depuis LT 2024, le support du lisp permet de se passer de diesel dans bien des cas. Mais je rebondis sur mes remarques précédentes. Dans AutoCAD, il n'y a aucune obligation, juste des recommandations de bonnes pratiques parmi lesquelles on peut citer : - ne rien dessiner ou insérer sur le calque 0 - à de rares exceptions près, les objets constituant des blocs doivent avoir leurs propriétés mises à DUBLOC et être définis sur le calque 0 - si on crée un bloc, en règle générale, c'est qu'il va être utilisé plusieurs fois dans un même dessin. - et bien d'autres choses... Souvent ces bonnes pratiques ne sont pas respectées, par fainéantise ou par méconnaissance, mais rarement de manière délibérée. Dans ton cas, tu as besoin d'une macro donc j'imagine que tu vas créer beaucoup de blocs avec des objets définis dans des calques autres que 0 et avec éventuellement des propriétés forcées et ces blocs sont ensuite insérés sur le calque 0. Comme je l'avais dit, c'est vraiment la pire des manières de travailler et s'il y a une raison de pratiquer ainsi j'aimerais bien la connaître. S'il s'agit juste de regrouper des objets pour les manipuler ensemble de manière plus facile, il y a les groupes qui sont fait exactement pour cela. Loin de moi l'idée de passer pour un moralisateur, mais on est sur un forum d'entraide, aussi bien pour répondre aux questions posées que sur la méthodologie, et parfois la réponse consiste à expliquer la bonne méthode de travail, plutôt que s'enfermer dans une méthode qui n'est peut-être pas la plus efficiente. Olivier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 27 août Auteur Partager Posté(e) le 27 août @Olivier Eckmann Pour répondre à ta question il y a bien une raison au fait d'avoir un bloc avec des calques biens définis : Nous utilisions un logiciel métier qui nous permet de générer des dessins à partir d'un paramétrage effectuer en amont, afin de nettoyer ces dessins nous regroupons / gelons certain calques via une macro pour obtenir un ensemble cohérent à notre usage. A partir de la nous transformons notre résultat en bloc afin d'avoir un objet unique et non pas un groupe qui peu être scindé en cas d'inattention. Les bloc ainsi créer nous servent à établir nos plans qui n'ont pas vocation à être exploité par d'autres entreprises mais plutôt a être imprimer au format .pdf sachant que chaque calque a ses propre paramètre d'impression ce qui nous contraint a choisir le bon calque pour des objets bien définit. En espérant avoir répondu à tes interrogations ;) La bise ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 27 août Partager Posté(e) le 27 août Hello @Reyoh vous travaillez dans quel domaine, pour ne jamais transférer vos *.dwg a vos clients ? Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Reyoh Posté(e) le 27 août Auteur Partager Posté(e) le 27 août @PHILPHIL Je n'ais pas dit jamais, j'ai dit qu'ils n'avaient pas vocation à être exploiter par les autres entreprises. Je suis dans le bâtiment en menuiserie aluminium. Lien vers le commentaire Partager sur d’autres sites More sharing options...
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