Aller au contenu

doublecriquet

Membres
  • Compteur de contenus

    43
  • Inscription

  • Dernière visite

Tout ce qui a été posté par doublecriquet

  1. Je viens de faire quelques textes. Tous les problèmes sont résolus javascript:insertAtCaret(':D','') : Le problème de distance est complètement réglé avec l'avant dernière routine que tu as posté, bien entendu je viens de remarquer que ça marche BEAUCOUP mieux quand le texte est justifié en centre-milieu. Merci pour ce conseil ! Pour le problème de sens du texte, effectivement si je rajoute le point virgule à l'endroit que tu m'as indiqué, tout fonctionne parfaitement. En revanche, la dernière routine que tu as posté (gardant ta philosophie du 1er et 4 ème quadrant) ne correspond pas à ce que je cherche à faire. En conclusion, Je suis donc entièrement satisfait avec l'avant dernière routine et en y rajoutant un point virgule avant la ligne de code concernée : (if (or (> alpha (* pi 0.5)) (< alpha (- (* pi 0.5)))) (setq alpha (+ alpha pi))). Merci bonuscad pour tous ces précieux conseils et ton soutien exemplaire !! A+
  2. Merci Bonus cad, je vais essayer ça dans les prochains jours, je te tiens au courant du résultat !
  3. Bonjour, J'ai fait le test. La modif que tu proposes bonuscad marche bien : j'ai défini la variable (initget 7) (setq offset_txt (getdist "\nDistance de décalage du texte: ")) et remplacé (vlax-get vla_obj 'Height) par offset_txt. ... enfin ça n'est que du ctrl+c - ctrl+v, car je n'y connais rien de rien en dev et encore moins en LISP. Donc vraiment merci encore. juste qq petits soucis parfois avec la distance, qui ne réagit pas pareil suivant les zones de ma route : je n'obtiens pas les mêmes distance du texte à la polyligne sur les partie plutôt horizontale et les parties plutôt verticales de mes routes. Aussi, le sens du texte change suivant les zones d'une même route : par exemple, sur une route qui va globalement d'ouest en est (dc vers la droite (dsl pr la précision)), lorsque la route part vers l'ouest sur une petite distance, le texte associé à cette petite distance change de sens par rapport au reste du texte qui lui est dans le bon sens. Merci aussi fabcad pour parallele, mais je n'arrive pas à le faire fonctionner. Je suis sur la version 2009 d'autocad. Quand je lance toute l'intégralité de ta routine, il me propose de tracer un arc de cercle (ce n'est pas vraiment ce que je voulais faire...). et lorsque j'exécute uniquement parallèle (les 1eres lignes seulement de la routine), il me met le message : "erreur : no function definition : SEL-TXTS". Mais je dois mal m'y prendre. Je réessaierai à l'occasion.
  4. Salut, Merci pour vos réponses, il y a de la matière ! je vais regarder ce que ça donne, je n'ai pas eu le temps ces derniers jours. je vous tiens au courant du résultat. Merci Salut
  5. Bonjour, Après plusieurs utilisations d'"Align_text" et de "multialign_text", je me suis rendu compte qu'une petite variable supplémentaire serait très utile à rajouter... mais je n'y connais rien en développement, alors je me tourne vers vous : En effet, souvent les textes traités sont alignés trop près de la polyligne. En effet, je travaille sur des routes de plusieurs centaines de kilomètres, à des échelles très éloignées, et du coup on a presque l'impression que les textes sont collés à la polyligne une fois "Align_text" ou "multialign_text" éxécutés. Serait-il possible de rajouter une option pour rentrer la valeur de distance à la polyligne à la main ? Ou peut-être est-ce plus simple de créer un align_text 2, un peu plus éloigné de la polyligne ? merci pour vos réponses :P
  6. ... encore désolé pour mon ignorance, mais comment procède-on pour modifier la macro de explose et la remplacer par explode ?
  7. ... Ah non je connaissais pas ! il y a d'autres petites options intéressantes... Merci tramber pour ta rapide aide : ) par contre j'ai l'impression qu'il n'y a pas de bouton existant par défaut, quand je cherche la commande "xplode" dans le CUI, je ne vois apparaitre que "xplode attributes to text" et "Explode Text" d'Express, dommage va falloir la créer à moins que j'ai de la ... dans les yeux ?
  8. Bonjour, Je pose peut-être une question bête, mais on ne sait jamais, je n'ai pas vu de sujet à ce propos : Lorsque je décompose des blocs "simples", sans attributs, que j'ai mis volontairement au préalable sur un calque spécifique, le résultat décomposé de ces blocs passe automatiquement sur le calque 0, et je suis en suite obligé de les remettre à la main sur le calque initial. C'est hyper dangereux ce réglage par défaut si on ne fait pas gaffe !... Existe t-il une solution, une case à cocher qq part, pour que le résultat décomposé de ces blocs reste sur le calque d'origine ? merci pour votre aide !
  9. Salut, Merci pour vos réponses. torient d'express, c'est presque ce que je cherchais, sauf que l'alignement se fait par rapport à une ligne à tracer et non une polyligne existante comme je le voudrais (à moins que je n'ai pas vu l'option ?) En revanche "Multalign_text" de Bonuscad est exactement ce que je cherchais. Ca marche parfaitement dans mon cas. la distribution le long de la polyligne est super correcte, voire nickelle !!! Aller, faut que j'me mette au boulot maintenant du coup...
  10. Salut, ...maintenant que je deviens un "super-pro" dans le maniement de la routine "Align_text", je commence à devenir exigent avec elle ! :mad: J'aimerais savoir si vos connaissiez un cousin d'"Align_text" qui permettrait d'aligner en même temps plusieurs éléments de texte sur la polyligne la plus proche, au lieu d'avoir à répéter la routine pour chaque texte un à un. En effet, j'ai un très grand nombre de textes différents à aligner sur une même polyligne, et je cherche une fonction simple, ne proposant pas toutes les options présentes dans "align_text" (au dessus/en dessous, rotation). Cela me suffirait si le texte se place automatiquement au dessus ou en dessous de cette polyligne (ça m'est indifférent), avec la rotation la plus simple, comme align_text le propose par défaut (le long de la polyligne, dans le sens de lecture le plus courant, à l'endroit de gauche à droite).
  11. Salut, model_typline est vraiment pratique. Mais il fait du traitement ta"un par un" en demandant de sélectionner le type de ligne que l'on souhaite extraire. Existe t-il une version permettant d'extraire TOUS les types de ligne d'un fichier en seul coup ?
  12. Salut, Merci à tous, je suis comblé ! mon travail va avancé vite vite grâce à votre aide ! ! ! Merci lili2006 pour Align_Text, encore une routine qui va me (presque) changer la vie ! Merci bonuscad pour le LISP "CEQUONVEUT" (<acronym class=dict title=) et le petit tuto de remplacement du lambda par defun, ça à pas l'air, mais pour quelqu'un qui ne connait pas le LISP, ça change bcp de chose... Merci Gile pour l'explication de MESURER avec des blocs ! Merci Philphil de ton aide Bref Merci, Merci, et encore Merci a vous tous et au super esprit d'entraide qui règne sur ce site !! :D:D:D
  13. Merci pour ta réponse Gile. Les fonctions de TCOUNT correspondent exactement à ce dont j'ai besoin, mais il manque juste une option, c'est de pouvoir traiter des nombre décimaux en plus des nombres entiers seulement ! :( Dans mon cas, je dois en fait numéroter une série créée avec un bloc, correspondant à une borne kilométrique, et représenté sur des milliers de kilomètres (des milliers de fois), en remplaçant la valeur texte "0000" qui est à l'intérieur de ce bloc par des valeurs kilométriques qui sont des nombres décimaux. La seule bidouille que j'utilise pour l'instant est de dessiner un point au dessus de mon texte de base "0000" (justifié à droite), pour obtenir à peu près graphiquement "000.0". Puis je commence par exemple la numérotation à 1000 avec une incrémentation de 1 pour obtenir à peu près "100.0", "100.1", ... "101.1", "101.2" .... Mais le résultat final n'est pas parfaitement propre (parfois le point devient caché par les nombres inscrits au résultat...) [Edité le 10/7/2008 par doublecriquet]
  14. Salut, Je voulais savoir si quelqu'un connaissait une méthode ou une routine pour améliorer l'Express Tool "Automatic text numbering" qui ne fait pas dans les nombres décimaux. Il ne propose que des nombres entiers... J'ai en effet des milliers de textes à remplacer par une suite incrémentielle de décimaux... mais je ne connais rien aux langages de programmation :( Est-ce que ça semble réalisable ?
  15. ... Ca fonctionne du feu de Dieu !!! C'est parfaitement ce que je cherchais dès le début ! Merci bonuscad, tu m'a renversé sur le tatami en moins de 2 !! :P A tout hasard, est-il possible de faire le même genre de routine pour des éléments de texte (tous différents) à la place des blocs ?
  16. Salut, Merci à tous pour vos réponses. gile, tu as trouvé la fonction exact que je cherchais, la fonction "MESURER" combiné aux blocs qui permet de les aligner perpendiculairement sur la polyligne. :D Parfois j'ai aussi d'autres symboles à placer de la même manière (perpendiculairement à la polyligne), mais leur placement n'est pas régulier comme les symboles kilométriques. J'ai leurs coordonnées xy. Pour l'instant je place ces points avec un script, puis avec le LISP que j'ai décrit plus haut, je remplace par des blocs qui se positionnent bien au point d'insertion, mais avec une rotation = 0 , et non perpendiculairement à la polyligne comme je le voudrais. Y-a-t-il une méthode (peut-être un LISP là pour le coup ?) pour ces symboles "non réguliers" où je ne peux pas utiliser la fonction "MESURER" ?
  17. ... Merci pour vos réponses super rapides ! :) ...Mais je crois que j'ai mal formulé ma demande : je souhaiterais que les blocs soient perpendiculaires aux différentes pentes de la polyligne 2D et non à 90°sur le dessin (ces blocs doivent donc avoir tous au final une rotation différente en fonction de la pente de la polyligne sur laquelle ils sont placés). Il faudrait donc qu'il y ait un calcul automatique des pentes de la polyligne (séparée sur un calque différent) pour qu'ils s'orientent perpendiculairement par rapport à chaque pente de cette polyligne. PHILPHIL, Pour l'insertion automatique des blocs en remplacement des points, j'ai utilisé le LISP "pt-blc" , mais ils se placent avec une rotation = 0 : ;;; Remplace Nodal par Bloc demandé : (defun c:pt-blc (/ sel i nb) (vl-load-com) (princ "\n Choix des points :") (or (setq sel (ssget '((0 . "POINT")))) (setq sel (ssget "_X" '((0 . "POINT"))))) (setq nb (getstring T (strcat "\n Entrez le nom du bloc <"(getvar "INSNAME")">:"))) (if (equal nb "") (setq nb (getvar "INSNAME"))) (repeat (setq i (sslength sel)) (command "_insert" nb (cdr (assoc 10 (entget (ssname sel (setq i (1- i)))))) 1 1 0) (vla-delete (vlax-ename->vla-object (ssname sel i))) ) (princ (strcat "\n " (rtos (sslength sel)) " Points remplacé par Bloc "(getvar "INSNAME")"")) (princ) ) ;;;Remplace Bloc Selectionné par Nodal (defun c:bloc-pt (/ sel i) (vl-load-com) (princ "\n Choix des Blocs :") (or (setq sel (ssget '((0 . "INSERT")))) (setq sel (ssget "_X" '((0 . "INSERT"))))) (repeat (setq i (sslength sel)) (command "_point" (cdr (assoc 10 (entget (ssname sel (setq i (1- i))))))) (vla-delete (vlax-ename->vla-object (ssname sel i))) ) (princ (strcat "\n " (rtos (sslength sel)) " Blocs remplacé par Point.")) (princ) ) Il ne manquerait donc plus que chaque bloc effectue une rotation auto pour être perpendiculaire à la pente de la polyligne. Auriez-vous une petite idée ? :)
  18. Bonjour, Tout d'abord "Un grand bravo" et merci à tous les membres actifs de ce site, qui regorge de trésors et de petites fonctions très utiles. :D Je suis débutant en Autocad, je ne connais pas la programmation, alors peut-être que ma question va paraitre simplisme ou idiote, ou peut-être pas. Ça serait sympa si l'un d'entre vous pouvait me dire si c'est réalisable ou non, et comment ? Je souhaiterais aligner de manière automatique une série de blocs identiques perpendiculairement le long d'une polyligne (par exemple des "symboles kilométriques" représentés par des blocs le long d'une route représentée par un polyligne en 2D). En effet, la route fait plusieurs milliers de kms, et ce serait long de faire une rotation de chaque bloc un par un à la main à l'aide des poignées... En fait, mes symboles kilométriques sont déjà correctement placés sur la polyligne (en remplaçant des points présents sur la polyligne par des wblocs de manière automatique à l'aide d'un petit LISP que j'ai trouvé sur ce site) le problème est que l'angle d'insertion automatique de ce LISP est 0, alors que je souhaiterais que ces blocs soient perpendiculaires le long de la polyligne. Existe t-il un LISP ou une autre fonction permettant de sélectionner tous les blocs (symboles kilométriques) d'un seul coup sur le dessin et de leur faire faire une rotation indépendante automatique le long de la polyligne ? :casstet: [Edité le 8/7/2008 par doublecriquet]
×
×
  • 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é