La question n'a jamais été posée. [;)]
Les fichiers OBJ ne permettent pas de décrire les informations sur les parties mobiles d'une fenêtre et il faut inclure ton modèle dans un fichier SH3F (qui n'est qu'un fichier ZIP) en l'accompagnant d'un fichier
PluginFurnitureCatalog.properties de description.
Les valeurs définissants les ouvrants du
nième meuble d'un fichier SH3F sont celles-ci:
Code: Select all
doorOrWindow#n=true
doorOrWindowWallThickness#n=
doorOrWindowWallDistance#n=
doorOrWindowSashXAxis#n=
doorOrWindowSashYAxis#n=
doorOrWindowSashWidth#n=
doorOrWindowSashStartAngle#n=
doorOrWindowSashEndAngle#n=
"Sash" signifie "cadre d'un fenêtre" en anglais. Pour définir un cadre, il faut spécifier où se situe l'axe de rotation du cadre, la largeur du cadre et l'angle de départ et de fin entre lesquels il faut dessiner un arc de cercle.
Enfin
doorOrWindowWallThickness définit l'épaisseur du mur par rapport à l'épaisseur de la fenêtre et
doorOrWindowWallDistance la distance dont déborde la fenêtre à l'extérieur.
Par exemple la porte du catalogue par défaut de Sweet Home 3D est définie ainsi:
Code: Select all
name#19=Door
category#19=Doors and windows
icon#19=/com/eteks/sweethome3d/io/resources/door.png
model#19=/com/eteks/sweethome3d/io/resources/door.obj
width#19=91.5
depth#19=14.5
height#19=208.5
movable#19=false
doorOrWindow#19=true
doorOrWindowWallThickness#19=7.5
doorOrWindowWallDistance#19=1
doorOrWindowSashXAxis#19=5
doorOrWindowSashYAxis#19=8.5
doorOrWindowSashWidth#19=81.5
doorOrWindowSashStartAngle#19=0
doorOrWindowSashEndAngle#19=-90
Ca n'est pas très simple à faire donc. [:(]
Pour t'aider à démarrer, tu peux reprendre les valeurs d'un fichier SH3F existant.
Tu peux aussi retrouver le fichier SH3F où se trouvait ton modèle au départ et y remplacer le fichier OBJ par celui que tu as créé. C'est probablement la solution la plus simple.
Je tâcherai de documenter les fichiers SH3F un peu mieux un de ces quatre.