Mathcad Custom Functions

Mathcad Custom Functions - This plugin will help you to connect Mathcad custom functions - Messaggi

#21 Pubblicato: 29/03/2012 08:48:20
Radovan Omorjan

Radovan Omorjan

325 apprezzamenti e 1 disapprezzamenti in 2.052 post.

Gruppo: Moderator

Hello uni,
Wrote

This function from Mathematical library for MathCad v1.2 (Giuseppe Borzì ) which is in the userefi/mathlib.dll file. You can delete mathlib.dll and function round() will disappear without plug-in switch-off. The example with function is given in the Mathlib.pdf (page 3).


Unfortunately, there will dissapear all the mentioned functions and not only round().

Regards,
Radovan

When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
#22 Pubblicato: 29/03/2012 09:43:01
kmihaylovich

kmihaylovich

8 apprezzamenti in 131 post.

Gruppo: User

uni, welcome back! Is it possible to add support for the units in your library? It will be really great! Very desirable feature! Unfortunately most of the functions returns error instead of the result
#23 Pubblicato: 29/03/2012 09:51:53
kmihaylovich

kmihaylovich

8 apprezzamenti in 131 post.

Gruppo: User

uni, I'm talking about errors when trying to use the dll from http://www.wsp.ru/ru/download.asp with your plugin... Please, could you support it? I've checked the code, but don't know how to fix it - the error appears in the file https://smath.info/svn/public/plugins/mcadefi/mcaduser/EFIManager.cpp in the line "throw gcnew Exception( "Error in mathcad efi function: "". If you have no time for this, could you please advise how to fix it? Please! Your plugin is great!
#24 Pubblicato: 29/03/2012 10:03:25
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Unfortunately no. Mathcad EFI never supported units. I made a maximum that is possible. I do not recommend to use this interface since it became outdated. As far as I know in new versions of Mathcad PTC forgot about it. There can be you mean something another.

Yes, I tried WaterSteamPro, there are too much functions. I had no license to work with them closely. Functions loaded, but no more than that.
Russia ☭ forever, Viacheslav N. Mezentsev
#25 Pubblicato: 29/03/2012 10:04:15
Radovan Omorjan

Radovan Omorjan

325 apprezzamenti e 1 disapprezzamenti in 2.052 post.

Gruppo: Moderator

Wrote

...Your plugin is great!


I agree. Uni made some great plugins - I mentioned that few times. They need some polishing, I think, and I hope it will happen ASAP.

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
#26 Pubblicato: 29/03/2012 10:11:14
kmihaylovich

kmihaylovich

8 apprezzamenti in 131 post.

Gruppo: User

uni, do you mean that functions with no description - it is because of the no license installed?

You said that Mathcad EFI never supported units, but how Mathcad works with these functions using WaterSteamPro? Does it use another interface?
#27 Pubblicato: 29/03/2012 10:34:44
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Citazione

uni, do you mean that functions with no description - it is because of the no license installed?

No, it was long ago, as I remember in case of function invocation there was a window with the message that there is no license. And the description on the picture is created by a plugin automatically. If we want to make a complete description is required an additional information which isn't available in wspmcad.dll (about units I mean).

Citazione

You said that Mathcad EFI never supported units, but how Mathcad works with these functions using WaterSteamPro? Does it use another interface?

Yes, it read additional XML files with the description of functions (but I'm not sure, since didn't work with units). If you look at the function description in the MCADINCL.H file, will see that there is nothing about units.

Citazione

I've checked the code, but don't know how to fix it - the error appears in the file https://smath.info/svn/p...mcaduser/EFIManager.cpp in the line "throw gcnew Exception( "Error in mathcad efi function: ""

If execution of the program reached this line, it means that function returned an error. The plugin tries to show an error in that look in which it is described in the library. There is one uncertainty which I didn't complete. A problem with the table of error messages. In one libraries of an error begin with a zero, in others from one. I didn't understand why such confusion, but it can cause the situation specified by you.
In any case function returned an error and the reason can be in other.
Russia ☭ forever, Viacheslav N. Mezentsev
#28 Pubblicato: 29/03/2012 10:53:20
kmihaylovich

kmihaylovich

8 apprezzamenti in 131 post.

Gruppo: User

Thank you, uni!
#29 Pubblicato: 30/03/2012 21:00:56
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Citazione

You said that Mathcad EFI never supported units, but how Mathcad works with these functions using WaterSteamPro? Does it use another interface?


I looked at library once again. In order that functions worked with units it is necessary to include the special file (watersteampro.mcd) in which each function from library is redefined for work with units. There is no additional interface, just redefinition.

I used "Water Steam Pro 6.0.1.36" from rutracker. I think it works with plugin .



Some docs (sm, pdf, rus): WaterSteamPro6.zip (mirror)
(my ftp works from time to time)
Russia ☭ forever, Viacheslav N. Mezentsev
2 utenti hanno apprezzato questo post
Andrey Ivashov 31/03/2012 00:47:00, kmihaylovich 02/04/2012 13:25:00
#30 Pubblicato: 02/04/2012 13:26:45
kmihaylovich

kmihaylovich

8 apprezzamenti in 131 post.

Gruppo: User

Thank you! I will use it.
#31 Pubblicato: 11/04/2012 05:57:19
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Wrote

Hello,

I've noted that Mathcad EFI plugin has its own round(1) function. SMath has round(2). In spite of that the both functions have the same name but different numbers of arguments, when the EFI plugin is active then we can not use round(2). Here is a simple example:

