
import com.ptc.cipjava.*;
import com.ptc.pfc.pfcSession.*;
import com.ptc.pfc.pfcGlobal.*;
import com.ptc.pfc.pfcCommand.*;
import com.ptc.pfc.pfcModel.*;
import com.ptc.pfc.pfcSolid.*;
import com.ptc.pfc.pfcModelItem.*;

public class KickOff_VRML {

	static Session curSession;
	static final String MSGFILE = "vrml.txt";

	public static void start() {

		try {
			curSession = pfcGlobal.GetProESession();
			UICommand inputCommand = curSession.UICreateCommand("Make VRML", new VRML_Listener(curSession));
			curSession.UIAddButton(inputCommand,
									"Applications",
									"Applications.psh_util_pproc",
									"Make_VRML",
									"Create_VRML",
									MSGFILE);
		}
		catch(jxthrowable x) {
			System.out.println("Exception:"+x);
		}
	}

	public static void stop() {}
}

class VRML_Listener extends DefaultUICommandActionListener {

	Session session;
	Model model;
	final String VRMLdirectory = ".\\vrml";
	String file_name="";
	VRMLModelExportInstructions vrml_instrs;

	public VRML_Listener(Session sess) {
		session = sess;
	}

	public void OnCommand () {

		ModelType modelType = ModelType.MDL_PART;

		try {
			model=session.GetCurrentModel();

			vrml_instrs = pfcModel.VRMLModelExportInstructions_Create(VRMLdirectory);
			model.Export(file_name, vrml_instrs);
		}
		catch (jxthrowable x) {
			System.out.println ("Caught exception: "+x);
			x.printStackTrace ();
		}
	}
}
