-
Compteur de contenus
1 113 -
Inscription
-
Dernière visite
-
Jours gagnés
42
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Luna
-
Choix de textes prédéfinis dans un bloc
Luna a répondu à un(e) sujet de sgtlame dans AutoCAD 2020-2024
Coucou, Je te suggère de faire autrement : au lieu d'utiliser un texte, tu utilises un attribut et tu ajoutes une table des propriétés du bloc (cela permet de définir une liste de valeurs souhaité pour un ou plusieurs attributs au sein de ton bloc). Cela se présente sous la forme d'un tableur avec chaque colonne correspondant à une étiquette d'attribut (ou valeur utilisateur) et chaque ligne à une entrée possible pour ton attribut. Voici un simple exemple d'une table de propriété (ici cela détermine la valeur de plusieurs attribut pour chaque rangée) : Cela ne va pas empêcher de rentrer un texte arbitraire si l'utilisateur le souhaite mais cela ne pose pas vraiment de problème s'il apprend correctement à utiliser la table de propriété. Voici un exemple de bloc avec une table de propriété pour que tu vois à quoi cela correspond (et si cela répond à ta demande). Exemple_PropertyTableBlock.dwg Bisous, Luna -
Bloc dynamique avec un reseau variable
Luna a répondu à un(e) sujet de FabAlphi dans AutoCAD 2020-2024
Coucou, Petite remarque, tu la prends en compte ou non : Pourquoi ne pas avoir créer un bloc pour chaque état de visibilité ? Car tu n'as aucun paramètre dynamique en commun entre chacune de tes visibilités et ton bloc est extrêmement lourd (une seule référence de bloc dans le dessin et j'ai déjà une latence de 5s minimum entre chaque action...). De plus, cela va simplifier grandement la lecture/modification de ton bloc car si on affiche tout, voici le résultat (de quoi perdre la tête très vite !!) : Tu as également des blocs dynamiques imbriqués...or tu n'as pas accès aux propriétés dynamiques de tes blocs imbriqués... (après à la limite je peux comprendre que si tu utilises les blocs imbriqués ailleurs, il te suffit de faire la modif' une fois sur le bloc d'origine pour impacter tout le monde mais bon) Fais également attention au nombre de poignées affichées (pour ton paramètre linéaires gérant ton action en réseau, tu affiches 2 poignées or seule celle qui monte est nécessaire ici) ! Je verrais ce que je peux en faire en milieu de semaine, à moins que quelqu'un propose quelque chose d'ici là. Bisous, Luna -
Bloc dynamique avec un reseau variable
Luna a répondu à un(e) sujet de FabAlphi dans AutoCAD 2020-2024
Coucou, Justement, d'où l'idée d'avoir 2 actions de réseaux, une à gauche et une à droite ! Car au lieu de prendre tes 2 planchers alignés, il suffit de prendre un plancher déjà décalé de 150cm par rapport à l'autre pour les mettre en réseaux... Mais vui, cela serait nettement plus simple avec un bloc sous la main car décrire la conception d'un bloc dynamique par écrit n'est pas évident... Bisous, Luna -
Bloc dynamique avec un reseau variable
Luna a répondu à un(e) sujet de FabAlphi dans AutoCAD 2020-2024
Coucou, Sans tester, pourquoi ne pas faire 2 actions de réseaux, une pour les planchers de gauche (espacés de 300cm) et une pour les planchers de droite (espacés de 300cm) ? Il suffit que la planche servant de base pour le réseau gauche soit espacée de 150cm de la planche servant de base pour le réseau droit et que les 2 actions de réseaux soit pilotées par un seul et unique paramètre linéaire, correspondant à la hauteur de la tour. Bisous, Luna -
Coucou, As-tu bien un AutoCAD et non AutoCAD LT ? Si oui, alors il suffit de lire le sujet suivant concernant le chargement de codes LISP. En lisant rapidement le code ci-dessus, je dirais que la liste des informations extraites ne correspond pas à ce que tu désires (il manque par exemple l'élévation des polylignes). Je te propose 2 solutions : - Réécrire un programme sur la même base pour extraire TES infos souhaitées - Utiliser l'outil d'Extraction de données d'AutoCAD (commande EXTRACTDONNEES ou bien le menu Outils -> Extraction de données) et suivre les indications pour extraire les propriétés de tes polylignes (Calque, Longueur, Elevation). Bisous, Luna
-
raccourci claiver - commande _SelectSimilar
Luna a répondu à un(e) sujet de philsogood dans AutoCAD 2020-2024
Je n'utilise personnellement que la version FR d'AutoCAD mais lorsque je développe mes programmes je fais certains tests sur les versions FR et EN pour connaître les traductions natives d'AutoCAD par exemple et/ou connaître le nom des options des commandes EN (car l'Aide d'AutoCAD fourni le nom de certaines options, mais pas l'intégralité des options lors de menus et sous-menus). Donc c'est plus une utilisation très occasionnelle mais quand je fais mes tests, je perds un peu mes marques quand mes raccourcis clavier ne marchent plus (genre je dois dessiner une polyligne, chat prend un temps fou pour retrouver le bouton, le raccourci clavier ou taper le nom en entier ! xD) Bisous, Luna -
raccourci claiver - commande _SelectSimilar
Luna a répondu à un(e) sujet de philsogood dans AutoCAD 2020-2024
+1 avec @Olivier Eckmann, As une époque j'avais essayé de me faire un fichier PGP avec toutes les commandes internationales que j'utilise et aucun raccourci était pris en compte. Donc le fichier PGP ne fonctionne qu'avec les commandes locales malheureusement... Je trouve cela assez dommage (dans le cas où l'on a un AutoCAD FR et un AutoCAD EN d'installer, on est obligé d'avoir 2 fichiers PGP totalement différents !) mais bon...pas le choix ! Bisous, Luna -
[Résolu] - [Excel] Gestion formule avec année en cours !
Luna a répondu à un(e) sujet de mathieu dans Organisation du travail
Je réitère cependant mon conseil, au cas où il soit passé inaperçu : Cela t'évitera de devoir modifier chaque cellule une par une si au final elles utilisent toutes la même donnée : la date du "01/01/####" et du "31/12/####" ! C'est le même principe qu'en programmation, lorsqu'une donnée est répétée à plusieurs reprise, on la stocke sous une variable nommée pour y faire appel à chaque fois, sans devoir refaire le même calcul à chaque fois. C'est un gain de temps et on minimise les risques d'erreurs car plus le nombre de répétition est important et plus le risque est élevé de faire une faute de frappe quelque part (ou bien si tu dois re-modifier la formule, de ne pas oublier un occurrence). Bisous, Luna -
[Résolu] - [Excel] Gestion formule avec année en cours !
Luna a répondu à un(e) sujet de mathieu dans Organisation du travail
En effet, je n'avais même pas fait attention à cela...je corrige mon erreur sur mes posts précédents, merci @didier ! Bisous, Luna -
[Résolu] - [Excel] Gestion formule avec année en cours !
Luna a répondu à un(e) sujet de mathieu dans Organisation du travail
Je dirais que le guillemet (en rouge) est en trop : =SOMME.SI.ENS(Liste!$I$3:$I$1998;Liste!$B$3:$B$1998;"GBT";Liste!$D$3:$D$1998;"8 - affaires gagnées";Liste!$M$3:$M$1998;">=01/01/"&ANNEE(JOURS(AUJOURDHUI();01/01/1900))";Liste!$M$3:$M$1998;"<=31/12/"&ANNEE(JOURS(AUJOURDHUI();01/01/1900))") Bisous, Luna -
[Résolu] - [Excel] Gestion formule avec année en cours !
Luna a répondu à un(e) sujet de mathieu dans Organisation du travail
Coucou, Je peux te proposer ceci : ="01/01/"&ANNEE(JOURS(AUJOURDHUI();01/01/1900)) et ="31/12/"&ANNEE(JOURS(AUJOURDHUI();01/01/1900)) pour remplacer les dates, car les "01/01/" et "31/12/" sont des valeurs fixent, seules les années courantes sont à connaître. De plus tu peux également regarder les années précédentes si besoin en ajoutant - 1 (ou autre entier) à la fin 😜 Pour infos : AUJOURDHUI() renvoie la date du jour au format de date JOURS(date_fin;date_début) calcule le nombre de jours entre les deux dates. ANNEE(num_série) renvoie l'année, un entier entre 1900 et 9999 (Microsoft Excel enregistre les dates sous la forme de numéros séquentiels afin qu’elles puissent être utilisées dans des calculs. Par défaut, le 1er janvier 1900 correspond au numéro séquentiel 1, et le 1er janvier 2008 correspond au numéro séquentiel 39448 car 39 448 jours se sont écoulés depuis le 1er janvier 1900.) Je te conseille fortement d'écrire ces 2 formules dans 2 cellules différentes nommées afin de pouvoir les réutiliser facilement et rapidement partout dans ton fichier. Un Rechercher&Remplacer devrait permettre de remplacer des dates écrites en dur dans toutes tes formules par le nom de tes cellules très rapidement. Bisous, Luna -
Coucou, Est-ce que ceci fonctionne mieux ? Je ne connais pas les objets que tu as utilisé donc j'ai simplement créé un bloc avoir un champ dynamique indiquant le point d'insertion de la référence de bloc 😉 Bisous, Luna 018_0011_02-04.dwg
-
@Curlygoth, Mon point était que la programmation peut s'adapter à pleins de situation, et dans le cas des extractions de données, on peut soit faire le choix d'avoir un programme pour chaque type d'extraction (et donc le nombre de clic se résume à un ou deux car tous les filtres sont écrits en dur dans le programme) soit avoir un programme un peu plus généraliste et auquel cas il est en mesure de faire des extractions différentes (et donc le nombre de clics est beaucoup plus important car les filtres sont définis pendant l'exécution du programme par l'utilisateur lui-même). Donc tout dépend dans quel cas on peut/veut se situer. Certains client préfèrent avoir 400 boutons différents et d'autres veulent un bouton unique qui regroupe tout. Mais il n'y a aucun moyen de faire UN programme qui fait TOUT avec UN seul clic 😜 Bisous, Luna
-
Coucou, Le plus simple je pense est d'enregistrer les choix de types d'objets, propriétés et ordre des colonnes dans un fichier .dxe et de réutiliser ce fichier .dxe à chaque nouvelle extraction similaire (comme chat le nombre de fenêtres de l'assistant est le même mais il suffit d'appuyer sur suivant sans se poser de questions, ce qui est très rapide). Et il faut créer autant de fichiers .dxe que d'extractions de données différentes. Alors certes au début c'est long et emmerdant mais une fois que tu as une bibliothèque de fichier .dxe pour l'ensemble des extractions de données possibles au cours d'un projet, cela va très vite finalement. Après s'il y a certaines propriétés que tu désires extraire mais qui ne sont pas dispo via l'extraction de données, alors là pas le choix il faudra un programme spécifique pour une extraction spécifique (donc le nombre de programmes risque d'être conséquent si tu as plein d'extractions différentes possibles). Autrement il faudrait prévoir une programmation beaucoup plus complexe et généraliste, mais du coup on va se rapprocher de ce que fait l'assistant d'extraction de données, donc pas vraiment de gain de temps au final (mais une perte de temps considérable en terme de prog' !). Bref, le sujet est vaste et ton fichier .pptx avec juste une capture d'écran de ton plan .dwg n'aide pas vraiment à nous orienter sur la bonne voie. Bisous, Luna
-
Curiosité nouveau calque / Présentation
Luna a répondu à un(e) sujet de Curlygoth dans AutoCAD 2020-2024
Yup, je faisais implicitement référence aux traducteurs, mais c'est des données très certainement écrites en dur et cryptées ou dans des fichiers alambiqués. De même, je doutes sincèrement que c'est le genre de choses que tu veuilles modifier par un simple soucis de praticité, car tu modifies le fonctionnement natif du programme, ce qui n'est jamais la bonne chose à faire à mes yeux (si toutefois c'était faisable, évidemment). Bref, je pense que "remplacer" les commandes natives par tes propres programmes est la solution la plus simple (et je suis sûre que tu sauras faire 😜) Bisous, Luna -
bloc sans attribut mais avec attribut
Luna a répondu à un(e) sujet de philsogood dans AutoCAD 2020-2024
@philsogood, C'est pas forcément une bizarrerie d'AutoCAD en soit, c'est même relativement logique par rapport au fonctionnement de ATTSYNC. En revanche c'est agaçant et peut être considérer comme un problème non résolu sur le fonctionnement d'AutoCAD. Car ATTSYNC ne modifie que des blocs possédant des attributs, donc si aucune définition de bloc ne possède d'attribut, la commande refuse de se lancer car jugée inutile. Et c'est plus rapide de vérifier la liste des définitions de bloc que la liste des références de bloc. Car si tu insères une référence, puis tu modifies la définition pour supprimer les attributs, puis tu insères de nouvelles références la première référence aura des attributs fantômes mais pas les nouvelles. Donc forcément cela nécessiterait de checker 100% des références de bloc (ce qui, en fonction des corps de métier, peut prendre un temps fou !). D'ailleurs si l'on regarde bien, en faisant ATTSYNC -> Sélectionner une référence (qu'elle possède des attributs fantômes ou non d'ailleurs) -> ATTSYNC marche correctement et supprime les attributs fantômes ; mais ATTSYNC -> Nommer -> ATTSYNC ne marche pas car cette fois-ci elle vérifie la définition de bloc, et non les références de blocs. En vrai, je pense que le problème vient juste du fait qu'ils ont voulu trop bien faire... Car la commande vérifie déjà si la référence de bloc et/ou la définition de bloc que l'on souhaite modifier possède oui ou non des attributs, donc pourquoi faire une vérification au lancement de la commande pour savoir si cette commande à "besoin" d'être exécutée ? Au pire des cas, l'utilisateur va tourner en boucle en cliquant sur des références sans attributs puis se découragé car il n'aura pas compris à quoi sert la commande, mais au moins chat permettrait de faire fonctionner ATTSYNC même sur un dessin avec que des attributs fantômes, sans nous obliger à magouiller pour empêcher cette première vérification... >n< Bref, je suis sûre que le problème leur a été signalé depuis bien longtemps déjà, mais ce n'est visiblement pas une priorité -_- Bisous, Luna -
Curiosité nouveau calque / Présentation
Luna a répondu à un(e) sujet de Curlygoth dans AutoCAD 2020-2024
Coucou, Si j'ai bien compris, le but est justement de savoir si nativement parlant il existe un moyen de remplacer la chaîne de caractères par défaut lors de la création d'un nouveau calque ou nouvelle présentation. Donc sans passer par la programmation, car cela est évidemment faisable en programmation (puisqu'on renseigne directement le nom du nouveau calque créé). Cependant, je doute sincèrement qu'AutoCAD laisse le choix à ce niveau là...l'information est très certainement stockée quelque part mais de là à retrouver où et à pouvoir le modifier, je doute sincèrement que les efforts à mettre en œuvre par rapport au gain soit worth it. Pour quelle raison souhaiterais-tu faire cela ? Ne serait-il pas plus rapide de créer une commande par programmation pour "remplacer" la création d'un nouveau calque et/ou présentation pour que les nouveaux calques ou nouvelles présentations possède un nom différent par défaut ? Bisous, Luna -
bloc sans attribut mais avec attribut
Luna a répondu à un(e) sujet de philsogood dans AutoCAD 2020-2024
Coucou, Je n'ai pas pointé de message en particulier car il me semble important d'avoir le contexte pour comprendre la finalité d'une réponse (et comme le sujet est relativement court, je doute que cela soit une perte de temps de lire l'ensemble du sujet). Mais si je devais pointer un message, je dirais le post #2 avec la routine FixBadAttBlocks de BeeKeeCZ pour supprimer les attributs fantômes sans passer par ATTSYNC qui fonctionne mal, soit le post #7 avec la réponse de Yann69690 qui permet de remettre les attributs fantômes dans la définition de bloc. Désolée si ce n'était pas clair >w< Bisous, Luna -
bloc sans attribut mais avec attribut
Luna a répondu à un(e) sujet de philsogood dans AutoCAD 2020-2024
Coucou, Chat me rappelle ce sujet similaire 🙂 Bisous, Luna -
[CAD MAP 3D 2018] Générer 1 ligne + nom de calque
Luna a répondu à un(e) sujet de drault dans AutoCAD 2018
Coucou, Essaye avec ceci pour voir (j'ai testé vite fait et chat me semble correct), à voir si j'ai bien compris la demande ^^" : (defun c:LAYERLIST (/ len rng htx ech pt doc layers ms i lck coe spt ept tpt obj txt) (setq len 2.0 rng 1.0 htx 0.25 ech 1.0 mod "ByLayer" pt '(0.0 0.0 0.0) ) (if (= "Expert" (cond ((initget "Expert Auto")) ((getkword "\nComment souhaitez-vous utiliser le programme ? [Expert/Auto] <Auto> ")) ("Auto"))) (setq len (cond ((initget (apply '+ '(2 4 64 1024)))) ((getdist (strcat "\nLongueur des lignes <" (rtos len) "> : "))) (len)) rng (cond ((initget (apply '+ '(2 4 64 1024)))) ((getdist (strcat "\nEcart entre chaque ligne <" (rtos rng) "> : "))) (rng)) htx (cond ((initget (apply '+ '(2 4)))) ((getreal (strcat "\nHauteur de texte <" (rtos htx) "> : "))) (htx)) ech (cond ((initget (apply '+ '(2 4)))) ((getreal (strcat "\nEchelle du type de ligne <" (rtos ech) "> : "))) (ech)) mod (cond ((initget "ByLayer Forced")) ((getkword (strcat "\nSouhaitez-vous affecter les calques aux lignes ou forcer les propriétés sur le calque courant [ByLayer/Forced] ? <" mod "> "))) (mod) ) pt (cond ((getpoint (strcat "\nPoint d'insertion de la liste <" (rtos (car pt)) "," (rtos (cadr pt)) "," (rtos (caddr pt)) "> :"))) (pt)) ) ) (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)) layers (vla-get-layers doc) ms (vla-get-modelspace doc) i 0 lck (vlax-get (setq layer (vla-item layers (getvar "CLAYER"))) 'Lock) ) (vla-StartUndoMark doc) (if (= lck -1) (vlax-put layer 'Lock 0)) (vlax-for layer layers (setq coe (* i rng) spt (mapcar '+ pt (list 0 (+ coe (* 0.5 htx)) 0)) ept (mapcar '+ pt (list len (+ coe (* 0.5 htx)) 0)) tpt (mapcar '+ pt (list (+ len (* 0.5 rng)) coe 0)) obj (vla-AddLine ms (vlax-3d-point spt) (vlax-3d-point ept)) txt (vla-AddText ms (vlax-get layer 'Name) (vlax-3d-point tpt) htx) i (1+ i) ) (cond ( (= "ByLayer" mod) (vlax-put obj 'LinetypeScale ech) (vlax-put obj 'Layer (vlax-get layer 'Name)) ) ( (= "Forced" mod) (vlax-put obj 'TrueColor (vlax-get layer 'TrueColor)) (vlax-put obj 'Lineweight (vlax-get layer 'Lineweight)) (vlax-put obj 'Linetype (vlax-get layer 'Linetype)) (vlax-put obj 'LinetypeScale ech) ) ) ) (if (= lck -1) (vlax-put layer 'Lock -1)) (vla-ZoomWindow (vlax-get-acad-object) (vlax-3d-point pt) (vlax-3d-point tpt)) (princ (strcat "\nUn total de " (itoa i) " calques ont été listé au point d'insertion : " (vl-princ-to-string pt) ) ) (vla-EndUndoMark doc) (princ) ) La première question permet de choisir entre exécuter le programme avec les valeurs par défaut (renseigner dans le premier (setq) du programme) (= "Auto") ou de poser une série de questions (= "Expert") pour pouvoir modifier ces valeurs ponctuellement. Bisous, Luna -
Coucou, Tout dépend du fonctionnement de ce dernier. Par exemple dans le cadre de mon travail on utilise un plug-in AutoCAD développé par une société tierce et certains éléments sont générés via des réacteurs d'évènements persistants. Donc on se retrouve bien souvent avec une liste de calques non purgeables, même si le plug-in n'est plus actif. Peut-être qu'AutoCAD Architecture possède lui aussi certaines fonctionnalités similaires ? Car je ne vois pas bien comment AutoCAD autoriserait la purge de ces éléments si finalement il appartiennent à un bloc présent dans le dessin. S'ils sont purgeables, c'est que les objets liés à ces éléments ne sont pas présents dans le dessin, donc il n'y a aucune autre raison qu'un réacteur persistant à mes yeux pour réinsérer des éléments inexistants à la réouverture du fichier... Bisous, Luna
-
Coucou, Je n'ai pas d'AutoCAD Mac mais j'ai cru comprendre que certaines fonctionnalités n'existent pas encore sur les versions Mac... J'ai trouvé ce fichier regroupant les commandes et shortcut sur Mac : https://damassets.autodesk.net/content/dam/autodesk/www/shortcuts/autocad-for-mac/autocad-for-mac-shortcut-keys-guide-autodesk.pdf Désolée de ne pas pouvoir faire plus, mais en effet j'ai bien peur que AutoCAD Mac soit quelque peu limité à l'utilisation... Bisous, Luna
-
Coucou, C'est pas du VBA mais bon, si jamais cela peut t'aider : (startapp "C:\\Program Files\\Microsoft Office\\root\\Office16\\OneNote.exe") ; Dans le cas d'Office 2016 Il suffit ensuite d'enregistrer le fichier sous le nom acaddoc.lsp dans le dossier C:\Users\...\AppData\Roaming\Autodesk\AutoCAD 20##\R24.1\fra\Support (évidemment, remplacer "..." par le nom d'utilisateur et "##" par la version d'AutoCAD installée). Ce fichier est chargé automatiquement à chaque ouverture de fichier (nouveau ou existant). Il existe évidemment d'autres moyen pour charger un fichier .lsp automatiquement à l'ouverture d'un fichier (cf. le cours de (gile) >>ici<<). N'utilisant pas OneNote personnellement, je ne sais pas s'il y a des fichiers associés et donc s'il est possible d'ouvrir OneNote directement sur le bon fichier (avec un (getvar "DWGNAME") par exemple si tu nommes tes OneNote avec le nom du .dwg) en utilisant l'argument facultatif [file]. Bisous, Luna
-
@Olivier Eckmann, Yes j'avoue que je n'ai pas encore été confronté à la récupération de valeur angulaire au cours de mes pérégrinations donc je connaissais ANGBASE et ANGDIR (notamment à cause de SNAPANG) mais sans vraiment y prêter attention...Mais c'est bon à savoir pour les prochaines fois ! Vui j'avoue que j'ai souvent tendance à me torturer l'esprit devant des problèmes simplissimes parfois xD Mais bon, au final cela devient limite une signature dans le langage de programmation. Lorsque je lis les programmes de LeeMac par exemple, on le reconnaît très vite ^^ En tous cas, j'aime beaucoup la fonction (update_block) pour limiter l'utilisation de ATTSYNC, je ne savais pas que l'on pouvait le faire ainsi ! C'est souvent le soucis que j'ai parfois, savoir dans quels cas la fonction (command) est obligatoire et dans lesquels elle peut être habilement contournée. Bisous, Luna
-
Coucou @bonuscad, Quand je vois toutes les fonctions auxquelles je n'ai pas pensé, je me sens un peu bête... ^^" C'est de suite un peu plus propre 😉 Merci, Luna
