Aller au contenu

Ventilation de surfaces


Hydro8

Messages recommandés

Coucou

 

Non, dans un code on peut définir le bloc, ça fait souvent bien des lignes

Mais l'avantage est que le programme est "auto-porteur"

Il est possible de le lancer dans n'importe quel fichier de dessin

Même si ce fichier ne contient pas le bloc , en tant que définition ou réellement inséré

Est-ce que le fonctionnement que tu constates correspond à tes attentes ?

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 82
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

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 !

Lien vers le commentaire
Partager sur d’autres sites

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".

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

C'est ce que je disais en préambule, mais on dirait que les gens (en général) ne lisent pas ce qui est écrit mais lisent ce qu'ils veulent lire !

 

Si, et seulement si, ce que j'ai écrit correspond à tes attentes car je n'ai pas vraiment intégré toutes tes volontés

Alors on va pouvoir peaufiner le programme et entrer dans les phases de contrôle des entités, de boucles pour sélection multiples etc

Je renouvelle donc ma question : est-ce que c'est OK pour le fonctionnement ?

 

Ensuite tu me diras ce que tu veux comme amélioration et je me charge des contrôles.

 

 

Lien vers le commentaire
Partager sur d’autres sites

OK

 

Je passe donc à l'étape suivante...

Au niveau des tes souhaits il n'y a rien que tu ne m'aurais pas dit ?

Un listing est-il souhaité in fine ?

Et-ce important de vérifier si la polyligne est close ou pas ?, le programme doit-il traiter une polyligne ouverte ?

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

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é ?

Lien vers le commentaire
Partager sur d’autres sites

Bon ce que je vais proposer ne répond pas à la demande, ici c'est pour des conduites mais je pense que le principe est similaire.Donc je pense que le code pourrait être transposable à la demande.

Testez le! est si ça semble correspondre, on doit pouvoir le personnaliser.

 