EFI plufin enabled:
[MATH=eng]c←80/9[/MATH]
[MATH=eng]c=8.8889[/MATH]
[MATH=eng]round(c)=9[/MATH]
[MATH=eng]round(c,3)=9[/MATH]

EFI plugin disabled:
[MATH=eng]round(c,3)=8.889[/MATH]

Regards,
Radovan


I'd made some changes: mcadefi_20120411.zip (mirror)
Russia ☭ forever, Viacheslav N. Mezentsev
3 utenti hanno apprezzato questo post
Radovan Omorjan 11/04/2012 06:06:00, kmihaylovich 11/04/2012 06:06:00, Andrey Ivashov 11/04/2012 11:53:00
#32 Pubblicato: 03/05/2013 07:20:27
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Updated. Small fixes, but doesn't work in SMathStudio 0.96.4868 (Andrey will fix this in the next build).
Russia ☭ forever, Viacheslav N. Mezentsev
#33 Pubblicato: 03/05/2013 11:27:54
kilele

kilele

134 apprezzamenti in 397 post.

Gruppo: User

Great! I overlooked what this plugin was about. It seems to be like the plugin requested in
Built-in Thermodynamic (and other) Tables - Internal function to return thermodynamic properties
I've just updated one of my posts on that thread with c# libraries :
http://en.smath.info/forum/yaf_postsm9354_Built-in-Thermodynamic--and-other--Tables.aspx#post9354
#34 Pubblicato: 11/06/2013 12:07:37
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Updated.
Russia ☭ forever, Viacheslav N. Mezentsev
#35 Pubblicato: 17/06/2013 18:14:42
Martin Kraska

Martin Kraska

1.361 apprezzamenti in 2.275 post.

Gruppo: Moderator

I have problems installing EFI. Did install the mathlib.dll from userefi.zip in post #1

Details in the attached sheet...
Plugin EFI for SMath Studio.sm (45,1 KiB) scaricato 1615 volta(e).
Technische Mechanik mit SMath Studio: https://link.springer.com/book/10.1007/978-3-658-50592-9
2 utenti hanno apprezzato questo post
ioan92 18/06/2013 00:19:00, Вячеслав Мезенцев 18/06/2013 07:13:00
#36 Pubblicato: 18/06/2013 08:56:31
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

Wrote

I have problems installing EFI. Did install the mathlib.dll from userefi.zip in post #1

Details in the attached sheet...



Try to update and show me the log file (userefi\efi.txt).

Russia ☭ forever, Viacheslav N. Mezentsev
#37 Pubblicato: 18/06/2013 17:41:15
Martin Kraska

Martin Kraska

1.361 apprezzamenti in 2.275 post.

Gruppo: Moderator

Wrote


Try to update and show me the log file (userefi\efi.txt).



Different behaviour now. Installs cleanly, but then math regions cannot be edited any more (or more precise: just character by character intermixed with error messages.)

But, sorry, I did not find a file efi.txt in the plugin directory. Details again in the attachment.
Plugin EFI for SMath Studio.sm (23,78 KiB) scaricato 1603 volta(e).
Technische Mechanik mit SMath Studio: https://link.springer.com/book/10.1007/978-3-658-50592-9
#38 Pubblicato: 18/06/2013 18:13:14
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

This means that plugin can't load mcaduser.dll library. I don't know why.

Citazione

But, sorry, I did not find a file efi.txt in the plugin directory.


Updated. Try again with new version. This file is deleted when you close the program.
Russia ☭ forever, Viacheslav N. Mezentsev
#39 Pubblicato: 18/06/2013 18:40:33
Martin Kraska

Martin Kraska

1.361 apprezzamenti in 2.275 post.

Gruppo: Moderator

Better now, no more crashes, but no function as well.

Installs cleanly. Edit of math regions without problems now, after manually adding mathlib.dll to userefi (still required?) I see the file efi.txt. Contents: (says: not a valid Win32 application. Exception of HRESULT...

19.06.2013 00:32:26 [Error] ist keine zulässige Win32-Anwendung. (Ausnahme von HRESULT: 0x800700C1)
Technische Mechanik mit SMath Studio: https://link.springer.com/book/10.1007/978-3-658-50592-9
#40 Pubblicato: 18/06/2013 19:19:42
Вячеслав Мезенцев

Вячеслав Мезенцев

1.558 apprezzamenti in 1.868 post.

Gruppo: Moderator

I think the problem is that you are using a 64-bit system. This is an old problem and I don't know how to solve it. Also, I don't know if this is possible at all (load 32-bit libraries on 64-bit system).

EDIT: Lesson 2. Support of 32-bit applications in the 64-bit Windows environment. Why cannot 32-bit DLL's be used in a 64-bit program?
Citazione

It is impossible to load a 32-bit DLL from a 64-bit process and execute its code. It is impossible due to the design of 64-bit systems. It is impossible fundamentally. And no tricks and undocumented means will help you. To do this you will have to load and initialize WoW64, not to speak of the kernel structures. Actually, it means that a 64-bit process must be made 32-bit "on the fly".



There is no easy way. You can't use user libraries that have been created for 32-bit systems.
Russia ☭ forever, Viacheslav N. Mezentsev
1 utenti hanno apprezzato questo post
Davide Carpi 19/06/2013 00:36:00
  • Nuovi post
  • Nessun nuovo post