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. Bonjour à tous, J'avais créé une fonction afin d'écrire sous forme d'étiquettes (Mtextes) dont l'index est issu des valeurs de champs de Données d'Objets. Mais cette dernière n'était pas souple puisque la concaténation des champs était faite au préalable. Alors j'ai pensé à ce genre d'algorithme : - Sélection d'un objet modèle. - Si l'objet modèle possède des Données d'Objets alors création d'une liste Tables - Champs. - Sélection d'objets suivant l'objet modèle (normalement polylignes) mais la fonction pourra être enrichie des types SIG. - Sélection des champs dans un dialogue liste. - Sur l'ensemble des objets (polylignes) créer une concaténation des valeurs des champs avec un retour chariot entre chaque valeur. - Créer l'étiquette Mtexte sur chaque polyligne en fonction que cette dernière soit fermée (centroïde) ou non point milieu du linéaire. Si quelqu'un peut l'améliorer, je suis preneur. PS : Merci à Bruno pour son aide et tous les contributeurs (Gile) dont les fonctions sont incorporées dans cette routine. Bonne journée, Fabcad, Le Rennais Métropolitain, Ecrire_Etiquettes-OD-avec-choix.lsp
  2. fabcad

    Hyperlien

    Hello a tous, Merci à toi Maxence pour ces informations, du coup je devais créer une routine afin de lier une photo jpeg avec un texte AutoCAD via l'hyperlien. Voici mon premier jet de routine : ;;; chemin+fichier sous la forme de textes AutoCAD comme ci-dessous : ;;; G:\XXXXX\UU\VVV\Opérations\YYYYY\ZZZ\Photos abords parcelles\Photos-0019.jpg ;;; [b]ou [/b]G:/XXXXX/UU/VVV/Opérations/YYYYY/ZZZ/Photos abords parcelles/Photos-0019.jpg (defun c:Adding_Index_Hyperlink (/ js_textes space mtxt nbr i acad_texte_en_cours index_texte) (vl-load-com) (setq viewsize (getvar "VIEWSIZE")) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) (setq js_textes (ssget '((0 . "*TEXT")))) (if js_textes (progn (setq space (if (= 1 (getvar 'cvport)) (vla-get-PaperSpace *acdoc*) (vla-get-ModelSpace *acdoc*) ) ) (setq nbr (sslength js_textes)) (setq i 0) (while (<= i (- nbr 1)) (setq acad_texte_en_cours (ssname js_textes i)) (setq vla_texte_en_cours (vlax-ename->vla-object acad_texte_en_cours)) (setq index_texte (vla-get-TextString vla_texte_en_cours)) (seturl acad_texte_en_cours index_texte) (setq i (+ i 1)) ); fin while );fin 1er progn ); fin if (princ) );fin defun Adding_Index_Hyperlink Bonne journée, Fabcad, Le Rennais Métropolitain,
  3. Hello a tous, Effectivement, pouvoir contrôler l'option de remplissage par une bascule individuelle sur chaque Mpolygone et non pour l'ensemble des Mpolygones serait une bonne chose. Une petite bouteille à la mer chez les programmeurs d'AutoCAD MAP. Bonne journée, Fabcad, Le Rennais Métropolitain,
  4. Bonjour à Tous, Alala est allé plus vite que moi mais je partage mon code. Pour info, la commande de changement de point label se nomme : ADETEXTLOC. Fabcad Le Rennais Metropolitain ;;;------------------------------------------------------------------------ ;;; Sous-routine de récupération du point milieu d'une polyligne ;;;------------------------------------------------------------------------ (defun mid_pl (pl) (vl-load-com) (vlax-curve-getPointAtDist pl (/ (vlax-curve-getDistAtParam pl (vlax-curve-getEndParam pl) ) 2.0 ) ) ) ;------------------------------------------------------------------------ (defun c:new_label_pt (/ selection_en_cours obj_acad nombre_objets compteur) (vl-load-com) (setq selection_en_cours (ssget (list (cons 0 "*LWPOLYLINE")))) (setq nombre_objets (sslength selection_en_cours)) (setq compteur 0) (while (<= compteur (- nombre_objets 1)) (setq obj_acad (ssname selection_en_cours compteur)) (setq new_label_pt (mid_pl obj_acad)) (ade_editdefcen obj_acad new_label_pt) (setq compteur (+ compteur 1)) ); fin while (prompt "\n---Mars 2013 Fabrice DEMIEL---") ); fin c:new_label_pt
  5. Bonjour, Merci Gegematic pour tes réponses. Bonne journée, Fabcad le Rennais Métropolitain
  6. Bonjour, J'ai créé une routine pour affecter un style de tracé d'une table STB vers son calque éponyme. Elle fonctionne mais je souhaiterais l'améliorer en évitant la création de Listes de mots-clés et les Cond. Peut-on accéder aux tables de styles de tracé via Autolisp ou Vlisp ? D'avance merci, Fabcad le Rennais Métropolitain Affecter-Styles_de_Trace.lsp
  7. Ok sinon sur la page de l'excellent Gile http://gile.pagesperso-orange.fr/LISP.html Tu trouveras le lisp Special_Selections dont la routine ssatt (sélection de blocs suivant la valeur d'attribut) fera l'affaire je pense. Bonne journée.
  8. Bonjour, Merci à Bryce car cela répond à une problématique de maintien de couleur des calques d'origine tout en grisant ls objets par "forçage". Je suis sur AutoCAD MAP 2007 pour préciser les choses, je n'ai pas la gestion des couleurs de calques dans les fenêtres flottantes apparues depuis les versions récentes. A+
  9. Bonjour, Ce genre de demande et si tu en as souvent à traiter, le logiciel AutoCAD MAP le fait simplement via une une requête SIG de type DWG avec changement de propriétés suivant des conditions/réponses Multiples. Les réponses sont soit des changements de calques, de couleurs, d'écritures automatiques etc. Salutations
  10. Bonjour, Lee Mac pour certains de ses programmes créée des fichiers cfg comme fichiers de configuration pour ses cases de dialogue. Voici le contenu d'un de ces fichiers :
  11. Bravo Il y a bien des arrondis en bout de zones. Quel coup d'œil et c'est bien ce que j voudrais ajouter dans la sous-routine de Buffer mais je ne vois pas comment faire. Ça peut être aussi des angles droits avec la distance de décalage. Merci Fabcad le Rennais Métropolitain
  12. Bonjour à tous, J'ai modifié mon schéma pour la zone tampon sur linéaire. A+ Fabcad le Rennais Métropolitain
  13. Un dessin vite fait... A+ Fabcad le Rennais Métropolitain
  14. Merci Bonuscad pour ta contribution. C'est mieux car je sentais faire du "bricolage" avec ma ligne et joindre. Je vais tester cela aussi. A+
  15. Cher Lecrabe, Tu as tellement demandé de routines qu'un disque d'1 to ne doit pas suffire. J'aime les quizz : Gile , Patrick_35 , Bonuscad. Sans rire, je te passe la mienne de génération de liens sur Georezo. A+ Fabcad le Rennais Métropolitain
  16. Merci lecrabe, Mais je ne pense pas créer en lisp une topologie temporaire par linéaire juste pour créer un polygone qui reçoit les Données d'Objets et qui est supprimé ensuite après la copie de ces données dans le linéaire. Fabcad le Rennais Métropolitain
  17. Bonjour à tous, Voici la première version de ma routine Buffer mais qui n'est pas "élégante" par l'utilisation d'un command avec la fonction Joindre. Si vous avez des idées pour la rendre plus Lisp, cela m'aiderai beaucoup. D'avance merci, Fabcad le Rennais Métropolitain Buffer.lsp
  18. Bonjour, Cela ne fonctionne qu'avec les objets FDO et nous actuellement sur la version 2007 de MAP. Cette sous-routine me permettrait d'enrichir ma fonction de génération de liens sur linéaires. A+
  19. Bonsoir à tous, Ayant cherché de façon infructueuse sur G., je souhaiterais une sous-routine pour créer une zone tampon ou buffer d'une polyligne non fermée. Et par la suite l'integrer à une une boucle pour traiter plusieurs polylignes non fermées. (buffer_pline ename dist) ename étant le nom AutoCAD de la polyligne et dist la distance de décalage. D'avance merci, Fabcad le Rennais Métropolitain
  20. Merci pour vos réponses, j'ai ré-essayé et il me met bien le retour à la normale des accroche objets. Par contre, J'ai un souci avec le flag de COPY_DATA, si les Données d'Objets sont déjà liées, COPY_DATA me demande si je veux remplacer avec l'option Tout comme ci-dessous : - Pour régler ce désagrément ,j'ai fait en sorte de vérifier l'existence de la table et de la supprimer de l'objet pour éviter cette demande. Merci d'avance Fabcad le Rennais Métropolitain
  21. Bonjour à tous, Suite au post suivant http://cadxp.com/ind..._20#entry202741 j'ai créé une routine qui remplit des Données d'Objets (xdatas AutoCAD MAP) sur des linéaires (polylignes) depuis des valeurs d'attributs de blocs. Elle fonctionne, sauf que je ne maitrise pas la retour à la "normale" des accroches objets, un peu d'aide serait la bienvenue, un œil neuf c'est mieux. Merci et Bonne journée, Fabcad le Rennais Métropolitain generer-liens-lineaires.lsp
  22. Bonjour à tous, La fonction copy_od.lsp est un lisp pour copier des Données d'Objets d'un objet source vers des objets cibles. C'est cette fonction que j'utilise dans ma routine. Sélection du Bloc avec attributs situé sur la conduite par sélection trajet ---> transfert en Données d'Objets via _adegenlink sur le polygone englobant la Conduite --> copie des Données d'Objets du polygone vers la conduite via copy_od ---> effacement du polygone --> puis on passe à la conduite suivante. Ca fonctionne bien. Je vais m'en servir lors de récupération de dessins ou les linéaires sont renseignés par des blocs avec attributs. A+ Fabcad le Rennais Métropolitain
  23. Bonjour, J'ai mis à jour ma routine, elle fonctionne chez moi. Pas sur car si tu exportes en Shapefile Esri tu auras besoin de tes conduites renseignées de valeurs attributaires (soit les Données d'Objets ou alors issues d'une base de données Excel ou Access connectée ou chaque enregistrement est lié avec sa conduite) A+ Fabcad le Rennais Métropolitain
  24. Re, C'est bien un exemple que j'ai créé pour le test de ma routine, qui est en fait le manque dans la fonction _adegenlink qui ne gère pas les linéaires SIG. Ce sont des blocs avec attributs AutoCAD mais il vaudrait mieux créer des Annotations AutoCAD MAP car plus intelligents. Les attributs de blocs se mettent à jour si on utilise les Annotations AutoCAD MAP car ce sont des blocs avec attributs qui travaillent comme des champs AutoCAD mais qui incluent les Donnees attributaires et les Données de bases externes liées. Mon identifiant est ici imaginaire mais on peut faire ce que l'on veut. Comme l'identifiant, ces champs crées dans la base de Données d'Objets ont leur équivalent dans le nombre et les noms d'attributs du bloc. AutoCAD MAP est vraiment le produit pour créer de la donnée SIG pour l'exporter dans des logiciels SIG concurrents. Si tu veux, envoie moi un message privé via cadxp avec tes coordonnées téléphoniques et l'on pourra échanger sur mes connaissances d'AutoCAD MAP. Bonne journée, Fabcad le Rennais Métropolitain
  25. Bonjour lili2006, Pour ta réponse de bloc, voici un exemple de dessin dwg avec les conduites et blocs-Attributs et la table de Données d'Objets. Bonne journée, Fabcad le Rennais Métropolitain generate-links.zip
×
×
  • 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é