Add a unitless user parameter into an assembly

Top  Previous  Next

Here's a function to do that:


// Adds a unitless user parameter and its value into an assembly...

void AddUserUlParamToAssembly(CComPtr<AssemblyComponentDefinition>& pAssemblyCompDef,

                             const CString& kcsParamName,

                             const double kParamValue)


   // Parameters contains two lists, Model and User...

   CComPtr<Parameters> pParameters ;

   pAssemblyCompDef->get_Parameters (&pParameters) ;


   // Get the model parameters list...

   CComPtr<UserParameters> pUserParameters ;

   pParameters->get_UserParameters (&pUserParameters) ;


   CComVariant varValue(kParamValue);

   CComVariant varUnits(L"ul");

   CComBSTR bstrVarName(kcsParamName);


   HRESULT hRes = pUserParameters->AddByValue(bstrVarName, varValue, varUnits);

   if (FAILED(hRes)) {

       TRACE (L"Could not add user parameter <%s> to assembly", kcsParamName);




It seems like you cannot specify int or double, all parameters are doubles.


Text, images and diagrams © 2021 Owen F. Ransen. All rights reserved. (But copy the source code as much as you want!)