Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 05/04/2024 dans toutes les zones

  1. Essaie avec ça (vl-load-com) (defun C:PolyOnPoint ( / Point2D dFuzz ssPoly oPoly ssPonc oPonc PtDeb PtFin PT I J iNbPoncDeb iNbPoncFin) (defun Point2D (PT) (list (car PT) (cadr PT) 0.0) ) (initget 4) (if (not (setq dFuzz (getreal "\nRayon de recherche <0.01> : "))) (setq dFuzz 0.01) ) (initget 1 "Oui Non") (setq b2D (= "Oui" (getkword "\nLimiter la recherche en 2D [Oui/Non] : "))) (initget 1 "Departuniquement Arriveeuniquement departOUarrivee departETarrivee departETOUarrivee") (setq sChoix (getkword "\nCritère de recherche [Departuniquement/Arriveeuniquement/departOUarrivee/departETarrivee/departETOUarrivee] : ")) (if (and (princ "\nSélectionner les linéaires : ") (setq ssPoly (ssget (list (cons 0 "ARC,LINE,LWPOLYLINE")))) (princ "\nSélectionner les ponctuels : ") (setq ssPonc (ssget (list (cons 0 "POINT,INSERT")))) ) (progn (setq ssOK (ssadd)) (setq I 0) (repeat (sslength ssPoly) (setq oPoly (ssname ssPoly I)) (setq I (1+ I)) (setq PtDeb (vlax-curve-GetStartPoint oPoly)) (if b2D (setq PtDeb (Point2D PtDeb))) (setq PtFin (vlax-curve-GetEndPoint oPoly)) (if b2D (setq PtFin (Point2D PtFin))) (setq iNbPoncDeb 0) (setq iNbPoncFin 0) (setq J 0) (while (and (< J (sslength ssPonc)) (or (= iNbPoncDeb 0) (= iNbPoncFin 0)) ) (setq oPonc (ssname ssPonc J)) (setq J (1+ J)) (setq PT (cdr (assoc 10 (entget oPonc)))) (if b2D (setq PT (Point2D PT))) (if (and (= iNbPoncDeb 0) (equal PT PtDeb dFuzz)) (setq iNbPoncDeb 1) ) (if (and (= iNbPoncFin 0) (equal PT PtFin dFuzz)) (setq iNbPoncFin 1) ) ) (cond ((= sChoix "departETOUarrivee") (if (or (>= iNbPoncDeb 1) (>= iNbPoncFin 1)) (ssadd oPoly ssOK) ) ) ((= sChoix "departETarrivee") (if (and (>= iNbPoncDeb 1) (>= iNbPoncFin 1)) (ssadd oPoly ssOK) ) ) ((= sChoix "departOUarrivee") (if (or (and (>= iNbPoncDeb 1) (= iNbPoncFin 0)) (and (= iNbPoncDeb 0) (>= iNbPoncFin 1))) (ssadd oPoly ssOK) ) ) ((= sChoix "Departuniquement") (if (and (>= iNbPoncDeb 1) (= iNbPoncFin 0)) (ssadd oPoly ssOK) ) ) ((= sChoix "Arriveeuniquement") (if (and (= iNbPoncDeb 0) (>= iNbPoncFin 1)) (ssadd oPoly ssOK) ) ) ) ) (sssetfirst nil ssOK) ) ) ) Tu as les options: departOUarrivee = uniquement l'un des 2 departETarrivee = absolument les 2 departETOUarrivee = l'un OU l'autre OU les 2. Et ça fera un kilo de carottes pour ma jument 😉. Elle s'appelle CARRERA, mais elle fonctionne mieux aux carottes qu'au SP98.😂 Olivier
    1 point
  2. Est-ce qu'un REGEN suffit, ou bien il est nécessaire de la renvoyer en arrière plan? J'ai le même souci, mais il suffit d'un Regen pour que les objets nouvellement dessinés ou modifiés repassent dessus. C'est pénible, mais pas complètement bloquant. Olivier
    1 point
  3. Avec l'accrochage Extension et Autosnap activés, ça fonctionne tout seul
    1 point
×
×
  • 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é