mateus Posté(e) le 2 septembre 2013 Auteur Posté(e) le 2 septembre 2013 En gros comme montré sur le schéma joint la commande me le fait mais je souhaiterai ne pas voir apparaître les éléments en jaune et faire comme la figure de droite
mateus Posté(e) le 3 septembre 2013 Auteur Posté(e) le 3 septembre 2013 Ce que je cherche à faire c'est simplement ajuster et raccorder en rayon ...
Olivier Eckmann Posté(e) le 3 septembre 2013 Posté(e) le 3 septembre 2013 Dans la commande Raccord, il y a l'option Ajuster, il suffit de mettre cette option à OUI au lieu de NON et l'ajustement sera automatique Olivier
mateus Posté(e) le 3 septembre 2013 Auteur Posté(e) le 3 septembre 2013 Bonjour Olivier et merci pour ta réponse, j'ai ressayer la commande j'ai essayer avec l'option ajuster mais rien n'y fait je n'arrive même pas manuellement à ajuster la poly réseau aux deux antennes :unsure:
mateus Posté(e) le 3 septembre 2013 Auteur Posté(e) le 3 septembre 2013 j'ai ressayer et voici ce que ça me fait voir schéma ci-joint ma polyligne réseau disparaît, je souhaiterai que la poly reste et que les raccords se fassent de chaque côtés des antennes.
-Olivier- Posté(e) le 3 septembre 2013 Posté(e) le 3 septembre 2013 Bonjour Mogo,Voir la réponse #67 de Didier. Olivier
mateus Posté(e) le 3 septembre 2013 Auteur Posté(e) le 3 septembre 2013 Merci Olivier mais j'ai déjà essayé même manuellement je n'arrive pas alors peut être que je suis ocmpletement à côté de la plaque que je ne sais pas me servir de la commande mais en tout cas je n'y arrive pas . Mon programme actuel est celui ci. Je ne sais pas à quel moment le coller le code de Didier.ECL2.lsp
Olivier Eckmann Posté(e) le 3 septembre 2013 Posté(e) le 3 septembre 2013 Bonjour, Tu ne peux créer un raccord entre 1 polyligne et 2 segments d'une autre polyligne.Il faut que tu commences par couper ta polyligne au milieu du raccord, puis quand tu auras 2 morceaux, tu pourra ajuster chacun d'eux sur ton V Olivier
mateus Posté(e) le 3 septembre 2013 Auteur Posté(e) le 3 septembre 2013 Merci Olivier c'est ce que je pensais mais après le faire dans mon lisp je vais essayer ... Bonne soirée à toi
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Bonjour à tous j'essaie d'utiliser la commande _break (coupure) avant de faire mon raccord
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Escusez moi il y a eu un beug je recommence mon message : j'essaie d'utiliser la commande _break (coupure) avant de faire mon raccord (command "_break" polyReseau "1er" PT2 PT3) Les points PT2 et PT3 correspondent aux liaisons avec le réseau (voir schéma ci-joint). Le problème c'est que la commande ne reconnait pas les deux points, comment puis-je faire pour dire à la commande c'est à l'endroit de ces deux points que je désire couper la polyline. Merci à vous.
-Olivier- Posté(e) le 4 septembre 2013 Posté(e) le 4 septembre 2013 Bonjour Mogo,Encore une fois, si tu applique la combine de Didier sur la polyligne obtenu par le programme de Didier (Si j'ai bien compris, c'est celle en rouge sur l'image de ta réponse 3) cela fonctionne parfaitement.Olivier
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Bonjour Olivier , applique la combine de Didier (setvar "filletrad" 1.2)(command "_fillet" "p" "_l") cette combine là d'accord polyligne obtenu par le programme de Didiermon programme actuel est celui ci-joint "ECL2" Je ne comprends pas à quel endroit la placer.ECL2.lsp
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Voilà j'ai trouvé ce code sur un forum anglais : ;BREAKINT.LSP ;breaks line at an intersection ; ; Reviewed & revised for A2K by Guy Dow ; 03/05/01 ; (defun c:bi ( / ss point snap echo olderr) (setq snap (getvar "osmode")) (setq echo (getvar "cmdecho")) (setq olderr *error*) (setq *error* break_error) (setvar "cmdecho" 0) (while (not ss) (setq ss (entsel "\nSelect line to break: ")) );while (setvar "osmode" 32) (while (not point) (setq point (osnap (getpoint "\nSelect intersection to break at: ") "int")) );while (setvar "osmode" snap) (command "break" ss "f" point "@") (setvar "cmdecho" echo) (setq *error* olderr) (princ) ) (defun break_error (msg) (princ (strcat "\nError: " msg)) (setvar "osmode" 0) (setvar "cmdecho" 1) (princ) ) Et je comprends que la commande coupure demande un entsel (dans mon cas pour ma polyline réseau) et des "getpoint" pour obtenir les points de coupures. Seulement, dans mon programme la poly réseau est déjà mémorisé en variable ainsi que les points ou je désire coupé (PT2 PT3) comment faire pour faire fonctionner cette commande sans utiliser getpoint et entsel ? Merci
alala Posté(e) le 4 septembre 2013 Posté(e) le 4 septembre 2013 Bonjour, la seule fonction dont tu a besoin est celle-ci : (command "break" ss point point2 "@") ss est le entname de la polyligne et point et point2 les points de coupure. @+ C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Bonjour alala C'est exactement ce que j'ai fait mais ça ne fonctionne pas voici le code (test) que j'ai crée pour tester la fonction puis le schéma en fichier joint correspondant Mercicoupure.lsp
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 C'est bon la commande fonctionne mais alors maintenant c'est une nouvelle erreur et pour vous expliquez je ne sais comment ... ; erreur: groupe DXF incorrect: (10) Si quelqu'un aurait un peu de temps pour regarder le fichier joint "ECL2" j'ai mis des commentaires partout pour s'y retrouver mais je ne sais pas pourquoi il y a encore cette erreur... le premier raccordement est bien passé mais pas les autres ... :(ECL2.lsp
alala Posté(e) le 4 septembre 2013 Posté(e) le 4 septembre 2013 Désolé la commande est : (command "_break" ss point point2 "@") donc dans ton cas : (command "_break" ent pt3 pt4 "@") mais avec tout tes point je ne vois pas l'intérêt de faire des coupures quand tu peu créer des lignes ou polylignes complètes! Surtout que si je ne me trompe pas ta polyligne de base est systématiquement droite? C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 non alala maintenant je le fais avec une polyligne donc ça peut être une courbe c'est pour ça que je trace pas directement des lignes ou arcs ça serait trop long. la commande fonctionne mais pas dans la boucle "while" du lisp "ECL2" :unsure:
alala Posté(e) le 4 septembre 2013 Posté(e) le 4 septembre 2013 normal tu coupe ta polyligne qui te sert à faire tes fonctions. Donc tu ne peu plus faire : (setq PT3 (vlax-curve-getPointAtDist polyReseauVla (+ D5 (* distReseauCande 0.5)))) Il renvoie nil au second passage (polyReseauVla est uniquement la première polyligne). test donc cette sélection en ligne de commande tu comprendra : (sssetfirst nil (ssadd (vlax-vla-object->ename polyReseauVla) (setq test (ssadd)))) Donc tu va devoir travailler à reculons sur ta polyligne i tu souhaite voir fonctionner tout ça! C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Comment faire alors ça fait 4 jours que je me prends le chou pour faire des raccords rayon j'en peux plus.. jsuis désolé alala c'est pas contre toi mais j'en peux plus de galérer pour ça
mateus Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Pour essayer de remédier à ça j'ai copié dans la boucle 2 fois la polyline réseau pour raccorder mes raccordements aux polylignes crées directement mais rien n'y a fait, voici le bout de code (et le fichier lsp en fichier joint) : (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 8 "ICI-RES-ECP") (cons 90 2) (cons 10 PT2) (cons 10 PT) ) ) (setq entPtPt2 (entlast)) (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 8 "ICI-RES-ECP") (cons 90 2) (cons 10 PT3) (cons 10 PT) ) ) (setq entPtPt3 (entlast)) (command "_copybase" ptStart polyReseau "") (command "_pasteclip" ptStart "") (setq polyTemp1 (entlast)) (command "_copybase" ptStart polyReseau "") (command "_pasteclip" ptStart "") (setq polyTemp2 (entlast)) (setvar "filletrad" 0.5) (command "raccord" polyTemp1 entPtPt2) (command "raccord" polyTemp2 entPtPt3) Les copies de polylignes sont bien crées mais les raccords ne sont pas fait :o AmicalementtestECL.LSP
mateus Posté(e) le 5 septembre 2013 Auteur Posté(e) le 5 septembre 2013 Bonjour à tous J'ai fait un lisp test qui est celui joint où je créer les deux antennes et trois polylines. Deux polylines sont les trois sont des copier/coller de la premier polyline. Ce qui me permeterai (logiquement) de pouvoir faire les raccordements rayon de chacune de mes antennes avec les poly crées. J'ai essayé à multiples reprises de bien comprendre le fonctionnement et de comprendre pk ça ne fonctionnait pas, il en est vain Si quelqu'un pourrait m'aider d'une manière ou d'une autre afin que je puisse solutionner ce problème je vous en remercie. le schéma joint en #post 91 reflète la figure créée dans le lisp avec tous les points. Merci par avance #post91raccordementRayon.lsp
mateus Posté(e) le 5 septembre 2013 Auteur Posté(e) le 5 septembre 2013 Deux polylines sont les trois sont des copier/coller de la premier polyline. Deux polylines sur les trois crées sont des copier/coller de la première. Dsl
alala Posté(e) le 5 septembre 2013 Posté(e) le 5 septembre 2013 Bonjour, Je te conseillerais d'étudier les lisp ADDVTX et ceux qui utilisent la fonction vla-addvertex (un certain nombre est trouvable sur internet). Tu pourrais avec cela ne pas avoir à couper ta polyligne mais uniquement lui ajouter des sommets et ainsi travailler sur le même objet tout du long. A toi de voir mais ça me semble être un choix plus logique et qui devrais apporter une vitesse d’exécution supérieure. @+ C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
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