Aller au contenu

grandsteak44

Membres
  • Compteur de contenus

    31
  • Inscription

  • Dernière visite

Tout ce qui a été posté par grandsteak44

  1. Bonjour, Pour passer au rendu de fichiers autocad sur photoshop ma methode est la suivante : Je cree un EPS pour chacun des calques autocad a partir d'une imprimante postcript puis sur photoshop je pixelise chacun des fichiers EPS et je les compile dans un fichier photoshop. Cette methode me permet de retrouver ma structure de calques d' autocad sur photoshop. Je m'adresse aux specialistes du lisp pour leur demander s'ils n'ont pas dans leurs cartons un petit programme qui permetrait d'automatiser la phase de creation des EPS ; a savoir pour chacun des calques presents dans le fichier autocad creer un fichier EPS qui porte le nom du calque. Je ne sais pas si c'est complique mais ca ferait gagner du temps a tous ceux qui ont souvent ce genre de manip' a faire. D'avance merci pour vos reponses et commentaires.
  2. Merci pour ta reponse mais dans mon cas chaque element de la palette est un fichier independant. Ce que je voudrais faire c'est changer la racine du chemin d'acces de chaque element de la palette. (en une seule fois si possible...)
  3. Bonjour, Mon probleme est le suivant : J'ai cree des palettes d'outils a partir du design center pour acceder a chacun des elements de notre bibliotheque qui se trouve sur un serveur commun. J'aimerais maintenant copier la bibiotheque en local sur un portable et reutiliser les palettes deja crees.(pour ne pas avoir a les refaire) Comment faire pour changer de maniere globale les chemins de chaque element de la palette vers la bibliotheque copiee en local ?? (la manip' element par element etant fastidueuse). Merci d'avance pour vos reponses.
  4. Merci Patrick_35 Ca correspond en effet a ce que je recherchais exception faite que les fichiers contenus dans le repertoire racine de la branche ne sont pas modifies par le script. Sinon, ca mouline nickel sur tous les fichiers contenus dans les sous-repertoire. Pour l'instant je ne l'ai teste avec succes qu'avec un script, pour le lisp que j'ai teste ca ne marche pas. Je vais essayer avec d'autres lisp. En tout cas bravo pour cette moulinette qui fait gagner un temps fou pour le traitement par lot !!
  5. Bonjour J'utilise le tres pratique lisp Scr.lsp pour applique un script a tous les fichiers d'un meme repertoire. Il y a t il moyen de l'adapter pour que le script s'applique aussi aux fichiers contenus dans les sous-repertoire ? Merci d'avance
  6. Merci tramber Plein d'infos interressantes sur le fil que tu m'as indique.
  7. Bonjour J'ai constate un net alourdissement de mes fichiers lorsque ceux-ci contiennent des X-ref. Est ce normal ? Il y a t il qque chose a faire pour eviter ce desagrement (fichiers + lourds = temps d'ouverture plus long) Merci d'avance pour vos remarques
  8. Je ne vois pas la difference en augmentant la valeur de HPGAPTOL. Je presume que cette variable permet de regler l' ecart entre les lignes pour les joindre mais chez moi le contours recree reste toujours compose de polylignes independantes qu'il me faut joindre apres coup. L'aide d'autocad reste muet a ce sujet...
  9. Exact pour les \\ et filedia. Par contre le SDI, je ne connais pas. Merci en tout cas
  10. Merci tramber, ca marche !! J'avais deja rajoute les lignes pour enlever les boites de dialogues mais par contre j'avais mis des \ au lieu de / ... Certainement une erreur de debutant.
  11. Bonjour J'aimerais connaitre la facon de lancer un script a partir d'un lisp. Je pense qu'il faut utiliser la commande command mais apres j'ai un probleme de syntaxe... Merci d'avance
  12. grandsteak44

    Liste echelles

    Juste une precision : il y a t il moyen de remplacer la base de registre concernee par celle contenue dans scalelist.reg. En effet le batch que tu m'a fourni fusionne la base de registre avec scalelist.reg et conserve les elements contenus dans la base de registre par defaut. Merci d'avance pour une eventuelle reponse.
  13. grandsteak44

    Liste echelles

    Merci nomutt C'est exactement ce que je chechais. Jusqu' alors les bases de registre et leur edition m'etaient inconnues. Mon informaticien m'a montre la commande regedit qui permet d'editer la base de registre. En suivant tes instructions a la lettre j'ai pu exporter ma liste d'echelles et la reimporter sur un autre poste via le batch. Ca marche a merveille (des fois c'est merveilleux l'informatique !!) Je serai bien curieux de savoir ce que la base de registre contient comme autres donnees personnalisees. Encore merci. J'espere que cela sera utile a d'autres autocadiens.
  14. Bonjour J'ai configure sur mon poste la liste d'echelles en ne gardant que les echelles utilisees et en les mettant en relation avec mes echelles de dessin. J'aimerais savoir ou cette liste est sauvegardee pour pouvoir l'echanger avec des collegues. Merci d'avance pour toute info concerant les listes d'echelle.
  15. Bonjour, Profitant du passage de la version 2004 a la 2007, je souhaite integrer l'utilisation des palettes notemment pour la bibliotheque commune. J'ai donc cree mes palettes a partir du design center repertoire par repertoire. Pour plus de lisibilite, dans chaque palette j'ai insere du texte et des separateurs (pour identifier des sous-categories). J'arrive facilement a partager les palettes avec mes autres collegues en les exportant mais le probleme c'est qu' a l'importation les textes et les separateurs sont remplaces par des carres blancs. J'ignore a quoi cela est du. Si qq un a deja ete confronte au probleme et a trouve la solution je suis preneur d'infos. Merci d'avance.
  16. Merci Patrick_35 pour ton partage. J'etudierai ca de plus pres a mon retour de vacances...
  17. Parfait c'est exactementce que je cherchais. En faisant un enregistre sous en txt puis un copier-coller dans excel on obtient une table facilement editable et imprimable. Encore merci pour ce precieux tyaux.
  18. Bonjour J'aimerais savoir si il y a moyen d'exporter les tables de trace vers un tableur comme excel pour pouvoir les editer plus facilement. Merci d'avance pour vos reponses
  19. Et ATTSYNC ?
  20. grandsteak44

    Lier des Attributs

    Salut Il faut replacer (vla-put-textstring (vlr-data rea) (strcat "S=" (rtos (/ (vla-get-area obj) 10000) 2 2) "M2")) par (vla-put-textstring (vlr-data rea) (strcat (rtos (/ (vla-get-area obj) 10000) 2 2) "M2")) Voila ca devrait marcher @+
  21. Chez moi c'est pareil : la laison est bel et bien creee mais l'attribut ne se met pas a jour. Je pense que ca rejoint le probleme que j'evoquais plus haut concernant une mise a jour globale de toutes les liaisons. (j'en sais rien en fait) Peut etre qu'une compilation des 2 programmes en un seul resoudrait le probleme. Pourquoi pas rajouter une option a la fonction latt pour creer une chaine avec des attributs et des polylignes (ca commence peut etre a devenir compliqué !!!) Tout ca c'est idees en l'air @+
  22. Merci Patrick de ton aide J'ai rajoute une ligne a mon code suivant tes indications (en gras sur le code ci-joint) mais ca ne semble pas resoudre mon probleme. (peut etre ai-je fait une erreur ou je n'ai pas ete tres clair). Je vais essayer de comprendre le code de latt (fonction tres utile soit dit en passant)pour voir si je peux y trouver mon bonheur. Bonjour Esbe Dans une reponse que j'ai prededemment laissee je mettais le code pour une fonction rea-att qui permet de lier une polyligne a un attribut de bloc au prealable insere. C'est en fait une adaptation (j'ai change une ligne...) du code que Patrick avait donne pour la fonction rea qui elle associe une polyligne a un texte. Essaye en recopiant le code suivant et en lancant la commande rea-att (defun modif_poly(obj rea arg-list) (if (and (vlax-read-enabled-p obj)(vlax-read-enabled-p (vlr-data rea))) (vla-put-textstring (vlr-data rea) (strcat "S=" (rtos (/ (vla-get-area obj) 10000) 2 2) "M2")) (vlr-remove rea) ) ) (defun effacer_pt(obj rea arg-list) (vlax-ldata-delete obj "Patrick_35" (vlr-data rea)) (vlax-ldata-delete (vlr-data rea) "Patrick_35" obj) (vlr-remove rea) ) (defun c:rea-att(/ n sel_poly sel_text) (while (not sel_poly) (setq sel_poly (car (entsel "\nSélection de la polyligne/spline/cercle : "))) (if sel_poly (if (or (= (cdr (assoc 0 (entget sel_poly))) "POLYLINE") (= (cdr (assoc 0 (entget sel_poly))) "LWPOLYLINE") (= (cdr (assoc 0 (entget sel_poly))) "SPLINE") (= (cdr (assoc 0 (entget sel_poly))) "CIRCLE")) (progn (setq sel_poly (vlax-ename->vla-object sel_poly)) (if (/= (vla-get-objectname sel_poly) "AcDbCircle") (if (= :vlax-false (vla-get-closed sel_poly)) (progn (alert "Cette Polyligne/Spline n'est pas fermée") (setq sel_poly nil) ) ) ) (if sel_poly (if (vlax-ldata-get sel_poly "Patrick_35") (progn (alert "Polyligne/Spline/Cercle déjà associé à un attribut") (setq sel_poly nil) ) ) ) ) (progn (alert "Ce n'est pas une Polyligne/Spline/Cercle") (setq sel_poly nil) ) ) ) ) (if sel_poly (progn (while (not sel_text) (setq sel_text (car (nentsel "\nSélection de l'attribut : "))) (if sel_text (if (= (cdr (assoc 0 (entget sel_text))) "ATTRIB") (progn (setq sel_text (vlax-ename->vla-object sel_text)) (if (vlax-ldata-get sel_text "Patrick_35") (progn (alert "Attribut déjà associé à une Polyligne/Spline/Cercle") (setq sel_text nil) ) ) ) (progn (setq sel_text nil) (alert "Ce n'est pas un attribut") ) ) ) ) (if sel_text (progn (vla-put-textstring sel_text (rtos (vla-get-area sel_poly))) (vlr-object-reactor (list sel_poly) sel_text '((:vlr-modified . modif_poly)(:vlr-erased . effacer_pt))) (vlr-object-reactor (list sel_text) sel_poly '((:vlr-erased . effacer_pt))) (vlax-ldata-put sel_poly "Patrick_35" sel_text) (vlax-ldata-put sel_text "Patrick_35" sel_poly) ) ) ) ) (princ) ) (defun refaire_reacteurs(/ entp entt n) (vl-load-com) (if (not appli_patrick_35) (progn (setq appli_patrick_35 (ssget "x" (list (cons 102 "{ACAD_XDICTIONARY")))) (if appli_patrick_35 (progn (setq n 0) (while (setq entp (ssname appli_patrick_35 n)) (setq entp (vlax-ename->vla-object entp)) (setq entt (vlax-ldata-get entp "Patrick_35")) [b] (vla-put-textstring ent (strcat "S=" (rtos (/ (vla-get-area obj) 10000) 2 2) "M2"))[/b] (vlr-object-reactor (list entp) entt '((:vlr-modified . modif_poly)(:vlr-erased . effacer_pt))) (vlr-object-reactor (list entt) entp '((:vlr-erased . effacer_pt))) (setq n (1+ n)) ) ) ) ) ) (princ) ) (refaire_reacteurs)
  23. Bonjour J'utilise maintenant la commande rea-att qui marche tres bien mais je trouve qu'il y a encore un probleme. Je m'explique : si qqun modifie la polyligne associée a un attribut sans avoir charge le lisp, l'attribut ne se met pas a jour (evidemment !!). J'aimerais donc pouvoir lancer une fonction (ou l'intregrer directement dans la fonction rea-att) qui remet a jour tous les attributs presents dans le fichier qui ont ete au prealable liaisonnes a des polylignes. Ma question est la suivante : comment faire ?? Merci d'avance pour vos brillantes reponses.
  24. Bonjour à tous Je me suis permit de modifier le lisp REA pour pouvoir lier la surface de la polyligne à un attribut de bloc (dans lequel il y a une etiquette avec le nom du local et une autre avec la surface). Dans mon cas la surface est affichée en métres carré avec 2 chiffres après la virgule et je dessine en cm. (defun modif_poly(obj rea arg-list) (if (and (vlax-read-enabled-p obj)(vlax-read-enabled-p (vlr-data rea))) (vla-put-textstring (vlr-data rea) (strcat (rtos (/ (vla-get-area obj) 10000) 2 2) "M2")) (vlr-remove rea) ) ) (defun effacer_pt(obj rea arg-list) (vlax-ldata-delete obj "Patrick_35" (vlr-data rea)) (vlax-ldata-delete (vlr-data rea) "Patrick_35" obj) (vlr-remove rea) ) (defun c:rea-att(/ n sel_poly sel_text) (while (not sel_poly) (setq sel_poly (car (entsel "\nSélection de la polyligne/spline/cercle : "))) (if sel_poly (if (or (= (cdr (assoc 0 (entget sel_poly))) "POLYLINE") (= (cdr (assoc 0 (entget sel_poly))) "LWPOLYLINE") (= (cdr (assoc 0 (entget sel_poly))) "SPLINE") (= (cdr (assoc 0 (entget sel_poly))) "CIRCLE")) (progn (setq sel_poly (vlax-ename->vla-object sel_poly)) (if (/= (vla-get-objectname sel_poly) "AcDbCircle") (if (= :vlax-false (vla-get-closed sel_poly)) (progn (alert "Cette Polyligne/Spline n'est pas fermée") (setq sel_poly nil) ) ) ) (if sel_poly (if (vlax-ldata-get sel_poly "Patrick_35") (progn (alert "Polyligne/Spline/Cercle déjà associé à un attribut") (setq sel_poly nil) ) ) ) ) (progn (alert "Ce n'est pas une Polyligne/Spline/Cercle") (setq sel_poly nil) ) ) ) ) (if sel_poly (progn (while (not sel_text) (setq sel_text (car (nentsel "\nSélection de l'attribut : "))) (if sel_text (if (= (cdr (assoc 0 (entget sel_text))) "ATTRIB") (progn (setq sel_text (vlax-ename->vla-object sel_text)) (if (vlax-ldata-get sel_text "Patrick_35") (progn (alert "Attribut déjà associé à une Polyligne/Spline/Cercle") (setq sel_text nil) ) ) ) (progn (setq sel_text nil) (alert "Ce n'est pas un attribut") ) ) ) ) (if sel_text (progn (vla-put-textstring sel_text (rtos (vla-get-area sel_poly))) (vlr-object-reactor (list sel_poly) sel_text '((:vlr-modified . modif_poly)(:vlr-erased . effacer_pt))) (vlr-object-reactor (list sel_text) sel_poly '((:vlr-erased . effacer_pt))) (vlax-ldata-put sel_poly "Patrick_35" sel_text) (vlax-ldata-put sel_text "Patrick_35" sel_poly) ) ) ) ) (princ) ) (defun refaire_reacteurs(/ entp entt n) (vl-load-com) (if (not appli_patrick_35) (progn (setq appli_patrick_35 (ssget "x" (list (cons 102 "{ACAD_XDICTIONARY")))) (if appli_patrick_35 (progn (setq n 0) (while (setq entp (ssname appli_patrick_35 n)) (setq entp (vlax-ename->vla-object entp)) (setq entt (vlax-ldata-get entp "Patrick_35")) (vlr-object-reactor (list entp) entt '((:vlr-modified . modif_poly)(:vlr-erased . effacer_pt))) (vlr-object-reactor (list entt) entp '((:vlr-erased . effacer_pt))) (setq n (1+ n)) ) ) ) ) ) (princ) ) (refaire_reacteurs)
  25. Je travaille sur autocad2004. Effectivement ca marche tres bien comme ca. J'ai du faire une maivaise manip'.( Je suis surtout très surpris d'avoir réussi un tel exploit de programmation !!) Une petite question : comment formater la variable date pour avoir l'heure en plus de la date ?Merci pour ton aide.
×
×
  • 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é