Plugin posté sur le tracker

This topic has been viewed 3703 times and has 1 replies
Thread status: Active
Vos suggestions et questions en français [img]http://www.sweethome3d.com/images/flags/fr_small.gif[/img]
Post Reply New Topic
Michel_MBEM
Posts: 6
Joined: Tue Apr 21, 2009 10:58 am

Plugin posté sur le tracker

Post by Michel_MBEM »

Voilà, je viens de poster le plugin. J'espère qu'il sera utile à plein de monde.
J'ai également trouvé une solution provisoire au problème d'importation de modèles: il suffit d'ouvrir le modèle original à l'aide d'un utilitaire comme 3D Exploration (payant malheureusement!) ou 3DWin (gratuit mais réduit à la conversion) puis de l'enregistrer au format Wavefront obj (quand bien même le modèle d'origine serait sous ce même format). Sh3d importe le nouveau fichier sans problème excepté parfois la perte des couleurs et une totale désorientation.




[Note: this thread was started on sourceforge.net forums]
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Plugin posté sur le tracker

Post by Puybaret »

Merci pour ce premier plug-in dont j'ai fait mention à la fin du guide du développeur de plug-in : http://www.sweethome3d.eu/pluginDeveloperGuide.html#contributingPlugins

Je l'ai essayé, et il marche très bien. Son seul défaut est de ne pas poster une modification dans le système annuler/refaire. Comme l'annulation d'une rotation est une rotation en sens inverse, ce ne devrait pas être difficile à corriger.
Si vous n'avez jamais programmé d'annuler/refaire en Java, regardez la classe PlanController http://sweethome3d.cvs.sourceforge.net/viewvc/sweethome3d/SweetHome3D/src/com/eteks/sweethome3d/viewcontroller/PlanController.java?revision=1.38&view=markup qui en est truffée. Sur le principe, il suffit d'ajouter l'instruction :

getUndoableEditSupport().postEdit(new AbstractUndoableEdit() {
@Override
public void undo() throws CannotUndoException {
super.undo();
// Program your undo operation
}

@Override
public void redo() throws CannotRedoException {
super.redo();
// Program your redo operation
}

@Override
public String getPresentationName() {
// Return localized operation name
return "operation";
}
});


Au passage, j'ai trouvé l'erreur dans vos fichiers OBJ, il y manque des lignes "vn" de description de normale. D'ailleurs, Art Of Illusion lui-même n'arrive pas à importer l'un des deux fichiers que vous m'avez envoyés. ;-)
Je pense que certains logiciels sont tolérants avec ces fichiers parce qu'ils ignorent les normales (ce que fait par exemple Blender).


Emmanuel Puybaret, Sweet Home 3D creator
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 3 guests