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. Souvenir, souvenir Cela permet de voir aussi la progression de notre niveau de lisp aussi C'est vrai qu'en revoyant certain de mes lisps, ils seront à réecrire, mais bon, c'est du temps et ils marchent très bien comme ça @+
  2. Ah, j'ai inversé deux lettres, c'est en réalité entupd, c'est ce qui permet de mettre à jour à l'écran l'entité qui a été modifiée. Cela évite un regen @+
  3. Au contraire, plus il y a de solutions, mieux c'est. Je voulais juste lui montrer où cela ne fonctionnait pas pour qu'il continue son lisp Il n'est pas toujours évident de bien comprendre le besoin, surtout lorsque l'on n'est pas du métier On s'est juste croisé ;) @+
  4. Salut, D'après ce que je comprends, c'est un point qu'il faut élever à une valeur Z depuis un texte @+ (defun c:setz () (setq ent_txt (car (entsel "\nChoisir une Cote : "))) (setq ent_pt (car (entsel "\nChoisir un Point : "))) ; on récupère le texte de la cote (setq txt_z (cdr (assoc 1 (entget ent_txt)))) (setq ent_pt (entget ent_pt)) ; on injecte la cote dans le z (setq ent_pt (subst (cons 10 (list (car (cdr (assoc 10 ent_pt)))(cadr (cdr (assoc 10 ent_pt))) (atof txt_z))) (assoc 10 ent_pt) ent_pt)) (entmod ent_pt) (entpud (cdr (assoc -1 ent_pt))) )
  5. Patrick_35

    commandes récentes

    Une chose encore Espace ou entrée = dernière commande @+
  6. Salut WP veut dire Window polygon et en français, une fenêtre polygonale, c’est comme CP pour Crossing Polygon, ce qui revient à faire une capture polygonale La solution de Zebulon_ est de se servir de la couleur 255, ce qui est pour autocad une couleur "invisible", ce qui revient en fait à cacher ce qui est derrière. Une autre méthode est d’utiliser les _wipeouts, mais c’est toujours (jusqu’à preuve du contraire) aussi bor….que à l’impression, mais pas à l’écran. @+
  7. Patrick_35

    Hachures

    Salut Zebulon_, J'ai un peu remanié ton lisp, c'est juste pour t'indiquer deux ou trois trucs @+ (defun c:PHatch (/ cmd i ss) (setq cmd (getvar "cmdecho") i 0) (setvar "cmdecho" 0) (command "_.undo" "_group") (prompt "\nSélectionner des polylignes fermées") (if (setq ss (ssget '((0 . "LWPOLYLINE") (70 . 1)))) (while (ssname ss i) (command "_.hatch" "SOLIDE" "" "" (ssname ss I) "") (setq i (1+ i)) ) ) (command "_.undo" "_end") (setvar "cmdecho" cmd) (princ) )
  8. Patrick_35

    lisp vlisp et script

    Salut Voir ce sujet @+
  9. Moi non plus, mais ça peut s'avérer utile Dans ce sujet, l'exemple en vba m'a permis de le traduire en vlisp et de comprendre le cheminement qu'il fallait suivre @+
  10. Et en attendant j'ai trouvé ça aussi en vba L’exemple suivant illustre les mouvements de données d’un contrôle TextBox vers le Presse-papiers, du Presse-papiers vers un objet DataObject et d’un objet DataObject vers un autre contrôle TextBox. La méthode GetFromClipboard transfère les données du Presse-papiers vers un objet DataObject. Les méthodes Copy et GetText sont aussi utilisées. Pour utiliser cet exemple, copiez le code suivant dans la partie Déclarations d’une feuille et vérifiez que celle-ci contient : · deux contrôles TextBox nommés TextBox1 et TextBox2, · un contrôle CommandButton nommé CommandButton1. Dim MyData as DataObject Private Sub CommandButton1_Click() 'Sélectionnez un texte avant de le copier dans le 'Presse-papiers TextBox1.SelStart = 0 TextBox1.SelLength = TextBox1.TextLength TextBox1.Copy MyData.GetFromClipboard TextBox2.Text = MyData.GetText(1) End Sub Private Sub UserForm_Initialize() Set MyData = New DataObject TextBox1.Text = "Placez ces données dans " & _ "le Presse-papiers, dans un objet " & "DataObject, puis dans le contrôle " & "TextBox2 !" End Sub Copyright (c) 1996 Microsoft Corporation ps : j'ai fais un essai avec ton exemple et ça ne fonctionne pas :( @+
  11. Salut Tramber C'est pour faire quoi exactement, il n'est peut-être pas nécessaire de passer par le presse papier @+
  12. Patrick_35

    Liste d\'imprimantes

    Euréka, j'ai trouvé Je persistais à chercher dans plotconfiguration et non dans le layout Merci de ton aide Zebulon_ @+ (setq lay (vla-get-layout (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))) (setq tras (vlax-safearray->list (vlax-variant-value (vla-getplotdevicenames lay))))
  13. Patrick_35

    Liste d\'imprimantes

    Oui, merci, c'est exactement cela @+
  14. Patrick_35

    Liste d\'imprimantes

    Merci de ta réponse Zebulon_, mais le problème avec DOSLIB, c’est que le lisp n’est pas portable partout @+
  15. Salut Voici un lisp que te redéfinis le point de base au centre de ton bloc (il faut bien partir sur quelque chose) sur tout tes blocs @+ (defun c:rbl(/ bl dec_x dec_y ent ents mip map modif_ent) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (setq bl (tblnext "block" t)) (while bl (if (/= (logand (cdr (assoc 70 bl)) 16) 16) (progn (setq Ent (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) (cdr (assoc 2 bl)) 1 1 1 0)) (vla-getboundingbox Ent 'Mip 'Map) (setq Dec_x (/ (+ (car (vlax-safearray->list Mip)) (car (vlax-safearray->list Map))) 2)) (setq Dec_y (/ (+ (cadr (vlax-safearray->list Mip)) (cadr (vlax-safearray->list Map))) 2)) (setq Ents (vlax-safearray->list (vlax-variant-value (vla-explode Ent)))) (vla-delete Ent) (entmake (list (cons 0 "block") (cons 2 (cdr (assoc 2 bl))) (cons 70 64) (cons 10 '(0.0 0.0 0.0)))) (foreach Ent Ents (vla-move Ent (vlax-3d-point (list Dec_x Dec_y 0.0)) (vlax-3d-point '(0.0 0.0 0.0))) (setq Modif_Ent (entget (vlax-vla-object->ename Ent))) (setq Modif_Ent (vl-remove (assoc -1 Modif_Ent) Modif_Ent)) (setq Modif_Ent (vl-remove (assoc 5 Modif_Ent) Modif_Ent)) (setq Modif_Ent (vl-remove (assoc 330 Modif_Ent) Modif_Ent)) (entmake Modif_Ent) (vla-delete Ent) ) (entmake '((0 . "endblk"))) ) ) (setq bl (tblnext "block")) ) (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) )
  16. Bonsoir Je cherche à établir une liste des imprimantes sans passer par les registres Je sais que ca se trouve dans PlotConfiguration--->GetPlotDeviceNames mais je n'arrive pas à accéder a ce PlotConfiguration. Je sais qu"en vba, c'est tout simple, mais en vlisp :casstet: Merci d'avance @+
  17. Salut Ou encore de faire un wbloc du dessin, et si ça fonctionne, de renommer ensuite le wbloc @+
  18. Patrick_35

    BLOCS ET ATTRIBUTS

    Bonjour Pas besoin d'attributs pour faire un décompte de blocs, et quelle que soit la version d'autocad Pour cela, voir la commande _.filter Sinon, il reste la possibilité de créer son bloc avec ses attributs et ensuite d'utiliser la commande battman des express tools, mais je n'ai jamais testé si ça synchronisait avec un attribut supplémentaire @+
  19. Patrick_35

    Billard

    Mes amitiès de la journée Pour ceux qui n’arrivent pas à voir le lien, un clic droit puis enregistrer sous... Esbe, je ne pense pas que ce soit truqué, j’ai déjà vu des démonstrations et c’est vraiment impressionnant @+
  20. Patrick_35

    Billard

    Mon entrainement du samedi ;) Y a pas à dire, c’est un artiste @+
  21. Patrick_35

    ahh... l\'Amour

    Bravo, c’est très bien vu et plein de poésie @+
  22. Patrick_35

    fonds de plan xref

    Bonjour à tous J’ai déjà eu une fois ce problème Mes config de dessins sont un xref appelant un/des xref(s) Je m'explique Je fais mon plan d'exécution qui appelle le fond de plan archi en xref Ensuite, je fais mes présentations qui appellent mon plan d'exec en xref (et un fichier par présentation, merci à l'iso 150000), ce qui donne un xref appelant un xref Je n'arrivais pas à imprimer mon fond de plan archi, rien à faire alors qu'à l'affichage (et pas à l’aperçu de tracé), je voyais tout Le souci se passait dans mon fichier d'exécution qui ne retrouvait plus mon fond de plan archi. Je l'ai détaché puis rattaché, sauvegardé, fermé et réouvert ma présentation et là miracle, mon impression a refonctionnée de nouveau @+
  23. Si tu changes les deux en même temps, c'est normal Si rengenmode=1, ça veut dire que regnauto est actif et inversement Tu as essayé la commande _regen ? @+
  24. Bonjour La variable regenmode est sur 1 ou la commande regnauto est sur actif ? @+
  25. Bonjour à tous Oui, le sujet a déjà été traité 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é