Aller au contenu

AutoCAD 2020-2024


933 sujets dans ce forum

  1. Clic non pris en compte

    • 21 réponses
    • 3,6 k vues
  2. Exporter bloc en JPG

    • 4 réponses
    • 1,8 k vues
    • 5 réponses
    • 1,4 k vues
    • 24 réponses
    • 5,6 k vues
    • 1 réponse
    • 1,9 k vues
    • 6 réponses
    • 1,4 k vues
    • 5 réponses
    • 1,3 k vues
    • 2 réponses
    • 4,3 k vues
    • 9 réponses
    • 3,2 k vues
    • 0 réponse
    • 715 vues
    • 13 réponses
    • 1,3 k vues
    • 24 réponses
    • 1,7 k vues
  3. Alors, les djeunes ?

    • 19 réponses
    • 1,3 k vues
    • 12 réponses
    • 1,8 k vues
  4. ouvrirdepuiswebmobile

    • 4 réponses
    • 615 vues
    • 4 réponses
    • 3,7 k vues
  5. méthode travail gros projet

    • 12 réponses
    • 2,6 k vues
  6. Conversion PDF en DWG

    • 3 réponses
    • 953 vues
    • 4 réponses
    • 844 vues
  7. Lier 2 attributs

    • 9 réponses
    • 3,8 k vues
  8. VPMIN, VPMAX

    • 6 réponses
    • 2,9 k vues
    • 4 réponses
    • 615 vues
    • 2 réponses
    • 890 vues
  9. gestion des présentations

    • 5 réponses
    • 934 vues
  10. Lignes Palplanches

    • 5 réponses
    • 1,4 k vues


  • Statistiques des forums

    • Total des sujets
      49,3 k
    • Total des messages
      299 k
  • Sujets

  • Messages

    • Invité TD01
      Bonsoir @didier,   comment sur une page de garde, avoir par des champs dynamique l'ensemble des noms des onglets pour faire un recap de ce que la personne va lire ensuite ? Par avance, merci,   bonne soirée
    • Invité drault
      Bonsoir,   comment sur une page de garde, avoir par des champs dynamique l'ensemble des noms des onglets pour faire un recap de ce que la personne va lire ensuite ? PAr avance, merci,   bonne soirée
    • Bonjour, Je suis en train de réaliser un programme qui me permet de calculer une hauteur spécifique en fonction de plein de paramètre. J'ai fais en parallèle de cela une boite de dialogue. Cependant, j'ai l'impression que la fonction me permettant d'afficher la hauteur cacmarche de manière aléatoire, c'est à dire qu'elle me renvoie "erreur: type d'argument incorrect: numberp: nil" 1 fois sur 5 et je n'arrive pas à voir l'origine du problème. Voici le lisp :   ; -------------------------------------------------------------------------------------------------- (defun c:BoiteVa ()   (setq dcl_id (load_dialog "boiteneo.DCL"))  ;; Charger le fichier DCL   (if (new_dialog "boite1" dcl_id)  ;; Ouvrir la boîte de dialogue     (progn       ;; Variables pour stocker les choix       (setq choixFE "")  ;; Initialisation de choixFE       (setq choix "")    ;; Initialisation de choix       ;; Choix de la sélection Demi-feuillet ou Enrobage (visible ou non visible)       (action_tile "btn_demi_feuillet"         "(setq choixFE \"Demi feuillet\") (mode_tile \"enrobage\" 1) (princ (strcat \"\\nChoix sélectionné : \" choixFE)) (setq dernier_choixFE choixFE)"       )       (action_tile "btn_enrobage"         "(setq choixFE \"Enrobage\") (mode_tile \"enrobage\" 0) (princ (strcat \"\\nChoix sélectionné : \" choixFE)) (setq dernier_choixFE choixFE)"       )       ;; Actions des boutons radio pour les vues possibles       (action_tile "a" "(setq choix \"Coupe Longitudinale\")")       (action_tile "b" "(setq choix \"Coupe Transversale\")")       (action_tile "c" "(setq choix \"Vue en Plan\")")       ;; Action du bouton OK pour récupérer les valeurs       (action_tile "accept"   (strcat     "(setq ep_feuillet (/ (atof (get_tile \"ep_feuillet\")) 1000)) "  ;; Conversion en mètres     "(setq ep_frette (/ (atof (get_tile \"ep_frette\")) 1000)) "       ;; Conversion en mètres     "(setq nb_feuillet (atoi (get_tile \"nb_feuillet\"))) "           ;; Récupérer le nombre de feuillets     "(setq valeur_a (/ (atof (get_tile \"valeur_a\")) 1000)) "         ;; Conversion en mètres     "(setq valeur_b (/ (atof (get_tile \"valeur_b\")) 1000)) "         ;; Conversion en mètres     ;; Récupérer la valeur d'enrobage seulement si le choix est "Enrobage"     "(if (equal choixFE \"Enrobage\") "     "    (setq enrobage (/ (atof (get_tile \"enrobage\")) 1000)) "     "    (setq enrobage nil)) "     ;; Sauvegarder les valeurs pour les reprendre plus tard     "(setq dernier_ep_feuillet (* ep_feuillet 1000)) "       "(setq dernier_ep_frette (* ep_frette 1000)) "           "(setq dernier_nb_feuillet nb_feuillet) "     "(setq dernier_valeur_a (* valeur_a 1000)) "             "(setq dernier_valeur_b (* valeur_b 1000)) "             "(if (equal choixFE \"Enrobage\") (setq dernier_enrobage (* enrobage 1000))) "     "(done_dialog)"   ) )       ;; Action du bouton Reprendre les dernières valeurs       (action_tile "recuperer_valeurs"         "(progn            (set_tile \"ep_feuillet\" (rtos dernier_ep_feuillet 2 3)) ; Remplir la case avec l'épaisseur du feuillet            (set_tile \"ep_frette\" (rtos dernier_ep_frette 2 3))   ; Remplir la case avec l'épaisseur de la frette            (set_tile \"nb_feuillet\" (itoa dernier_nb_feuillet))   ; Remplir la case avec le nombre de feuillets            (set_tile \"valeur_a\" (rtos dernier_valeur_a 2 3))     ; Remplir la case avec la valeur de a            (set_tile \"valeur_b\" (rtos dernier_valeur_b 2 3))     ; Remplir la case avec la valeur de b            ;; Récupérer le dernier choix pour la sélection de feuillet            (if (equal dernier_choixFE \"Demi feuillet\")              (progn                (set_tile \"btn_demi_feuillet\" \"1\")   ;; Sélectionner le bouton Demi-feuillet                (mode_tile \"enrobage\" 1)               ;; Afficher le champ d'enrobage              )              (progn                (set_tile \"btn_enrobage\" \"1\")        ;; Sélectionner le bouton Enrobage                (mode_tile \"enrobage\" 0)               ;; Masquer le champ d'enrobage                (set_tile \"enrobage\" (rtos dernier_enrobage 2 3)) ;; Restaurer la valeur d'enrobage              )            )            (princ (strcat \"\\nDernier choix de feuillet restauré : \" dernier_choixFE))          )"       )       ;; Réinitialiser les variables si annulation       (action_tile "cancel"         (strcat           "(setq ep_feuillet nil ep_frette nil nb_feuillet nil valeur_a nil valeur_b nil enrobage nil choixFE nil choix nil dernier_choixFE nil dernier_enrobage nil) "  ;; Réinitialiser les variables           "(done_dialog)"         )       )       ;; Démarrer la boîte de dialogue       (start_dialog)     )   )   ;; Décharger le fichier DCL après utilisation   (unload_dialog dcl_id)   ;; Vérifier si les valeurs sont valides avant d'afficher les résultats (if (and ep_feuillet ep_frette nb_feuillet valeur_a valeur_b)   (progn     (princ (strcat "\n[BoiteNeo] Epaisseur du feuillet (m) : " (rtos ep_feuillet 2 3)))     (princ (strcat "\n[BoiteNeo] Epaisseur de la frette (m) : " (rtos ep_frette 2 3)))     (princ (strcat "\n[BoiteNeo] Nombre de feuillets : " (itoa nb_feuillet)))     (princ (strcat "\n[BoiteNeo] Valeur de a (m) : " (rtos valeur_a 2 3)))     (princ (strcat "\n[BoiteNeo] Valeur de b (m) : " (rtos valeur_b 2 3)))     (if (numberp enrobage)       (princ (strcat "\n[BoiteNeo] Valeur d'enrobage (m) : " (rtos enrobage 2 3)))       (princ "\n[BoiteNeo] Valeur d'enrobage (m) : N/A")     )   )   (princ "\nOpération annulée.") )     ;; Ajouter un message   (princ "\nCalcul de la hauteur et des frettes en cours.")   (princ)   ;; Calcul de nb_frette et hauteurAp et espacement entre frettes   (setq nb_frette (+ nb_feuillet 1))   (setq espfret (- (+ ep_feuillet ep_frette)))  ;; Condition pour la hauteur car vairiable en fonction des choixFE (setq hauteurAp   (cond     ((equal choixFE "Demi feuillet")      (+ (* nb_feuillet ep_feuillet) (* nb_frette ep_frette) ep_feuillet))     (t      (+ (* nb_feuillet ep_feuillet) (* nb_frette ep_frette) (* enrobage 2)))) )     ;; Afficher les résultats   (princ (strcat "\nhauteurAp = " (rtos hauteurAp 2 3)))   (princ (strcat "\nnb_frette = " (rtos nb_frette 2 3)))   (princ (strcat "\nespfret = " (rtos espfret 2 3)))   ;; Afficher le choix sélectionné dans la console   (princ (strcat "\nChoix de feuillet : " choixFE))   (princ (strcat "\nChoix : " choix)) ) et voila ce que me renvoie autocad : Commande: BOITEVA Dernier choix de feuillet restauré : Enrobage [BoiteNeo] Epaisseur du feuillet (m) : .008 [BoiteNeo] Epaisseur de la frette (m) : .004 [BoiteNeo] Nombre de feuillets : 6 [BoiteNeo] Valeur de a (m) : .200 [BoiteNeo] Valeur de b (m) : .100 [BoiteNeo] Valeur d'enrobage (m) : N/A Calcul de la hauteur et des frettes en cours.; erreur: type d'argument incorrect: numberp: nil Et l'erreur ne vient pas du N/A, c'est volontaire car cela fonctionne aussi pour d'autres cas  
    • @nG! Hebus, il est rappelé que ce forum est destiné aux dessinateurs projeteurs ... retourne chez tes potes les chargés de rien faire !! 😛
  • Sujets

×
×
  • 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é