Bred Posté(e) le 5 octobre 2006 Posté(e) le 5 octobre 2006 Bonjour, Je suis en train d'essayer de corriger l'erreur d'une routine concernant le problème du point d'accrochage actif.... comme(initget 1) ;(setq pA (getpoint "\nSpécifiez le point de base : "))ne fonctionnait pas (ça m'accrochait un point nodal (accro actif) trop pret de mon centre (accro "temporaire")) .... et je ne veux surtout pas annuler au moment de ma commande l'accrochage actif (le nod est prioritaire)..... donc, je pensais faire ça en vl... J'ai repiqué ça ("chez" (gile)) et transformé :(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Util (vla-get-Utility AcDoc)) (setq pA (vla-getPoint Util nil "\nSpécifiez le point de base : ")) (initget 1) (setq pA (vlax-safearray->list (vlax-variant-value pA))) .... et bien ça ne fonctionne toujour pas !!!!.... parceque je crois : .... c'est que si je fait un (Princ PA), mon pA est le bon, par contre, quand je lance la suite(command "_copy" sel "" pA ".yz" "@" pause)....Le point selectionné n'est plus bon.....ce qui veut donc dire que c'est le "_copy" qui me fait l'erreur..... donc je pourrait désactiver l'accrochage actif juste avant le copy.....mais j'ai besoin de mon accrochage actif dans le "pause" !!!!!! ... je suis assez dégouté .... Je ne comprend pas qu'Autocad prime l'accro actif au coordonnée d'un point.... .... y aurait t'il une solution ??? .... merci Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 5 octobre 2006 Posté(e) le 5 octobre 2006 C'est pour les (command ...) qu'il faut désactiver les accrochages... On peut le faire en accrochage temporaire : "_non" pour "aucun" (command "_copy" sel "" [surligneur]"_non"[/surligneur] pA ".yz" "@" pause) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 5 octobre 2006 Auteur Posté(e) le 5 octobre 2006 Merci mais.... non... par pour ça on dirait..... - Fait un cercle de diam 0.1 en 0 , 0 , 0 - Insert un point (setvar "PDMODE" 34)(setvar "PDSIZE" 0.15) au point 0 , 0.02 , 0 - Accrochage Nodal uniquement (setvar "OSMODE" 8) puis : (princ "\n selec cercle :") (setq sel (ssget)) (setq pA '(0 0 0) pB '(1 0 0)) (command "_copy" sel "" "_non" pA ".yz" "@" pB) .... et bien chez moi, la copie du cercle n'est pas en 1 , 0 , 0 mais en 1 , 0.02 , 0 .... c'est tordu.... où il y a queqlque chose qui m'échappe ??? hop là, j'édite : (setvar "APERTURE" 20) ... [Edité le 5/10/2006 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 5 octobre 2006 Posté(e) le 5 octobre 2006 Bizarre, ça marche bien chez moi, j'ai essayé avec différents zooms, pas de problème. :casstet: Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 5 octobre 2006 Auteur Posté(e) le 5 octobre 2006 ... ? .... j'ai testé sur 2007, je viens de la faire sur 2006.... moi j'ai toujours la même erreur....J'ai l'impression que ça vient de l"@" .... .... quelqu'un d'autre pourrait tester le test en réponse 2 svp ???.... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bonuscad Posté(e) le 6 octobre 2006 Posté(e) le 6 octobre 2006 J'ai l'impression que ça vient de l"@" .... Tout à fait, essayes plutôt ceci(command "_.copy" sel "" "_none" pA ".yz" "_none" "@" pB) Le "Aucun" avant "@" évitera l'accroche au dernier point saisi (qui, si on suit dans ton ordre proposé est le point, ce qui explique ton résultat précédent) Il est vrai que logiquement le dernier point saisi devrait être pA, mais en fait "LASTPOINT" contient encore le point car la commande copie n'est pas terminé. (j'ai déjà renconter ce problème avec des macros en diesel ou "LASTPOINT" ne contenait pas la valeur du dernier point saisi) [Edité le 6/10/2006 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Bred Posté(e) le 6 octobre 2006 Auteur Posté(e) le 6 octobre 2006 Super! ça a l'air d'être ça !!!... mais ça m'échappe un peu en fait donc, ce qui marche : (defun c:cop () (setvar "APERTURE" 20) (setvar "OSMODE" 8) (command "_point" '(0 0.02 0)) (command "_circle" "_none"'(0 0 0) 0.05) (setq sel (ssget "L")) (setq pA '(0 0 0) pB '(1 0 0)) (command "_copy" sel "" "_none" pA ".yz" "_none" "@" pB) ) ... merci !!!------------------------------j'éditeEt bien merci pour l'explication, maintenant je comprend... (presque ;) ) [Edité le 6/10/2006 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
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