23 août 2019

Légende Auto ou Légende Urbaine?

Photo Légende de Vacances 😆


On ne pourra se mentir, la création de légende sous Revit n'est (à ce jour) pas la partie la plus développée.

Vous aurez beau chercher dans les "namespaces" de l'API de REVIT  on ne trouve pas de méthodes propres aux Légendes pour en créer ou en modifier une.
La solution palliative serait de passer par une nomenclature en insérant dans chaque type de familles une image .png du symbole 2D ... procédure relativement longue et non exploitable dans le cas de changement de symbole.


Mais avec un peu de recherche sur les composants de légende et un peu de créativité voici ce que l'on peut réussir à faire.

Pour le début de la source d'inspiration (pour ceux qui souhaiteraient mettre les mains de le cambouis) c'est par ici, (merci à Jeremy Tammik pour son article). 


21 août 2019

Méthodes de Travail : un P'tit Flashback !

Les générations passent avec les révolutions qui se succèdent.
Après les révolutions industrielles, la révolution numérique change à son tour nos existences, nos sociétés et nos méthodes.


Après un petit voyage aux sources, un petit comparatif avec les nomenclatures:


- Une vielle nomenclature d'avant (de mes aïeux, au claque et fusain)

Tout Droits Réservés
Nomenclature d'une Division (Machine Industrielle dans les Scieries) 


- Les nomenclatures dynamique d'Aujourd’hui (sous Revit)

Quantitatif et double nomenclature avec imbrication (circuits SDI/SMSI + Terminaux)



Nomenclature d’appareillage agrémentée via Dynamo += Python

Note
Excel est accessible aux langages .NET via les fonctionnalités d'interopérabilité COM .NET (ça tombe bien Dynamo utilise IronPython)
Exemple de fonction en Python (IronPython) pour lire une feuille Excel



Alors elle n'est pas belle cette révolution 😃 ? 










11 août 2019

Revit et le Zéro Volt





Revit étant basé sur un module de calcul Américain, certains résultats peuvent nous (pays Européens) laisser perplexe comme le calcul de section des canalisations ou encore la chute de tension qui reste figée à 0V.


Le fait est que les tables d'impédance sont basées sur l'unité de mesure AWG et sont codées en dur dans Revit, donc avec nos sections en mm² Revit ne peut nativement pas faire le calcul.

Revit utilise la formule suivante pour calculer la chute de tension dans les canalisations :
VD=(L*R*I)/1000
Où :
  • VD = Chute de tension
  • L = Longueur du circuit en pieds
  • R = Résistance du conducteur en Ohms par mille pieds, provenant de la table d'impédance des sections de câbles pour le type de fil spécifié,basée sur des données fabricants.
  • I = Courant de la charge en ampères

ConduitSection de câblesTriphaséMonophasé
Facteur de puissance (%)1009080706010090807060
Acier145.3694.8874.3713.8483.3226.25.6435.0474.4443.836
123.4643.1692.8412.5082.17243.6593.2812.8972.508
102.0781.9181.7281.5321.3342.42.2141.9951.7691.54
81.351.2641.1481.0260.91.561.461.3261.1841.04
60.8480.8120.7450.6730.5970.980.9370.860.7770.69
40.5360.5280.4910.450.4050.620.610.5680.5190.468
30.4330.4340.4070.3760.3410.50.5010.470.4340.394
20.3460.3540.3360.3120.2860.40.4090.3880.3610.331
10.2770.2920.280.2640.2450.320.3370.3240.3050.283
1/00.2070.2280.2230.2130.20.240.2630.2580.2460.232
2/00.1730.1960.1940.1880.1780.20.2270.2240.2170.206
3/00.1360.1620.1630.160.1540.1580.1870.1880.1840.178
4/00.1090.1360.140.1390.1360.1260.1570.1620.1610.157
2500.0930.1320.1280.1290.1280.1080.1420.1480.1490.148
3000.0770.1080.1150.1170.1170.090.1250.1330.1350.135
3500.0670.0980.1060.1090.1090.0780.1130.1220.1260126
4000.060.0910.0990.1030.1040.070.1050.1140.1180.12
5000.050.0810.090.0940.0960.0580.0940.1040.1090.111
6000.0430.0750.0840.0890.0920.050.0860.0970.1030.106
7500.0360.0680.0780.0840.0880.0420.0790.0910.0970.102
10000.0310.0620.0720.0780.0820.0360.0720.0840.090.095
Non magnétique145.3695.8764.3553.833.3016.25.635.0294.4223.812
123.4643.1582.8272.4912.15343.6473.2642.8772.486
102.0781.9081.7141.5161.3162.42.2031.981.7511.52
81.351.2551.1341.010.8821.561.4491.311.1661.019
60.8480.8020.7310.6570.5790.980.9260.8450.7580.669
40.5360.5190.4790.4350.3880.620.5990.5530.5020.448
30.4330.4250.3950.3610.3240.50.490.4560.417375
20.3290.330.310.2860.2590.380.3810.3580.330.3
10.2590.2680.2550.2380.2190.30.310.2950.2750.253
1/00.2070.220.2120.1990.1850.240.2540.2440.230.214
2/00.1730.1880.1830.1740.1630.20.2170.2110.2010.188
3/00.1330.1510.150.1450.1380.1540.1750.1730.1670.159
4/00.1070.1270.1280.1250.1210.1240.1470.1480.1450.14
2500.090.1120.1140.1130.110.1040.1290.1320.1310.128
3000.0760.0990.1030.1040.1020.0880.1140.1190.1310.128
3500.0650.0890.0940.0950.0940.0760.1030.1080.110.109
4000.0570.0810.0870.0890.0890.0660.0940.10.1030.103
5000.0460.0710.0770.080.0820.0540.0820.090.0930.094
6000.0390.0650.0720.0760.0770.0460.0750.0830.0870.09
7500.0320.0580.0650.070.0720.0380.0670.0760.080.083
10000.0250.0510.0590.0630.0660.030.0590.0680.0730.077


