Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. Salut à tous. Ra_Mamt, tu n'as qu'à le mettre au pluriel, car je doute qu'il n'y en ait qu'un :D
  2. DenisHen

    Lisps de Patrick_35

    Salut Patrick_35 et merci pour cette réponse. Mais je me suis mal fais comprendre... Mes présentations sont dans le désordre (PdV_001, PdV_004,PdV_002,PdV_003,...), et j'aimerais les remettre dans l'ordre alphabétique, dans les onglets. Je parlais d'un bouton supplémentaire pour faire ça... "Triage alphabétique" par exemple, sous "Copier"...
  3. Salut Patrick_35. Oui, les Xdata sont bien conservés lors de l'importation avec Steal de Lee Mac... Même comportement avec DesignCenter. Mais pas les (vlax-ldata...
  4. Bonjour à tous. Mille mercis Ô (gile), ça fonctionne nickel... :)
  5. C'est pour cette raison que je ne comprend pas son activation ou sa désactivation...
  6. DenisHen

    Lisps de Patrick_35

    Salut Patrick_35, et merci pour tous ces merveilleux lisp... J'ai juste une petite requête, dans le lisp ONG, serait-il possible d'avoir un bouton supplémentaire pour trier dans l'ordre alphabétique les présentations... je pense qu'on sera plusieurs à l’apprécier... Et encore merci pour tout ce travail ! ! !
  7. Salut à tous. je reviens à la charge... J'ai attribué des (vlax-ldata* à des fenêtres de présentation "gabarit", mais le problème est que, après importation de la présentation de ce gabarit (avec Steal de Lee Mac ou un code de Patrick_35), ces vlax-ldata* ne sont pas conservés. Je me suis donc tourné vers les Xdata, mais là, j'avoue, je nage en plein océan... à plus de mille mile des cotes les plus proches... J'ai juste besoin d'attribuer seulement DEUX données à deux fenêtres (FMULT), une chacune... Et de les récupérer une fois importées dans un autre dessin via un ssget... Aurais-tu un "truc" plus simple à utiliser, car je t'avoue que les "variant" et les "safearray". :o Un peu comme les (vlax-ldata* : (setq Select (car (entsel "\nSélectionner la fenêtre du plan de détails"))) (vlax-ldata-put Select "TetraCAD" "Details" ) C'est juste pour retrouver la nature de mes deux fenêtres une fois importées dans un dessin pour savoir à laquelle appliquer, le zoom "Site" pour la fenêtre du plan de site, et le zoom "Detail" pour la fenêtre du plan de détail... Sinon, je vais devoir recréer les fenêtres dans l'EP et j'aimerais l'éviter, pour garder à l'utilisateur l'option de modifier la présentation d'origine... Denis...
  8. Salut lecrabe. Je ne comprend pas le terme "délimité" pour une fenêtre, c'est quoi au juste ?
  9. C'est pas faux... ;)
  10. Salut. J'ai déjà eu ce soucis de messages d'erreur important... As-tu fais un "controle" dans AutoCAD sur chaque dessin ? De quel taille est le chemin d'accès sur ton fichier, je sais que les chemins trop long ou réseau (\\Serveur\Répertoire...) posent certains problèmes, essaye de faire la reprojection en "local",si c'est ça... Est-ce que la commande "Geocarte" fonctionne ? Ça m'aide toujours à savoir si la projection est bien la bonne... Si tu veux, j'ai fais un petit LISP pour effectuer une reprojection plus "simplement", voici un lien vers petit lisp de ma création... Dans un nouveau dessin, lance (après avoir charger mon fichier LISP) la commande "DH_Carroyage"... Tu n'as plus qu'à suivre les instruction... Je tiens à préciser que j'utilise une routine de Maître (gile) dans ce lisp... ;)
  11. Oui, mais je suis "très" a l'aise avec les vlax-ldata et totalement incompétent avec les xdata, mais je vais devoir m'y mettre plus sérieusement... Malgré que (gile) m'a fait deux superbes routine pour attribuer des xdata et les récupérer, mais j'hésite toujours à utiliser un code que je ne maîtrise pas... Encore merci pour ton aide...
  12. Merci Patrick_35, ça fonctionne, sauf que les (vlax-ldata que j'ai attachés à mes deux fenêtres de l'espace papier ne sont pas importés... Je vais devoir réfléchir (aïe, c'est pas gagné) à une autre solution... Encore merci à tous...
  13. Salut (gile), et merci de m'aider. Tu veux dire que ça, c'est une routine à part entière : ;;; ******************************** ;;; Importation d'une présentation ;;; Patrick_35 (CadXP.com) ;;; ******************************** (defun TC_ImportPresent (Dessin Present / dbx) (princ "\nÉcrit par Patrick_35 de CadXP.com\n") (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) ;_ Fin de if (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-open (list dbx Dessin))) nil dbx ) ;_ Fin de if ) ;_ Fin de defun Et que je dois placer ça dans mon code principal : ... (setq dbx (TC_ImportPresent (findfile "TC_Lotissement.dwg") "PdV")) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (setq new (vla-CopyObjects Dbx (vlax-safearray-fill (vlax-make-safearray vlax-vbObject '(0 . 0)) (list (vla-item (vla-get-layouts dbx) Present)) ) ;_ Fin de vlax-safearray-fill (vla-get-layouts doc) ) ;_ Fin de vla-CopyObjects ) ;_ Fin de setq (vla-put-activelayout doc (car (vlax-safearray->list (vlax-variant-value new)))) (vlax-release-object dbx) ... Si c'est ça, AutoCAD me répond :
  14. Re. Voilà, je pense qu'il y avait une petite erreur de parenthèses dans ton code. Je l'ai "corrigé" et adapté à mes besoins, le voici : ;;; ******************************** ;;; Importation d'une présentation ;;; Patrick_35 (CadXP.com) ;;; ******************************** (defun TC_ImportPresent (Dessin Present / dbx) (princ "\nÉcrit par Patrick_35 de CadXP.com\n") (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) ;_ Fin de if (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-open (list dbx Dessin))) nil dbx ) ;_ Fin de if (setq dbx (TC_ImportPresent Dessin)) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (setq new (vla-CopyObjects Dbx (vlax-safearray-fill (vlax-make-safearray vlax-vbObject '(0 . 0)) (list (vla-item (vla-get-layouts dbx) Present)) ) ;_ Fin de vlax-safearray-fill (vla-get-layouts doc) ) ;_ Fin de vla-CopyObjects ) ;_ Fin de setq (vla-put-activelayout doc (car (vlax-safearray->list (vlax-variant-value new)))) (vlax-release-object dbx) ) ;_ Fin de defun Que j'appelle ainsi : (TC_ImportPresent "TC_Lotissement.dwg" "PdV") Bien sur, le fichier est dans un répertoire connu d'AutoCAD. Mais AutoCAD me répond : Une idée, un conseil ?
  15. +1 avec La Lozère. Je n'ai trouvé aucun bloc TCPOINT.DWG dans mon disque dur.
  16. Salut Patrick_35. Rassures-toi, je ne le prend pas mal du tout... ;) Et je t'en remercie... ;)
  17. Oui, ma direction... Comment leur expliquer que moi, débutant, je ne peux pas remplacer toute une équipe de programmeurs qui travaille à plein temps...
  18. Salut. Que dire, tout le monde a raison, et tord en même temps... (à mes yeux) Définir les attributs des blocs dans différents calques, il y a du bon et du moins bon. Pour ma part, ça ne me pose pas de problème, si tout est "DuCalque"... Sinon, pourquoi ? ? ? Fixer le calque "LeCalque" à un attribut me semble bien déraisonnable... Tout le monde sait que, dans AutoCAD, une règle existe (dans 95% des cas) TOUT DUCALQUE ! ! Et je rejoins didier, on fini par faire des routines (ou en récupérer) pour pouvoir travailler... Mais il ne faut pas oublier que Covadis nous mache le travail comme personne d'autre ! ! ! Je ne connais pas d'équivalent...On est bien d'accord... Sans Géomédia, on serait tous dans la galère ! ! ! Après, dès que j'ai eu l'occasion d'avoir affaire à Géomédia (courriel, téléphone...), l'entretien a vraiment été bon, constructif, et (merci au pôle téléservice, très gentil). j'en suis très content... Thierry, si tu peux passer le message... Mais on ne peut pas demander à un logiciel de ne répondre qu'à nos besoins... Il faut rester lucide... Pour ma part, ma direction m'a demander de faire des "truc" (c'est leur définition) pour se soustraire à Covadis.. (Carroyage, importation de points (2d/3d), gestion des polylignes...). Que puis-je leur répondre... Géomédia a plusieurs développeurs, autrement plus compétant que moi...Qui y travaille à plein temps...? Il me font rire à force... Mais que puis-je leur répondre ? ? ?
  19. Surtout que très souvent, seules les premières lettres de la commande suffisent à la lancer...
  20. Parce qu'on n'a pas le choix ! ! Et même tout autre fichier... ! ! ! Entièrement d'accord avec toi...
  21. Salut Patrick_35, et merci pour ton aide. Ton code est beaucoup trop compliqué pour que je le comprenne, mais ça ne va pas m’empêcher de l'utiliser... ;) Par contre, il vient de tomber sur mon bureau un gros boulo d'une semaine à faire pour la semaine dernière... :angry: La routine reprend... ;) Mais je te tiens au courant... Encore merci...
  22. Bonjour à tous. Aujourd'hui, dans une routine, j'utilise Steal de Lee Mac, avec ça, j'importe une présentation. Dans cette présentation (du dessin source), j'ai deux fenêtres avec un (vlax-ldata chacune. Après l'importation (dans le dessin courant), ces (vlax-ldata ont disparus... Par contre, avec le DesignCenter, ces mêmes (vlax-ldata sont conservés après importation... Quelqu'un as-t-il une solution ?
  23. Re. Je le fais déjà, ne serait-ce que pour moi (pas assez à mon gout), car il est vrai que remettre les mains dans une routine qui date, c'est déjà loin d'être facile, alors s'il n'y a pas de commentaires... @Phil : je tablerais sur plusieurs dizaines de millier... ;)
  24. Salut didier et merci pour ton aide. Tu veux dire que je pouvais écrire ça ? (if (setq Select (ssget (list (cons 8 "Test")))) C'est parce-que je l'ai déjà testé en avant dans mon programme (environ 500 lignes). Le calque "Test" ne peux être que le courant. Denis...
  25. Salut (gile) et merci pour ta réponse... Que j'avais fini par trouver seul... ;) Champagne ! ! ! :(rires forts): Voici la dernière mouture grâce à ton exemple : (if (setq Select (ssget "_A" (list (cons 8 "Test")))) (progn (initget 1 "Oui Non") (if (= (getkword "\nEffacer le contenu du calque courant ? [Oui/Non]: ") "Oui") (command "_erase" Select "") ) ;_ Fin de if ) ;_ Fin de progn ) ;_ Fin de if
×
×
  • 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é