(defun c:conduite ( / AcDoc Space msg_f msg_n n old_cutmnu old_plw old_osm pt_f lst_pt lst_tmp pt_n nw_pl key htx nw_style nw_obj pt rtx dxf_ent tmp deriv)
 (setq
AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
Space
(if (eq (getvar "CVPORT") 1)
 	(vla-get-PaperSpace AcDoc)
 	(vla-get-ModelSpace AcDoc)
)
msg_f "\nSpécifiez l'extrémité de la ligne ou [annUler]: "
msg_n "\nSpécifiez l'extrémité de la ligne ou [Clore/annUler]: "
n 0
old_cutmnu (getvar "SHORTCUTMENU")
old_plw (getvar "PLINEWID")
old_osm (getvar "OSMODE")
 )
 (setvar "OSMODE" 5)
 (while (null (setq pt_f (getpoint "\nSpécifiez le point de départ de la polyligne: ")))
(princ "\nPoint incorrect.")
 )
 (setq pt_f (trans pt_f 1 0) lst_pt (list pt_f) lst_tmp lst_pt)
 (setvar "LASTPOINT" (car lst_pt))
 (initget "U ANNUler _Undo UNDO")
 (while (and (setq pt_n (getpoint (trans pt_f 0 1) (if (< n 2) msg_f msg_n))) (/= pt_n "Close"))
(if (listp pt_n)
 	(progn
   	(setq pt_n (trans pt_n 1 0) lst_pt (cons pt_n lst_pt) lst_tmp lst_pt)
   	(setvar "LASTPOINT" (car lst_pt))
   	(setq n (1+ n) pt_f pt_n)
 	)
 	(if (zerop n)
   	(princ "\nTous les segments sont déjà annulés.")
   	(progn
     	(setq lst_pt (cdr lst_pt) lst_tmp lst_pt)
     	(setvar "LASTPOINT" (car lst_pt))
     	(setq n (1- n) pt_f (getvar "lastpoint"))
   	)
 	)
)
(if (< n 1)
 	(initget "U ANNUler _Undo UNDO")
 	(initget "U ANNUler Clore _Undo UNDO Close")
)
(redraw)
(while (cdr lst_tmp) (grdraw (trans (car lst_tmp) 0 1) (trans (cadr lst_tmp) 0 1) 7) (setq lst_tmp (cdr lst_tmp)))
 )
 (redraw)
 (setq nw_pl (vlax-invoke Space 'AddLightWeightPolyline (apply 'append (mapcar 'list (mapcar 'car lst_pt) (mapcar 'cadr lst_pt)))))
 (if (eq pt_n "Close")
(vlax-put nw_pl 'Closed 1)
 )
 (setvar "SHORTCUTMENU" 11)
 (setvar "PLINEWID" 0.0)
 (if (not (eq (substr (getvar "USERS1") 1 3) "plw"))
(setvar "USERS1" "plw0.0")
 )
 (initget 4)
 (setq key (getreal (strcat "\nDiamètre souhaité (Epaisseur de la polyligne canalisation en Centimètre) <" (itoa (fix (atof (substr (getvar "USERS1") 4 5)))) ">?: ")))
 (if key (setvar "USERS1" (strcat "plw" (rtos Key 2 1))))
 (vlax-put nw_pl 'ConstantWidth (* (atof (substr (getvar "USERS1") 4 5)) 0.001))
 (initget "PVC BETON PEHD")
 (setq key (getkword "\nType de conduite [PVC/BETON/PEHD]?: "))
 (cond
((null (tblsearch "LAYER" "CANALISATION"))
 	(vla-add (vla-get-layers AcDoc) "CANALISATION")
)
 )
 (vlax-put nw_pl 'Layer "CANALISATION")
 (cond
((null (tblsearch "STYLE" "CONDUITE"))
 	(setq nw_style (vla-add (vla-get-textstyles AcDoc) "CONDUITE"))
 	(mapcar
   	'(lambda (pr val)
     	(vlax-put nw_style pr val)
   	)
   	(list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag)
   	(list (strcat (getenv "windir") "\\fonts\\arial.ttf") 0.0 0.0 1.0 0.0)
 	)
)
 )
 (initget 6)
 (setq htx (getdist (getvar "VIEWCTR") (strcat "\nSpécifiez la hauteur du texte <" (rtos (getvar "TEXTSIZE")) ">: ")))
 (if htx (setvar "TEXTSIZE" htx))
 (setq nw_obj
(vla-addMtext Space
 	(vlax-3d-point (setq pt (polar '(0.0 0.0 0.0) (* pi 0.5) (getvar "TEXTSIZE"))))
 	(setq rtx 0.0)
 	(strcat
   	key
   	" -Tuyau- " ; ou tout autres textes ou supprimer la ligne pour aucun texte
   	" %%C:"
   	"%<\\AcObjProp Object(%<\\_ObjId "
   	(itoa (vla-get-ObjectID nw_pl))
   	">%).ConstantWidth \\f \"%lu2%pr0%ct8[1000]\">%" ; facteur de 1000 pour retrouver le diamètre original
   	" L = " "%<\\AcObjProp Object(%<\\_ObjId "
   	(itoa (vla-get-ObjectID nw_pl))
   	">%).Length \\f \"%lu2%pr1\">%" "m"
 	)
)
 )
 (mapcar
'(lambda (pr val)
 	(vlax-put nw_obj pr val)
)
(list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation)
(list 5 (getvar "TEXTSIZE") 5 pt "CONDUITE" "CANALISATION" rtx)
 )
 (setq dxf_ent (entget (entlast)))
 (while (or (= 5 (car (setq tmp (grread t 5 1)))) (/= (car tmp) 25) (= (car tmp) 3))
(cond
 	((= 5 (car tmp))
   	(setq
     	pt (vlax-curve-getClosestPointTo nw_pl (trans (cadr tmp) 1 0))
     	deriv (vlax-curve-getFirstDeriv nw_pl (vlax-curve-GetParamAtPoint nw_pl pt))
     	rtx (- (atan (cadr deriv) (car deriv)) (angle '(0 0 0) (getvar "UCSXDIR")))
   	)
   	(if (or (> rtx (* pi 0.5)) (< rtx (- (* pi 0.5)))) (setq rtx (+ rtx pi)))
   	(entmod
     	(subst
       	(cons 50 rtx)
       	(assoc 50 dxf_ent)
       	(subst (cons 10 (polar pt (+ rtx (* pi 0.5)) (+ (* (atof (substr (getvar "USERS1") 4 5)) 0.001) (getvar "TEXTSIZE")))) (assoc 10 dxf_ent) dxf_ent)
     	)
   	)
   	(entupd (cdar dxf_ent))
 	)
 	((= 3 (car tmp))
   	(setq nw_obj
     	(vla-addMtext Space
       	(vlax-3d-point (setq pt (polar '(0.0 0.0 0.0) (* pi 0.5) (+ (* (atof (substr (getvar "USERS1") 4 5)) 0.001) (getvar "TEXTSIZE")))))
       	(setq rtx 0.0)
       	(strcat
         	key
         	" -Tuyau- " ; ou tout autres textes ou supprimer la ligne pour aucun texte
         	" %%C:"
         	"%<\\AcObjProp Object(%<\\_ObjId "
         	(itoa (vla-get-ObjectID nw_pl))
         	">%).ConstantWidth \\f \"%lu2%pr0%ct8[1000]\">%" ; facteur de 1000 pour retrouver le diamètre original
         	" L = " "%<\\AcObjProp Object(%<\\_ObjId "
         	(itoa (vla-get-ObjectID nw_pl))
         	">%).Length \\f \"%lu2%pr1\">%" "m"
       	)
     	)
   	)
   	(mapcar
     	'(lambda (pr val)
       	(vlax-put nw_obj pr val)
     	)
     	(list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation)
     	(list 5 (getvar "TEXTSIZE") 5 pt "CONDUITE" "CANALISATION" rtx)
   	)
   	(setq dxf_ent (entget (entlast)))
 	)
 	(T (princ "\nArrêt anormal de la commande "))
)
 )
 (entdel (entlast))
 (setvar "PLINEWID" old_plw)
 (setvar "SHORTCUTMENU" old_cutmnu)
 (setvar "OSMODE" old_osm)
 (princ)
)

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

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 :

 

erreur: no function definition: nil

 

Une idée de l'origine de cette erreur ?

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je ne voudrais pas enfencer le clou, mais je me permet de répéter qu'il faut y aller doucement, en sachant bien ce qu'il ce passe à chaque moment.

par exemple quand on crée une fonction, ici

(defun c:MSPk ()

 

Demande toi ce qu'il se passe entre les 2 parenthèses.

 

ou comment le code s'organise après un if.

 

tu trouveras les réponse sur ce site, ainsi que celui de Gile par exemple

 

Bon courage

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Je ne comprends pas, en même temps tu ne donnes pas d'explications !

Je pensais que puisque tu n'en disais rien ta fonction dans son état actuel fonctionnait suivant tes désirs

J'ai testé et on ne me demande jamais (sauf au lancement) si je dois choisir base ou coef

Sans compter que je ne sais toujours pas ce que veux dire base, coef...

Je vais donc tenter de travailler pour toi en souhaitant que ce ne soit pas en vain.

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous.

 

Je viens de lire l'ensemble du poste et comprend à peu près ce que désire Hydro8.

 

J'ai l'impression que ce sont des places de stationnement et qu'il s'agisse d'une copropriété, je me trompe ?

 

Je tenterais de te faire un truc ce soir, si je trouve le temps...

 

Mais je pense avoir compris...

 

1.Sélection d'une polyligne OU options,

2.Si sélection de Polyligne => Traitement arithmétique de sa surface avec les données des options, puis insertion du bloc "SurfPk", puis retour à 1

3.Si options => Saisie des deux options (base de surface ET coeficient), puis retour à 1.

 

Si c'est ok pour toi, je pense en être capable.

 

Mais comme le sous-entend tacitement Maître didier dans son site (que je consulte souvent et que je conseil autant) : Il est préférable d'écrire un code entièrement plutôt que de jouxter des copier/coller ou de reprendre un autre code pour le "modifier"...

 

Et je t'avouerai qu'être concis dans les explication reste aussi un de mes nombreux défauts...

 

Bon week-end à tous...

 

Denis...

 

PS : j'aurais besoin de ton bloc : SurfPk

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Petite question, je ne comprend pas pourquoi tu testes si coef est différent de 0.35.

((/= coeff 0.35)
 (setq	surf1 base
surf2 (- surf surf1)
 )
)

S'il est différent, que doit-on faire ?

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Bon, finalement, j'avais quelques petites minutes devant moi.

 

Alors, voici un code fait sans ton bloc, je ne peut pas aller plus loin...

;;; ***************************************
;;; Calculs de surperficies de polylignes  
;;; pour Hydro8 de CadXP.com               
;;; ***************************************
(defun c:MSPk (/ option old_base base old_coeff coeff poly surf surf1 surf2 pins poly polyvla)
 (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)
 ) ;_ Fin de if
 (if (= old_coeff nil)
   (setq coeff 0.35)
   (setq coeff old_coeff)
 ) ;_ Fin de if
 (setq poly (entsel "\nSélectionner la polyligne ou 'ENTRER' pour les options : "))
 (if (/= poly nil)
   (while (/= poly nil)
     (setq polyvla (vlax-ename->vla-object (car poly)))
     (setq surf (vlax-get-property polyvla 'area))
     (cond
((< surf base)
 (setq surf1 surf
       surf2 0.0
 ) ;_ Fin de setq
)
((> surf base)
 (setq surf1 base
       surf2 (- surf surf1)
 ) ;_ Fin de setq
)
((/= coeff 0.35)
 (setq surf1 base
       surf2 (- surf surf1)
 ) ;_ Fin de setq
)
     ) ;_ Fin de cond
     (setq pins (getpoint "\nPoint d'insertion du bloc ?\n"))
     (command "_insert" "SurfPk" pins "1" "" "" (rtos surf1 2 1) (rtos coeff 2 2) (rtos surf2 2 1))
     (setq poly (entsel "\nChoix de la polyligne\n"))
   ) ;_ Fin de progn
   (progn (setq base  (getreal "\nChoisissez la base <11.5> (par défaut) : ")
	 coeff (getreal "\nChoisissez le coefficient <0.35> (par défaut) : ")
   ) ;_ Fin de setq
   (vlax-ldata-put "MSPK" "Base" base)
   (vlax-ldata-put "MSPK" "Coeff" coeff)
   ) ;_ Fin de progn
 ) ;_ Fin de while
 (princ)
) ;_ Fin de defun

Tu peut le modifier à ta convenance, je pense que la méthodologie devrait être bonne. Tiens nous au courant...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

J'arrive à rien aujourd'hui avec ce code, pardon, j'arrête

Un autre jour peut-être

 

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

Lien vers le commentaire
Partager sur d’autres sites

@DenisHen : haha comment tu as compris qu'effectivement c'était pour les places de parking en copropriété ?!

J'ai fais des copropriété de plusieurs centaines de lots pendant presque 15 ans, alors quand j'ai vu ton dessin, j'ai tilté... ;)

 

- 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 ?

Je regarde ça ce soir.

 

- Quand je fais "Entrée", que je rentre une surface et un coeff il ne passe rien après.

Tu refais "ENTER" ou [espace].

 

Merci encore pour ton aide !

Content d'être utile à CadXP et à ses membres...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Si tu es dans le vrai je pense que les conditions peuvent se définir depuis la superficie de la polyligne, non ?

En un mot comme en cent et c'est ce que je demande comme explication depuis le début

POURQUOI à un moment il faut choisir BASE ? et changer le coef ?

J'ai à moitié lâché l'affaire car je n'aime pas (mais alors pas du tout !) travailler dans le noir

 

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Cette fois je lâche complet, je laisse la main à DenisHEN

Pour ce qui est des copropriétés j'en ai fait des milliers mais à l'époque on travaillait sans ordi toutefois les lots de parking n'étaient pas à 0.35, c'est énorme comme coef

Je suis certain que ce n'est pas une bonne façon de faire mais j'attends toujours les vraies explications de ce qui justifie le changement de coef et de base

Je reviens de temps pour voir si ma demande est prise en compte ou pas...

Lien vers le commentaire
Partager sur d’autres sites

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².

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant



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