Aller au contenu

dnalor

Membres
  • Compteur de contenus

    47
  • Inscription

  • Dernière visite

Tout ce qui a été posté par dnalor

  1. DANS CETTE MACRO DE MENU CURSEUR JE MESURE UNE LONGUEUR, [surligneur] JE CHANGE LA COULEUR EN COULEUR 4[/surligneur] ET JE COTES LA LONGUEUR MESUREES. [&A]^C^CSV;CRP;1;^C^CPICKADD;0;AIRE;PRO;\;^CPEDIT;@;;^CDE;@;^CMO;@;;^CU;U;^C^CPICKADD;1;^C_AI_MOLC;@;^CSETENV;$M=$(getenv,DIM);$M=$(substr,$(getvar,clayer),4);$M=$(if,$(=,$(eq,$(getenv,DIC),0),1),$I=UTIL4.CHXDI $I=*,$M=$(if,$(=,$(eq,$(getvar,perimeter),0),1),$P=UTIL4.POP25 $P=*,[surligneur]C^CCHANGER;@;;PR;CO;4;;[/surligneur]^CCE;Restaurer;B;;^C^CSV;A;$M=$(rtos,$(getvar,perimeter));^CDIMUPT;A;^C^CCOTALI;;@;@;$P=UTIL4.POP13 $P=*)) CE QUI DONNE POUR L'EXEMPLE CI-DESSUS Macro n°2 *^C^C_lengthen;\;userr1;$M=$(+,$(getvar,userr1),$(getvar,perimeter));[surligneur] ^C^CCHANGER;@;;PR;CO;4;;[/surligneur]_.text ;;$(rtos,$(getvar,perimeter),2,2);
  2. dnalor

    layer isolate + geler

    En tant qu'utilisateur de préférence de autocad LT je trouvais intérssant de partager une solution que j'utilise depuis autocadLT98 Il à peut être encore quelques utilisateurs LT qui n'ont pas la 2007 Dans les versions LT il n'y a pas d'EXPRESS TOOLS du moins pas à ma connaissance. Mais je suis content de savoir que dans la V2007 il y a de nouvellees possibilités cela m'encouragera peut être à migrer vers la version LT2007. En tout cas merci de pour l'info. Un vieil utilisateur d’autocad puisque j’ai commencé avec autocad 1,6 en 1985 et ce n’est pas toujours facile de se tenir à la page lorsqu’on à des charges de travail importants. Mais le site CAXP ça aide énormément.... Un grand merci à tous.... rp. [Edité le 12/5/2007 par dnalor]
  3. dnalor

    layer isolate + geler

    Je penses que ce sujet peut également intéresser les utilisateurs de versions LT Je dois souvent reprendre des plans d'architectes comme base de travail voici les macros que j'utilise pour me simplifier "un peu" la tache si les entités sont "hiérarchisées" correctement dans les calques. Malheureusement je reçois souvent des fichiers "DWG" provenant de arichcad et le moins que l'on puisse dire c'est que ce n'est pas correct on trouve des hachures dans les calques murs des parties de murs sont des blocs des lignes ne se touchent pas et j'en passe Si quelqu'un à une solution pour cela je suis preneur. [surligneur]voici les macros pour AUTOCAD LT[/surligneur] la macro suivante: ^c^c-calque;in;*;n;; permet "d'isoler" le calque courant (en inactivant les autres) la macro suivante: ^c^c-calque;ac;*;; permet "de réactiver" tout les calques)** **pour autant qu'il n'y ait pas d'autres calques inactivés dans le dessin La macro suivante permet changer toutes les entités d'un calque ("dit d'extraction") dans autre calque ("dit de destination") en sélectionnant une entité de chaque calque; (en 2 boutons) 1er bouton ("opération sélection du calque de destination") 1° sélection d'une entité sur la calque "destinatation" enregistrement du nom de la variable [surligneur] ^C^C_AI_MOLC;\;[/surligneur] 2° enregistrement du nom du calque "DESTINATION" dans une variable (CALQDEST) [surligneur] C^CSETENV;CALQDEST;$m=$(getvar,CLAYER);[/surligneur] 2eme bouton ("opération sélection du calque d'extraction") 3° sélection d'une entiter du calque "extraction" [surligneur] ^C^C_AI_MOLC;\;[/surligneur] 4° isoler le calque "extraction" [surligneur] ^C-CALQUE;IN;*;n;;[/surligneur] 6° changer les propriétés des entités restantes [surligneur] ^C^CCHPROP;F;$M=$(getvar,extmin);$(getvar,extmax);;CA;$(getenv,CALQDEST) [/surligneur] 7° réactiver les calques [surligneur] ^c^c-CALQUE;AC;*;;[/surligneur] voici la macro complète BOUTON 1 ^C^C_AI_MOLC;\;^C^CSETENV;CALQDEST;$m=$(getvar,CLAYER); BOUTON 2 ^C^C_AI_MOLC;\;^C-CALQUE;IN;*;n;;^C^CCHPROP;F;$M=$(getvar,extmin);$(getvar,extmax);;CA;$(getenv,CALQDEST);;^C^C-CALQUE;AC;*;; Malheureusement du fait que l'évaluateur diesel commence son évaluation dès le premier $M= ( parfois un $ suffit) et évalue la totalité de la chaîne qu'il rencontre, on ne peut pas dans ce cas évaluer 2x la même variable dans la même macro raison pour la quelle il faut 2 boutons pour ma part j'utilise des menus déroulants qui permettent de préciser les choix et comme ses menus sont flottants à l'emplacement du curseur cela évite les allées et venues avec la souris et d'encombrer l'écran avec des boutons toutefois ces menus déroulants doivent êtres chargés ce qui peut être délicat pour un utilisateur qui pas l'habitude des personnalisations dans les menus déroulants. [surligneur] voici tout de même transposé pour les version "FULL"[/surligneur] 1er bouton ("opération sélection du calque de destination") 1° sélection d'une entité sur la calque "destinatation" enregistrement du nom de la variable [surligneur] ^C^C_AI_MOLC;\;[/surligneur] 2°enregistrement du nom du calque "DESTINATION" dans une variable (USERS1) [surligneur] ^C^CUSERS1;$m=$(getvar,CLAYER);[/surligneur] 2eme bouton("opération sélection du calque d'extraction") 3° sélection d'une entiter du calque "extraction" [surligneur] ^C^C_AI_MOLC;\;[/surligneur] 4° isoler le calque "extraction" [surligneur] ^C-CALQUE;IN;*;n;;[/surligneur] 5° changer les propriétés des entités restantes [surligneur]^C^CCHPROP;F;$M=$(getvar,extmin);$(getvar,extmax);;CA;$(getvar,USERS1);;[/surligneur] 6° réactiver les calques [surligneur] ^c^c-CALQUE;AC;*;;[/surligneur] macro complète: BOUTON 1 ^C^C_AI_MOLC;\;^C^CUSERS1;$m=$(getvar,CLAYER); BOUTON 2 ^C^C_AI_MOLC;\;^C-CALQUE;IN;*;n;;^C^CCHPROP;F;$M=$(getvar,extmin);$(getvar,extmax);;CA;$(getvar,USERS1);;^C^C-CALQUE;AC;*;;[Edité le 10/5/2007 par dnalor]
  4. ce sujet traite de la même problématique avec un angle d'approche différent ( voir sous calculatrice 4 touches) sous LT on a SETENV avec le quel on peut créer toutes les variables nécessaire pour les appeler GETENV à la place de GETVAR Meilleures salutations
  5. Avec ça chez moi ça marche *^C^C_dimcontinue;\; chprop;d;;ca;cotation;; Un grand merci à Rebaco pour "le tuyau" de l'"*" qui permet de faire boucler une macro Salutations à tous.
  6. Pour ma part en LTsyen j’attribue une couleur spécifique au calque cote que je n’utilise que pour cela et à la couleur de la ligne de cote je mets DUCALQUE ainsi si la ligne de cote n’est pas de la couleur attendue je sais que je ne suis pas dans le bon calque… et inversement si je tire un trait dans ce calque je sais également que je ne suis pas dans le bon calque
  7. pour le chemin du fichier = variable concernée DCTCUST -> nouvel attribut à créer= CHEMIN il faut ajouter: -attedit;o;*;CHEMIN;*;c;- $m=$(getvar,extmin);$m=$(getvar,extmax);;- v;r;$m=$(getvar,DCTCUST); ///NOTE LE - à la fin de la ligne définit l'emplacement oú la "macro doit être appondue"//// pour l'onglet = variable concernée CTAB -> nouvel attribut à créer = ONGLET -attedit;o;*;ONGLET;*;c; $m=$(getvar,extmin);$m=$(getvar,extmax);; v;r;$m=$(getvar,CTAB); pour l'initiale en fonction du login je ne suis pas sûr car je n'ai pas de login sur mon poste si le login est "fonction" du nom d'utilisateur du programme alors... ......= variable concernée USERNAME -> nouvel attribut à créer= INIT il faut ajouter: -attedit;o;*;INIT;*;c; $m=$(getvar,extmin);$m=$(getvar,extmax);; v;r;$m=$(getvar,CTAB); on peut aussi imaginer de mettre l'initiale dansla macro per exemple dans mon cas "RP" -attedit;o;*;INIT;*;c; $m=$(getvar,extmin);$m=$(getvar,extmax);;v;r;RP; de cette façon on peut utiliser toutes les variables suivantes: sur ligne de commande Modifvar;?;voir liste..... on pourrait imaginer entrer les formats du plan si l'on place les limites sur le cadre par exemple: = variables concernées LIMMAX,LIMMIN -> nouvel attribut à créer = FORMAT -attedit;o;*;FORMAT;*;c;- $m=$(getvar,extmin);$m=$(getvar,extmax);;- v;r;$M=$(-,$(fix,$(index,0,$(getvar,LIMMAX) )),$(fix,$(index,0,$(getvar,LIMMIN) )))- ""X""$M=$(-,$(fix,$(index,1,$(getvar,LIMMAX) )),$(fix,$(index,1,$(getvar,LIMMIN)))); ce qui donnerait le format en unités de dessin si l'on veut tenir compte d'une échelle qui peut être definie par l'échelle du dessin: commande LTSCALE;50; pour un dessin en centimetres et une echelle de sortie traceur 1:50 cela donnerait : = variables concernées LIMMAX,LIMMIN,LTSACLE -> nouvel attribut à créer = FORMAT -attedit;o;*;FORMAT;*;c;- $m=$(getvar,extmin);$m=$(getvar,extmax);;- v;r;$M=$(/,$(-,$(fix,$(index,0,$(getvar,LIMMAX))),$(fix,$(index,0,$(getvar,LIMMIN)))),$(getvar,LTSCALE))- ""X""$(/,$(-,$(fix,$(index,1,$(getvar,LIMMAX))),$(fix,$(index,1,$(getvar,LIMMIN)))),$(getvar,LTSCALE)); explication: dessinez un rectangle de 1050,1485; //mettez les limites dessus// commande LIMITES;saisir extremités; //definissez le facteur d'échelle// commande LTSCALE;50; le résultat sera FORMAT = 21 x 29.5
  8. J’ai déjà constaté des imprécisions de cet ordre selon la méthode utilisée pour la saisie des points en coordonnées relatives, pour moi la méthode saisie de l’écart direct (introduction en tapant la valeur suivante en tirant le curseur) est moins précise que la saisie du point par valeur au clavier par ex.@200<0 ; Ce qui n’a rien à voir avec "les accrochages aux objets" mais peut être une explication du problème de décalage. Pour ma part : je testerais si je peux joindre par _PEDIT deux lignes qui n’ont pas l’air jointe correctement et si elles ont la même llongueur avant et après...... je vérifierais si les lignes sont au même niveau en Z ( coplanaires) J’essaierais de changer mes paramètres de précision (contrôle des unités)
  9. En utilisant un fichier script (.scr) On peut très facilement Créer (établir) des calques contenant un signe $ L’exemple suivant fonctionne parfaitement chez moi -calque etablir tool$41_1 etablir tool$41_2 etablir tool$41_3 etablir tool$41_4 etablir tool$41_5 Il me parait difficile d’utiliser le caractère $ dans les macros sous autocad car jutement dès qu'un$ est rencontré l'interpréteur Diesel se met à évaluer... A mon avis la meilleure méthode pour contourner le problème est de travailler avec un autre marqueur que $ par exemple toolx41_1 et une fois le travail terminé sur le plan renommer simplement les calques avec la commande DDRENAME (en utilisant le caractère genérique *) Ancien nom toolx* Nouveau nom tool$* touche [ RENOMMER] Les calques seront renommés en une fois
  10. avec autocad LT il est également possible de saisir des valeurs sur des entitées de dessin voir forum Macros, Diesel.... sujet "supercalculatrice" réponse : une calculatrice 4 touches avec option mesurer "qui décrit la possibilité d'enregistrer (dans l'exemple) la valeur d'une longueur de ligne , polyligne etc.... il est possible de "renvoyer cette valeur (en fait le variable perimeter)dans un bloc avec atribut... $(getvar,perimeter)... Pour ma part comme dessinateur en béron armé je "comptes" courrament des "nombres de barres" en divisant des longueurs de "lignes de cotes" par un "écartement de barres" et extrait des "longuers de barres" sur des segements de polylignes.... pour esuite extraire (attextr) les valeurs des "positions " et finalement crée des script qui me permettenet de "dessiner " (insertion de blocs prédéfinis) mes listes (de fers)...
  11. UNE CALCULATRICE 4 TOUCHE AVEC OPTION MESURER --------------------------------------------------------------------------------- SEULEMENT POUR UTILISATEUR DE LT Sous autocad faire un calcul et lire résultat du calcul ne présente pas de grand intérêt S’il est possible de saisir des lignes, arcs, polylignes (tout entité de dessin générant un périmètre) et par ex additionner cette valeur avec celle d’une autre entité présente dans un dessin donné est me semble-t-il nettement plus intéressant et si de surcroît on peut envoyer la valeur obtenue sur la ligne de commande cela peut même éventuellement s’avérer utile….(suppression d’erreurs de transcription, frappes fastidieuses s’il s’agit de chiffres complexes etc.) dans l’exemple suivant dans le bouton de démarrage (calculatrice) il faut placer les éléments suivants : $P=CALC4T_2.POP11 $P=* et le sous-menu calc4t_2.mnu (qu’il faudra charger outils ->personnaliser -> menu ->parcourir et charger !!! faire attention que la coche tout remplacer ne soit pas actvée !!!) ***MENUGROUP=calc4t_2 ***POP11 [Calc_4t_saisir] [ENVOYER RESULTAT]$M=$(getenv,NUMB1)\ [--] [ -->SAISIR 1ER]^C^CSETENV;NUMB1;\ $P=CALC4T_2.POP11 $P=* [--] [ + ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(+,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ - ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(-,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ * ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(*,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ / ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(/,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ <--MESURER 1ER]^C^CPICKADD;0;AIRE;PRO;\;^CMODIFLONG;@;;^C^CPICKADD;1;^CSETENV;NUMB1;$M=$(getvar,perimeter); $P=CALC4T_2.POP12 $P=* ***POP12 [Calc_4t_mesurer] [ENVOYER RESULTAT]$M=$(getenv,NUMB1)\ [--] [ <--RETOUR VERS SAISIE]$P=CALC4T_2.POP11 $P=* [--] [ -->+]^C^CPICKADD;0;AIRE;PRO;\;^CMODIFLONG;@;;^C^CPICKADD;1;^CSETENV;NUMB1;$M=$(+,$(getenv,NUMB1),$(getvar,perimeter)); $P=CALC4T_2.POP12 $P=* [--] [ -->- ]^C^CPICKADD;0;AIRE;PRO;\;^CMODIFLONG;@;;^C^CPICKADD;1;^CSETENV;NUMB1;$M=$(-,$(getenv,NUMB1),$(getvar,perimeter)); $P=CALC4T_2.POP12 $P=* [--] [ -->* ]^C^CPICKADD;0;AIRE;PRO;\;^CMODIFLONG;@;;^C^CPICKADD;1;^CSETENV;NUMB1;$M=$(*,$(getenv,NUMB1),$(getenv,perimeter)); $P=CALC4T_2.POP12 $P=* [--] [ -->/ ]^C^CPICKADD;0;AIRE;PRO;\;^CMODIFLONG;@;;^C^CPICKADD;1;^CSETENV;NUMB1;$M=$(/,$(getenv,NUMB1),$(getenv,perimeter)); $P=CALC4T_2.POP12 $P=* [--] [ -->RECOMMENCER MESURE]^C^CPICKADD;0;AIRE;PRO;\;^CMODIFLONG;@;;^C^CPICKADD;1;^CSETENV;NUMB1;$M=$(getvar,perimeter); $P=CALC4T_2.POP12 $P=* ***POP13 [Calc_4t_saisir] [ENVOYER RESULTAT]$M=$(getenv,NUMB1)\ [--] [ -->SAISIR 1ER]^C^CSETENV;NUMB1;\ $P=CALC4T_2.POP11 $P=* [--] [ + ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(+,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ - ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(-,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ * ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(*,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ / ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(/,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC4T_2.POP13 $P=* [--] [ <--RETOUR VERS MESURER]$P=CALC4T_2.POP12 $P=* Fonctionnement : 1)click sur bouton calculatrice 2)choix 1ère saisie ou 1ère mesure ( pour mesurer sélectionner l’entité) apparition du menu suivant pour la saisie comme précédemment : [-->SAISIR 1ER [ + ] [ - ] [ * ] [ / ] [ <--MESURER 1ER] apparition du menu suivant pour mesurer [ <--RETOUR VERS SAISIE] [ -->+] = additionner la deuxième entité (sélection) [ -->-] = soustraire la deuxième entité (sélection) [ -->*] = multiplier la deuxième entité (sélection) [ -->/] = diviser la deuxième entité (sélection) [ -->RECOMMENCER MESURE] pour mettre fin au processus appuyer sur la touche la dernière valeur calculée restera enregistrée jusqu’à une nouvelle série de calculs… petit exemple : mesurer la longueur d’une ligne la diviser en trois et envoyer le résultat à la commande décaler 1) bouton calculatrice 2) [ <--MESURER 1ER] 3) sélectionner un ligne ( otion proche) 4) [ <--RETOUR VERS SAISIE] 5) [ / ] et taper 3 enter 6) commande autocad DECALER enter 7) bouton calculatrice 8) [ENVOYER RESULTAT] enter résultat le décalage des lignes correspondra à la valeur calculée.
  12. Voici un début d'idée UNE CALCULATRICE à 4 TOUCHES 1 créer une nouvelle boite à outils click touche gauche de la souris en pointant sur un boutton existant puis personnaliser puis onglet barre outils -> touche nouvelle ->nommer calc (par ex) puis ajouter 1 bouton ->ongelet commandes ->défini par utilisateur ->saisir bouton défini par utilisateur et glisser dans la nouvelle boîte à outils ->positionner la souris dans le nouveau bouton et appuyer touche droite de la souris -> choisir propriétés ->dans la case macro associé au bouton -> taper ou coller ^C^CSETENV;NUMB1;\ $P=CALC.POP11 $P=* ->sous icone de bouton ->editer -> cocher grille et dessiner "par ex 1 clavier" enregister et fermer = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = SI L'ON N'A FAIT AUCUNE PERSONNALISATION ON PEUT EGALEMENT METTRE LA TOUCHE DE DEMARRAGE aclt.mnu pout LTet AutoCAD.mnu pour la version full et Autodesk Architectural Desktop,mnu pour la version architectureal desktop etc... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // // Begin System Pointing Device Menus // ***AUX1 $M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,5),GRIP_),$P0=ACLT.GRIPS $P0=*,$(if,$(and,$(and,$(and,$(=,$(getvar,rtclickmenu),1),$(=,$(getvar,cmdactive),0),$(eq,$(getvar,curcmdln),""))),$(=,$(getvar,pickfirst),1)),$P0=*)); $P0=SNAP $p0=* ^C^C ^B ^O ^G ^D ^E ^T [--] [CALCULATRICE]^C^CSETENV;NUMB1;\ $P=CALC.POP11 $P=* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CE QUI PERMET D'ACCEDER A LA CALCULATRICE PAR LE MENU CONTEXTUEL DE LA SOURIS CLICK à DROITE MAIS ATTENTION IL FAUT DECHARGER ET RECHARGER LE MENU ACLT LES PERSONALISATIONS DES BOITES A OUTILS SERONT DEFINITIVEMENT PERDUES !!!!!!!!!!!!!!!!! EN TOUS LES CAS FAIRE UNE SAUVEGERDE DES FICHIERS ACLT*.* AVANT SURTOUT LE ACLT5.CFG POUR LT ET PROBABLEMENT AutoCAD*.* POUR LA VERSION FULL = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Puis ouvrir Blocnote ou Wordpad ; ***MENUGROUP=calc ***POP11 [Calculatrice] [+]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(+,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC.POP11 $P=* [--] [ - ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(-,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC.POP11 $P=* [--] [ * ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(*,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC.POP11 $P=* [--] [ / ]^CSETENV;NUMB2;\^CSETENV;NUMB1;$M=$(/,$(getenv,NUMB1),$(getenv,NUMB2)); $P=CALC.POP11 $P=* enregister sous le nom calc.mnu dans le repertoire principal de autocad ou à l'emplacement ou se trouve les fichiers menu pour autocdlt--> aclt.mnu On peut également mettre ses marcros dans quatre bouttons de la boite à outils à mon avis l'avantage du menu pop c'est qu'il vient prendre place à l'endrit du curseur pour charger le menu calc(ulatrice) Outils puis Personnalier puis menu --> parcourir chercher l'emplacement de calc.mnu ->charger Fonctionnement de la calculatrice: 1) cliquer boutton calc. 2) taper le 1er chiffre puis enter 3) dans le menu qui apparait choisir l'opération ( +, -, /, *) 4)taper le 2e chiffre 5) le résultat apparaît sur la ligne de commande 6) on peut renouveler l'opération à partir de 3) pour faire du calcul en chaine pour un nouveau calcul recommancer à 1) ce qui est décrit si dessus est valable pour le versions ligth pour les version Full la commande SETENV et la fonction getenv n'exsistent pas et l'on ne peut pas choisir librement le nom d'une variable NUMB1, NUMB2 etc de mémoire il faut remplacer SETENV par SETVAR et getenv par getvar et le nom de de la variable par USERR1, USERR2, USERR3 mais jusqu'à USERR5 ce qui donnerait ceci 1) pour le bouton de démarrage ^C^CSETVAR;USERR1;\ $P=CALC.POP11 $P=* 2) POUR LE MENU POP ***MENUGROUP=calc ***POP11 [Calculatrice] [+]^CSETVAR;USERR2;\^CSETVAR;USERR1;$M=$(+,$(getvar,USERR1),$(getvar,USERR2)); $P=CALC.POP11 $P=* [--] [ - ]^CSETVAR;USERR2;\^CSETVAR;USERR1;$M=$(-,$(getvar,USERR1),$(getvar,USERR2)); $P=CALC.POP11 $P=* [--] [ * ]^CSETVAR;USERR2;\^CSETVAR;USERR1;$M=$(*,$(getvar,USERR1),$(getvar,USERR2)); $P=CALC.POP11 $P=* [--] [ / ]^CSETVAR;USERR2;\^CSETVAR;USERR1;$M=$(/,$(getvar,USERR1),$(getvar,USERR2)); $P=CALC.POP11 $P=* C'est peut être pas une supercalculatrice mais c'est un début......
  13. dnalor

    Touche F4 et F8

    Personellement j'utilise depuis que je travaille avec autocad sous Windows un petit composant de Windows 3.11 qui s'appelle RECORDER(enregistreur de macros) ce qui m'a permis de configurer les touches de raccourcis de manière suivante (pour l'exemple) F1 @ F2 'zoom Fenêtre F3 'zomm Etendu F4 'pan F5 'zoom precedent F6 'redess F7 'accrobj Aucun F8 Ortho F9 'accrobj ext,mil,cen,int,per,pro F10 'accrobj pro ( pour 1 fois) F11 'accrobj nod,qua,ins.tan F12 'depuis ALT+F1 'accrobj cen ( pour 1 fois) Schift + F2 Modiflong Schift + F2 Modiflong total Schift + F2 Modiflong difference Etc.... lorsque je travaillais sur autocad 12 - 13 c'était presque vital aujourd'hui peut être un peu moins... Mais lorsque je changes de poste de travail fréquemment , c'est bien pratique de se retrouver comme chez sois en deux clics. l'inconvénient de recorder c'est qu'il affecte les touches dans tous les programmes il faut l'inactiver selon ce que l'on est en train de faire. J’ai tellement pris l'habitude que cela ne me pose pas de problème pour travailler sous Excel ou Word en ayant le recorder ouvert
  14. dnalor

    vba sous lt97

    li existait un applicatif appelé LT basic 97 developpé de mémoire par un bureau Dorsch en allemagne si cela intéresse quelqu'un je pourrais rechercher les coordonnées.....
  15. dnalor

    cotes relatives

    a Bonuscad....... et aux autres ... Je presume que l'offre de poursuivre la mise au point de la routine "cote relative" s'adresait a moi "Dnalor Je n'ai pas l'habitude d'abandonner facilement la recherche de solutions pour pouvoir mieux utiliser Autocad.. bien que dans se cas mon but etait pas de fournir une" solution clef en main mais plus-tot de de montrer quelles par le plus grand nombre d'utilisateurs il est vrai que c'est extrement mal documente) libre a chacun ensuite d'adapter ses propositions a ses besoin precis et a son environnement spacifique entre autre il manquiai tout l'aspect gestion calque et l'aspect style de cote etc... lLexemple mettait en avant ce qui me sembles etre une particularitie interessante d'autocad quand a l'aquisition des ou de certaines variables ,perimeter dans le cas d'epsece par rapport a des objets complexes" tels que des cotes ou des polylignes. J'avais de toute facon l'intention d'essayer d'ameliorer mes proposition qui ne sont pas parfaite sur bien des aspects j'en etais pleinement concient , par consequen c'est avec plasir que j'acceptes toute les aides possibles. Je vais donc analyser la solution proposee a la quelle je n'avais pas pensé et voir ou cela me/nous menera... Avec mes meilleures salutions a tous. Dnalor PS. mais pas tout de suite j'ai un ou desux plans de retard alors il faut que je me mettes au travail.....
  16. dnalor

    cotes relatives

    NOUVELLES MACROS POUR AUTOCAD FULL TESTEE SUR 2000i BOUTON1 ^C^CMODIFVAR;USERS1;\^C^CSELECT;Q;\^CDECOMPOS;@;^CMODIFLONG;@;^CU;U;^CMODIFVAR;USERS2;$M=$(getvar,perimeter);^C^CDECOMPOS;@;^CSELECT;P;S;@;;EFFACER;P;;^C_DIMALIGNED;;@;TE;$M=$(getvar,USERS1);@;;^CEFFACER;P;; BOUTON2 ^C^CSELECT;Q;\^CDECOMPOS;@;^CMODIFLONG;@;^CU;U;^C^CDECOMPOS;@;^CSELECT;P;S;@;;EFFACER;P;;^C_DIMALIGNED;;@;TE;$M=$(+,$(-,$(Getvar,USERS1),$(GetVAR,USERS2)),$(Getvar,perimeter));@;^C^CEFFACER;P;; NE PAS OUBLIER DE NE PAS METTRE EXTENSION DE LA LIGNE DE COTE A ZERO ' LES LIGNES DE COTES N'AURONT PAS DE LIGNES D'ATTACHE CE QUI N'eST PAS GENANT POUR LES COTES INTEMEDIAIRES POUR LA COTE PRINCIPALE OL FAUDRA DESSINER DES ATTACHES LIGNES J'EPERES QUE CELA VA MARCHER SUR LES VERSIONS 2002,3,4,5,6,7,ETC...
  17. dnalor

    cotes relatives

    reponse à SETENV ne marche pas ( messsage d'erreur) et à SETENV pure commande LT. C'est juste je suis désolé cela fait un moment que je n'ai pas utilisé d'autocad FULL version car je dessines essentiellement en 2d et le LT me va très bien.... Mais cela me rapelles quelque chose sous autocad 13 on devait utiliser les variables userri1-5 , userrs1-5 et usrerr"quelque chose" 1-5 pour stocker les valeurs string Je vais ressortir mon manuel de personalisation autcad 13 et voir si je retrouves comment il fallait faire en espérant que cela fonctionnera sous autocat 2005 Avec toutes mes excuses pour ce contretemps et meilleures salutations
  18. dnalor

    cotes relatives

    Voici les explication détaillée de mes macros "cotation relatives" sous autocad2000 et plus j'espères qu'elles sont compréhensibles. Malheureusement je n'ai pas autocad 2005 mais si cella ne marche plus alors j'ai des siusis à me faire... Imaginons 1) une long hors tout de 1000 2)on désires corriger la cote hors tout à 1200 3) la hauteur du profil de menuiserie est de 50 BOUTTON 1 (cotation de la longueur réelle) [macro] => action //(explications [^C^CSETENV;LR;\] => taper valeur de la longueur réelle selon.ex 1200 //enregistrement sous variable de la base de registre sous "LR" [^C^CSELECT;Q;\] => cliquer sur la 1 ère ligne de cote à mettre à jour [^CDECOMPOS;@;] // décompose la cote (sélectionnée precedemment) [^CMODIFLONG;@;] // mesure la longueur de la ligne de cote //( décomposée) (en réalité on enregistre ainsi la valeur de la longueur dessinée dans //la variable système soit "Perimeter =1000 ") [^CU;U;] //on annule la decomposition de la cote mais on garde 1000 dans "perimeter" ^CSETENV;LD;$(getvar,perimeter); !!!lLD et non LD1 désolé il y avait une petite erreur de transcription !!!!!!!c'est probablement cela le message d'erreur //on enregistre les "1000" dans la variable de la base de registre sous "LD" {ld1 pour longueur desinée ) [^C^CDECOMPOS;@;] //on redécompose la cote en vue de son remplacement [^C_DIMALIGNED;;@;TE;$M=$(getenv,LR);@; on recote la ligne de cotation que l'on vient de décomposer en mettant le texte à jour {soit LR = 1200} [^CEFFACER;P;;] // enfin on supprime la cote décomposée BOUTTON 2 (correction d'une cote intermediaire) [^C^CSELECT;Q;\] => cliquer sur la cote intermédiaire à mettre a jour [^CDECOMPOS;@;] // décompose la cote (sélectionnée precedemment) [^CMODIFLONG;@;] / /mesure la longueur de la ligne de cote //( décomposée) (en réalité on enregistre comme ci-dessus la valeur de la nouvelle longueur dans //la variable système soit "Perimeter =900 ") (1000-2x50) [^CU;U;] //on annule la decomposition de la cote mais on garde la nouvelle valeur dans "perimeter" [^C^CDECOMPOS;@;] //on redécompose la cote en vue de son remplacement [^C_DIMALIGNED;;@;TE;$M=$(+,$(-,$(Getenv,LR),$(Getenv,LD)),$(Getvar,perimeter));@;] /on recote la ligne de cotation que l'on vient de décomposer en mettant //le texte à jour {soit Longueur réelle - la différence entre la longeur dessinée de la premiere cote LD1 //aquise sous l'action du boutton 1 et la nouvelle valeur de perimeter acquise sous l'action du bouton 2} {soit Perimeter = 900 +( "LR"1200-"LD"1000) = 1100} ^C^CEFFACER;P;; // enfin on supprime également la cote décomposée J'attends volontiers des "explications" pour pouvoir m'affranchir de la fenêtre format du texte multiligne..... et revenir à la mise à jour du texte de cote..... ....d'avance au grand merci.....
  19. dnalor

    cotes relatives

    LR . LM et LD ne sont pas des fonctions mais de variables qui sont enregistrées dans l'environnement d'autocad ( dans la base de registre d'autocad en fait) ils sont enregistré avec la commande autocad SETENV on peut mettre n'iimportre quel nom userr1, user2, etc pour une telle variable en fait dans ce cas LR signifie Longueur Réelle et LD Londueur dessinée J'enregistre sous la valeur de la longueur souhaitée LM est la longueur mesurées et LD la longeur de deuxième de la ligne de cote ensuite il faut calculer la différence entre LR et LM et l'ajouter à LD ( je n'ai pas vérifier le cas ou LR serait inferieur à LM) j'ai testé la macro avec autocad 2004 et n'ai pas eu de message d'erreur il faudrait le texte du message d'erreur, peut éventuellement comprendre la nature du problème... A ma connaissance le lisp n'est pas pris en compte avec autocad LT alors que les macros DIESEL oui Meillures salutations
  20. dnalor

    cotes relatives

    ma solution est de créer les deux macros qui oppèrent une mise à jour de la valeur des cotes soit enregistrement de la longeur totale avec mise à jour du texte de la cote totale puis calcul de la cote valeur intermediaire par calcul à l'aide des fonctions de calcul DIESEL puis mise à jour du texte de la cote solution avec autocad LT 98 boutton 1) longueur totale réelle ^C^CSETENV;LR;\^C^CSELECT;un;\^CDECOMPOS;@;^CMODIFLONG;@;^CU;U;^CSETENV;LD;$M=$(getvar,perimeter);^C^C_DIM;_newtext;$;$M=$(getenv,LR);@;; 1 enter la valeur de la longueur total par 1500; puis selectionner la cote ( cliquer sur la ligne de cote si possible ailleurs que près du texte de la cote); Resultat le texte de cote ete modifie avec affichage de la longueur réelle ( LR) et la valeur de la distance (LD) est enregistrée boutton 2) correction des cotes intermediaires selctionner la cot ^C^CSELECT;UN;\^CDECOMPOS;@;^CMODIFLONG;@;^CU;U;^C^C_DIM;_newtext;$M=$(+,$(-,$(Getenv,LR),$(Getenv,LD)),$(Getvar,perimeter));@;; selctionner la cote intermediaire resultat le texte de la cote intermediaire à été corrigé voila cela fonctionnait ansi jusqu'a la version LT98 en c'était pour moi une très bonne solution malheureusement depuis autocad 200 la mise à jour du texte de cote passe par la fenêtre format de texte (multiligne) la texte de cote ne peut donc plus être mis à jour depuis la ligne de commande du mois à ma connaissance ...... solution avec autocad 2000 et plus Pour le moment je n'ai pas trouvé de meilleure solution que de remplacer la côte par une nouvelle qui prend en compte la longueur de la ligne de cote qui doit par consequent avoir la même loguer que l'élement que l'on souhaite coter (Etendre au dela des marque à 0) boutton 1) longueur réelle ^C^CSETENV;LR;\^C^CSELECT;Q;\^CDECOMPOS;@;^CMODIFLONG;@;^CU;U;^CSETENV;LD1;$(getvar,perimeter);^C^CDECOMPOS;@;^C_DIMALIGNED;;@;TE;$M=$(getenv,LR);@;^CEFFACER;P;; 1 enter la valeur de la longueur total par 1500; puis selectionner la cote; resultat la cote initiale à été remplacée par une nouvelle cote avec la " nouvelle" longueur boutton 2) correction des cotes intermediaires ^C^CSELECT;Q;\^CDECOMPOS;@;^CMODIFLONG;@;^CU;U;^C^CDECOMPOS;@;^C_DIMALIGNED;;@;TE;$M=$(+,$(-,$(Getenv,LR),$(Getenv,LD)),$(Getvar,perimeter));@;^C^CEFFACER;P;; puis selectionner une cote "intermédiaire" Resultat la cote initiale à été remplacée par une nouvelle cote avec la " nouvelle longueur intermédiaire corrigée" si quelqu à une solution à me proposer pour mettre à jour le texte de la cote cela m'interesse enormement. Maintenant on doit surement pouvoir imaginer des solutions similaires en LISP ou en VBA.
  21. dnalor

    bouton texte

    je créerais un bloc avec des atributs éditables qui permet de définir une distance précise par rapport à un point d'insersion.....
  22. :casstet: Bonjour voilà , j'ai un soucis de pour passer d'anciennes macros que j'ai crées sous Autocad LT 98 autocad où j'utilisais la commande _newtext pour mettre à jour une côte ou un groupe de cotes . Par exemple pour compter des pièces (des barres d�armatures dans mon cas) selon le principe De la longueur de la cote / ( diviser) par un écartement donné + 1. le but �tant de pouvoir avoir modifier le texte de la cote sur la ligne de commande et non dans une fen�tre dynamique. Par exemple ( Ce n�est pas l�objet de ma macro) si je voulais ajouter un ~devant une cote de tapais sur la ligne de commande COTE ;_NEWTEXTE ;~<> puis s�lection des cotes souhait�es. Et la question était réglée. Si quelqu'un à une idée sous Autocad 2000 et plus ( j'utilises Autocad 2004 actuellement) je le(la) remercies d�avance. dnaloR
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité