Message 1 of 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello,
I am trying to add a parameter to a family and it works well for Revit versions from 2015-2025 except for Revit 2023.
In Revit 2023 I am getting an exception,
Autodesk.Revit.Exceptions.ArgumentException: 'groupTypeId
Parameter name: The argument does not identify a builtin parameter group.'
Following is my code for this. Previously, I had a single #if (REVIT2023 || REVIT2024 || REVIT2025) but it was not working so I have split REVIT2023 to change it to fix the issue. But I am unable to find a resolution for this.
private bool CreateAndAddSharedParameterToFamilyRFA(string myInformationString, Document familyDocument, FamilyManager familyManager, Family f = null)
{
bool isSharedParameterCreatedForMyInfo = false;
try
{
Application app = familyDocument.Application;
string sOrigSharedParamsFile = app.SharedParametersFilename;
string sTempSharedParamsFile = Path.GetTempFileName();
try
{
Transaction oTransaction = new Transaction(familyDocument, "CREATE_SHARED_PARAMETER_FOR_MY_INFORMATION");
try
{
oTransaction.Start();
FamilyParameter parameter = familyManager.get_Parameter(myInformation);
if (null == parameter)
{
#if (REVIT2024 || REVIT2025)
parameter = familyManager.AddParameter(myInformation, SpecTypeId.String.Text, SpecTypeId.String.Text, true);
#elif (REVIT2023)
parameter = familyManager.AddParameter(myInformation, SpecTypeId.String.Text, SpecTypeId.String.Text, true);
#else
parameter = familyManager.AddParameter(myInformation, BuiltInParameterGroup.PG_DATA, ParameterType.Text, true);
#endif
}
familyManager.SetDescription(parameter, myInformation);
familyManager.SetFormula(parameter, "\"" + myInformationString + "\"");
isSharedParameterCreatedForMyInfo = true;
}
catch (Exception ex)
{
oTransaction.RollBack();
app.SharedParametersFilename = sOrigSharedParamsFile;
File.Delete(sTempSharedParamsFile);
_logger.Error($"In CreateAndAddSharedParameterToFamilyRFA Fail to create shared parameter for breadcrumbs {myInformation}: {myInformationString} in shared parameter file: {app.SharedParametersFilename} to add parameter to RFAFile: {familyDocument.Title} with error :{ex.Message}");
return isSharedParameterCreatedForMyInfo;
}
oTransaction.Commit();
}
catch (Exception ex)
{
app.SharedParametersFilename = sOrigSharedParamsFile;
File.Delete(sTempSharedParamsFile);
_logger.Error($"In CreateAndAddSharedParameterToFamilyRFA Fail to create add breadcrumbs {myInformation}: {myInformationString} in shared parameter file: {app.SharedParametersFilename} to add parameter to RFAFile: {familyDocument.Title} with error :{ex.Message}");
return isSharedParameterCreatedForMyInfo;
}
app.SharedParametersFilename = sOrigSharedParamsFile;
File.Delete(sTempSharedParamsFile);
}
catch (Exception ex)
{
_logger.Error($"In CreateAndAddSharedParameterToFamilyRFA Fail to create add breadcrumbs {myInformation}: {myInformationString} to add parameter to RFAFile: {familyDocument.Title} with error :{ex.Message}");
return isSharedParameterCreatedForMyInfo;
}
return isSharedParameterCreatedForMyInfo;
}
Any help in this regards would be appreciated.
Regards,
Umar
Solved! Go to Solution.