Karmelie Posté(e) le 16 août 2011 Posté(e) le 16 août 2011 Bonjour,Comment dois-je m'y prendre pour insérer un symbole sur une polyligne à une distance supérieure à X et inférieur à Y et insérer également un symbole au début et à la fin de la polyligne?Tous ces éléments sont bien entendu variables, soit le symbole qui peut être ou pas déjà inséré dans mon dessin, les distances X et Y varient, et la polyligne n'est jamais la même. Les symboles doivent être orientés sur la polyligne.Je sais que je peux utiliser "diviser" après avoir diviser la longueur de ma polyligne par Y et insérer....... Le problème c'est que j'en aurais pout très longtemps, et très souvent. Merci à l'avance, Karmélie
didier Posté(e) le 17 août 2011 Posté(e) le 17 août 2011 coucou le libellé de ta question est particulièrement compliqué :( que sont ces valeurs X et Y ? distance supérieure à X et inférieur à Y les distances X et Y varient avoir diviser la longueur de ma polyligne par Y tu nous en dis plus et plus clairement, s'il te plaît amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Karmelie Posté(e) le 17 août 2011 Auteur Posté(e) le 17 août 2011 Bonjour, Je tente d'éclaircir mon énoncé. Je dois insérer un symbole le long d'une polyligne (comme la commande diviser le fait très bien). Toutefois j'ai des critères de distance minimum et maximum à respecter. Par exemple, l'écart en les symboles doit être supérieur à 9 mètres mais inférieur à 10 mètres. De plus il doit y avoir un symbole au début et à la fin du polyligne (ce que la command diviser ne fait pas). Je sais faire manuellement l'opération. Le problème c'est que j'ai plusieurs "cas" qui demande à insérer différents symboles qui ont des critères de distance max et min différents. J'aurai souvent ce genre d'opération à faire. Ex. Calque = ame1 Symbole = bulle Distance Min = 8m Distance Max =10m Calque = ame2 Symbole = carre Distance Min = 12.25m Distance Max = 15.0m Calque = ame3 Symbole = triangle Distance Min = 7.5m Distance Max = 8m Idéalement, on pourrait choisir le calque d'insertion, le symbole à insérer, les objets à diviser et spécifier la distance min. et max. C'est mieux? :P Karmélie
didier Posté(e) le 18 août 2011 Posté(e) le 18 août 2011 coucou tu as fais l'effort d'expliquer, j'ai fais l'effort de comprendre.mais je n'ai toujours pas compris comment est-ce que tu fais à la mainsi les distances sont variables ? essaie de scanner un croquis ou de mettre un fichier en ligne amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Karmelie Posté(e) le 18 août 2011 Auteur Posté(e) le 18 août 2011 Hum... comment expliquer? Pour une opération = une distancePour l'opération suivante = une autre distanceDans l'exemple: Calque = ame3Symbole = triangleDistance Min = 7.5mDistance Max = 8m Si une polyligne a une longueur de 70m.Je calcule: 70/8 (dist max) = 8.75m, j'arrondi à 9Je calcule 70/9 = 7.7777 Je respecte le mininum OK je dessine.Avec la commande "diviser" j'insère le bloc "triangle" en divisant ma polyligne en 9 segments.Je copie le premier triange dessiné au début de ma polyligne et le dernier triangle dessiné à la fin de ma polyligne... ...et je recommence pour toutes les polylignes du calque ame3 qui sont toutes de longueur différente. Je recommence ensuite pour un autre calque, avecdes polylignes différentes er des critères différents. Les noms de calques, les distances min et max et les noms de blocs sont ici à titre d'exemple seulement.
didier Posté(e) le 18 août 2011 Posté(e) le 18 août 2011 coucou j'ai commencé un truc vite fait (setq ent (car(entsel"\polyligne"))) (setq ObjLine (vlax-ename->vla-object ent) ptfin (vlax-curve-getEndPoint ObjLine) ptdeb (vlax-curve-getstartPoint ObjLine) Longueur(vlax-curve-getdistatpoint ObjLine ptfin) ) (setq distMax (getreal "\nDistance MAX\n") distmin (getreal "\nDistance MIN\n") ) (setq nombre (atoi (rtos (/ longueur distmax)2 0))) (setq ecart (/ longueur nombre) ecart2 0 ) (repeat nombre (setq pm (vlax-curve-getpointAtdist ObjLine ecart2)) (command "_insert" "zaza" pm "" "" "" ) (setq ecart2 (+ ecart ecart2)) ) (command "_insert" "zaza" ptfin "" "" "" ) dis-moi si ça te convientle bloc zaza à changer avec ton vrai nomamicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Karmelie Posté(e) le 18 août 2011 Auteur Posté(e) le 18 août 2011 Bonjour/Bonsoir Ca ne semble pas fonctionner. Je crois avoir omis de spécifier que les segments entre les symboles doivent être égaux et avoir une longueur comprise entre le critère minimun et le critère maximun. Pas évident de passer l'information surtout lorsque la demande vient d'un tiers... Je tente une dernière explication en dessin. Une image vaut mille mots... http://www.cijoint.fr/cjlink.php?file=cj201108/cijNfsIY3w.zip Merci
bonuscad Posté(e) le 18 août 2011 Posté(e) le 18 août 2011 Bonsoir, Regardes ce sujet . Après une adaptation, ça pourrait correspondre... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
didier Posté(e) le 19 août 2011 Posté(e) le 19 août 2011 Coucou Je crois avoir omis de spécifier c'est sûr que tu en as omis des informationstraduire une idée en mots n'est pas tâche aisée je te l'accordemais nous n'avons que des mots pour échanger nos idées, aussi il faut se creuser la tête pour expliciter le souci dans le détailet surtout ça, le détail, c'est ce qui fait la différence. ce que je t'ai tapé vite fait hier (pour me faire une récré après une journée de crotte)semble correspondre à ce que tu as demandétoutefois, c'est du vite faitc'est à dire sans contrôles en particulier au niveau des accrochagesil faut bien les désactiver sinon le résultat risque d'être erratique. je n'ai pas accès au serveur de ci-joint,(je suis en expat et le réseau est ultra-sécurisé)donc je ne peux voir ton explication dessinée. fais moi un MP et je te donnerai mon mail persoou biens viens me voir sur mon site où il est aisé d'attacher des fichiers amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant