Aller au contenu

Hydro8

Membres
  • Compteur de contenus

    227
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Hydro8

  1. Hydro8

    Ventilation de surfaces

    Alors c'est pas vraiment ça, désolé j'ai du mal expliqué. Utilisons des exemples, j'ai un parking au premier sous-sol de 13.45m². Il aura comme base 11.5m² (car sa surface > 11.5) pondéré à 0.35 et 2.0m² (surface arrondi - 11.5m²) pondéré à 0.10. J'ai un parking de 11.34m² au premier sous-sol. Il aura comme base 11.3m² (car surface < 11.5m²) pondéré à 0.35 et 0.0m² pondéré à 0.10. J'ai un parking double toujours au premier sous-sol de 24.87m². Il aura pour base 23 (non pas 11.5m² car double et sa surface > 23) pondéré à 0.26 ((0.35+(0.35/2)/2) et 1.9m² pondéré à 0.10. Maintenance si je prend la même configuration au deuxième sous-sol, j'aurais 0.34 à la place de 0.35 et 0.25 à la place de 0.26. Concernant la surface pondéré, mon logiciel métier demande les surfaces et les Coeff, je ne peux pas rentrer les surfaces pondéré directement.
  2. Hydro8

    Ventilation de surfaces

    Effectivement cela fonctionne :mellow: Tu penses c'est possible de directement passer à la sélection de polyligne après avoir valider le coeff ?
  3. Hydro8

    Ventilation de surfaces

    Grosso modo pour le calcul des tantièmes de copropriété d'un lot de parking, on se base sur la norme AFNOR. Cette norme définie un gabarit standard (sans prendre en compte le recul des poteaux etc...) de 2.30m par 5.00m donc 11.50m². Pour une place de parking, on défini ces 11.5m² avec un coefficient donné (0.35 ou moins selon le niveau de parking). Le reste de la surface est pondéré plus bas. Dans le cas de parking double, la base n'est plus de 11.5m² mais du double donc 23.0m².
  4. Hydro8

    Ventilation de surfaces

    Je comprends pas de problème tu m'as déjà bien aidé à me donner une première version ! @DenisHen : haha comment tu as compris qu'effectivement c'était pour les places de parking en copropriété ?! Pour le fonctionnement c'est tout à fait cela. Merci pour le code que j'ai pu essayé ! - Quand je lance la fonction et que je clique sur autre chose que sur une polyligne (ou un espace vide) il fait comme si j'avais fait "Entrée". Est-il possible de boucler sur la sélection de polyligne ? - Quand je fais "Entrée", que je rentre une surface et un coeff il ne passe rien après. Merci encore pour ton aide ! Edit : le block si besoin https://we.tl/t-M2EWzcQJut
  5. Hydro8

    DILEADER

    Bonjour Désolé de remonter le sujet, quelqu'un utilise cet outil avec Autocad MAP 3D 2019 ? J'ai installé le .exe mais je trouve pas où lancer l'outil :huh:
  6. Hydro8

    Ventilation de surfaces

    Merci pour l'aide :) Voici ma fonction pour le moment : (defun c:MSPk (/ option base coeff) (setq old_base (vlax-ldata-get "MSPK" "Base")) (setq old_coeff (vlax-ldata-get "MSPK" "Coeff")) (if (= old_base nil) (setq base 11.5) (setq base old_base)) (if (= old_coeff nil) (setq coeff 0.35) (setq coeff old_coeff)) (initget "Parametres Continuer") (setq option (getkword (strcat "\nType de fraction [Parametres/Continuer] <Continuer> : " ) ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (if (= option "Parametres") (setq base (getreal "\nChoisissez la base <11.5> (par défaut) : ") coeff (getreal "\nChoisissez le coefficient <0.35> (par défaut) : ")) ) (vlax-ldata-put "MSPK" "Base" base) (vlax-ldata-put "MSPK" "Coeff" coeff) (while (setq poly (car (entsel "\nChoix de la polyligne\n"))) (setq polyvla (vlax-ename->vla-object poly)) (setq surf (vlax-get-property polyvla 'area)) (setq dec 1) (cond ((< surf base) (setq surf1 surf surf2 0.0)) ((> surf base) (setq surf1 base surf2 (- surf surf1))) ((/= coeff 0.35)(setq surf1 base surf2 (- surf surf1))) ) (setq pins (getpoint"\nPoint d'insertion du bloc ?\n")) (command "_insert" "SurfPk" pins "1" "" "" (rtos surf1 2 dec) (rtos coeff 2 2) (rtos surf2 2 dec)) ) (princ) ) ;_ Fin de defun Une idée de comment éviter que la fonction s'arrête si on sélectionne autre chose qu'une polyligne ?
  7. Hydro8

    Ventilation de surfaces

    Merci bonuscad pour ton code, il faut que je prenne le temps d'analyser tout sa. Sinon pour m'améliorer j'ai essayé d'éditer le code comme ça : (defun c:MSPk () (initget "Parametres Continuer") (setq Option (getkword (strcat "\nType de fraction [Parametres/Continuer] <Continuer> : " ) ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (if (= Option "Parametres") (setq base (getreal "\nIndiquez la base <11.5> (par défaut) : ")) (if (null base) (setq base 11.5) ) (setq coeff (getreal "\nIndiquez le coefficient <0.35> (par défaut) : ")) (if (null coeff) (setq coeff 0.35) ) (princ " base ") (princ base) (princ " coeff ") (princ coeff) ) ( (setq base 11.5 coeff 0.35) ) (while (setq poly (car (entsel "\nChoix de la polyligne\n"))) (setq polyvla (vlax-ename->vla-object poly)) (setq surf (vlax-get-property polyvla 'area)) (setq dec 1) (cond ((< surf base) (setq surf1 surf surf2 0.0)) ((> surf base) (setq surf1 base surf2 (- surf surf1))) ((/= coeff 0.35)(setq surf1 base surf2 (- surf surf1))) ) (setq pins (getpoint"\nPoint d'insertion du bloc ?\n")) (command "_insert" "SurfPk" pins "1" "" "" (rtos surf1 2 dec) (rtos coeff 2 2) (rtos surf2 2 dec)) ) (princ) ) ;_ Fin de defun Quand je fais avec les valeurs par défaut (11.5/0.35) ça fonctionne bien, par contre quand je fais paramètre et que je valide les deux valeurs j'ai le message : Une idée de l'origine de cette erreur ? Merci
  8. Hydro8

    Ventilation de surfaces

    Il n'y a pas besoin de listing. Ne pas prendre en compte les polylignes ouvertes. Ne pas sortir de la fonction si on clique sur autre chose qu'une polyligne. Garder les valeurs personnalisées lorsqu'on relance la fonction. Je pense que c'est un cran au dessus en terme de travail et complexité (au vu du lisp TotalArea) et qui n'est pas l'objet ici, est-ce possible de mettre dans une autre couleur un bloc dont la polyligne a été modifié ?
  9. Hydro8

    Ventilation de surfaces

    Oups désolé je vais plus vite que la musique. Oui c'est ok pour le fonctionnement et encore merci pour ta grande aide.
  10. Hydro8

    Ventilation de surfaces

    Le code fonctionne super pour la surface par défaut (11.5 / 0.35) mais j'ai un petit problème quand je mets des valeurs personnalisées. Voici le code actuellement : (defun c:MSPk () (setq choix (getreal "\nChoisissez Base ou le coef <0.35> (par défaut) : ")) (if (null choix) (setq choix 0.35) (progn (setq choix2 (getreal "\nEntrez le coefficient\n")) ) ) (while (setq poly (car (entsel "\nChoix de la polyligne\n"))) (setq polyvla (vlax-ename->vla-object poly)) (setq surf (vlax-get-property polyvla 'area)) (setq dec 1) (cond ((and (< surf 11.5)(= 0.35 choix)) (setq surf1 surf surf2 0.0)) ((and (> surf 11.5)(= 0.35 choix)) (setq surf1 11.50 surf2 (- surf surf1))) ((/= choix 0.35)(setq surf1 choix choix choix2 surf2 (- surf surf1))) ) (setq pins (getpoint"\nPoint d'insertion du bloc ?\n")) (command "_insert" "SurfPk" pins "1" "" "" (rtos surf1 2 dec) (rtos choix 2 2) (rtos surf2 2 dec)) ) (princ) ) ;_ Fin de defun Question 1 : comment ne pas annuler la fonction si il y a un problème de selection de polyligne ? En effet, si l'utilisateur ne sélectionne pas une polyligne comment redemander d'en sélectionner une ? Question 2 : quand je choisis par exemple une base de 23 et un coeff de 0.26, le premier block fonctionne bien (23.0/0.26 et 2.0/0.10 pour une surface de 25) mais les suivants ne fonctionnent plus (0.3/0.26 et 25.6/0.10 pour une surface de 25.9). On dirait qu'il perd la valeur de la variable "choix".
  11. Hydro8

    Ventilation de surfaces

    Petite question, je voudrais enchainer la selection de polyligne sans modifier les paramètres. Du coup j'ai déjà commencer par mettre la question de la surface avant la selection de polyligne. Mais du coup comment boucler après sur la selection / insertion du bloc ? Edit : ok en mettant un while avant la selection de la polyligne tout simplement !
  12. Hydro8

    Ventilation de surfaces

    Alors j'ai réussi à insérer le bloc automatiquement. Merci beaucoup !
  13. Hydro8

    Ventilation de surfaces

    Alors effectivement la variable n'était pas à la bonne valeur. Quand tu parles de définition tu veux dire pouvoir l'insérer avec le nom ? Quand j'ouvre un nouveau dessin, que je fais insérer, il trouve bien "Totalarea".
  14. Hydro8

    Ventilation de surfaces

    Alors j'ai essayé, après avoir sélectionné le point d'insertion, j'ai une boîte de dialogue qui me demande de valider les données du block. Une fois valider j'ai les messages ( en laissant les valeurs par défaut) : - Commande inconnue "5" - Commande inconnue "35" - Commande inconnue "7"
  15. Hydro8

    Ventilation de surfaces

    Oui tout à fait j'ai oublié de modifier les noms des variables dans le bloc de totalarea. Merci en tout cas didier je vais tester sa le plus rapidement possible !
  16. Hydro8

    Ventilation de surfaces

    Le calcul est identique seul la base et le coefficient change. Prenons une polyligne de 25m², si je laisse par défaut j'aurais : 11.5 / 0.35 13.5 / 0.10 Maintenant si en base je mets 23, j'aurais : 23 / 0.35 2.0 / 0.10 Édit : Prenons B = Base / C = Coeff / S = surface polyligne Var1 = if(S > B ){ B }else{ S } Var2 = C Var3 = if(S > B ){ S - B }else { 0 } Mon block sera composé de : Var1 | Var2 Var3 | 0.10
  17. Hydro8

    Ventilation de surfaces

    Enfaite les valeurs coeff et base ont une valeur par défaut (11.5/0.35) qui permet d'éviter que l'utilisateur les rentres la première fois (si c'est possible) et qu'il sélectionne directement la polyligne. Le 23 correspond a une valeur de base différente de la valeur par défaut.
  18. Hydro8

    Ventilation de surfaces

    C'est clair dans ma tête mais j'ai pas réussi a bien le transposer par écrit. L'utilisateur lance la fonction. Elle lui dit : "Sélectionnez la polyligne ou [C]oeff (0.35) ou ase (11.5)" Si l'utilisateur choisit "C" out "B" il rentre la valeur qui deviendront les valeurs par défaut pour le prochain lancement. L'utilisateur sélectionné la polyligne puis indique l'endroit où insérer le bloc. Dans ce bloc il y a 4 données dont trois variables : - le coefficient indiqué avec [C] - la base si la surface de la polyligne est supérieur sinon la surface de la polyligne. - la surface de la polyligne - base si elle est supérieure à 0 sinon 0. - un coefficient de 0.10 indiqué en dur dans le bloc. Une fois le bloc inséré, l'utilisateur est invité à sélectionner la prochaine polyligne etc.... J'espère que ces explications sont plus clairs que précédemment !
  19. Hydro8

    Ventilation de surfaces

    Bonjour Merci de vos réponses. Effectivement je suis parti trop rapidement dans la modification de ce Lisp. Pour que sa soit plus simple, voici un dwg du résultat a peu prêt voulu : https://we.tl/t-DJThMkUHha Contrairement à TotalAraa, je ne souhaite pas de fenêtre de configuration mais utiliser le clavier. Et que la fonction continue quand on a sélectionné une polyligne ( en effet on ne pourra pas en sélectionner plusieurs ).
  20. Hydro8

    Ventilation de surfaces

    Ok j'avance pas mal sur la modification du code pour avoir ce dont j'ai besoin. Petite question (gile), lors de la mise à jour d'une polyligne, est-ce possible de récupérer la valeur d'un des attributs pour le modifier ?
  21. Hydro8

    Ventilation de surfaces

    Pour le moment mes essais ont surtout constitué à modifier ton code Lisp. J'arrive à afficher ce que j'ai besoin dans le bloc mais il reste pas mal à faire. Vu que j'y connais pas grand chose c'était plus simple de partir de ton code :/
  22. Hydro8

    Ventilation de surfaces

    J'ai essayé de modifier le Lisp TotalArea de gile sans succès. A la ligne : ((= (vla-get-TagString att) "UNIT") (vla-put-TextString att (cadr data)) ) J'ai mis : ((= (vla-get-TagString att) "UNIT") (vla-put-TextString att strcat(" / "(cadr data))) Mais sans succès. )
  23. Hydro8

    Ventilation de surfaces

    Merci pour ton intervention. Effectivement je n'ai peut être pas assez expliqué mes attendus. Au début de la fonction, on nous demande quel coefficient utiliser. Ici je lui renseigne "0.35". Après je sélectionne la polyligne et ensuite il me demande où placer le block. Je précise ici qu'il utilise la surface arrondi au décimètre, donc 12.62m² devient 12.60m². Et que 11.50m² ne changera pas donc indiqué en dur dans le code. Ce block contiendrait les informations suivante : Si j'ai une polyligne de 13.18m², il arrondi à 13.20m² et indique le bloc suivant : Si j'ai une polyligne de 10.48m², il arrondi à 10.50m² et indique le bloc suivant : J'espère que cela est plus compréhensible maintenant ;) Edit : je rajoute également que le texte affiché est bien "11.50 / 0.35" et pas le résultat de la division des deux.
  24. Bonjour, Grâce aux différents posts du forum j'ai pu réaliser une bonne partie des fonctions que j'imaginais pour nous faciliter la vie sur autocad. Je bloque sur une fonction que j'avais imaginé et je ne sais pas si elle est réalisable : - demander le coefficient - sélectionner une ou plusieurs polyligne fermée. - pour chaque polyligne ventiler la surface avec 11.50m² et le coefficient renseigné. Le reste de la surface (arrondi au décimètre) est indiqué à 0.10 Par exemple, si ma première polyligne fait 12.62m² alors j'aurais un bloc : Si la polyligne fait 11.50m² (arrondi) alors seulement la première ligne est renseignée. Si la polyligne fait 11.40m² alors la surface totale est appliqué au coefficient indiqué : Cela serait-il possible ? Merci pour votre aide et vos informations.
  25. Bonjour, J'aurais aimé savoir sur autocad s'il était possible de "stocker" des documents à télécharger en cliquant sur un lien précis ? Par exemple je clique sur un texte, j'ai le choix de télécharger des pdf, doc, xls etc... Deuxième question, est-il possible d'afficher un dwg sur une page internet sans plugins spécifiques ? Merci de vos informations.
×
×
  • 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é