didier Posté(e) le 28 septembre 2011 Posté(e) le 28 septembre 2011 Bonjour je vais essayer d'être explicite car mon souci requiert pas mal de renseignements liminaires. j'ai dessiné dans le SCG des segments de droites (des lignes)lorsque je demande les coordonnées d'un point des ces lignes en utilisant l'accrochage PROCHE, tout est correct. j'ai dessiné dans un SCU particulier des arcsces arcs représentent des lignes de coupe d'un tore qui suit les lignes précédentes.vous suivez ou je vous ai perdus ? il m'est impossible d'obtenir les coordonnées d'un point quelconque de ces arcs en étant dans le SCG.à aucun moment le PROCHE ne se déclenche en survolant ces entitésce sont bien ces arcs,mais j'en ai besoin car je cherche les variations en Zdès que je les transforme en polyligne, le PROCHE fonctionne ++++++++++++++++++++++++++++++++++++++++++++++question pour ces arcs refusent le PROCHE ?++++++++++++++++++++++++++++++++++++++++++++++ je colle une image en iso et en plan. http://images.imagehotel.net/ylgth30h2u.png amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 28 septembre 2011 Posté(e) le 28 septembre 2011 Salut, Effectivement les arc ne prennent pas l'accrochage PROCHE si le SCU courant n'est pas parallèle au SCU de construction de l'arc. Tu peux essayer ce petit LISP vite fait :(defun c:didier (/ *error* osm pt) (defun *error* (msg) (and msg (/= msg "Fonction annulée") (princ (strcat ("\Erreur: " msg))) ) (command "_.ucs" "_world") (setvar 'osmode osm) (princ) ) (setq osm (getvar 'osmode)) (setvar 'osmode 512) (command "_.ucs" "_object" pause) (while (setq pt (getpoint)) (princ (strcat "\n" (trans pt 1 0))) ) (*error* nil) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 28 septembre 2011 Posté(e) le 28 septembre 2011 ++++++++++++++++++++++++++++++++++++++++++++++question pour ces arcs refusent le PROCHE ?++++++++++++++++++++++++++++++++++++++++++++++ parce que les cercles aussi :) Ma vision intime est que ces entités ne sont définies que par des rayons et qu'il leur manquerait une sorte d'existence géométrique.A tester par curiosité sur une polyligne "oldstyle" Philosophie d'1 heure du mat' ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 29 septembre 2011 Auteur Posté(e) le 29 septembre 2011 Coucou Tramber :A tester par curiosité sur une polyligne "oldstyle"old ou new, dès que l'objet est transformé en Polylignele curseur trouve un "proche" de l'objetmême en vue de dessus (purement verticale) ma question était pourquoi avec les arcs c'était non ? on pourrait répondre que ce n'est pas dans ses "cordes"et pourtant on en connaît un "rayon",c'est un coup à prendre la "tangente"...++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++(Gile)merci d'avoir pris le temps de taper ce petit lispmais il ne fonctionne pas,le scu se met bien dans celui de l'objet,le "proche" s'accroche bien sur l'objet,mais il n'y a aucun affichage de Z en déplaçant le curseurle z reste désespérément à Zéropendant que les X et Y défilent.ne le reprend pas, c'est déjà gentil de ta part,j'ai passé ces arcs en polyligne et ça fonctionne.merci aussi pour tes explications sur les SCU particuliers sur ces arcs amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 Il manque juste un (VL-PRINC-TO-STRING (trans pt 1 0)) au lieu de (trans pt 1 0) et ca marche bien ! Tu regardais les renseignements de la barre d'état. Si c'est là que tu cherches à les avoir, il faut glisser un MODEMACRO.... dans une boucle GRREAD.genre (setvar "modemacro" (VL-PRINC-TO-STRING (trans pt 1 0)) ) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
(gile) Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 Salut, Je ne peux expliquer pourquoi l'accrochage ne fonctionne pas sur les arcs ou les cercle quand il fonctionne sur les polylignes. Tous ces objets dérivent du type Curve et vlax-curve-getClosestPointTo fonctionne bien pour tous... Le LISP fonctionne en l'état (pas besoin de vl-princ-to-string), il faut cliquer pour spécifier des points sur l'arc et les coordonnées SCG du point cliqué s'affichent dans la barre de commande. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 29 septembre 2011 Auteur Posté(e) le 29 septembre 2011 coucou (Gile), encore une fois merci,mais encore une fois non, le lisp ne fonctionne pasje pense que c'est dans la définition du SCU des rcs qu'il y a un soucicar il me met une icône de scu avec le Y vers le haut, et les Z vers la droite :blink: je te redis de laisser tomber, c'est OK avec les polylignes. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 Les amis ! Je maintiens :(defun c:didier (/ *error* osm pt) (defun *error* (msg) (and msg (/= msg "Fonction annulée") (princ (strcat ("\Erreur: " msg))) ) (command "_.ucs" "_world") (setvar 'osmode osm) (princ) ) (setq osm (getvar 'osmode)) (setvar 'osmode 512) (command "_.ucs" "_object" pause) (while (setq pt (getpoint)) (princ (strcat "\n"(VL-PRINC-TO-STRING (trans pt 1 0)))) ) (*error* nil)) Fonctionne très bien. Y a pas de raison ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 29 septembre 2011 Auteur Posté(e) le 29 septembre 2011 Coucou excuse-moi, Trambermais je répète que c'est peut-être un souci de scu à la création des arcscar je maintiens, moi aussi, que le lisp ne fonctionne pas.ni celui de (Gile) ni le tien.je parle dans ma configuration bien sûr. merci de vous entêter, mais je n'ai pas besoin de ce lisppuisque je disais que transformés en polyligne tout fonctionne correctement. ma question ne portait pas sur l'écriture d'un lispmais pour essayer de comprendre pourquoi le proche ne s'accrochait pas sur les arcs en 3D vus de dessus . amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 car je maintiens, moi aussi, que le lisp ne fonctionne pas.ni celui de (Gile) ni le tien. ah ouais ? :( Entre nous de toutes façons, on sait se construire des macros. Il ne reste qu'un mystère : pourquoi en effet il manque des accrochages (perpendiculaire, perpendiculaires différé, proche, etc,...) uniquement sur les arcs et cercles.... ? faut demander à Autodesk... Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 Je me suis amusé un peu et j'ai joué avec l'accrochage forcé EXTEnsion. Celui-là fonctionne et c'est bien 3D. On peut spécifier une longueur et créer facilement une corde dans la 3D. En utilisant cet accorchage, j'ai choisi ici d'implanter une corde à X du bout des arcs, et ce en 3D dans le SCG avec un arc bien défini dans un autre SCU. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 Encore moi.Pour la lecture du point avec MODEMACRO (qui afficherait le point en bas à gauche de la fenêtre AutoCAD), je suggère GRREAD en réponse n°5. Mais c'est une idiotie parfaite car, justement, GRREAD empêche l'utilisation des accrobjs ! (les lispeurs savent qu'il y a des moyens de contourner et (Gile) a aussi bossé sur des accrobjs codés en dur). Quel âne je suis. N'empêche que c'est une voie. J'ai essayé de glisser un modemacro dans la boucle de la routine c:didier mais c'est sans succès. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 29 septembre 2011 Auteur Posté(e) le 29 septembre 2011 coucou bon, on a fait le tour de la questionet on s'accorde sur : un arc dessiné dans un scu exotique ne supporte ni l'accrochage proche ni perpendiculairepar contre on sait en trouver le centre cet arc transformé en polyligne, supporte l'accrochage proche mais toujours pas perpendiculaireen plus elle perd les renseignements de rayon. ben, voila, monsieur AutoDesk, tu ne savais pas qui faire ce week-end, maintenant tu sais... amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 Salut, Un autre LISP qui utilise grread et vlax-curve-getClosestPointToProjection.Ceci montre bien que l'accrochage proche (ou perpendiculaire) pourrait très bien marcher si chez Autodesk on s'occupait de faire fonctionner correctement ce qui qui existe plutôt que d'inventer des gadgets inutiles ou aberrants comme la nouvelle aide... (defun c:NEA (/ *error* loop gr text glyph pt size norm) (vl-load-com) (defun *error* (msg) (and msg (/= msg "Fonction annulée") (princ (strcat "Erreur: " msg)) ) (and text (entdel text)) (and glyph (entdel glyph)) (princ) ) (setq curve (car (entsel "\nSélectionnez une courbe: "))) (if (not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-curve-getStartParam (list curve)))) (progn (setq loop T) (while (and (setq gr (grread T 14 0)) loop) (and text (entdel text) (setq text nil)) (and glyph (entdel glyph) (setq glyph nil)) (if (= (car gr) 5) (progn (setq norm (trans '(0 0 1) 2 0 t) pt (vlax-curve-getClosestPointToProjection curve (trans (cadr gr) 1 0) norm) size (/ (getvar "VIEWSIZE") 80.) text (entmakex (list '(0 . "TEXT") '(62 . 7) (cons 1 (vl-princ-to-string pt)) (cons 10 (polar (setq pt (trans pt 0 norm)) (/ pi 4) size)) (cons 40 size) (cons 7 (getvar "TEXTSTYLE")) (cons 50 (- (getvar "VIEWTWIST"))) (cons 210 norm) ) ) size (* size 0.8) glyph (entmakex (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 4) '(70 . 1) '(62 . 1) (cons 43 (/ size 10)) (cons 10 (polar pt (* pi 0.25) size)) (cons 10 (polar pt (* pi 0.75) size)) (cons 10 (polar pt (* pi 1.75) size)) (cons 10 (polar pt (* pi 1.25) size)) (cons 210 norm) ) ) ) ) (setq loop nil) ) ) ) ) (*error* nil) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 comme la nouvelle aide... Aberrant comme tu dis ! C'est au delà de la connerie. Ils préparent un certain futur ?! Didier ! je suis s'accord avec ton résumé. Disons que je pense tout de même que le perpendiculaire fonctionne mais je vois des cas avec et des cas sans. Mais bon, à part le perpendiculaire différé, c'est quand même plutôt un accrobj de 2nd point ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
(gile) Posté(e) le 29 septembre 2011 Posté(e) le 29 septembre 2011 J'ai modifié le code pour un meilleur affichage quelque soient la vue et le SCU courants.(ça me détend un peu de LISP après une journée de C#) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 30 septembre 2011 Auteur Posté(e) le 30 septembre 2011 Coucou alors là, je dis chapeau basje dis aussi qu'il y a une sacrée bande de furieux sur le site,rien que pour ça je vous suis reconnaissant de jouer dans votre cercle. 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