Mathcad Custom Functions

Mathcad Custom Functions - This plugin will help you to connect Mathcad custom functions - Сообщения

#21 Опубликовано: 29.03.2012 08:48:20
Radovan Omorjan

Radovan Omorjan

325 сообщений из 2052 понравились пользователям.

Группа: 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 Опубликовано: 29.03.2012 09:43:01
kmihaylovich

kmihaylovich

8 сообщений из 131 понравились пользователям.

Группа: 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 Опубликовано: 29.03.2012 09:51:53
kmihaylovich

kmihaylovich

8 сообщений из 131 понравились пользователям.

Группа: 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 Опубликовано: 29.03.2012 10:03:25
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: 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 Опубликовано: 29.03.2012 10:04:15
Radovan Omorjan

Radovan Omorjan

325 сообщений из 2052 понравились пользователям.

Группа: 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 Опубликовано: 29.03.2012 10:11:14
kmihaylovich

kmihaylovich

8 сообщений из 131 понравились пользователям.

Группа: 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 Опубликовано: 29.03.2012 10:34:44
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: Moderator

Цитата

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).

Цитата

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.

Цитата

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 Опубликовано: 29.03.2012 10:53:20
kmihaylovich

kmihaylovich

8 сообщений из 131 понравились пользователям.

Группа: User

Thank you, uni!
#29 Опубликовано: 30.03.2012 21:00:56
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: Moderator

Цитата

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 пользователям понравился этот пост
Andrey Ivashov 31.03.2012 00:47:00, kmihaylovich 02.04.2012 13:25:00
#30 Опубликовано: 02.04.2012 13:26:45
kmihaylovich

kmihaylovich

8 сообщений из 131 понравились пользователям.

Группа: User

Thank you! I will use it.
#31 Опубликовано: 11.04.2012 05:57:19
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: 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 пользователям понравился этот пост
Radovan Omorjan 11.04.2012 06:06:00, kmihaylovich 11.04.2012 06:06:00, Andrey Ivashov 11.04.2012 11:53:00
#32 Опубликовано: 03.05.2013 07:20:27
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: 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 Опубликовано: 03.05.2013 11:27:54
kilele

kilele

133 сообщений из 397 понравились пользователям.

Группа: 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 Опубликовано: 11.06.2013 12:07:37
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: Moderator

Updated.
Russia ☭ forever, Viacheslav N. Mezentsev
#35 Опубликовано: 17.06.2013 18:14:42
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: 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 КиБ) скачан 122 раз(а).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
2 пользователям понравился этот пост
ioan92 18.06.2013 00:19:00, Вячеслав Мезенцев 18.06.2013 07:13:00
#36 Опубликовано: 18.06.2013 08:56:31
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: 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 Опубликовано: 18.06.2013 17:41:15
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: 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 КиБ) скачан 115 раз(а).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#38 Опубликовано: 18.06.2013 18:13:14
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: Moderator

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

Цитата

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 Опубликовано: 18.06.2013 18:40:33
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: 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)
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#40 Опубликовано: 18.06.2013 19:19:42
Вячеслав Мезенцев

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

1402 сообщений из 1708 понравились пользователям.

Группа: 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?
Цитата

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 пользователям понравился этот пост
Davide Carpi 19.06.2013 00:36:00
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений