-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Lisp qui transforme un texte en élévation
Patrick_35 a répondu à un(e) sujet de pingoo666 dans Débuter en LISP
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 @+ -
Lisp qui transforme un texte en élévation
Patrick_35 a répondu à un(e) sujet de pingoo666 dans Débuter en LISP
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 @+ -
Lisp qui transforme un texte en élévation
Patrick_35 a répondu à un(e) sujet de pingoo666 dans Débuter en LISP
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é ;) @+ -
Lisp qui transforme un texte en élévation
Patrick_35 a répondu à un(e) sujet de pingoo666 dans Débuter en LISP
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))) ) -
Une chose encore Espace ou entrée = dernière commande @+
-
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. @+
-
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) )
-
Salut Voir ce sujet @+
-
presse papier depuis variable
Patrick_35 a répondu à un(e) sujet de Tramber dans Pour aller plus loin en LISP
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 @+ -
presse papier depuis variable
Patrick_35 a répondu à un(e) sujet de Tramber dans Pour aller plus loin en LISP
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 :( @+ -
presse papier depuis variable
Patrick_35 a répondu à un(e) sujet de Tramber dans Pour aller plus loin en LISP
Salut Tramber C'est pour faire quoi exactement, il n'est peut-être pas nécessaire de passer par le presse papier @+ -
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))))
-
Oui, merci, c'est exactement cela @+
-
Merci de ta réponse Zebulon_, mais le problème avec DOSLIB, c’est que le lisp n’est pas portable partout @+
-
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) )
-
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 @+
-
Salut Ou encore de faire un wbloc du dessin, et si ça fonctionne, de renommer ensuite le wbloc @+
-
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 @+
-
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 @+
-
Mon entrainement du samedi ;) Y a pas à dire, c’est un artiste @+
-
Bravo, c’est très bien vu et plein de poésie @+
-
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 @+
-
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 ? @+
-
Bonjour La variable regenmode est sur 1 ou la commande regnauto est sur actif ? @+
-
Connaitre les coordonnees du curseur par prog
Patrick_35 a répondu à un(e) sujet de gandhi dans AutoCAD 2005
Bonjour à tous Oui, le sujet a déjà été traité ici @+
