Lots of unkown

 From:  Michael Gibson
8665.102 In reply to 8665.101 
Hi Cemortan_Tudor, thanks for posting the curve fillet file. I have a fix for that for the next v4 beta.

> 1. Are any other waiting events then pointpicker ? If so how do I write them ? ( ex: I
> wanna do a script that runs from 2 hotkeys, c +q, c +w or c +r)

There are other waitable objects than the pointpicker, including PointStreamPicker, ObjectPicker, OrientationEditor, CommandUIContainer, and PopupWindow which is the base class for flyout menus and dialogs. You can make an event loop calling waitForEvent() on any of those.

But for making a script that runs from 2 separate keypresses in sequence probably the way I'd try that is to open a dialog box on the first keystroke. Then when a dialog box has focus it can intercept all keystrokes and handle them with its own script code including overriding any normal shortcut key handling for the keyboard event.

You do that by implementing script functions for OnKeyDownEvent( event ) and/or OnKeyUpEvent ( event ) in a <script> block inside the dialog box .htm file. There's an example and comments in ShortcutKeyDialog.htm , that's the dialog that pops up when you add a new shortcut key.


> 2. I've read changelog of v4, there's a future that can store history from file to file, i thought i
> might be handy for storing history of fillets/chamfers or other global variables -> Notes, how do
> i write, get from notes, examples please

Well the notes is supposed to be used for storing some text information that can be displayed to the user just for additional information about the file. You can access it by moi.geometryDatabase.notes . It is stored in the .3dm file.


> 3. another script that can be handy will be to give smallest fillet possible, detecting
> smallest edge - there's a script for that, but connected to the selected edges list
> how do i get them !

Do you mean the largest possible fillet? There are many factors that would go into that beyond just edge length. For example fillets are wider or shorter depending on the angle that 2 surfaces are meeting at (see http://moi3d.com/forum/index.php?webtag=MOI&msg=9815.7 for an example) , it's not just edge length that determines the maximum size.


> 4. get point position other then moi.ui.alert

You mean you want to display x,y,z coordinates somewhere on the main window instead of in an alert dialog? Where do you want to show them?

- Michael