#1 Le 13/01/2010, à 12:09
- peterp@n
Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Bonjour à tous,
Je suis étudiant en construction bois (charpentes, ossature bois, lamellé-collé ...).
Je me suis mis à la programmation (très) amateur pour vérifier et dimensionner aux Eurocodes les éléments d'une structure en bois au début avec les tableur puis avec Python.
Bref explications des Eurocodes :
Les Eurocodes (EC) sont les normes européennes de calculs dans le domaine du Génie Civil.
Il y a 10 familles ; EC0 et EC1 traitent de la base (charges de neiges, de vent...), EC2 à 7 et 9 traitent des différents matériaux utilisés, EC8 traitent des séismes.
Elles vont devenir obligatoires dans tout les pays Européens d'ici quelques années.
Pour le bois on travaille avec les EC5.
Logiciels existants propriétaires :
Il existes pour l'instant 3 logiciels propriétaire et pro-MS Windows qui permettent de calculer une structure.
MD-BAT de la société MD-BAT. Simple et plus ou moins efficaces.
Autodesk Robot Structural Analysis Professional de la société Autodesk. Une véritable usine à gaz !
ACORD de la société itech-soft. Pas encore testé.
Bien sur les licences coutent très cher.
Logiciels existants libre :
pyBar un logiciel libre de rdm pour le calcul de structures planes de type poutres, basé sur la méthode des déplacements.
structurix est un programme gratuit de calcul basé sur le principe des éléments finis.
Code_Aster
SALOME MECA
CAELinux est une distribution basée sur Ubuntu 8.04 intégrant toute sorte de logiciel de calcul.
Idée initiale :
Après discussion avec les personnes intéressées on pourrait s'orienter vers un logiciel de RDM Multi Matériaux.
C'est pourquoi, j'aimerais créer un logiciel libre et gratuit pour vérifier une structure en bois.
Bien sur je ne pourrais pas faire quelque chose d'aussi poussé que ce qu'y existent déjà.
Mais je vise les petits artisans et les PME principalement afin de promouvoir les maisons à ossature bois car ce domaine souffre de l'incompétence de certains ce qui donne une mauvaise image de la filière.
En effet comme on présente ça comme quelque chose de facile il y a des opportunistes qui font n'importe quoi.
Le but :
Mon but final serait des coupler tout ça avec le logiciel pyBar.
Il y aurait une première partie pour définir les charges, une deuxième partie pour modéliser la structure avec pyBar en reprenant les charges de la première partie, et enfin une troisième partie pour vérifier et éditer une note de calcul.
Voilà où j'en suis :
Autant dire tout de suite...pas loin !
Le premier programme que j'ai créé est une petite interface en Python et tkinter pour vérifier dans un premier temps une barre en traction. Il se base sur une "base de données" en xml.
materiau.xml
<?xml version="1.0" ?>
<element_racine>
<profil id="C14" mat="BM" essence="resineux" fmk="14" ftok="8" ft90k="0.4" fc0k="16" fc90k="2" fvk="1.7" E0m="7" E0k="4.7" E90m="0.23" Gm="0.44" Gk="0.29" pk="290" pm="350" gM="1.3"/>
<profil id="C16" mat="BM" essence="resineux" fmk="16" ftok="10" ft90k="0.5" fc0k="17" fc90k="2.2" fvk="1.8" E0m="8" E0k="5.4" E90m="0.27" Gm="0.5" Gk="0.34" pk="310" pm="370" gM="1.3"/>
<profil id="C18" mat="BM" essence="resineux" fmk="18" ftok="11" ft90k="0.5" fc0k="18" fc90k="2.2" fvk="2" E0m="9" E0k="6" E90m="0.3" Gm="0.56" Gk="0.38" pk="320" pm="380" gM="1.3"/>
<profil id="C20" mat="BM" essence="resineux" fmk="20" ftok="12" ft90k="0.5" fc0k="19" fc90k="2.3" fvk="2.2" E0m="9.5" E0k="6.4" E90m="0.32" Gm="0.59" Gk="0.4" pk="330" pm="390" gM="1.3"/>
<profil id="C22" mat="BM" essence="resineux" fmk="22" ftok="13" ft90k="0.5" fc0k="20" fc90k="2.4" fvk="2.4" E0m="10" E0k="6.7" E90m="0.33" Gm="0.63" Gk="0.42" pk="340" pm="410" gM="1.3"/>
<profil id="C24" mat="BM" essence="resineux" fmk="24" ftok="14" ft90k="0.5" fc0k="21" fc90k="2.5" fvk="2.5" E0m="11" E0k="7.4" E90m="0.37" Gm="0.69" Gk="0.46" pk="350" pm="420" gM="1.3"/>
<profil id="C27" mat="BM" essence="resineux" fmk="27" ftok="16" ft90k="0.6" fc0k="22" fc90k="2.6" fvk="2.8" E0m="11.5" E0k="7.7" E90m="0.38" Gm="0.72" Gk="0.48" pk="370" pm="450" gM="1.3"/>
<profil id="C30" mat="BM" essence="resineux" fmk="30" ftok="18" ft90k="0.6" fc0k="23" fc90k="2.7" fvk="3" E0m="12" E0k="8" E90m="0.4" Gm="0.75" Gk="0.5" pk="380" pm="460" gM="1.3"/>
<profil id="C35" mat="BM" essence="resineux" fmk="35" ftok="21" ft90k="0.6" fc0k="25" fc90k="2.8" fvk="3.4" E0m="13" E0k="8.7" E90m="0.43" Gm="0.81" Gk="0.54" pk="400" pm="480" gM="1.3"/>
<profil id="C40" mat="BM" essence="resineux" fmk="40" ftok="24" ft90k="0.6" fc0k="26" fc90k="2.9" fvk="3.8" E0m="14" E0k="9.4" E90m="0.47" Gm="0.88" Gk="0.59" pk="420" pm="500" gM="1.3"/>
<profil id="C45" mat="BM" essence="resineux" fmk="45" ftok="27" ft90k="0.6" fc0k="27" fc90k="3.1" fvk="3.8" E0m="15" E0k="10" E90m="0.5" Gm="0.94" Gk="0.63" pk="440" pm="520" gM="1.3"/>
<profil id="C50" mat="BM" essence="resineux" fmk="50" ftok="30" ft90k="0.6" fc0k="29" fc90k="3.2" fvk="3.8" E0m="16" E0k="10.7" E90m="0.53" Gm="1" Gk="0.67" pk="460" pm="550" gM="1.3"/>
<profil id="D30" mat="BM" essence="feuillu" fmk="30" ftok="18" ft90k="0.6" fc0k="23" fc90k="8" fvk="3" E0m="10" E0k="8" E90m="0.64" Gm="0.6" Gk="0.5" pk="530" pm="640" gM="1.3"/>
<profil id="D35" mat="BM" essence="feuillu" fmk="35" ftok="21" ft90k="0.6" fc0k="25" fc90k="8.4" fvk="3.4" E0m="10" E0k="8.7" E90m="0.69" Gm="0.65" Gk="0.54" pk="560" pm="670" gM="1.3"/>
<profil id="D40" mat="BM" essence="feuillu" fmk="40" ftok="24" ft90k="0.6" fc0k="26" fc90k="8.8" fvk="3.8" E0m="11" E0k="9.4" E90m="0.75" Gm="0.7" Gk="0.59" pk="590" pm="700" gM="1.3"/>
<profil id="D50" mat="BM" essence="feuillu" fmk="50" ftok="30" ft90k="0.6" fc0k="29" fc90k="9.7" fvk="4.6" E0m="14" E0k="11.8" E90m="0.93" Gm="0.88" Gk="0.74" pk="650" pm="780" gM="1.3"/>
<profil id="D60" mat="BM" essence="feuillu" fmk="60" ftok="36" ft90k="0.6" fc0k="32" fc90k="10.5" fvk="5.3" E0m="17" E0k="14.3" E90m="1.13" Gm="1.06" Gk="0.89" pk="700" pm="840" gM="1.3"/>
<profil id="D70" mat="BM" essence="feuillu" fmk="70" ftok="42" ft90k="0.6" fc0k="34" fc90k="13.5" fvk="6" E0m="20" E0k="16.8" E90m="1.33" Gm="1.25" Gk="1.05" pk="900" pm="1080" gM="1.3"/>
<profil id="GL24h" mat="BLC" essence="resineux" fmk="24" ftok="16.5" ft90k="0.4" fc0k="24" fc90k="2.7" fvk="2.7" E0m="11.6" E0k="9.4" E90m="0.39" Gm="0.72" Gk="0.59" pk="380" pm="440" gM="1.25"/>
<profil id="GL28h" mat="BLC" essence="resineux" fmk="28" ftok="19.5" ft90k="0.45" fc0k="26.5" fc90k="3" fvk="3.2" E0m="12.6" E0k="10.2" E90m="0.42" Gm="0.78" Gk="0.64" pk="410" pm="480" gM="1.25"/>
<profil id="GL32h" mat="BLC" essence="resineux" fmk="32" ftok="22.5" ft90k="0.5" fc0k="29" fc90k="3.3" fvk="3.8" E0m="13.7" E0k="11.1" E90m="0.46" Gm="0.85" Gk="0.69" pk="430" pm="520" gM="1.25"/>
<profil id="GL36h" mat="BLC" essence="resineux" fmk="36" ftok="26" ft90k="0.6" fc0k="31" fc90k="3.6" fvk="4.3" E0m="14.7" E0k="11.9" E90m="0.49" Gm="0.91" Gk="0.74" pk="450" pm="560" gM="1.25"/>
<profil id="GL24c" mat="BLC" essence="resineux" fmk="24" ftok="14" ft90k="0.35" fc0k="21" fc90k="2.4" fvk="2.2" E0m="11.6" E0k="9.4" E90m="0.32" Gm="0.59" Gk="0.59" pk="350" pm="420" gM="1.25"/>
<profil id="GL28c" mat="BLC" essence="resineux" fmk="28" ftok="16.5" ft90k="0.4" fc0k="24" fc90k="2.7" fvk="2.7" E0m="12.6" E0k="10.2" E90m="0.39" Gm="0.72" Gk="0.64" pk="380" pm="460" gM="1.25"/>
<profil id="GL32c" mat="BLC" essence="resineux" fmk="32" ftok="19.5" ft90k="0.45" fc0k="26.5" fc90k="3" fvk="3.2" E0m="13.7" E0k="11.1" E90m="0.42" Gm="0.78" Gk="0.69" pk="410" pm="500" gM="1.25"/>
<profil id="GL36c" mat="BLC" essence="resineux" fmk="36" ftok="22.5" ft90k="0.5" fc0k="29" fc90k="3.3" fvk="3.8" E0m="14.7" E0k="11.9" E90m="0.46" Gm="0.85" Gk="0.74" pk="450" pm="540" gM="1.25"/>
</element_racine>
Le programme :
tractionEC5.py
Je n'ai aucune responsabilité quant à une éventuelle crise cardiaque ou perte de cheveux si un programmeur voit ça
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# Calcul du taux de travail en traction
import os
import os.path
import sys
import Pmw
from Tkinter import *
import tkMessageBox
from math import *
from xml.dom import minidom
HERE = os.path.dirname(sys.argv[0])
APPDIR = os.path.abspath(HERE)
sys.path.insert(0, APPDIR)
os.chdir(APPDIR)
#################################
#----------FONCTIONS------------#
# #
#################################
# fonction de récupération de la valeur en fonction du "symbole" dans la liste de 25 "ligne"
# du fichier materiau.xml. 25 lignes pour les 25 classes mécaniques de bois.
# RAPPEL : 0<=ligne<=25 ; m = "id" mat essence fmk ftok ft90k fc0k fc90k
#fvk E0m E0k E90m Gm Gk pk pm gM
def valeur_du_symbole(ligne,symbole) :
xmldoc = minidom.parse('materiau.xml')
reflist = xmldoc.getElementsByTagName('profil')
ligneX = reflist[ligne]
ligneX.attributes[symbole]
valeur_symbole = ligneX.attributes[symbole]
valeur_symbole = valeur_symbole.value
valeur_symbole = valeur_symbole.encode('utf-8')
return valeur_symbole
# création list classe mécanique bois
def list_classmeca():
xmldoc = minidom.parse('materiau.xml')
reflist = xmldoc.getElementsByTagName('profil')
listmeca = [ligneX.attributes["id"].value for ligneX in reflist]
return listmeca
#trouve le numéro de ligne de l'entrée de la combobox dans mecalist
def trouve():
classmeca = combo.get()
i=0
while i< len(mecalist):
if mecalist[i]==classmeca:
return i
i=i+1
return -1
#affiche valeur ft0k dans entr3
def affiche_ft0k():
entr3.delete(0,20)
ft0k=valeur_du_symbole(trouve(),"ftok")
entr3.insert(0, ft0k)
#affiche valeur de gM dans entr4
def affiche_gM():
entr4.delete(0,20)
gM=valeur_du_symbole(trouve(),"gM")
entr4.insert(0, gM)
#affiche valeurs k ft0k et gM dans entr3 et entr4
def affiche_valeursk():
affiche_ft0k()
affiche_gM()
#calcul de kh
def calcul_kh():
entr5.delete(0,20)
gM=float(entr4.get())
hauteur=float(entr2.get())
if gM==1.3:
if hauteur>=150:
kh=1.0
entr5.insert(0,kh)
else :
if hauteur<150 :
kh=(150/hauteur)
kh =pow(kh,0.2)
kh=min(1.3,kh)
kh=float(int(kh*100))/100
entr5.insert(0,kh)
elif gM==1.25:
if hauteur>=600:
kh=1.0
entr5.insert(0,kh)
else :
if hauteur<600 :
kh=pow(600/hauteur,0.1)
kh=min(1.1,kh)
kh=float(int(kh*100))/100
entr5.insert(0,kh)
#calcul du taux de travail
def calculfinal():
base = eval(entr1.get())
hauteur = eval(entr2.get())
Aire = base * hauteur
Effort = eval(entr6.get())
st0d = Effort / Aire
Ft0k = eval(entr3.get())
Kh = eval(entr5.get())
Kmod = eval(entr7.get())
gM = float(eval(entr4.get()))
Ft0d = Ft0k * Kh * Kmod / gM
travail = (st0d / Ft0d)
return travail
# Affich messagBox du taux de travail et inscrit le résultat en bas
def affiche_travail():
Titel = "Traction"
Message = float(int(calculfinal()*10000))/100
Message = "Taux de travail = " + str(Message) + "%"
messbox = tkMessageBox.showinfo(Titel, Message)
txt10.configure(text=Message)
#################################
#----------WIDGETS--------------#
#fentre,bouton,entry,combo #
#################################
#récupe des listes
mecalist = list_classmeca()
# création de la fenetre
fen1=Pmw.initialise()
fen1.title("Vérification du taux de travail en traction")
# création de widgets 'Label' et 'Entry' :
tex01 = Label(fen1, text='Vérification du taux de travail en traction.')
tex02 = Label(fen1, text='Définition de l\'élément étudié')
b1 =Button(fen1,text = 'Appliquer les valeurs k',command = affiche_valeursk)
txt1 = Label(fen1, text ='Base, b en mm :')
txt2 = Label(fen1, text ='Hauteur, h en mm :')
txt3 = Label(fen1, text ='ft,0,k en MPa :')
txt4 = Label(fen1, text ='γM :')
txt5 = Label(fen1, text ='kh :')
b2 = Button(fen1,text ='Calcul de kh?',command = calcul_kh)
tex03 = Label(fen1, text='Définition de l\'effort')
txt6 = Label(fen1, text ='N en N :')
txt7 = Label(fen1, text ='kmod :')
entr1 = Entry(fen1)
entr2 = Entry(fen1)
entr3 = Entry(fen1)
entr4 = Entry(fen1)
entr5 = Entry(fen1)
entr6 = Entry(fen1)
entr7 = Entry(fen1)
b3 = Button(fen1, text ='Calcul taux de travail',command=affiche_travail)
txt10 = Label(fen1, text ='néant')
b4 = Button(fen1,text='Fermer',command=sys.exit)
# Mise en place de combobox :
combo = Pmw.ComboBox(fen1, labelpos = NW,
label_text = 'Choisissez la classe mécanique :',
scrolledlist_items = mecalist,
listheight = 150,)
# Mise en page à l'aide de la méthode 'grid'
tex01.grid(row=1, column=1)
tex02.grid(row =2, column =1)
b1.grid(row=2, column =3)
txt1.grid(row =4, column =1)
txt2.grid(row =5, column =1)
txt3.grid(row =6, column =1)
txt4.grid(row =7, column =1)
txt5.grid(row =8, column =1)
tex03.grid(row =9, column =1)
txt6.grid(row =10, column =1)
txt7.grid(row =11, column =1)
entr1.grid(row =4, column =2)
entr2.grid(row =5, column =2)
entr3.grid(row =6, column =2)
entr4.grid(row =7, column =2)
entr5.grid(row =8, column =2)
b2.grid(row=8, column =3)
entr6.grid(row =10, column =2)
entr7.grid(row =11, column =2)
b3.grid(row=16,column= 2)
txt10.grid(row=17, column= 2)
combo.grid(row = 2,column=2)
b4.grid(row=17, column= 3)
# démarrage :
fen1.mainloop()
Amis étudiants en Construction Bois ou en Génie Civil, Charpentiers, Programmeurs, si ce projet vous intéresses faites moi signe.
En ce qui me concerne je suis doué pour les calculs, et les GUI même si j'aime la programmation il faut avoué que je suis très limité de ce coté là.
De plus j'ai toute la vie devant moi.
Je suis ouvert à toutes critiques et propositions.
A suivre...
Dernière modification par Peterpan12 (Le 08/05/2010, à 16:12)
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#2 Le 13/01/2010, à 12:39
- RegisBurin
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Selon moi (qui suis technicien indus dans la structure métallique), ce projet est hyper intéressant (et demande un travail énorme), mais pourrait servir de base/être adapté à la même fonction (calcul/définition) pour les structures métalliques. Voir créer un soft libre de RDM (Résistance Des Matériaux), pour tout type de matériaux... rhooo je rêve (quoique, avec les efforts/soutiens/aides de la communauté du libre, tout est possible...)
Voilà, pas de réponses ni de solution, juste mon soutien inconditionnel à ton projet.
@+ bon courage
Config (M-AUDIO Delta44/Wacom CTH661-Phone ZTE OpenC-FFOS2.1) | BabyBox[WIP]
Moi sur le web / Moi, IRL mais sur le web / Ma maison sur le web
Hors ligne
#3 Le 13/01/2010, à 12:46
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Yeah !
Bien sur que ça pourrait être un soft libre de RDM pour tout type de structures.
Il n'y a que 10 familles d'Eurocodes hein !
Merci ton soutien et rassures toi je rêve aussi
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#4 Le 13/01/2010, à 17:58
- Julius
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Salut,
J'apporte mon soutien aussi ayant moi même l'envie actuellement de démarrer un projet du genre :-) Je suis étudiant ingénieur en construction en 1ère master. Je pense que le programme ne devrait pas être orienté vers un seul matériau comme le dis RegisBurin.
Je termine mes exams, je pars en vacances et puis je regarde ce que je peux faire !
A bientôt.
Hors ligne
#5 Le 13/01/2010, à 20:26
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Salut Julius !
Je suis tout à fait d'accord avec vous pour orienté ce programme vers plusieurs matériaux.
Mais bon chaque chose en son temps, moi mon "kiff" c'est la charpente et le bois.
Si des "constructeurs" qui utilisent d'autre matériaux veulent s'intégrer, il n'y a aucun problème.
Les Eurocodes ayant apporté une certaine homogénéité des calculs cela me semble pas compliqué.
C'est clair que ce projet est très ambitieux !
Et j'ai moi aussi un projet tuteuré à rendre (calcul de structure en bois en VBA <= dégouté, comment c'est dur de cliquer sur virtualbox !:rolleyes:) et je pars en stage dans 3 mois pour 3,5 mois.
_______________________________________________
Afin de bidouiller un peu, je demande à une âme charitable de bien vouloir me montrer un bout de code pour faire ceci :
A partir de l'interface glade je voudrais que en entrant une valeur dans "entry2" :
J'ai, je crois appelé une fonction "fibreneutre" à cette GykEntry
<object class="GtkEntry" id="entry2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<signal name="changed" handler="fibreneutre"/>
</object>
J'ai cette valeur divisé par 2 qui s'affiche dans "entry4"
<object class="GtkEntry" id="entry4">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="invisible_char">●</property>
</object>
Dernière modification par Peterpan12 (Le 13/01/2010, à 23:35)
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#6 Le 13/01/2010, à 22:27
- toitoinebzh
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
salut
ton projet m'intéresse
j'ai des connaissance en mécanique (pas trop en bois) et j'ai des bases en python (je ne maitrise pas les GUI et les classe)
Hors ligne
#7 Le 13/01/2010, à 23:36
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Salut à toi toitoitnebzh !
Ca fait plaisir de voir des gens intéressé
Je vais peut-être redéfinir le projet alors :
Logiciel RDM - Multistructure (Acier, Bois, Béton ? )
Bonne nuit.
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#8 Le 14/01/2010, à 08:18
- Julius
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Pas de soucis pour le béton... J'ai eu les cours pour pouvoir m'occuper de ça en partie Béton armé, voir béton précontraint...
Hors ligne
#9 Le 14/01/2010, à 08:23
- gentil_philou
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
salut,
Je suis étudiant en construction bois
tiens ! encore un qui nous demandes de faire ses devoirs à sa place !!!
________________________
Configuration matérielle : MSI VR700 - 1,73 Ghz - 1 Go - 120 Go Ubuntu 10.04. et HP pvillon g6 - 2,6 Ghz - 4 Go - 500 GO
Mes logiciels courants : OOo 3 - BlueFish 2 - The GIMP 2.6 - FireFox 3.0.10
Mon nouveau moteur de recherche préféré : http://www.ethicle.com/fr/
Hors ligne
#10 Le 14/01/2010, à 19:14
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
HS on
salut,
Je suis étudiant en construction bois
tiens ! encore un qui nous demandes de faire ses devoirs à sa place !!!
Héhé, gentil_philou j'en ai un pour toi si tu veux.
Solive sur 2 appuis en résineux C24.
Section 100*200 mm, posée sur chant.
Portée 4,5 m.
Entre-axe des solives 0,5m
Charges permanentes G=0,5 kN/m²
Charges d'exploitation Q=0,5 kN/m²
Classe de service 1.
Combinaison ELU : Cmax = 1,35G + 1,5Q
Calcules moi le taux de travail en flexion aux ELU de la barre stp.
HS off
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#11 Le 14/01/2010, à 20:15
- gtkshroom
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Bonsoir,
Je suis étudiant en BTS Systèmes Constructifs Bois et Habitat, et j'aimerais dire Bravo pour ce projet qui s'annonce très prometteur et qui me concerne tout particulièrement.
En revanche, comme je ne suis qu'en première année et que je n'ai jamais étudié le matériau bois auparavant, il y a encore des notions qui me sont inconnues. On a commencé la RdM (là-dessus je suis pas trop dépaysé, je viens d'un BAC S Sciences de l'Ingénieur) et on a pas mal mis en application sur les ossatures et les charpentes, ça reste que le début. Dimensionnement, pas encore vu. Mais ça ne saurait tarder.
Point de de vue programmation, je suis encore au stade "Quiche" en Python et GUI avec Glade, en conséquence je ne peux pour le moment que soutenir moralement l'outil en développement.
Bon courage pour la continuation de ton programme. Je suis agréablement surpris d'avoir découvert ce sujet.
C'est une perle rare et ça promet de me servir plus d'une fois au cours de mes deux ans d'études dans le domaine.
Hors ligne
#12 Le 14/01/2010, à 20:15
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Salut j'ai édité le titre afin de se diriger vers du multi matériaux.
Si vous voulez que je rajoute des liens vers des logiciels existants ou des idées ou quoique ce soit dans le message initial, hésitez pas à le poster ici.
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#13 Le 14/01/2010, à 20:57
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Yo !
Salut gtkshroom ! Bienvenue ici.
J'ai fais le même BTS que toi ! Tu le fais où ?
Pas grave pour ton stade de "Ouiche" en programmation, c'est la même pour moi !
C'est juste que ça me trotte dans la tête depuis trop longtemps alors je lance cette idée !
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#14 Le 14/01/2010, à 21:14
- gtkshroom
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Je fais mon BTS à Remiremont (Vosges) au Lycée A. Malraux. Une bonne filière, je suis très content.
Hors ligne
#15 Le 15/01/2010, à 00:25
- gentil_philou
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Peterpan12 :
Solive sur 2 appuis en résineux C24.
Section 100*200 mm, posée sur chant.
Portée 4,5 m.
Entre-axe des solives 0,5m
Charges permanentes G=0,5 kN/m²
Charges d'exploitation Q=0,5 kN/m²
Classe de service 1.
Combinaison ELU : Cmax = 1,35G + 1,5QCalcules moi le taux de travail en flexion aux ELU de la barre stp. big_smile
HS off
et en +, il insiste !
ah, là là ! si on était dans le monde merveilleux de Walt Disney !!!
fallait demander Geppetto en prof de techno ou d'atelier et ton meilleur camarade de classe serait le second petit cochon qui construit sa maison en bois !
au fait, puisque les versions Ubuntu sont par ordre alphabétique, donc, après Lucid Lynx, se sera sans doute Milka Marmotte, celle qui emballe le chocolat dans le papier d'alu . . ., peut-être que dans la version edubuntu, il y aura une application " passe-mon-bac-pour-moi " avec l'option " fais-mes-devoirs-à-ma-place "
allez sans rancune c'est beau l'espoir, l'ambition et la jeunesse plein d'avenir . . .
Dernière modification par gentil_philou (Le 15/01/2010, à 00:26)
________________________
Configuration matérielle : MSI VR700 - 1,73 Ghz - 1 Go - 120 Go Ubuntu 10.04. et HP pvillon g6 - 2,6 Ghz - 4 Go - 500 GO
Mes logiciels courants : OOo 3 - BlueFish 2 - The GIMP 2.6 - FireFox 3.0.10
Mon nouveau moteur de recherche préféré : http://www.ethicle.com/fr/
Hors ligne
#16 Le 15/01/2010, à 01:08
- Kanor
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Intéressant projet si tu a des question sur python je suis souvent dans le salon qui se trouve dans ma signature bon courage
Ah aussi pense à utiliser les objets sinon tu va mal au crane avec l'augmentation du nombre de ligne de code et sépare la partie interface et la partie calcule
(le but c'est de pouvoir utiliser la partie calcule sans avoir besoin de l'interface)
Et aussi donne des nom de variable et de fonction plus claire
Dernière modification par Kanor (Le 15/01/2010, à 01:10)
Hors ligne
#17 Le 15/01/2010, à 07:32
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
@gentil_philou : Peterpan n'est pas un personnage créé par Walt Disney et beaucoup d'autres auteur ne voit pas le monde "merveilleux" de Peterpan comme décrit dans le dessin animé. Lis la BD de Loisel tu verras un monde beaucoup plus dur que chez Walt Disney.
Une application "passe-mon-bac-a-ma-place" ? C'est une bonne idée ! Faudra l'étendre au master et plus !
@Kanor : merci pour ces renseignement et pour l'invitation sur le salon. Je passe dès que j'arrive à faire marcher Empathy.
Pour les noms de var et fonction, c'est claire faut que je revois ça. J'arrive à peine à comprendre ce que j'ai codée il y a quelque mois.
Bon week end à tous.
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#18 Le 15/01/2010, à 07:42
- gentil_philou
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
je connais mes classiques - mais c'est quand même Disney qui les fait en dessins animés et autres parcs d'attractions
________________________
Configuration matérielle : MSI VR700 - 1,73 Ghz - 1 Go - 120 Go Ubuntu 10.04. et HP pvillon g6 - 2,6 Ghz - 4 Go - 500 GO
Mes logiciels courants : OOo 3 - BlueFish 2 - The GIMP 2.6 - FireFox 3.0.10
Mon nouveau moteur de recherche préféré : http://www.ethicle.com/fr/
Hors ligne
#19 Le 15/01/2010, à 12:13
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
je connais mes classiques - mais c'est quand même Disney qui les fait en dessins animés et autres parcs d'attractions
Ok, bon je sais pas trop comment le prendre maintenant. Mais si on pouvait arréter le HS maintenant.
Ce n'est pas un devoir de classe que j'expose dans ce fil mais une idée bien réel que j'aimerias concrétiser.
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#20 Le 15/01/2010, à 17:48
- ossatureLibre
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Bonjour,
je suis en train de développer un logiciel de calcul de structures (libre bien sur) suivant les eurocodes en python
Le principe est une API en python permettant de manipuler et visualiser des structures de poutres et de lancer un calcul des efforts et déplacements en général des fichiers de données pour le logiciel libre code_aster.
le post-traitement (vérification des assemblages et sections selon Eurocode5) est directement en python.
Je cherche des fous comme moi pour en faire une version utilisable par tous (interface graphique avec pyQt par exemple). Pour l'instant je suis le seul utilisateur!
Gérard
cf mon site:
www.ossature-libre.fr
Hors ligne
#21 Le 18/01/2010, à 18:09
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Salut ossatureLibre ! Bonjour Gérard !
Je vois bien que je suis pas seul à gamberger sur ce projet.
J'ai installé SalomeMeca et les dépendances.
J'ai télécharger les deux archives de pyOpenShelter (06-02-09 et 16-02-09).
Mais je ne sais pas comment continuer.
Dans le tutoriel1 à l'étape 3 il est dit de définier la section de la poutre. Mais où dois je rentrer ces infos ?
En tous cas je suis très intéressé pour aider ce projet.
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne
#22 Le 18/01/2010, à 19:21
- ossatureLibre
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Bonjour peterPan
Je n'ai pas une bonne connection internet ce soir, mais je vais essayer de mettre sur mon site la dernière version demain.
(avec un tuto à jour)
Normalement si tu suis à la lettre le tuto
http://www.pyopenshelter.com/doc/exemples/tuto1.html
ça doit marcher (mais c'est pas sur parce que le code aster a évolué depuis)
la commande writeFiles risque de planter parceque le chemin d'accés doit être adapté à ton ordi.
pour lancer le script: il faut adapter la commande à ton installation du code aster
os.system("/opt/SALOME-MECA-2008.1-GPL/aster/ASTK/ASTK_SERV/bin/as_run %s" %exportName)
La première chose à faire pour comprendre pyopenshelter, c'est d'apprendre à utiliser le code aster sur des calculs trés simples (poutres à 1 ou 2 éléments), même si l'idée du projet (et ça marche!) c'est de tout faire en python.
Une possibilité est de travailler avec les fichier de maillage et de commande générés par pyopenshelter qui sont sur le tutoriel, c'est le modèle le plus simple qu'on puisse imaginer (2 poutres!) et ça permet de comprendre le fonctionnement du code aster.
Pour pouvoir visualiser les modèles il te faut aussi installer la bibliothèque vtk (je crois que la procédure est bien expliquée sur mon site).
Depuis que j'ai commencé mon projet, il y a un projet parallèle qui a abouti: une API opencascade (openOCC) qui permet de faire de la modélisation volumique à partir de python, donc je pense qu'il faut recentrer pyopenshelter sur les poutres.
Je pense que le mieux c'est de te familiariser avec le code aster et de prendre un RDV téléphonique pour t'aider à prendre en main pyopenshelter
Tu peux trouver mon tel sur mon site pour me contacter directement
Je pense que mon logiciel peut être un bon point de départ pour un projet collaboratif
Gérard
Hors ligne
#23 Le 18/01/2010, à 19:25
- j1100
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
j'aime..
Hors ligne
#24 Le 18/01/2010, à 22:12
- Kanor
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Interresant la mise en place d'un nouveau projet libre
Alors j'ai voulue tester aster et pyOpenShelter (curiosité .. ) il faut installer les paquet suivant sur ubuntu 9.10
sudo apt-get install python-dev python-vtk gfortran build-essential liblapack-dev grace
Telecharger aster ici
http://www.code-aster.org/V2/spip.php?article90
il semble qu'il est une mise à jour pas encore essayer de l'installer
http://www.code-aster.org/V2/spip.php?rubrique7
Le readme à lire
mais pour faire cour décompresser le paquet
aller avec le terminal dans le dossier
et taper
sudo python setup.py --prefix=/opt/aster
La compilation est longue ...
J'ai encore une petite erreur à résoudre je pense que ça n'empéche pas aster de marcher
*** Exception <class 'as_setup.SetupMakeError'> raised : error during compilation
See detailed traceback in the logfile
[FAILED]
Exit code : 4
J'ai aussi un petit prb de droit quand j'ai fais les test à la fin du README
Pour pyOpenShelter j'ai pas encore tésté mais le code fait peur je pense qu'il y a du ménage à faire sortir la poo du placard pour continuer je pense et rajouter des commentaires
Allez je continue l'exploration
edit1: osatureLibre pense à remplacer ton /home/gege par ça os.getenv("HOME") c'est beaucoup plus évolutive
edit2 ; ne fait pas de from bidule import *
Dernière modification par Kanor (Le 18/01/2010, à 22:41)
Hors ligne
#25 Le 19/01/2010, à 12:31
- peterp@n
Re : Idée projet Logiciel RDM Eurocodes Structures Bois, Acier, Béton...
Bonjour,
Je pige pas tout...
J'ai aussi installé Code_Aster en suivant la méthode de Kanor, j'ai aussi des erreurs. Mais surtout si je lance asteru ou asterd j'arrive sur une sorte d'interpréteur. C'est ça le code aster ? Tout se fait en ligne de commande ?
jo@jo-desktop:~$ cd /opt/aster/STA10.1
jo@jo-desktop:/opt/aster/STA10.1$ ls
asterd bibfor config.txt lib obj
asteru bibpyt elements LICENSE.TERMS profile.sh
astest cata_ele.pickled etude Makefile
astout.export catalo fermetur Makefile.asrun
bibc catapy forma01a.export Makefile.package
bibf90 commande GPL.txt materiau
jo@jo-desktop:/opt/aster/STA10.1$ ./asteru
Version s�quentielle de Code_aster
Python 2.6.4 (r264:75706, Dec 7 2009, 18:59:58)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Avec SalomeMeca2008 : ce logiciel a une interface graphique. On peut créer la structure avec Salome.
J'ai vu qu'il y a un module "aster", c'est la même chose que code_aster ?
Avec quoi c'est mieux de commencer ? Code_Aster ou SALOME ?
Ubuntu 14.04 64bits, Raspbian “wheezy”, Tango Studio sauce debian
Assistance - Développement - Formations FreeCAD (logiciel 3d)
Hors ligne