Aller au contenu

Apertolibro57

Membres
  • Compteur de contenus

    18
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Apertolibro57

  1. @Luna Voici une trame avec laquelle je travaille. C'est très gentil de regarder mon problème! TRAME_OF.dwg
  2. Merci beaucoup @didier. Je regarderai ça dès que je pourrai 👍
  3. Merci pour ta réponse! J'essaierai de me pencher sur le sujet pour voir ce qu'il est possible de faire avec un VBA. Bonne journée.
  4. Bonsoir @Curlygoth, Comme je le disais plus haut à Luna, désolé pour la réponse tardive. Saurais-tu m'en dire plus sur le VBA et ce que je peux en faire pour mon problème de modifs d'attributs dans diverses présentations? Est-ce facile d'accès pour quelqu'un sans connaissance en programmation? Je viens de voir que c'est quelque chose qui était avant dans Autocad, mais qui doit aujourd'hui être installer en sus. Merci d'avance.
  5. Bonsoir @Luna, Je suis désolé pour cette réponse très tardive, je n'ai pas trouvé le temps de te répondre avant. Merci pour tes explications ça me parait très clair au sujet des "list_box" et des "toggles". Donc pour répondre au 2ème paragraphe de ta réponse, effectivement en terme de LISP, le moins compliqué serait de ne pas avoir à mettre de case à cocher ni de menu déroulant pour les visibilités si je comprends bien. Comme tu le dis ça serait moins intuitif mais ça serait déjà ça. En effet la case à cocher était là pour éviter la même modification plusieurs fois (donc pour plusieurs présentations). Mais si déjà, à la manière de GEF, j'ai un tableau qui répertorie chaque présentation (où il y a mon bloc) dans la première colonne, et tous les attributs existants de cette présentation dans la seconde colonne, cela me permettrait de faire toutes mes modifs dans ce tableau. Donc sans avoir à aller moi même d'une présentation à l'autre pour faire mes modifs d'attributs. Et pas besoin de mettre plus de lignes en affichant "nom de présentation + nom de visibilité" comme tu le suggères, car les attributs en commun des visibilités auront la même valeur dans une même présentation! En ce qui concerne le "ssget", j'ai l'impression que ca va devenir trop complexe non?
  6. Je viens de te relire encore, et effectivement lorsque tu dis "Autrement dit, si plusieurs présentations sont cochées, la valeur de l'attribut correspondra soit à la même valeur actuelle (dans le cas où l'ensemble des présentations cochées possèdent la même valeur) sinon, à une valeur arbitraire (comme *VARIEES*) dans le cas où au moins l'une des valeurs est différentes.)", tu as raison car il y aurait forcement conflit de valeurs si 2 présentations cochées n'ont pas la même valeur pour un seul attribut! 👍 Et en ce qui concerne "SSGET", je veux bien essayer mais comment ça marche et que dois-je faire pour tester ça?
  7. Bonsoir et merci beaucoup de prendre du temps pour éclairer ma lanterne ! En ce qui concerne la seconde colonne, ce ne sont pas les attributs qui sont uniquement en commun. Ça serait la liste complète de tous les attributs du bloc. Qu'ils soient communs ou non aux visibilités n'a pas d'incidence sur la modification, puisque chaque étiquette reste unique. Si je change la valeur d'une étiquette qui est visible dans les visibilités 1 et 2, et bien ça ne changera que dans les visibilités 1 et 2 puisque les visibilités 3 et 4 ne la contienne pas. Cette colonne serait à l'image de celle du gestionnaire des attributs natif d'autocad. Lorsque tu choisis un bloc, le gestionnaire te montre toutes les étiquettes du bloc. Que le bloc ait des visibilités ou non, ca n'a pas d'importance. Chaque étiquette est unique. Pour la barre de déplacement des colonnes, je me base simplement sur le LISP "GEF" de Gile. Qu'il y ait 5 ou 40 fenêtres, son LISP les indique dans le tableau. Pour moi (mais je me trompe peut-être car pour l'instant je ne fonctionne qu'à travers ma seule logique et certainement mon manque de compétences), c'est une ligne de programmation qui dit "SI il y a X présentations qui contiennent ce bloc, ALORS tu affiches X noms de présentations". Il n'y a pas a savoir à l'avance combien on a de présentations pour en faire une ligne de code pour chacune d'entre elles. Encore une fois, tout comme le fait "GEF". Il indique toutes les X fenêtres qu'il trouve dans les présentations en y indiquant le nom des présentations dans lesquelles sont ces fenêtres. Et en ce qui concerne la barre de déplacement, elle ne pourrait pas apparaitre et s'agrandir grâce à un seul paragraphe de lignes de code qui réagit en fonction de l'espace visible du tableau? J'essaierai d'aller comprendre comment ça marche en allant décortiquer le LISP "GEF". Je me trompe peut-être complétement. Ensuite les cases à cocher seraient là pour que le code dise "SI la case du nom de telle présentation est cochée, ALORS le bloc que cette présentation contient sera modifié en fonction de la colonne 2". Je n'ai aucune connaissance de programmation. Comme je le dis je me base uniquement sur ce que je crois comprendre en lisant les LISP que je récupère ici et ma seule logique qui doit être très basique 😅
  8. Et au sujet de ces "visibilités actives de présentations", même si cette option serait un grand plus à ce LISP, elle n'est pas la priorité au final. L'important c'est d'avoir le choix de modifier en même temps, les attributs du bloc de certaines des présentations. Et ceux grâce à la colonne répertoriant tous les attributs du bloc (donc toutes visibilités confondues), et le choix des présentations à modifier par "cochage".
  9. Bonjour @Luna, Merci pour ta réponse. Je suis tout à fait d'accord avec toi, c'est ce que je me disais en postant ce message même si le terme "quémander" me dérange un peu. Étant indépendant je sais au combien le temps que l'on peut passer sur certaines choses qui paraissent simples quand on ne connait pas le sujet. Je me doute que ce LISP est quelque chose qui demande du travail et je sais que les personnes qui sont sur ce forum aident de manière bénévole les gens qui passent par là. J'ai d'ailleurs pu récupérer quelques LISP ici grâce à ceux qui ont des problématiques et à ceux qui y répondent favorablement. Et je remercie tout ce beau monde! C'est top et ça aide beaucoup lorsqu'on travail 10 à 12h par jour sur AUTOCAD. En ce qui concerne ma demande, je me dis surtout que c'est aussi un forum de passionnés et que dans ce sens, n'ayant rien trouvé qui ressemble à ma problématique, cela peut être intéressant à réaliser pour quelqu'un qui aime faire du LISP en plus de m'aider. C'est d'ailleurs pourquoi je tente d'être le plus clair possible dans mes propos et que j'ai même fait un dessin de ce que j'imagine. C'est par respect pour ceux qui me liront et qui souhaiteraient se pencher sur le sujet. Personnellement j'adorerais savoir le faire moi-même, et J'ai déjà réussi à comprendre quelques petites choses dans les codes que je récupère et lis. J'ai d'ailleurs trop hâte de me pencher sur le sujet réellement, faire les miens et les partager tout comme le fait @(gile). J'ai plein d'idées, l'esprit et la rigueur qu'il faut pour faire ce genre de choses. C'est juste que j'ai absolument pas de temps à moi pour le moment à cause de mon boulot qui ne me laisse même pas mes week-end de repos. Donc voilà. Je n'avais pas du tout l'intention de parler de moi sur ce forum, mais je prends le temps et réponds du mieux que je peux à ton retour. Pour revenir au sujet et à ta réponse, mon image est une idée globale qui n'est pas figée et doit être forcement adaptable à un code le plus simple à faire possible. Et en ce qui concerne le menu déroulant, dans mon idée il ne concerne pas les présentations mais les différentes visibilités du bloc. Après si c'est réalisable et plus simple en terme de programmation de faire une colonne qui les répertorie... pourquoi pas! Moi je suis preneur de discussions, d'échanges, et de partage même si ça ne mène pas à la réalisation finale de ce LISP. Bien amicalement, ApertoLibro
  10. Bonjour à tous, Je viens vers vous car je perds un temps infini avec une manipulation que je rêverais de simplifier grâce à vos compétences en LISP. Je m'explique. J'utilise un cartouche pour mes plans. Ce cartouche est dynamique, il a plusieurs visibilités, et des attributs qui sont communs et non communs à ces différentes visibilités. Ce cartouche, qui est donc un bloc, est utilisé dans toutes mes présentations. Mon problème est le suivant: Lorsque je veux modifier un attribut (quel qu'il soit, et sur n'importe quelle visibilité) et le propager partout, pas de soucis j'utilise le LISP "MAT" qui se substitue parfaitement à l'express tool "GATTE" d'Autocad. La galère arrive lorsque je dois modifier des attributs dans certaines présentations et visibilités, et qu'ils ne doivent pas forcement être identiques d'une présentation à l'autre, d'une visibilité à l'autre. Je dois donc entrer dans une présentation, choisir une visibilité, modifier mes attributs, et faire ça pour mes 30 présentations. Ce qui serait top c'est qu'un LISP puisse identifier mon cartouche (plus génériquement un bloc avec attributs), et ouvrir un tableau (à l'image du LISP "GEF" par exemple), et pouvoir choisir ce que l'on souhaite changer comme attributs dans ce tableau directement. J'imagine une 1ère colonne répertoriant toutes les présentations dans lesquelles se trouve le bloc identifié. Avec le choix de cocher ou non les présentations où l'on souhaite apporter des modifications (+ une coche pour sélectionner/désélectionner tout). Et une seconde colonne qui répertorie tous les attributs du bloc (à l'image du gestionnaire des attributs de blocs d'Autocad sauf qu'il serait juste nécessaire d'avoir les étiquettes et la valeur déjà inscrite). Donc en modifiant un attribut, il se modifie sur toutes les présentations cochées en amont. Il y a aussi 2 options qu'il serait top d'avoir dans ce LISP: - La première c'est d'avoir la possibilité de cocher une case qui permettrait de réinitialiser le bloc dans toutes les présentations en même temps si on le souhaite. Je parle sans remettre les attributs par défaut. Juste le réinitialiser comme lorsqu'on fait un clic droit puis "réinitialiser le bloc" dans Autocad. - La seconde c'est d'avoir la possibilité de choisir la visibilité du bloc que l'on souhaite avoir dans chaque présentation en sortant de ce LISP. Par exemple avec un menu déroulant à côté du nom de chaque présentation (dans la première colonne), où l'on pourrait choisir la visibilité active que l'on souhaite avoir dans chaque présentation. Je rêve peut-être éveillé mais ce LISP serait magique. Est-ce quelque chose de réalisable? Je joins une image de ce que j'imagine, ça sera peut-être plus clair que mes propos. Merci pour vos retour.
  11. @Luna Oui mes clients ne se casseront pas la tête à installer quoi que se soit pour mes beaux yeux. Et de toutes manières même si ils le faisaient, les fichiers partent encore vers d'autres entreprises avant de me revenir. Le DWG passe en fait entre diverses mains de dessinateurs de tout niveau avant de me revenir. @bonuscad Merci pour ta proposition, mais il y a beaucoup de blocs dynamiques qui doivent pouvoir continuer à être utilisés dans le dessin, donc ta solution n'est pas envisageable dans mon cas. Tant pis je vais me faire une raison 😉 Merci pour vos partages.
  12. En fait y réfléchissant, et en essayant de comprendre encore davantage , je crois qu'empêcher de supprimer un élément n'est pas possible car ça n'est pas une propriété naturelle proposée à la base. C'est bien cela? Et pour répondre @Fraid , garder le dynamisme pour les blocs qui en ont reste important, donc le rendre anonyme n'est pas top dans ce cas. Par contre pour un bloc lambda cela peut être intéressant. Je vais faire mes recherches sur comment faire un bloc anonyme. Si vous ayez un lien avec des explications claires du sujet, je suis preneur.
  13. Bonjour, Merci pour votre retour @Luna et @Fraid et désolé pour la réponse tardive. Ok je crois comprendre la nuance que tu exprimes lorsque tu parles de propriété naturelle du bloc. En fait je pensais que puisqu'il était possible d'interdire la commande "décomposer" et donc d'empêcher un bloc d'être décomposé (comme le fait le lisp de Patrick), il était aussi possible d'interdire la commande d'édition de bloc et ainsi d'empêcher également le bloc d'être modifiée. Ne serait-ce juste dans le dessin où se trouve le bloc. Et sinon, même si l'accès à l'éditeur de bloc ne peut être empêché, ne serait-il pas possible d'empêcher les éléments composant le bloc d'être supprimés? Qu'il y ait des polylignes, textes, blocs ou autres. Ça serait déjà très bien! Merci pour votre partage.
  14. Il n'y a vraiment personne ici? 😢
  15. Je relance une dernière fois... 😉
  16. Merci pour ta réponse lecrabe. Ceci dit ce n'est pas très grave. Qui peut le plus peut le moins.Je ne veux pas forcement que ça soit inviolable. Juste que mes blocs ne soient pas modifiés le plus souvent possible. Et si ce n'est que dans Autocad ça sera déjà ça. En fait, pour développer davantage, je suis indépendant, je reçois et renvoi des tas de fichiers à des entreprises (qui pour info, utilisent en grande majorité Autocad). Je souhaiterais donc avoir la possibilité de retrouver des blocs de dessins techniques dans les dwg sans qu'ils ne soient défoncé par le premier venu, et ainsi pouvoir continuer à travailler convenablement sur les fichiers que je reçois à nouveau, sans avoir à m'arracher les cheveux! Ma demande est-elle donc recevable? PS: Je suis navré de cette nouvelle pour Patrick_35. Et je suis désolé si j'ai pu amener de la tristesse à ta soirée. Cordialement.
  17. Bonjour, Je me permets de venir toquer à votre porte pour savoir si quelqu'un pourrait améliorer un lisp posté sur ce forum en 2007 par Patrick_35 (merci à lui pour cette contribution d'ailleurs!) : Mon souhait serait de pouvoir appliquer un lisp qui empêcherait un bloc (dynamique ou non) d'être décomposer (ce que fait très bien celui de Patrick_35 ), mais également d'empêcher totalement la modification de ce même bloc. Il faudrait donc que l'éditeur de bloc ne soit pas accessible ou ne fonctionne pas non plus (et logiquement aussi pour la commande "éditer le bloc dans le même dessin"). Le fait que ce bloc protégé par le lisp puisse être copié et réutilisé dans un autre dwg n'est pas un problème du moment que cette copie garde la protection du lisp (comme celui de Patrick_35 pour la décomposition ). Pour terminer, si quelqu'un fait de ce bloc protéger un "fichier bloc", il faudrait donc également pouvoir empêcher l’accès à l'éditeur de bloc à l'ouverture de ce "fichier bloc" créé. Voilà, je ne sais pas si ceci est facilement réalisable, mais ça serait formidable si quelqu’un décidait de s'intéresser au sujet. En tout cas déjà, merci à vous de m'avoir lu.
×
×
  • 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é