Aller au contenu

Patrick_35

Membres
  • Compteur de contenus

    6 374
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Patrick_35

  1. Ben pour moi, dans les deux sens. Dans le sens horaire et après avoir regardé le chat de nouveau, dans l'autre sens. @+
  2. C'est fait Merci, cela me paraissait plus simple que des coordonnées Il me reste à saluer de la main ;) Sinon, le lisp fini qui traite un répertoire complet @+ vfm.lsp
  3. Salut Je ne t'explique pas quand il scratch :(rires forts): @+
  4. Salut Pour moi, le sens anti-horaire. Cela me fait aussi penser au buzz du moment, La couleur de cette robe rend fou les internautes @+
  5. Salut Lecrabe Un premier jet pour voir si ça correspond bien à ta demande. Fonctionne pour l'instant uniquement sur le dessin courant. Il ne reste pas grand chose à faire pour le faire travailler sur plusieurs dessins d'un même répertoire. (defun c:vfm(/ bg dis doc ele hd lay lst sau) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layouts doc) (setq sau nil lst nil tot 1) (vlax-for ele (vla-get-block lay) (cond ((and sau (eq (vla-get-objectname ele) "AcDbViewport")) (vla-getboundingbox ele 'hd 'bg) (setq lst (cons (list (distance (vlax-safearray->list hd) (vlax-safearray->list bg)) (vla-get-layer ele) ) lst ) ) ) (T (setq sau T) ) ) ) (if lst (progn (foreach obj (vl-sort lst '(lambda (a B)(< (car a)) (< (car B)))) (princ (strcat "\nPrésentation : " (vla-get-name lay) " - Fenêtre : " (itoa tot) " - Diagonale : " (rtos (car obj)) " - Calque : " (cadr obj))) (setq tot (1+ tot)) ) ) (princ (strcat "\nPas de fenêtre (viewport) dans la présentation : " (vla-get-name lay))) ) ) (vla-endundomark doc) (princ) ) @+
  6. Patrick_35

    Fusion de fichiers

    Un petit tour. @+
  7. Patrick_35

    Fusion de fichiers

    Salut Regarde ce sujet. @+
  8. Ben non, il faut bien à un moment indiquer à quoi correspond le symbole. Cela va quand même plus vite que de passer par le lisp. Je sais que c'est le plus rébarbatif, mais une fois fait, on peut changer de version, le donner (ou pas) à ses collègues ses fichiers. De mémoire, il faut supprimer l'extension .dwg dans le fichier Le chemin où est installé bibles et ses fichiers est bien déclaré dans Chemin de recherche de fichiers de support en cours d'utilisation ? @+
  9. Tu as 3 niveaux avec ATTMODE 0 Inactif : Rend tous les attributs invisibles. 1 Normal : retient la visibilité courante de chaque attribut ; les attributs visibles sont affichés ; les attributs invisibles ne sont pas affichés 2 Actif : Rend tous les attributs visibles. Sinon, tu peux mettre ton attribut sur un calque spécifique que tu gèles ou pas à loisir. @+
  10. Et pouquoi ne pas jouer avec la variable attmode ? @+
  11. Je ne comprends pas ce que tu souhaites faire :huh:? Cette info est donné à titre indicative et aussi pour montrer que ce n'est pas la même valeur pour le même attribut sur différents blocs. Par contre, elle peut-être utile en prog. Un (handent "242") donne par exemple <Nom d'entité: 7ffffb05ca0>, la valeur hexa 7ffffb05ca0 donne 8796087803040 en décimal qui peut-être alors utilisé dans les champs. @+
  12. Par exemple @+
  13. Salut Ok, je comprends maintenant. Ce qui se passe quand tu fais une reprise d'info sur des attributs dans l'éditeur de blocs, c'est que tu pointes sur un objet qui a son propre identifiant. Quand tu insères un bloc avec des attributs, les attributs sont copiés depuis la table des blocs (ce qui permet ensuite de personnaliser chaque bloc avec des attributs ayant des positions différentes par exemple) et avec de nouveaux identifiants. Comme la formule pointe sur un identifiant dans la table des blocs et que ce n'est plus le même une fois inséré, cela ne fonctionne donc plus. Pour voir cet identifiant, tu peux faire la commande liste sur un objet --> Maintien (valeur hexa) @+
  14. Salut Je ne comprends pas bien où est le problème ! J'ai fait le test sur un bloc en faisant attedit --> Choix d'un attribut --> Clic droit --> Insérer un champ --> Objet --> Sélection de mon bloc --> Choix de l'attribut --> Ok Et cela autant de fois que nécessaire. Et quand je change la valeur première, un regen et c'est à jour. @+ Test.zip
  15. Salut Il fonctionne très bien sur ma 2014, donc logiquement pas de problèmes. Ps : Le but des lisps est aussi de pouvoir migrer d'une version à une autre sans tout refaire. Donc si on configure bibles avec tout ce qui va bien, une recopie vers la nouvelle version et ça roule :) Pps : Je l'utilise depuis longtemps et ma bibliothèque migre elle aussi. Si bien que je ne me sers jamais des palettes. @+
  16. Salut Voilà @+ Bibles.zip
  17. Salut Je ne sais pas si tu as regardé par curiosité les fichiers qui composent Bibles. Le principe est simple. Chaque bouton de familles correspond en réalité à un fichier --> BIBLES.000 Le 1er chiffre correspond au 1er bouton en haut à gauche --> BIBLES.0xx Le second chiffre correspond à la famille secondaire --> BIBLES.x01 Si le second chiffre = 00 --> Pas de famille secondaire. BIBLES.204 --> 3em bouton depuis celui en haut à gauche, vers la droite et 4em bouton de la famille secondaire dans le même sens de lecture. Ensuite, on peut créer directement les fichiers afin d'éviter une saisie trop fastidieuse. En 1er, tu as la désignation et à la ligne suivante, l'emplacement du fichier. Donc, tu vas sous dos (windows+R --> cmd) Tu vas dans ton répertoire de blocs et tu fais la commande dos "DIR *.dwg /on /s /b > BIBLES.xxx" Tu édites ton fichier afin d'ajouter les désignations et tu génères tes clichés. Après quelques recherches sur Cadxp http://cadxp.com/topic/16514-bibles-et-son-utilisation/ @+
  18. Tous les chemins mènent à Rome. :) @+
  19. Salut Recopie la feuille active après la feuille active (setq xls (vlax-get-or-create-object "excel.application")) (vlax-invoke (vlax-get xls 'activesheet) 'copy nil (vlax-get xls 'activesheet)) @+
  20. Hi Oh, de rien A l'échelle du type de ligne définit par l'objet Oui Oui Le(s) xref(s) sont aussi traité(s) dans le dessin. Si on souhaite conserver le résultat pour le(s) xref(s), il faut ouvrir le(s) xref(s) et le(s) sauvegarder. Yes @+
  21. Salut Un lisp brut de force. Tout les objets prennent une echelle du type de ligne à 1; objets, présentations et blocs (même les objets dans le bloc) (defun c:ech(/ doc ele obj) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for ele (vla-get-blocks doc) (vlax-for obj ele (vl-catch-all-apply 'vla-put-linetypescale (list obj 1.0)) ) ) (vla-endundomark doc) (princ) ) @+
  22. Hi I don't have the habit of récusives, but great job :D Make yourself scarce on this forum. Thank you for your contribution. @+
  23. Salut J'aurai tendance à dire maquerelle ;) Sinon, pour répondre à rebcao, cela dépend du public. Une macro peut-être aussi bien une expression diesel, un bouton programmé avec une commande, un lisp ou tout programme externe. Il suffit de cliquer sur un bouton et que ça marche. Qu'importe la complexité de ce que l'on demande. Pour résumer, une macro = une fonction. @+
  24. Salut Pour un utilisateur lambda Login : Pat Mdp : pat Pour l'administrateur Login : Administrateur Mdp : Bienvenue ps : Un de mes tout premier lisps. Il a été développé sur une V12 et ensuite amélioré sur une V14. C'était le début des boites de dialogues et sans Internet pour aider. Souvenir, souvenir ;) @+
  25. Patrick_35

    publier 15 pages

    Même réponse qu'ici @+
×
×
  • 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é