Aller au contenu

fabcad

Membres
  • Compteur de contenus

    877
  • Inscription

  • Dernière visite

  • Jours gagnés

    8

Tout ce qui a été posté par fabcad

  1. Voici mon programme fini mais pour un bloc. ;; AJOUT-ZEROS Fabrice 27/11/08 ;; Ajout de Zéros sur le numéro d'ordre d'attribut de bloc (defun c:AJOUT-ZEROS (/ space att lst1 lst2 ss1 ss2 txt al p1 p2) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) );fin or (setq att (nentsel "\nSélectionnez un numero d'ordre : ")) (setq att (vlax-ename->vla-object (car att))) (setq index (vla-get-TextString att)) (if (< 4 (setq lg-index (strlen index))) (setq index (substr index (- lg-index 3))) (repeat (- 4 lg-index) (setq index (strcat "0" index))) );fin if (setq height 6) (setq style-att "ATT") (vla-put-TextString att index) (vla-put-Stylename att style-att) (vla-put-Height att height) );fin defun AJOUT-ZEROS [Edité le 27/11/2008 par fabcad]
  2. Un peu d'aide s'il vous plait, Voici mon message d'erreur : sur cet essai de programme : ;; AJOUT-ZEROS Fabrice 27/11/08 ;; AJOUT-ZEROS sur les attributs (defun c:AJOUT-ZEROS (/ space att lst1 lst2 ss1 ss2 txt al p1 p2) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) );fin or (setq att (nentsel "\nSélectionnez un numero d'ordre : ")) (setq att (car att)) (vlax-ename->vla-object att) (setq index (vla-get-TextString att)) (if (< 4 (setq lg-index (strlen index))) (setq index (substr index (- lg-index 3))) (repeat (- 4 lg-index) (setq index (strcat "0" index))) ) (vla-put-TextString att index) );fin defun AJOUT-ZEROS Merci Fabcad.
  3. Bonjour a tous, Suite à ce message http://www.cadxp.com/sujetXForum-21589.htm ou il etait question d'ajout de zéros à gauche d'un index de textes, comment faire la même chose mais sur des attributs de blocs. Cahier des Charges : Cliquez sur l'attribut de bloc, faire l'ajout de zéros à gauche en respectant le nombre de 4 chiffres, puis mettre le bloc dans un calque nommé HYDRANTS-TEMP, ce dernier est à créer si il n'existe pas dans la collection des calques. Par rapport à AutoLISP l'accès aux attributs d'un bloc sont t-ils plus simples en Visual LISP ? Merci d'avance, [Edité le 27/11/2008 par fabcad]
  4. Hello, avec toutes fonctions que tu demandes, à quand le logiciel SIG LECRABE sur AutoCAD, Fabcad
  5. fabcad

    DECHARGER IMAGE

    Alors là trop fort et vraiment pratique... Merci Gile, Vraiment tip top. [Edité le 17/11/2008 par fabcad]
  6. fabcad

    Grille

    Bonjour excalibur, Pas de possibilité d'impression, par contre tu peux faire un réseau rectangulaire avec un objet point. valeur de 1 en unités absolues. Fabcad
  7. Re bonsoir, Toutes les fonctions MAP de base peuvent être intégrées dans d'autres routines LISP ou des requetes externes d'extension QRY mais dont le contenu est de l'autolisp avec ces fonctions supplémentaires. La copie de données d'objets que tu as utilisé dans un programme pour Pat-Lecrabe utilise ces fonctions LISP MAP. Il y a un fichier chm spécifique pour créer des programmes LISP dans le dossier help d'AutoCAD MAP. (ade_expreval (car (entsel)) ".STRING" "string") retourne la valeur d'un texte. (ade_expreval (car (entsel)) ".LAYER" "string") retourne le calque d'un objet. (ade_expreval (car (entsel)) ".COLOR" "integer") retourne la couleur d'un objet dans un format integer. (ade_expreval (car (entsel)) ".CENTER" "point") retourne le point centre d'un objet. Ma petite fonction permet de mettre des textes de numéros d'ordre de poteaux d'incendie sur 4 chiffres afin de connecter une base de données d'hydrants puis de générer des liens de façon automatique par rapport à la clé d'un base de données (excel ou access ou dbf). Mais j'essaie de me mettre au visual lisp et c'est un bon moyen pour avancer. Tu as aussi la possibilité de mettre quelques fonctions dans n'importe quel champ des cases de dialogue des requêtes DWG lorsque tu modifies des proprités sur des objets requetés. Si tu as d'autres question sur map n'hesites pas envoie un message privé et je donnerai mes coordonnées professionnelles. Bonsoir, Merci Gile pour ton travail Remarquable. Je décortiquerai lundi, Fabcad
  8. Bonsoir Gile Bonsoir lili2006, J'ai bien précisé que cette fonction fait partie de la librairie de fonctions de l'analyseur d'expressions d'AutoCAD MAP. J'utilise cette fonction pour éviter l'utilisation des cdr et assoc d'entget. Peut-on la remplacer par un Vla-get-"chaine ou string" en visual lisp pour remplacer cette ligne. J'attends la suite. merci fabcad
  9. Bonjour aux Vlispeurs, J'ai créé cette routine et je souhaiterais l'améliorer et la simplifier en VisualLisp. Merci d'avance, Fabcad ;;;------------------------------------------------------------------------ ;;; Fonction pour ajouter des zéros à gauche d'une valeur de texte mais en conservant 4 caractères Version 1.0 ;;; par Fabcad ;;; le 14/11/2008 ;;;------------------------------------------------------------------------ (defun traite-js (js / nbr obj-numero ent-obj-numero index debut-coup lg-index-bis index-bis index-ter) (setvar "cmdecho" 0) (setq nbr (sslength js)) (setq i 0) (while (<= i (- nbr 1)) (setq obj-numero (ssname js i)) (setq ent-obj-numero (entget obj-numero)) ;Récupération de la valeur de la chaine de caractères par ade_expreval de l'analyseur d'expressions d'AutoCAD MAP (setq index (ade_expreval obj-numero ".STRING" "string")) (setq index-bis (strcat "000000" index)) (setq lg-index-bis (strlen index-bis)) (setq debut-coup (+ 1 (- lg-index-bis 4))) (setq index-ter (substr index-bis debut-coup 4)) (setq ent-obj-numero (subst (cons 1 index-ter) (assoc 1 ent-obj-numero) ent-obj-numero)) (entmod ent-obj-numero) (command "chprop" obj-numero "" "couleur" "bleu" "") (setq i (+ i 1)) ); fin while nil ); fin defun ;;;------------------------------------------------------------------------ ; FONCTION MAITRE (defun c:AJOUT-ZEROS () (setvar "cmdecho" 0) (setq js (ssget)) (traite-js js) (setq js nil) (prompt "\n---COPYRIGHT 14/11/2008 Par Fabcad---") nil );fin ;;;------------------------------------------------------------------------ (prompt "\npour lancer Tapez : AJOUT-ZEROS")
  10. fabcad

    Délimitation d\'image

    Ma routine fonctionne sur AutoCAD MAP 2008, Il faut juste désactiver les accroche objets le temps de la fonction. Il est vrai que je ne ferme pas le polygone mais un clic-droit et clore fini la fonction. A+
  11. fabcad

    Délimitation d\'image

    Bonjour LOLO2B82 Voici une routine que j'avais créé mais il faudrait la tester sur une version 2009 et peut-être la transformer en Visual Lisp. Voici le code de la routine :
  12. Bonjour, Sauf que la commande Décomposer AutoCAD perd la notion de justification ! Attention tout de même lorsqu'on a une palanquée de textes sur un dessin. fabcad
  13. Hello sub75, Tu es sur le forum AutoDESK MAP donc je présume que tu l'utilises, alors essaie la fonction de Nettoyage de Dessins et tu verras dans les options de nettoyage l'option supprimer les doublons. Et un tas d'autres choses encore. Fabcad l'inconditionell de MAP 3D.
  14. hello (gile), Ta fonction s'exécute parfaitement en AutoLISP mais pas en VisualLISP. Serait-il possible de pouvoir faire une sélection manuelle (avec le maintien du filtre) au lieu d'une sélection automatique. Merci encore, Fabcad [Edité le 8/10/2008 par fabcad]
  15. Bonjour, Sur MAP 2008, J'ai connecté avec FDO des images raster, mais après la déconnexion les références restent affichées dans le gestionnaire d'image d'AutoCAD MAP. Impossible de les détacher par ce gestionnaire ou sur la ligne de commande. Que dois-je faire pour les enlever ? Merci
  16. fabcad

    Message Autodesk Map

    Bonjour Fedc, Dans les options d'Autocad MAP 200X va dans l'onglet Système puis dans la zone de texte du Répertoire par défaut du fichier de requête, entre un chemin de dossier valide. A+
  17. Je ne sais plus quoi dire (Gile) merci Maestro. Bon week-end. Fabcad
  18. J'ai testé sous MAP 2008 mais il semble que la modification ne soit pas prise en compte. Pourrais-je t'envoyer un extrait de mon fichier ? Merci d'avance. [Edité le 26/9/2008 par fabcad]
  19. Merci Gile pour ta réponse mais peux tu renommer ta fonction car AutoCAD utilise déjà ce nom plinewid comme variable. Je teste ta routine sous un autre nom. A+
  20. Aux programmeurs confirmés, je souhaiterais une routine permettant de contrôler et de modifier la largeur globale des lwpolylignes lorsque la largeur du segment de départ et la largeur du segment de fin sont identiques. Exemple : Soit une lwpolyline ayant : - largeur du segment de départ de 9 unités. - largeur du segment de finde 9 unités. d'où affectation d'une valeur de 9 unités à la largeur globale. merci pour vos réponses. Fabcad [Edité le 26/9/2008 par fabcad]
  21. Bonjour à tous, Il serait bien que lorsque qu'un sujet à été rédigé que le site évalue les mots dans le sujet et lie le message à d'autres messages ayant peut être déjà une réponse. Pas facile d'être clair. A+
  22. Les exemples de blocs dynamiques présentent des carrefours, en les adaptant à des giratoires...
  23. Voivi une fonction AutoLISP que j'utilise beaucoup dans mon domaine de cartographie pour la gestion de mes textuels :
  24. Bonjour doublecriquet, Voici une fonction que j'avais développée pour rendre parallèle des objets textuels par rapport à d'autres objets :
  25. Bonjour, Cher Lecrabe, Attention la commande coupure AutoCAD sur AutoCAD MAP 3D 2008 perd les données d'objets sur l'un des 2 objets résultant. Grrr...
×
×
  • 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é