This commit is contained in:
ninja
2025-12-15 23:22:33 +08:00
parent 019570564b
commit 8782765fbc
809 changed files with 118753 additions and 18289 deletions

View File

@@ -1,6 +1,6 @@
/***********************************************************************************************************************
*
* Copyright (c) 2010 - 2022 by Tech Soft 3D, Inc.
* Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc.
* The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret
* as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event
* of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized
@@ -55,9 +55,9 @@ static void stvAddGDTType(int itype, _TiXmlElement* setting)
}
}
static int sttraverseFCFDraftingIndicator(const A3DMDFCFDraftingIndicatorData& sData, _TiXmlElement* indicator);
static A3DStatus stTraverseFCFDraftingIndicator(const A3DMDFCFDraftingIndicatorData& sData, _TiXmlElement* indicator);
//######################################################################################################################
static int sttraverseDraftingRow(const A3DMDFCFDraftingRow *psRow, _TiXmlElement* setting)
static A3DStatus stTraverseDraftingRow(const A3DMDFCFDraftingRow *psRow, _TiXmlElement* setting)
{
A3DMDFCFDraftingRowData sData;
A3D_INITIALIZE_DATA(A3DMDFCFDraftingRowData, sData);
@@ -68,7 +68,7 @@ static int sttraverseDraftingRow(const A3DMDFCFDraftingRow *psRow, _TiXmlElement
A3DStatus iRet = A3DMDFCFDraftingRowGet(psRow, &sData);
if(iRet != A3D_SUCCESS)
{
drft_row->SetAttribute("error", iRet);
drft_row->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
@@ -83,12 +83,12 @@ static int sttraverseDraftingRow(const A3DMDFCFDraftingRow *psRow, _TiXmlElement
char sName[20];
for(i = 0; i < sData.m_uiNumberOfTextsInBoxes; ++i)
{
sprintf_s(sName,sizeof(sName)-1, "box_%u", i);
if(sData.m_ppcTextsInBoxes[i] == NULL)
{
row_boxes->SetAttribute("error", "no text in box");
continue;
}
sprintf_s(sName, sizeof(sName) - 1, "box_%u", i);
row_boxes->SetAttribute(sName, sData.m_ppcTextsInBoxes[i]);
}
if (sData.m_uiNumberOfIndicators)
@@ -104,7 +104,7 @@ static int sttraverseDraftingRow(const A3DMDFCFDraftingRow *psRow, _TiXmlElement
{
_TiXmlElement* indicator = new _TiXmlElement("A3DMDFCFIndicatorData");
indicators->LinkEndChild(indicator);
sttraverseFCFDraftingIndicator(sIndicatorData, indicator);
stTraverseFCFDraftingIndicator(sIndicatorData, indicator);
A3DMDFCFDraftingIndicatorGet(nullptr, &sIndicatorData);
}
else
@@ -117,7 +117,7 @@ static int sttraverseDraftingRow(const A3DMDFCFDraftingRow *psRow, _TiXmlElement
}
//######################################################################################################################
static int sttraverseDatumReference(const char* pcTitle, A3DMDFCFRowDatum* psDatum, _TiXmlElement* drw_row)
static A3DStatus stTraverseDatumReference(const char* pcTitle, A3DMDFCFRowDatum* psDatum, _TiXmlElement* drw_row)
{
_TiXmlElement* datum_ref = new _TiXmlElement(pcTitle);
drw_row->LinkEndChild(datum_ref);
@@ -128,7 +128,7 @@ static int sttraverseDatumReference(const char* pcTitle, A3DMDFCFRowDatum* psDat
A3DStatus iRet = A3DMDFCFRowDatumGet(psDatum, &sDatumData);
if(iRet != A3D_SUCCESS)
{
drw_row->SetAttribute("error", iRet);
drw_row->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return A3D_SUCCESS;
}
@@ -141,14 +141,14 @@ static int sttraverseDatumReference(const char* pcTitle, A3DMDFCFRowDatum* psDat
if ((pNext = sDatumData.m_pNext)!= nullptr)
{
A3DMDFCFRowDatumGet(nullptr, &sDatumData);
return sttraverseDatumReference("next", pNext, datum_ref);
return stTraverseDatumReference("next", pNext, datum_ref);
}
return A3DMDFCFRowDatumGet(nullptr, &sDatumData);
}
//######################################################################################################################
static int sttraverseRowToleranceValue(const A3DMDFCFToleranceValueData& sToleranceData, _TiXmlElement* semantic_value)
static A3DStatus stTraverseRowToleranceValue(const A3DMDFCFToleranceValueData& sToleranceData, _TiXmlElement* semantic_value)
{
A3DStatus iRet = A3D_SUCCESS;
// value
@@ -193,7 +193,7 @@ static int sttraverseRowToleranceValue(const A3DMDFCFToleranceValueData& sTolera
iRet = A3DMDFCTolerancePerUnitGet(sToleranceData.m_psTolerancePerUnit, &sTolerancePerUnitData);
if (iRet != A3D_SUCCESS)
{
tol_per_unit->SetAttribute("error", iRet);
tol_per_unit->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
@@ -244,7 +244,7 @@ static int sttraverseRowToleranceValue(const A3DMDFCFToleranceValueData& sTolera
iRet = A3DMDFCProjectedZoneGet(sToleranceData.m_psProjectedZone, &sProjectedZoneData);
if (iRet != A3D_SUCCESS)
{
proj_zone->SetAttribute("error", iRet);
proj_zone->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
@@ -321,7 +321,7 @@ static int sttraverseRowToleranceValue(const A3DMDFCFToleranceValueData& sTolera
}
//######################################################################################################################
static int sttraverseDrawingRow(const A3DMDFCFDrawingRowData& sData, _TiXmlElement* drw_row)
static A3DStatus stTraverseDrawingRow(const A3DMDFCFDrawingRowData& sData, _TiXmlElement* drw_row)
{
A3DStatus iRet;
@@ -332,11 +332,11 @@ static int sttraverseDrawingRow(const A3DMDFCFDrawingRowData& sData, _TiXmlEleme
// references
if(sData.m_psPrimaryRef)
sttraverseDatumReference("m_psPrimaryRef", sData.m_psPrimaryRef, drw_row);
stTraverseDatumReference("m_psPrimaryRef", sData.m_psPrimaryRef, drw_row);
if(sData.m_psSecondaryRef)
sttraverseDatumReference("m_psSecondaryRef", sData.m_psSecondaryRef, drw_row);
stTraverseDatumReference("m_psSecondaryRef", sData.m_psSecondaryRef, drw_row);
if(sData.m_psTertiaryRef)
sttraverseDatumReference("m_psTertiaryRef", sData.m_psTertiaryRef, drw_row);
stTraverseDatumReference("m_psTertiaryRef", sData.m_psTertiaryRef, drw_row);
if(sData.m_psSemanticValue == NULL)
{
@@ -353,10 +353,10 @@ static int sttraverseDrawingRow(const A3DMDFCFDrawingRowData& sData, _TiXmlEleme
iRet = A3DMDFCFToleranceValueGet(sData.m_psSemanticValue, &sSemanticData);
if(iRet != A3D_SUCCESS)
{
semantic_value->SetAttribute("error", iRet);
semantic_value->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
sttraverseRowToleranceValue(sSemanticData, semantic_value);
stTraverseRowToleranceValue(sSemanticData, semantic_value);
_TiXmlElement* semantic_value2 = new _TiXmlElement("m_psNextSemanticValue");
drw_row->LinkEndChild(semantic_value2);
@@ -367,13 +367,13 @@ static int sttraverseDrawingRow(const A3DMDFCFDrawingRowData& sData, _TiXmlEleme
iRet = A3DMDFCFToleranceValueGet(sSemanticData.m_psNext, &sSemanticData2);
if (iRet != A3D_SUCCESS)
{
semantic_value2->SetAttribute("error", iRet);
semantic_value2->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
CHECK_RET(A3DMDFCFToleranceValueGet(NULL, &sSemanticData));
return iRet;
}
drw_row->SetAttribute("m_pcNextValue", sSemanticData2.m_sValue.m_pcValue ? sSemanticData2.m_sValue.m_pcValue : "null");
sttraverseRowToleranceValue(sSemanticData2, semantic_value2);
stTraverseRowToleranceValue(sSemanticData2, semantic_value2);
CHECK_RET(A3DMDFCFToleranceValueGet(NULL, &sSemanticData2));
CHECK_RET(A3DMDFCFToleranceValueGet(NULL, &sSemanticData));
@@ -381,7 +381,7 @@ static int sttraverseDrawingRow(const A3DMDFCFDrawingRowData& sData, _TiXmlEleme
}
//######################################################################################################################
static int sttraverseFCFDraftingIndicator(const A3DMDFCFDraftingIndicatorData& sData, _TiXmlElement* indicator)
static A3DStatus stTraverseFCFDraftingIndicator(const A3DMDFCFDraftingIndicatorData& sData, _TiXmlElement* indicator)
{
// type
if (sData.m_eType == kA3DFCFIndicatorType_Undef)
@@ -402,15 +402,17 @@ static int sttraverseFCFDraftingIndicator(const A3DMDFCFDraftingIndicatorData& s
char sName[20];
for (unsigned i = 0; i < sData.m_uiNumberOfTexts; ++i)
{
sprintf(sName, "m_pctext_%u", i);
if (sData.m_ppcTexts[i])
if (sData.m_ppcTexts[i] != nullptr)
{
sprintf(sName, "m_pctext_%u", i);
indicator->SetAttribute(sName, sData.m_ppcTexts[i]);
}
}
return A3D_SUCCESS;
}
//######################################################################################################################
static int sttraverseFCFIndicator(const A3DMDFCFIndicatorData& sData, _TiXmlElement* indicator)
static A3DStatus stTraverseFCFIndicator(const A3DMDFCFIndicatorData& sData, _TiXmlElement* indicator)
{
// type
if (sData.m_eType == kA3DFCFIndicatorType_Undef)
@@ -446,7 +448,7 @@ static int sttraverseFCFIndicator(const A3DMDFCFIndicatorData& sData, _TiXmlElem
// datum
if (sData.m_pDatum)
sttraverseDatumReference("m_pDatum", sData.m_pDatum, indicator);
stTraverseDatumReference("m_pDatum", sData.m_pDatum, indicator);
if (sData.m_pcText && sData.m_eType == kA3DFCFIndicatorType_Text)
indicator->SetAttribute("m_pcText", sData.m_pcText);
@@ -459,7 +461,7 @@ static int sttraverseFCFIndicator(const A3DMDFCFIndicatorData& sData, _TiXmlElem
return A3D_SUCCESS;
}
//######################################################################################################################
static int sttraverseFeatureControlFrameData(const A3DMDFeatureControlFrameData& sFeatureControlFrameData,
static A3DStatus stTraverseFeatureControlFrameData(const A3DMDFeatureControlFrameData& sFeatureControlFrameData,
_TiXmlElement* setting)
{
A3DUns32 r;
@@ -488,7 +490,7 @@ static int sttraverseFeatureControlFrameData(const A3DMDFeatureControlFrameData&
{
_TiXmlElement* drw_row = new _TiXmlElement("A3DMDFCFDrawingRowData");
rows->LinkEndChild(drw_row);
sttraverseDrawingRow(sDrawingRowData, drw_row);
stTraverseDrawingRow(sDrawingRowData, drw_row);
A3DMDFCFDrawingRowGet(NULL, &sDrawingRowData);
}
else
@@ -496,7 +498,7 @@ static int sttraverseFeatureControlFrameData(const A3DMDFeatureControlFrameData&
if(eType != kA3DTypeMDFCFDraftingRow)
rows->SetAttribute("error", "FCFRow");
else
sttraverseDraftingRow((const A3DMDFCFDraftingRow*) sFeatureControlFrameData.m_ppRows[r], rows);
stTraverseDraftingRow((const A3DMDFCFDraftingRow*) sFeatureControlFrameData.m_ppRows[r], rows);
}
}
@@ -513,7 +515,7 @@ static int sttraverseFeatureControlFrameData(const A3DMDFeatureControlFrameData&
{
_TiXmlElement* indicator = new _TiXmlElement("A3DMDFCFIndicatorData");
indicators->LinkEndChild(indicator);
sttraverseFCFIndicator(sIndicatorData, indicator);
stTraverseFCFIndicator(sIndicatorData, indicator);
A3DMDFCFIndicatorGet(nullptr, &sIndicatorData);
}
else
@@ -526,7 +528,7 @@ static int sttraverseFeatureControlFrameData(const A3DMDFeatureControlFrameData&
}
//######################################################################################################################
static int sttraverseToleranceSize(const A3DMDToleranceSize* pToleranceSize, _TiXmlElement* setting)
static A3DStatus stTraverseToleranceSize(const A3DMDToleranceSize* pToleranceSize, _TiXmlElement* setting)
{
A3DMDToleranceSizeData sToleranceSizeData;
A3D_INITIALIZE_DATA(A3DMDToleranceSizeData, sToleranceSizeData);
@@ -540,7 +542,7 @@ static int sttraverseToleranceSize(const A3DMDToleranceSize* pToleranceSize, _Ti
A3DStatus iRet = A3DMDToleranceSizeGet(pToleranceSize, &sToleranceSizeData);
if (iRet != A3D_SUCCESS)
{
toleranceSize->SetAttribute("error", iRet);
toleranceSize->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
@@ -553,7 +555,7 @@ static int sttraverseToleranceSize(const A3DMDToleranceSize* pToleranceSize, _Ti
}
//######################################################################################################################
int traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting)
A3DStatus traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting)
{
A3DMarkupGDTData sData;
A3D_INITIALIZE_DATA(A3DMarkupGDTData, sData);
@@ -564,7 +566,7 @@ int traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting)
A3DStatus iRet = A3DMarkupGDTGet(psMarkup, &sData);
if(iRet != A3D_SUCCESS)
{
markup_gdt->SetAttribute("error", iRet);
markup_gdt->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
@@ -585,7 +587,7 @@ int traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting)
iRet = A3DEntityGetType(sData.m_ppsMarkupTolerances[i], &eType);
if (iRet != A3D_SUCCESS)
{
tolerance->SetAttribute("error", iRet);
tolerance->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
continue;
}
if (eType == kA3DTypeMDFeatureControlFrame)
@@ -599,20 +601,20 @@ int traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting)
{
_TiXmlElement* semantic_data = new _TiXmlElement("SEMANTIC_DATA");
tolerance->LinkEndChild(semantic_data);
sttraverseFeatureControlFrameData(sFCFData, semantic_data);
stTraverseFeatureControlFrameData(sFCFData, semantic_data);
A3DMDSemanticFeatureControlFrameGet(NULL, &sFCFData);
}
else if (A3DMDFeatureControlFrameGet(sData.m_ppsMarkupTolerances[i], &sFCFData) == A3D_SUCCESS)
{
sttraverseFeatureControlFrameData(sFCFData, tolerance);
stTraverseFeatureControlFrameData(sFCFData, tolerance);
A3DMDFeatureControlFrameGet(NULL, &sFCFData);
}
else
tolerance->SetAttribute("error", iRet);
tolerance->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
}
else if (eType == kA3DTypeMDToleranceSize)
{
sttraverseToleranceSize(sData.m_ppsMarkupTolerances[i], tolerance);
stTraverseToleranceSize(sData.m_ppsMarkupTolerances[i], tolerance);
}
else
{
@@ -628,7 +630,7 @@ int traverseMarkupGDT(const A3DMarkupGDT* psMarkup, _TiXmlElement* setting)
}
//######################################################################################################################
int traverseMarkupDatum(const A3DMarkupDatum* psMarkup, _TiXmlElement* setting)
A3DStatus traverseMarkupDatum(const A3DMarkupDatum* psMarkup, _TiXmlElement* setting)
{
A3DMarkupDatumData sMarkupData;
A3D_INITIALIZE_DATA(A3DMarkupDatumData, sMarkupData);
@@ -637,7 +639,7 @@ int traverseMarkupDatum(const A3DMarkupDatum* psMarkup, _TiXmlElement* setting)
A3DStatus iRet = A3DMarkupDatumGet(psMarkup, &sMarkupData);
if(iRet != A3D_SUCCESS)
{
markup_datum->SetAttribute("error", iRet);
markup_datum->SetAttribute("error", A3DMiscGetErrorMsg(iRet));
return iRet;
}
markup_datum->SetAttribute("m_pcUpText", sMarkupData.m_pcUpText?sMarkupData.m_pcUpText:"NULL");