Aller au contenu

Iu63

Membres
  • Compteur de contenus

    27
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Iu63

  1. En effet j'ai oublié de le préciser autant pour moi : Lisp : (command "deplacer" "tout" "" "D" distance-deplacement) J'ai trouvé une alternative en utilsant la commande move mais avec le VLA, cependant celle ci est beaucoup plus encombrante. J'aurai preferé rester sur la première option plus courte. La voici : (defun c:testd () ;; Définir les coins du rectangle de sélection (setq point_sup_droit (list 300 400 0)) ;; Coin supérieur droit (setq point_inf_gauche (list -420 -80 0)) ;; Coin inférieur gauche (setq point_deplac (list 200 0 0)) ;; Vecteur de déplacement (200 unités en X) ;; Sélectionner tous les objets dans la zone délimitée par les deux points (setq ss (ssget "C" point_inf_gauche point_sup_droit)) ; "C" pour la sélection par fenêtre ;; Vérifier si des objets ont été sélectionnés (if ss (progn ;; Afficher un message pour savoir si des objets ont été sélectionnés (princ (strcat "\n" (itoa (sslength ss)) " objets sélectionnés.")) ;; Déplacer les objets avec la méthode "Move" (setq i 0) ;; Initialisation de l'index de la sélection (while (< i (sslength ss)) ;; Parcourir les objets sélectionnés (setq obj (ssname ss i)) ;; Récupérer l'objet à l'index i (setq vlaObj (vlax-ename->vla-object obj)) ;; Convertir l'objet en objet VLA ;; Utiliser la méthode Move de VLA pour déplacer l'objet (vla-move vlaObj (vlax-3d-point 0 0 0) (vlax-3d-point (car point_deplac) (cadr point_deplac) (caddr point_deplac))) (setq i (1+ i)) ;; Passer à l'objet suivant ) (princ "\nLes objets ont été déplacés.") ;; Message de confirmation ) (princ "\nAucun objet sélectionné.") ;; Message si aucun objet n'a été sélectionné ) (princ) ;; Pour ne pas afficher de message supplémentaire après l'exécution )
  2. Bonjour, Je rencontre un problème avec le LISP. Je voudrais déplacer ma fenetre de presentation dans mon espace PAPIER sans avoir à saisir manuellement les objects à déplacer. J'ai donc directement fait la manipulation sur Autocad qui a bien fonctionné avec DEPLACER --> TOUT --> Entrer --> D --> puis j'ai spécifié ma distance. Cependant impossible de réaliser la manipulation avec LISP, autocad me redemande à chaque fois de saisir l'object à déplacer alors que je veux que cela soit automatisé puis par la suite le logiciel se met à bugger une fois le programme lisp lancé. Merci d'avance.
×
×
  • 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é