Navigation

    • S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Populaire

    Probleme sur "command"

    LISP VBA .NET et Applicatifs
    3
    3
    123
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • C
      CRP dernière édition par

      Bonjour,

      Je suis en train d'adapter mes lisp sur ZWCAD. J'ai un lisp tout simple dans lequel je cherche simplement à créer un nouveau SCU sur un objet avec un Z en fonction d'une altitude à taper.

      Il ne fonctionne pas sur ZWLISP. Visiblement c'est la dernière ligne ou il y a la commande qui ne convient pas. Il n'accepte pas mon point "PC3".

      Comment régler ce problème ?


      (defun c:pc()
      (command "_.ucs" "_object" (cadr(entsel)))
      (setq PC (getreal "\nEntrez plan de comparaison Z en m: "))
      (setq PC3 (list 0 (- 0 PC) 0))
      (command "_ucs" "_new" PC3)
      (print)
      )

      ZWFrance 1 réponse Dernière réponse Répondre Citer
      • ZWFrance
        ZWFrance admin @CRP dernière édition par

        Bonjour,
        Pouvez vous tester le code suivant. N'hésitez pas à revenir vers nous.
        Cordialement

        L'équipe support ZW France

        ----------------------------------------------------------------------------------------------------------------------
        (defun c:pc()
         ;; Sélectionnez un objet pour définir le SCU
         (command "_ucs" "_object" (cadr (entsel "\nSélectionnez un objet pour définir l'UCS : ")))
          
         ;; Demandez une altitude Z à l'utilisateur
         (setq PC (getreal "\nEntrez la valeur Z (altitude en mètres) : "))
          
         ;; Validation de l'entrée utilisateur
         (if (not PC)
          (progn
           (princ "\nErreur : veuillez entrer une valeur valide.")
           (exit)
          )
         )
          
         ;; Création du point Z pour le nouvel UCS
         (setq PC3 (list 0.0 PC 0.0)) ;; Liste avec des réels pour éviter les erreurs
          
         ;; Application de la nouvelle origine
         (command "_ucs" "_origin" (car PC3) (cadr PC3) (caddr PC3)) ;; Décompose la liste PC3 en X, Y, Z
          
         ;; Message de confirmation
         (princ "\nLe SCU a été modifié avec succès.")
         (princ)
        )
        ----------------------------------------------------------------------------------------------------------------------

        1 réponse Dernière réponse Répondre Citer
        • C
          CRP dernière édition par

          Bonjour,

          Merci d'avoir pris un peu de temps pour me répondre. La fonction sert à mettre le Y égal au Z, lorsque j'ai besoin de coter les altitudes d'une façade projetée sur le plan XY. Le point avec Y = -Z est bien nécessaire puisque je décale le SCU pour que le SCU soit Zm en dessous de mon entité.
          Cette fonction fonctionne très bien sur Autocad, et lorsque j'ai voulu l'essayer sur ZWCAD elle ne fonctionnait plus. Elle me laisse l'origine sur l'entité choisie, avec les coordonnées 0,0,0 au lieu de 0,Z,0.

          J'ai essayé votre code. Je ne connaissais pas la fonction "-origin". Je l'ai testé sans passer par l'appli et ça fonctionne, comme fonctionne mon code. Mais dès que je passe par le lisp ça ne fonctionne pas. Par contre mon code fonctionne désormais par magie... Je n'ai pourtant rien fait sauf redémarrer mon poste. ! J'ai vérifié dans "option" que la priorité soit bien "saisie au clavier, script exceptés". C'est le cas.

          Je vais réessayer demain.

          Merci encore et bonne soirée

          1 réponse Dernière réponse Répondre Citer
          • Premier message
            Dernier message