Archi-Cadlinkeuses, Archi-Cadlinkeurs,
Vous êtes les bienvenus.
Ce forum, ouvert depuis le mois de novembre 2018, a pour objectif, vocation et ambition de répondre à toutes vos interrogations sur l'outil logiciel ArchiCAD®, développé par GRAPHISOFT© (au delà des canaux officiels type forum éditeur, distributeurs, revendeurs... et des "baratins commerciaux" ! ;-)).
Ce lieu souhaite également créer du lien entre ses utilisateurs.
Il s'adresse à tous, du débutant a l'expert, et repose exclusivement sur le bénévolat collaboratif et participatif.
Pour éviter toutes pertes de cette future base de connaissances et la pérenniser, ce forum est géré, administré, développé et financé par une association loi 1901 à but non lucratif. Vous pouvez sur demande adhérer a l'association comme membre actif, moyennent une cotisation faible et attractive ( de 1 € a votre bon coeur ! )
Cet espace auto financé est sans contrainte d'intérêts commerciaux tiers. Il est donc indépendant et libre.
Il est entièrement dédié aux utilisateurs (dessinateur-projeteur, technicien, maitre d’œuvre, collaborateur d'architecte, architecte, ingénieur, etc...).
Il s'adresse donc aux acteurs "sur le terrain", qui conçoivent, produisent, réalisent, diffusent, des publications numériques et/ou "papier", avec ce logiciel.
Les accès au site et à ses différentes rubriques sont entièrement libres et gratuits. Les pièces téléchargeables et le droit à poster exigent l'inscription.
Merci de remplir IMPERATIVEMENT dans les champs de votre profil:
1/ votre numéro de version d'ArchiCAD® (de la 4.5 à la 26 !)
2/ votre OS (Mac ou Windows)
3/ votre localisation
C'est uniquement fait pour faciliter la pertinence des réponses et les échanges.
La rubrique "Je me présente" vous permettra d'accéder à de nouveaux salons permettant le téléchargement d'objets mis à disposition et de quelques autres goodies à venir. Elle vous permet également de vous géolocaliser sur une carte interactive, un lien vous est fourni. Vous avez peut être une ou un collègue près de là où vous exercez !
Les membres du bureau 2023 sont :
David, Felipe, Maël, Nicolas, Pierre, Sam, Simon, Yves
Vous êtes les bienvenus.
Ce forum, ouvert depuis le mois de novembre 2018, a pour objectif, vocation et ambition de répondre à toutes vos interrogations sur l'outil logiciel ArchiCAD®, développé par GRAPHISOFT© (au delà des canaux officiels type forum éditeur, distributeurs, revendeurs... et des "baratins commerciaux" ! ;-)).
Ce lieu souhaite également créer du lien entre ses utilisateurs.
Il s'adresse à tous, du débutant a l'expert, et repose exclusivement sur le bénévolat collaboratif et participatif.
Pour éviter toutes pertes de cette future base de connaissances et la pérenniser, ce forum est géré, administré, développé et financé par une association loi 1901 à but non lucratif. Vous pouvez sur demande adhérer a l'association comme membre actif, moyennent une cotisation faible et attractive ( de 1 € a votre bon coeur ! )
Cet espace auto financé est sans contrainte d'intérêts commerciaux tiers. Il est donc indépendant et libre.
Il est entièrement dédié aux utilisateurs (dessinateur-projeteur, technicien, maitre d’œuvre, collaborateur d'architecte, architecte, ingénieur, etc...).
Il s'adresse donc aux acteurs "sur le terrain", qui conçoivent, produisent, réalisent, diffusent, des publications numériques et/ou "papier", avec ce logiciel.
Les accès au site et à ses différentes rubriques sont entièrement libres et gratuits. Les pièces téléchargeables et le droit à poster exigent l'inscription.
Merci de remplir IMPERATIVEMENT dans les champs de votre profil:
1/ votre numéro de version d'ArchiCAD® (de la 4.5 à la 26 !)
2/ votre OS (Mac ou Windows)
3/ votre localisation
C'est uniquement fait pour faciliter la pertinence des réponses et les échanges.
La rubrique "Je me présente" vous permettra d'accéder à de nouveaux salons permettant le téléchargement d'objets mis à disposition et de quelques autres goodies à venir. Elle vous permet également de vous géolocaliser sur une carte interactive, un lien vous est fourni. Vous avez peut être une ou un collègue près de là où vous exercez !
Les membres du bureau 2023 sont :
David, Felipe, Maël, Nicolas, Pierre, Sam, Simon, Yves
[PYTHON] [ARCHICAD 25] Script SHAB V2
-
- Messages : 834
- Inscription : 20 nov. 2018 23:36
- Localisation : Paris
- Version d'Archicad : 25
- A remercié : 280 fois
- A été remercié : 249 fois
[PYTHON] [ARCHICAD 25] Script SHAB V2
Salut à tous,
INTRO
Ce script a pour objectif d'afficher en plan la surface totale de l'appartement.
Un clic pour mettre à jour l'ensemble des surfaces des appartements du projet.
HISTORIQUE
J'avais partagé le script de POCO il ya quelques temps pour permettre d'afficher un total de SHAB en plan: viewtopic.php?f=20&t=2579 .
Le script marchait mais avait l’inconvénient :
-de bugger rapidement si il n'était pas utilisé exactement comme prévu
-de nécessiter en plus des zones de SHAB, une zone globale unique représentant l'appartement. C'est cette zone d'appartement qui prenait le total de SHAB et qui l'affichait.
Pour rentrer dans le détail, ce script faisait l'addition des surfaces de toutes les zones de SHAB d'un certain numéro de zone et rentrait le résultat dans une propriété de la zone (unique) d'appartement ayant le même numéro de zone.
Je me suis (très rapidement) formé à Python pour modifier ce script et profiter de la nouveauté de la mise à jour de la 25, à savoir la possibilité de mettre des étiquettes sur les zones.
LE SCRIPT
Le nouveau script est plus simple.
1/ Il prends toutes les zones ayant le même numéro de zone
2/ Calcule l'addition des surfaces mesurées des zones de ce numéro
3/ Entre le total de l'addition dans une propriété pour chacune des zones du numéro correspondant.
Pour récupérer le total en plan, il suffit d'utiliser une étiquette de Zone associée à n'importe laquelle des pièces formant la SHAB et d'afficher la propriété correspondant au"Total de Shab".
Pour paramétrer le script, tout a été rassemblé au début pour une modification plus aisée. Dites moi ce que vous en pensez!
INTRO
Ce script a pour objectif d'afficher en plan la surface totale de l'appartement.
Un clic pour mettre à jour l'ensemble des surfaces des appartements du projet.
HISTORIQUE
J'avais partagé le script de POCO il ya quelques temps pour permettre d'afficher un total de SHAB en plan: viewtopic.php?f=20&t=2579 .
Le script marchait mais avait l’inconvénient :
-de bugger rapidement si il n'était pas utilisé exactement comme prévu
-de nécessiter en plus des zones de SHAB, une zone globale unique représentant l'appartement. C'est cette zone d'appartement qui prenait le total de SHAB et qui l'affichait.
Pour rentrer dans le détail, ce script faisait l'addition des surfaces de toutes les zones de SHAB d'un certain numéro de zone et rentrait le résultat dans une propriété de la zone (unique) d'appartement ayant le même numéro de zone.
Je me suis (très rapidement) formé à Python pour modifier ce script et profiter de la nouveauté de la mise à jour de la 25, à savoir la possibilité de mettre des étiquettes sur les zones.
LE SCRIPT
Le nouveau script est plus simple.
1/ Il prends toutes les zones ayant le même numéro de zone
2/ Calcule l'addition des surfaces mesurées des zones de ce numéro
3/ Entre le total de l'addition dans une propriété pour chacune des zones du numéro correspondant.
Pour récupérer le total en plan, il suffit d'utiliser une étiquette de Zone associée à n'importe laquelle des pièces formant la SHAB et d'afficher la propriété correspondant au"Total de Shab".
Pour paramétrer le script, tout a été rassemblé au début pour une modification plus aisée. Dites moi ce que vous en pensez!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Archicad 25 sous windows 10
- Yves Houssier
- Admin Moderateur
- Messages : 4849
- Inscription : 14 nov. 2018 17:17
- Localisation : Seraing - Belgique
- Version d'Archicad : ArchiCAD 23
- A remercié : 289 fois
- A été remercié : 1008 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Salut Mathias,
Je viens de tester ton script en archicad 24 (pas avec une étiquette évidement) juste en choisissant d'afficher la propriété sur une seule des zones, et ça fonctionne très bien.
Pour le faire fonctionné en AC 24 j'ai masqué la ligne archicad 25
#from archicad.releases.ac25.b3000types import ElementPropertyValue
Petit bémol il calcul les valeurs exactes et pas les valeur affichées
(Comme archicad l'a fait pendant des années…)
Avec deux décimales 2 pièces de 20,67 donneront un total de 41,34
Avec 1 seule décimale affichée ça devrait donner 2 * 20,7 = 41,40 mais le résultat du script sera 41,34
Illustration en image Je sais pas si c'est possible avec le script python de régler ce problème de calcul.
Petit question que je me pose.
On nous demande de plus en plus souvent le total des surfaces des pièces de vie (Séjour, cuisine, chambres, … mais pas Hall,Wc, Sdb, buanderie, …), pense tu qu'il y aurait moyen de faire un script qui prendrait en compte un double tri (si type de pièces = "Pièce de vie" alors surface mesurée sinon surface = 0.
Je viens de tester ton script en archicad 24 (pas avec une étiquette évidement) juste en choisissant d'afficher la propriété sur une seule des zones, et ça fonctionne très bien.
Pour le faire fonctionné en AC 24 j'ai masqué la ligne archicad 25
#from archicad.releases.ac25.b3000types import ElementPropertyValue
Petit bémol il calcul les valeurs exactes et pas les valeur affichées

(Comme archicad l'a fait pendant des années…)
Avec deux décimales 2 pièces de 20,67 donneront un total de 41,34
Avec 1 seule décimale affichée ça devrait donner 2 * 20,7 = 41,40 mais le résultat du script sera 41,34
Illustration en image Je sais pas si c'est possible avec le script python de régler ce problème de calcul.
Petit question que je me pose.
On nous demande de plus en plus souvent le total des surfaces des pièces de vie (Séjour, cuisine, chambres, … mais pas Hall,Wc, Sdb, buanderie, …), pense tu qu'il y aurait moyen de faire un script qui prendrait en compte un double tri (si type de pièces = "Pièce de vie" alors surface mesurée sinon surface = 0.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
ArchiCad depuis la 3.43 (1990) à la version 24. Projet en cours sur la 21 est la 23.
Mac Os 10.12 à 10.13
Mac Os 10.12 à 10.13
-
- Messages : 834
- Inscription : 20 nov. 2018 23:36
- Localisation : Paris
- Version d'Archicad : 25
- A remercié : 280 fois
- A été remercié : 249 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Pour l'affichage du total des valeurs affichées, il doit surement y avoir deux méthodes:Yves Houssier a écrit : ↑03 oct. 2022 09:32Petit bémol il calcul les valeurs exactes et pas les valeur affichées![]()
(Comme archicad l'a fait pendant des années…)
Avec deux décimales 2 pièces de 20,67 donneront un total de 41,34
Avec 1 seule décimale affichée ça devrait donner 2 * 20,7 = 41,40 mais le résultat du script sera 41,34
Je sais pas si c'est possible avec le script python de régler ce problème de calcul.
Petit question que je me pose.
On nous demande de plus en plus souvent le total des surfaces des pièces de vie (Séjour, cuisine, chambres, … mais pas Hall,Wc, Sdb, buanderie, …), pense tu qu'il y aurait moyen de faire un script qui prendrait en compte un double tri (si type de pièces = "Pièce de vie" alors surface mesurée sinon surface = 0.
-Méthode "rapide" : je dois pouvoir additionner facilement une propriété (par exemple nommée surface pièce) plutôt que la surface mesurée.
-Méthode nécessitant un peu plus de recherche pour moi: gérer directement dans python les arrondis. Mais j'ai impression que Python est fait pour çà.
Je m'y mets dès que je peux et je modifie le script!
La modification du script pour ne pas compter certaines zones ne me semble pas problématique. Je vois trois possibilités:Yves Houssier a écrit : ↑03 oct. 2022 09:32On nous demande de plus en plus souvent le total des surfaces des pièces de vie (Séjour, cuisine, chambres, … mais pas Hall,Wc, Sdb, buanderie, …), pense tu qu'il y aurait moyen de faire un script qui prendrait en compte un double tri (si type de pièces = "Pièce de vie" alors surface mesurée sinon surface = 0.
-Utiliser des calques différents avec discrimination par calque (déjà intégré dans le script)
-Utiliser une sélection avec discrimination par propriété ( booléen ou liste déroulante...) : probablement pas trop compliqué
-Utiliser comme tu l'indique une discrimination par nom. Ca me semble faisable mais plus spécifique à un process particulier et source d'erreur dès que tu sors des noms habituels.
Archicad 25 sous windows 10
- Yves Houssier
- Admin Moderateur
- Messages : 4849
- Inscription : 14 nov. 2018 17:17
- Localisation : Seraing - Belgique
- Version d'Archicad : ArchiCAD 23
- A remercié : 289 fois
- A été remercié : 1008 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Merci Mathias,
Un booléen ou une liste ferait bien l'affaire ou peut-être encore mieux le code de catégorie
Un booléen ou une liste ferait bien l'affaire ou peut-être encore mieux le code de catégorie
ArchiCad depuis la 3.43 (1990) à la version 24. Projet en cours sur la 21 est la 23.
Mac Os 10.12 à 10.13
Mac Os 10.12 à 10.13
- David
- Admin Tresorier adjoint
- Messages : 659
- Inscription : 18 nov. 2018 13:14
- Localisation : Lyon
- Version d'Archicad : Ca dépend...
- A remercié : 45 fois
- A été remercié : 117 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Hello,Yves Houssier a écrit : ↑03 oct. 2022 09:32Salut Mathias,
Je viens de tester ton script en archicad 24 (pas avec une étiquette évidement) juste en choisissant d'afficher la propriété sur une seule des zones, et ça fonctionne très bien.
Pour le faire fonctionné en AC 24 j'ai masqué la ligne archicad 25
#from archicad.releases.ac25.b3000types import ElementPropertyValue
Petit bémol il calcul les valeurs exactes et pas les valeur affichées![]()
(Comme archicad l'a fait pendant des années…)
Avec deux décimales 2 pièces de 20,67 donneront un total de 41,34
Avec 1 seule décimale affichée ça devrait donner 2 * 20,7 = 41,40 mais le résultat du script sera 41,34
Illustration en image
Capture d’écran SHAB.png
Je sais pas si c'est possible avec le script python de régler ce problème de calcul.
Petit question que je me pose.
On nous demande de plus en plus souvent le total des surfaces des pièces de vie (Séjour, cuisine, chambres, … mais pas Hall,Wc, Sdb, buanderie, …), pense tu qu'il y aurait moyen de faire un script qui prendrait en compte un double tri (si type de pièces = "Pièce de vie" alors surface mesurée sinon surface = 0.
Pour l'arrondi, un "round(Surf, NbDecimales)" fera l'affaire

Par contre, soit on "fige" le réglage (NbDecimales), soit on fait une proposition à l'utilisateur (par ex.:0 , 1 ou 2 décimales) via une variable. Attention à bien faire la manip sur les valeurs additionnées et non sur le résultat!
Pour les autres questions, on peut récupérer toutes les propriétés que l'on veut et les manipuler via des listes et des dictionnaires...

Il y a également la notion de surface "intérieure" ou "extérieure" car on ne veut pas des jardins, balcon, terrasses, etc., ne pas prendre les zones "sans numéros", en fonction de certains calques et pas d'autres, les états de rénovation, les niveaux, etc.

David
LYON | BIM lover, Archicad addicted, OpenBIM forever
W10 | Since AC5 | AC24/AC26 en production... [AC27 en test...]
[ "Ordre et méthode" ]
W10 | Since AC5 | AC24/AC26 en production... [AC27 en test...]
[ "Ordre et méthode" ]
-
- Messages : 834
- Inscription : 20 nov. 2018 23:36
- Localisation : Paris
- Version d'Archicad : 25
- A remercié : 280 fois
- A été remercié : 249 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Comment fais tu pour faire la proposition à l'utilisateur?
J'ai pas encore atteint le niveau pour appeler un popup^^.
Archicad 25 sous windows 10
- David
- Admin Tresorier adjoint
- Messages : 659
- Inscription : 18 nov. 2018 13:14
- Localisation : Lyon
- Version d'Archicad : Ca dépend...
- A remercié : 45 fois
- A été remercié : 117 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Là c'est plus touchy...
Faut te lancer dans tkinter

LYON | BIM lover, Archicad addicted, OpenBIM forever
W10 | Since AC5 | AC24/AC26 en production... [AC27 en test...]
[ "Ordre et méthode" ]
W10 | Since AC5 | AC24/AC26 en production... [AC27 en test...]
[ "Ordre et méthode" ]
- David
- Admin Tresorier adjoint
- Messages : 659
- Inscription : 18 nov. 2018 13:14
- Localisation : Lyon
- Version d'Archicad : Ca dépend...
- A remercié : 45 fois
- A été remercié : 117 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
C'est loin d'être insurmontable mais fais attention aux variables locales... 

LYON | BIM lover, Archicad addicted, OpenBIM forever
W10 | Since AC5 | AC24/AC26 en production... [AC27 en test...]
[ "Ordre et méthode" ]
W10 | Since AC5 | AC24/AC26 en production... [AC27 en test...]
[ "Ordre et méthode" ]
-
- Messages : 834
- Inscription : 20 nov. 2018 23:36
- Localisation : Paris
- Version d'Archicad : 25
- A remercié : 280 fois
- A été remercié : 249 fois
Re: [PYTHON] [ARCHICAD 25] Script SHAB V2
Bonjour à tous.
j'ai repris le script pour gérer la question des arrondis comme suggéré par Yves. Il est paramétré de base sur 2 chiffres après la virgule.
J'en ai profité pour le simplifier (aucun changement à l'usage, c'est "sous le capot") si quelqu'un veut le reprendre.
Je me renseigne sur le critère de sélection supplémentaire, c'est un peu plus compliqué que je prévoyais si on utilise une liste d'option. Je vous tiens au courant.
NB: Pour ceux qui seraient interessé mais n'osent pas l'installer, c'est facile et bien expliqué ici: https://docs.archicad.fr/contenus-bim/scripts-python-2/
CI dessous la partie a modifier selon votre template: Le script mis à jour.
j'ai repris le script pour gérer la question des arrondis comme suggéré par Yves. Il est paramétré de base sur 2 chiffres après la virgule.
J'en ai profité pour le simplifier (aucun changement à l'usage, c'est "sous le capot") si quelqu'un veut le reprendre.
Je me renseigne sur le critère de sélection supplémentaire, c'est un peu plus compliqué que je prévoyais si on utilise une liste d'option. Je vous tiens au courant.
NB: Pour ceux qui seraient interessé mais n'osent pas l'installer, c'est facile et bien expliqué ici: https://docs.archicad.fr/contenus-bim/scripts-python-2/
CI dessous la partie a modifier selon votre template: Le script mis à jour.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Archicad 25 sous windows 10