MoI discussion forum
MoI discussion forum

Full Version: V4 beta Feb-9-2018 available now

Show messages:  1-18  …  39-58  59-78  79-98  99-118  119-138  139-158  159-163

From: Michael Gibson
12 Mar 2018   [#99] In reply to [#97]
Hi Hamish,

> I wonder if the moi.ini file couldn't also contain one or more locations
> to search for external scripts?

I should be able to set that up.


> I can't work out what change is required by the Script error thrown when
> I try running my NACA airfoil script in MoI v4.
> "Required function argument 1 (object) missing."

I'm traveling for the next few days and I can't run the script at the moment. Can you post a screenshot of the full error dialog? That may give me enough information to help you now, it may be a few days before I can give a definitive answer though, it may be a function in MoI v4 that accidentally has a function argument set as required when it was optional in v3. Once I figure out which one it is I should be able to change it in v4 to be optional again.


> Does MoI v4 require stricter adherance to Javascript best practices?

Yes v4 is more sensitive to syntax errors that were tolerated in v3, but probably this one is a mistaken change in v4.

- Michael
From: Michael Gibson
12 Mar 2018   [#100] In reply to [#98]
Hi Brian,

re:
> Regarding the weights:
> Is the weight information lost?
> How is it connected, or associated with the points?

I think I may have missed the weights discussion that you are referencing, but the weight information is associated with the points by a fourth coordinate parameter on a control point like x,y,z,w values for each control point.

- Michael
From: r2d3
12 Mar 2018   [#101] In reply to [#97]
Hi HAIRYKIWI :-)

I found the problems in the NACAAirfoil script:
At line 595 in the js you find this line:
"FactoryAirfoil.setInput( g, PointObjectListUpper.item(num_stations - g).pt.get );"
this ".get" seems to be not toleratet by V4
just delete the .get to "FactoryAirfoil.setInput( g, PointObjectListUpper.item(num_stations - g).pt"
repeat this to every line where you find this ".get" and it will work

Or just take the js in the attachment

Attachments:
NACAAirfoilGenerator.htm
NACAAirfoilGenerator.js


From: Hamish Mead (HAIRYKIWI)
12 Mar 2018   [#102]
Hi Michael and Ralf,

Michael - many thanks for taking a look at the .ini option for specifying locations of external scripts.

Ralf, You're a star. Thank you :)
Modifying NACAAirfoilGenerator.js as you suggested cured the problem in MoI v4 - on both PC and MAC.
Out of interest, how did you debug it? Or did you find/remember some change of method to accessing ObjectList items in v4-compatible scripts?

I've become quite rusty with scripting since I wrote it and nothing really stood out in the script documentation http://moi3d.com/wiki/Scripting especially Max's mirror of Dave Morrill's script documentation/api/

It'll be interesting to hear from Michael if this change of access was intentional :)
From: r2d3
12 Mar 2018   [#103] In reply to [#102]
Hi HAIRYKIWI,

First: WOW nice script very complex! THANK YOU

the trick was actually very easy...
I wrote this line into the script: moi.ui.alert("STOP");
Than running the script. If i got the "STOP" alert before the script fault message the fault must be hidden somewhere later in the routine..
doing this step by step further in the routine i could locate these bad lines... as a fortune my script editor (TextWrangler) already marked this ".get"s as a command - so just deletet them - that was all... I'm just a hobby scripter...

I think the incompatibility of some older scripts with V4 is that it uses a newer webkit which is more nitpicking...
From: Hamish Mead (HAIRYKIWI)
12 Mar 2018   [#104] In reply to [#103]
Great debug tip Ralf - many thanks!

Now you mention it, I guess I did used a related debug method before - for printing variable values to the screen, but also being an infrequent hobby scripter, I frequently forget such elegant methods - and it never even occurred to me to adapt it, so again, many thanks :)
From: Michael Gibson
12 Mar 2018   [#105] In reply to [#104]
Thanks Ralf for figuring it out!

So if I remember correctly in MoI V3 and prior there was a pt.get() function set up but it was only callable from C++ code and not JavaScript code because it took 3 pointer values which JavaScript is not able to express. However just the presence of that method happened to have a side effect of pt.get not being a syntax error in v3 although it would not actually do anything useful.

In v4 the script interface is no longer based on IDL/IDispatch/COM Automation to be cross platform and the new interface only supports constructs that are compatible with JavaScript so the pt.get() method has been removed in v4.

- Michael
From: Hamish Mead (HAIRYKIWI)
12 Mar 2018   [#106] In reply to [#105]
Hi Michael,

Much appreciate the explanation - even if I don't quite understand how I interpreted the documentation to arrive at my bad code in the first place :)

- Hamish
From: bemfarmer
12 Mar 2018   [#107] In reply to [#100]
Thank you Michael.
I bought "The Nurbs Book."
Now I just have to read it...
- Brian
From: Marc (TELLIER)
16 Mar 2018   [#108]
Hi

The latest Mac Wacom driver (6.3.29-6) appears to have resolved the middle button issue, great!

Marc
From: Michael Gibson
16 Mar 2018   [#109] In reply to [#108]
Hi Marc,

re:
> The latest Mac Wacom driver (6.3.29-6) appears to have resolved the middle button issue, great!

Over here this driver version isn't behaving well, I seem to get kicked out to the login screen when trying to use the middle button with the pen.

If that's not happening to you maybe it's just on older systems or something.

- Michael
From: Metin Seven (METINSEVEN)
17 Mar 2018   [#110] In reply to [#109]
Hi Michael and Marc,

Just installed the 6.3.29-6 driver, and everything works fine here.
From: Marbleman
17 Mar 2018   [#111]
Me too.....
From: Marc (TELLIER)
19 Mar 2018   [#112] In reply to [#109]
Hi Michael,

That's odd, I'm using 10.12.3.
It still works well after a few working sessions.

Marc
From: dinos
20 Mar 2018   [#113]
Hi Michael,

I've been using the Feb 9 beta since it was released and i'm mostly happy with it.

Yesterday i noticed a bug that i'm not sure if it's been reported or not:
- When i Join a named part with an unnamed i would expect it to retain the name, if the named part was selected first. This does not always happen with V4.

I've narrowed it down to a reproducible example, a simple box, separate it, join all sides except one, name it Box and then select the last surface(unnamed) and join it.
The box ends up being named Unnamed, rather than box.


Hope it helps!

Dinos





Image Attachments:
box1.jpg  box2.jpg 


From: coi (MARCO)
20 Mar 2018   [#114] In reply to [#113]
hi,
is that on osx?..cos i can't reproduce it here on win 10 pro. cube stays "box".
From: dinos
20 Mar 2018   [#115] In reply to [#114]
Hi Marco, yes, its in osx.

Dinos
From: Mip (VINC)
20 Mar 2018   [#116] In reply to [#115]
Hi Dinos,

I'm on osx too (10.9.5) and, here, the object keeps box as name when the unnamed face is joined to the others.

Michel
From: dinos
20 Mar 2018   [#117] In reply to [#116]
Hi Michel,

i just retried my example and yes it does keep the name so its not as reproducible as i thought.
But if i select the unnamed face first and join it then it is named "box" which is still wrong.

I've noticed this issue some time ago but if no one else has it then its probably something wrong with my setup.
I'll look into it some more when i have a chance and I'll let you know.

Dinos
From: Finema
20 Mar 2018   [#118]
Hi
I can reproduce it sometimes on V4 OSX but it's OK on V3

Show messages:  1-18  …  39-58  59-78  79-98  99-118  119-138  139-158  159-163