En France comme pour autres Pays qui travaillent en Section (mm²) et non en AWG la formule de la chute de tension issue de la NFC 15-100 est celle ci:


Formule chute de tension pour circuits triphasés équilibrés, monophasé et même biphasés 
la formule est tirée de la Norme International IEC-60364
avec: 
u étant la chute de tension, en volts,
b étant un coefficient égal à 1 pour les circuits triphasés, et égal à 2 pour les circuits monophasés ou biphasés.
ρ 1 étant la résistivité des conducteurs en service normal, soit 0,023 Ωmm²/m pour le cuivre et 0,037 Ωmm²/m pour l'aluminium ;
L étant la longueur simple de la canalisation, en mètres ;
S étant la section des conducteurs, en mm²;
cosϕ étant le facteur de puissance 
λ étant la réactance linéique des conducteurs, à défaut 0,08 mΩ/m ;
Ib étant le courant d'emploi, en ampères ;

U0 étant la tension entre phase et neutre, en volts pour les circuits monophasés et triphasés

Note:
L'actuelle NFC 15-100 ne décrit pas le cas des circuits biphasés (exemple une armoire de contrôle/commande en  tension 400V sur 2 phases puis abaissée à 24V).   
Dans ce cas U0 sera la tension entre phases. 
La prochaine NFC 15-100 devrait faire figurer ce cas, qui est déjà intégrée dans la FD C15-500.


Donc pour en revenir aux calculs US(USA) vs UE(Europe) la seule divergence entre les 2 formules réside dans le calcul de l'impédance.


Mais il est possible de déterminer la chute de tension par circuit sachant que Revit calcule toutes autres données nécessaire.


la fonction Python
import math
#import ...
#...

def GetDelta_U(section, length, ame, pole, cosphi, ib):
    #RCu : 0,023 Ωmm²/m
    #RAl : 0,037 Ωmm²/m
    #X : 0,08 mΩ/m  ou 0,08 Ω/Km
    #length must be in meter check unitType
    length_km = length * 0.001
    rho = 0.023 if ame == "Cu" else 0.037
    r = (rho * length) / section
    if pole == 1:
        delta = 2 * ib * ((r * cosphi) + 0.08 * length_km * math.sin(math.acos(cosphi)))
        delta_u = (100 * delta) / 230
    elif pole == 2:
        delta = 2 * ib * ((r * cosphi) + 0.08 * length_km * math.sin(math.acos(cosphi)))
        delta_u = (100 * delta) / 400
    elif pole == 3:
        delta = 1 * ib * ((r * cosphi) + 0.08 * length_km * math.sin(math.acos(cosphi)))
        delta_u = (100 * delta) / 230
    return   round(delta_u, 2)
    

avec passage en arguments:


section → paramètre personnalisé ou BuiltInParameter.RBS_ELEC_CIRCUIT_WIRE_SIZE_PARAM (à parser)

longueur →  BuiltInParameter.RBS_ELEC_CIRCUIT_LENGTH_PARAM (attention aux unités à convertir si besoin)

âme → paramètre personnalisé ou BuiltInParameter.RBS_ELEC_CIRCUIT_WIRE_TYPE_PARAM (à parser)

nbr pôle →  BuiltInParameter.RBS_ELEC_NUMBER_OF_POLES

cosϕ → BuiltInParameter.RBS_ELEC_POWER_FACTOR

intensité →  BuiltInParameter.RBS_ELEC_TRUE_CURRENT_PARAM



Le résultat en vidéo avec comparatif des résultats avec CanecoBT.