Aller au contenu

Bred

Membres
  • Compteur de contenus

    2 764
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bred

  1. Bred

    MACROS D\'ACTIONS

    Salut, moi, cet enregistreur d'action ma super déçu, car je pensais qu'à l'égal d'Excel on aurait pu récupérer le code en vba afin de le traiter et de le retravailler... Mais non, c'est pas du vba, c'est un truc à la "Autocad" encore....
  2. Re, Je me rappel avoir recontré ce problème de modification de CVPORT impossible... Essaye en activant d'abord la fenêtre, puis en modifiant cvport ensuite (si je me souviens bien...) (command "_.MSPACE") (setvar "CVPORT" (cdr (assoc 69 (entget (nth b listvue))))) PS : Je vois que tu utilises des routine à toi. Je suis intrigué par "lengthlist"... Tu m'expliques sont utilité ?
  3. C'est bizarre ça... Normalement avec mon fichier test tu ne devrais pas à avoir à rentrer un nom de présentation... Quel est ta version d'Acad ? quel est ta valeur de la variable "INSUNITS" ?
  4. Salut, Ne pourrais-tu pas poster ton code afin que l'on puisse voir ton niveau pour savoir ce que nous devons te proposer pour que tu puisses comprendre stp ? Autolisp ? ActiveX ? ...
  5. Salut oran, As-tu bien paramétrer un traceur à toi ? De mémoire, j'ai mis "cutpdf", mais si tu ne l'as pas, ça ne peux fonctionner. Donc, dans la présentation existante, met un traceur de chez toi, et fait "appliquer" pour l'enregistrer dans cette présentation. Si le problème persiste, peux-tu me retourner ce que t'indique ta ligne de commande à la fin du prog stp ?
  6. Salut, C'est ce que je suis en train de regarder (lire la BR en VBA) merci.
  7. OK ! merci de ton aide, je vais essayer de comprendre ta méthode.
  8. C'est pour faire une boite de dialogue qui automatise le remplissage d'un cartouche à l'aide de boutons d'options ou de textes à rentrer (dont certains avec une liste par défaut) Le principe : - Je lance la BD - J'ai une liste de cartouche prédéfinis à choisir (cette liste je la récupère dans la BR selon les utilisateurs) - Chaque cartouche est lié à un code "texte" reprenant tous ce que contiens le cartouche - Quand je change de cartouche dans ma liste, le code récupère la "liste texte" dans USERS2. - De ce texte, il active ou pas certaines cellulles... ... et c'est là ou sa plante : ça n'active rien du tout (alors que je sais que ma liste est bien passé en revu, car quand je fais du pas à pas avec F8, ça fonctionne...)
  9. Moi, les codes que j'ai pondus ils sont à un niveau +/- débutant... et j'avoue ne pas avoir d'idée pour les rendre plus "perfectionné"....
  10. Salut, merci de t'interressaer à mon problème. comme je l'ai expliqué ci-dessus, je ne sais pas trop quoi mettre comme code car j'ai plein de sous-routine, mais celui qui ne fonctionne pas est celui là : Sub Liste_cartouche_Change() Dim Cart As String Dim VarUsers2 As String Cart = Chr(34) & Liste_cartouche.Value & Chr(34) ThisDrawing.SendCommand "(recup-donnee-cartouche" & " " & Cart & ")" & vbCr Initialise_Cartouche_SC VarUsers2 = ThisDrawing.GetVariable("USERS2") c = Remplis_Cartouche_SC(VarUsers2, 1) End Sub
  11. Juste une remarque au sujet de mon code "impt", il n'a pas été beaucoup testé (échelle d'insertion par exemple), je dois pouvoir le modifier quand le temps me le permettra.
  12. Bred

    Test pour DESSINATEUR

    Je crois que le sujet porte sur un dessinateur, pas un projeteur ! ce n'est pas du tout la même chose !
  13. Bred

    filtre d\'imprimantes

    Salut, Si tu ne les utilises pas, supprime-les !
  14. Bred

    Test pour DESSINATEUR

    Pourquoi ? tu veux qu'ils deviennent complètement improductif et tu les envois chez la concurrence après ? :P
  15. Salut x_all, Ce n'est pas moi qui ai choisi cette piste, c'est en fait BIGC-ROMU qui est revenu sur sa demande Réponse 10 page 1. Pour une impression à partir de EO, j'avais un code en réponse 23, page 1, peut-être celui-ci te conviendras mieux ? Fais le moi savoir !
  16. Salut Patrick et (gile), (gile), dans ta construction de liste tu as taper trop vite : c'est lst1 et non lst. Pour être sûr d'avoir bien compris l'énoncé, sommes nous d'accord pour le résultat ? (deb_pat lst 5) -> (0 1 2 3 4) (deb_pat lst 50) -> (0 1 2 3 4 5 ..... 47 48 49) (deb_pat lst 95) -> (0 1 2 3 4 5 .... 91 92 93 94) et pour les autres : ex : (fin_pat lst 3) -> (2 3 4 5 6 7 ..... 97 98 99) (sub_pat lst "A" 3) -> (0 1 2 "A" 4 5 6 7 ..... 97 98 99)
  17. Bred

    Lisps de Patrick_35

    Re, J'ai testé la nouvelle version de GEF, avec la possibilité de sélection : c'est PAR-FAIT ! Merci !
  18. Re, J'ai suggéré une idée à Eric por SuperAutoScrip ici.
  19. Salut Eric, Je n'en ai pas l'utilité car j'ai une version full, mais peut-être certain trouverons l'idée bonne : Suite à ce message, il s'avert difficile (impossible ?) d'incrémenter des choses pour un Script sur un système LT. N'y aurait-t'il pas une possibilité de rajouter à ton programme un système permettant d'incrémenter une partie du script à chaque passage ? Merci.
  20. Bred

    Lisps de Patrick_35

    Ah.. désolé... je viens de le voir dans ton lisp... C'est vraiment énervant les trucs comme ça...
  21. Salut, Je patauge en VB... J'ai créés une fonction qui récupère des données dans une variable USERS afin de remplir une boite de dialogue... quand je fait du pas à pas avec F8, ma fonction fonctionne 'pécable... Quand je lance la macro depuis AutoCAD, nada ! fonctionne pas.... Pour info je ne cache pas ma boite de dialogue au moment de la récup de USERS. Avez-vous déjà rencontré ce problème ? Y aurait- t'il une astuce, genre régénération de boite de dialogue, ou autre... (je ne sais pas trop quoi vous donner comme code, sorti de la multitude de petit codes qui se croise ça ne voudrais rien dire...) merci d'avance !
  22. Bred

    Lisps de Patrick_35

    Super ! Je vais regarder ça, merci ! PS : Je vois que malgré les difficultés que nous avons rencontré ici, tu as réussis à dégeler les calques... ;) Bravo ! .. mais... Comment as-tu fait ? J'ai bien repérer dans ton code l'utilisation du "1003", mais commet fais-tu pour dégeler ?? S'te plais ! S'te plais! S'te plais !!!!... (si tu me réponds "t'as qu'a éplucher mon code", sache que tu me décevras énormément !!! ;) )
  23. Salut, merci, c'est encourageant, mais je ne pense pas en avoir assez dans ma besace... Ils sont trop spécifiques à des demandes "propres". Un jour peut-être...
  24. Pour info, le code finalisé (?) à été mis ici.
  25. Salut, Suite à cette demande de BIGC-ROMU et comme le post est particulièrement confus, vous trouverez ci dessous un lisp permettant à partir d'une série de cadres mise en page en Espace objet de les transférer en un cadre par présentation afin de pouvoir utiliser la commande de publication (ou autre). Merci à tous ceux qui ont permis de me sortir de ce code et à ceux de l'avoir testé en profondeur. Fonctionnement : - Les cadres de pages doivent être des blocs. (Si vous avez des cadres en simple rectangle, transformez en un en bloc et faites un réseau ou un copier) - Afin d'éviter toutes erreur, une présentation déjà paramétré doit exister (Une fenêtre de présentation cadré "en aire du tracé" par une fenêtre et mis à l'échelle, Traceur, échelle de tracé). - Les cadres en Espace Objets peuvent être à n'importe quel échelle, et peuvent être mélangé Portrait et Paysage. - L'unité d'insertion doit être en millimètre, centimètre ou mètre. - Le nom des onglet sera incrémenter de +1. - Commande : CEP ;;; Crée un onglet EP par cadre de page sélectionné en EO ;;; par Bred - Un onglet déjà paramétrer doit exister - ;;; Version 1.1 (defun c:CEP (/ ACDOC B C FEN I LAYS N-P NOM-P ONG-BASE ONG_DEST SEL XMIN YMAX A-P HAUT LARG P1 P2 NOM ECH LAY LOCK UNIT) (vl-load-com) ; 4 Millimètres 5 Centimètres 6 Mètres (setq Unit (cdr (assoc (getvar "INSUNITS") '((4 . 1) (5 . 10) (6 . 1000))))) (while (not sel) (setq sel (car (entsel "\n Choix du cadre (Bloc) :"))) (if sel (if (not (equal (vla-get-ObjectName (setq b (vlax-ename->vla-object sel))) "AcDbBlockReference")) (setq sel nil))) ) (setq sel (ssget '((0 . "INSERT"))) AcDoc (vla-get-activedocument (vlax-get-acad-object)) nom-p (getstring t "\n Nom des Onglets à Créer :") layS (layoutlist)) (if (> (length layS) 1) (progn (princ "\n Copie configuration traceur d'onglet Existant. \n Plusieurs Présentations détectées.") (while (not ong-base) (princ "\n") (repeat (setq i (length layS)) (princ (strcat (nth (- (length layS) i) layS) " * ")) (setq i (1- i))) (setq ong-base (getstring t "\n Présentation d'où la configuration du traceur sera récupérée :")) (if (not (member ong-base layS)) (setq ong-base nil)))) (setq ong-base (car layS))) (setq a-p (vla-item (vla-get-layouts AcDoc) ong-base)) (vla-getcustomscale a-p 'n 'm) (vla-put-ActiveLayout AcDoc a-p) (vlax-for e (vla-get-paperspace AcDoc) (if (equal (vla-get-ObjectName e) "AcDbViewport") (setq lay (vla-get-Layer e) lock (vla-get-DisplayLocked e)))) (setq i 0) (repeat (sslength sel) (if (vlax-property-available-p (vlax-ename->vla-object (ssname sel i)) 'effectivename) (setq nom vla-get-effectivename) (setq nom vla-get-name)) (if (equal (nom (setq c (vlax-ename->vla-object (ssname sel i)))) (nom b)) (progn (vla-GetBoundingBox c 'xmin 'ymax) (setq n-p (vla-add (vla-get-Layouts AcDoc) (setq ong_dest (strcat nom-p " - " (rtos (1+ i) 2 0))))) (setq ech (vla-get-YScaleFactor c)) (vla-copyfrom n-p a-p) (vla-put-ActiveLayout AcDoc n-p) (setq fen (vla-AddPViewport (vla-get-paperspace AcDoc) (vlax-3d-point '(0 0 0)) (setq Larg (* Unit (/ (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) ech))) (setq Haut (* Unit (/ (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin))) ech))))) (vla-put-Layer fen lay) (vla-put-DisplayLocked fen lock) (vla-ZoomExtents (vlax-get-acad-object)) (vla-Display fen :vlax-true) (vla-put-MSpace AcDoc :vlax-true) (vla-put-ActivePViewport AcDoc fen) (vla-ZoomWindow (vlax-get-acad-object) xmin ymax) (vla-put-MSpace AcDoc :vlax-false) (if (> (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin)))) (vla-put-PlotRotation (vla-get-activelayout AcDoc) ac90degrees) (vla-put-PlotRotation (vla-get-activelayout AcDoc) ac0degrees)) (setq p1 (vlax-make-safearray vlax-vbdouble (cons 0 1)) p2 (vlax-make-safearray vlax-vbdouble (cons 0 1))) (vlax-make-variant (vlax-safearray-fill p1 (list (- (/ Larg 2)) (- (/ Haut 2))))) (vlax-make-variant (vlax-safearray-fill p2 (list (/ Larg 2) (/ Haut 2)))) (vla-put-PlotType (vla-get-activelayout AcDoc) acWindow) (vla-setwindowtoplot (vla-get-activelayout AcDoc) p1 p2) (setq i (1+ i)) ) ) ) (setvar "TILEMODE" 1) (princ)) [Edité le 6/10/2008 par Bred]
×
×
  • 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é