PDA

View Full Version : OSD Modeling/WM DDE communication


dom
08-25-2003, 01:45 AM
Hi all,

I have a communication problem between OSDM and WM. I work on NT4 with WM 6.03 and OSDM 11.65.

From WM command line, if I give the following command

Awmc_sd_m_load_model_sd 'AUMSG3FZHSHDL3' 'AUNJHIEFHSHDL3' , the 3D model is loaded perfectly.

but if I use the following cmds in OSDM:

(setq handle (oli::sd-dde-initiate "HP_WORKMANAGER" "GENERAL"))

(setq result (oli::sd-dde-execute handle " Awmc_sd_m_load_model_sd 'AUMSG3FZHSHDL3' 'AUNJHIEFHSHDL3' ")):

I receive the following WM error message:

"Start SolidDesigner or use '(DDE_ENABLE :ON)' with SolidDesigner then retry the action":

Does anyboby have an idea ?

Thanks for feedback.

Dom

clausb
08-26-2003, 01:18 PM
My *guess* is that Awmc_sd_m_load_model_sd talks back to OSDM, so when you're sending this command to WM from OSDM, the situation is as follows:

OSDM opens DDE connection to WM, sends command string to WM to have it executed there; OSDM waits for the end of that command
During the execution of the command, WM talks back to OSDM - which is waiting for an answer from WM.


I'm not an expert in DDE, but to me this seems to be a good way to deadlock the two applications. Maybe this is the reason why you're getting that error message.

Just my E0.02,

Claus

dom
08-26-2003, 10:48 PM
Hello Claus

I think your analysis is right.

I have made some investigation and now, I think I almost understand what happens.

When I call Awmc_sd_m_load_model_sd from WM, the following macros are called:

Awmc_sd_m_load_model_sd {param Part_elid , Doc_elid}
|
---Awm_sd_m_load_model_sd {param Part_elid , Doc_elid}
|
----Awm_sd_m_load_model_sd_prim {param Part_elid , Doc_elid, Named_connection (value true or false)}

I have tried to directly call Awm_sd_m_load_model_sd_prim the following way:

(setq handle (oli::sd-dde-initiate "HP_WORKMANAGER" "GENERAL"))

(setq result (oli::sd-dde-execute handle "Awm_sd_m_load_model_sd_prim 'AUMSG3FZHSHDL3' 'AUNJHIEFHSHDL3' FALSE"))

And it worked perfectly.

I think the problem is due to the fact that SolidDesigner sends a command to WM using "HP_WORKMANAGER" "GENERAL" for the handle initialization and in the mean time, WM tries to initialize a named connection in SolidDesigner.
If I pass the "FALSE" parameter to Awm_sd_m_load_model_sd_prim , WM won't try to initialize a new connection but simply uses the existing "HP_WORKMANAGER" "GENERAL". And this way, it seems to work.

Thank you for your help.

dom

jriopel
09-10-2003, 04:21 AM
I am also seeing that DDE message popping up quite a bit.

""Start SolidDesigner or use '(DDE_ENABLE :ON)' with SolidDesigner then retry the action":

Is there an explanation?
Is there a fix?
Is this a badly written macro that needs to be modified to resolve the issue?
Why is it random?
Being the sys admin i cant have the users entering those strings in the command line.
Seems to me the connection between softwares of the same vendor should integrate rather seemlessly.
Any thoughts?

dom
09-10-2003, 05:55 AM
Hello jriopel,

First of all, could you precise:

-Is it when you load something from WorkManager ?
-Are you sure that you have the Data Mgmt Module loaded in SolidDesigner when the problem occurs ?

Dom

jriopel
09-10-2003, 06:01 AM
Oh i am VERY sure the Data Mgmt module is loaded.
Its loaded by default on startup. I mainly see this issue when a user has been working on a model loaded from WM and tries to store it back in. I was advised that you can switch from SD to Annotation a few times and that "might" reconnect the two. I also have to have users re-load the Data Mgmt module, as well as restart WM. The only way to really "fix" the issue is to have the user restart SD, but then they have to store locally, restart SD, and load thier pkg file, then store into WM. Unless someone else has a better idea / fix.

dszostak
09-10-2003, 11:29 AM
As it stands today, this problem still exists for Design Data Management (DDM) on Windows.

Our current product for CoCreate CAD data management, Model Manager, uses IPC which is much more reliable for internal communications.
In the September release of Designer Modeling 2004 (v12), one of the major focuses for Model Manager was to provide DDM users with a transition path to upgrade. 2004 addresses the issues that DDM handled, plus more. It provides the CAD user with a tighter integration to Modeling, faster load and save times, right-click actions, convenient search capabilities and a simplified user interface.

If you want to learn more about Model Manager from our website click here. (http://www.cocreate.com/products.cfm?ProdFamilyID=3&ProductID=24)
To see a quick screenshot of Model Manager while loading click here. (http://www.cocreate.com/screenshots/model_manager_screens.cfm)