From a7197ef3c7ba683b471760869d4c8c57ec497992 Mon Sep 17 00:00:00 2001 From: ika Date: Thu, 1 Oct 2015 14:01:08 +0300 Subject: [PATCH] 0026715: Problems in reading STEP short names in complex entities Add function to find next part of complex entity by name or short name. Add missing short names. Test cases for issue CR26715 --- .../RWStepAP214_ReadWriteModule.cxx | 247 +++++++++++++++++- ...RWConversionBasedUnitAndPlaneAngleUnit.cxx | 6 +- ...sic_RWConversionBasedUnitAndVolumeUnit.cxx | 2 +- .../RWStepBasic_RWSiUnitAndAreaUnit.cxx | 6 +- .../RWStepBasic_RWSiUnitAndLengthUnit.cxx | 6 +- .../RWStepBasic_RWSiUnitAndMassUnit.cxx | 6 +- .../RWStepBasic_RWSiUnitAndVolumeUnit.cxx | 6 +- ...WStepDimTol_RWGeoTolAndGeoTolWthDatRef.cxx | 4 +- ...eoTolAndGeoTolWthDatRefAndGeoTolWthMod.cxx | 4 +- ...ndGeoTolWthDatRefAndModGeoTolAndPosTol.cxx | 6 +- ...oTolAndGeoTolWthDatRefAndUneqDisGeoTol.cxx | 4 +- .../RWStepDimTol_RWGeoTolAndGeoTolWthMod.cxx | 2 +- ...eCurveWithKnotsAndRationalBSplineCurve.cxx | 30 +-- ...faceWithKnotsAndRationalBSplineSurface.cxx | 26 +- ...pShAspAndCompShAspAndDatumFeatAndShAsp.cxx | 2 +- ...epRepr_RWCompShAspAndDatumFeatAndShAsp.cxx | 2 +- ...epr_RWReprItemAndLengthMeasureWithUnit.cxx | 4 +- ...ReprItemAndLengthMeasureWithUnitAndQRI.cxx | 6 +- ...RWReprItemAndPlaneAngleMeasureWithUnit.cxx | 4 +- ...ItemAndPlaneAngleMeasureWithUnitAndQRI.cxx | 6 +- ...entationRelationshipWithTransformation.cxx | 6 +- ...tionItemAndQualifiedRepresentationItem.cxx | 6 +- src/StepData/StepData_StepReaderData.cxx | 37 +++ src/StepData/StepData_StepReaderData.hxx | 17 ++ tests/bugs/step/bug26715_1 | 28 ++ tests/bugs/step/bug26715_2 | 28 ++ tests/bugs/step/bug26715_3 | 28 ++ 27 files changed, 438 insertions(+), 91 deletions(-) create mode 100755 tests/bugs/step/bug26715_1 create mode 100755 tests/bugs/step/bug26715_2 create mode 100755 tests/bugs/step/bug26715_3 diff --git a/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx b/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx index c85f115f83..950b94e290 100644 --- a/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx +++ b/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx @@ -2647,6 +2647,15 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("ADDRSS",1); typeshor->SetItem ("ABSR",2); typeshor->SetItem ("ADVFC",3); + typeshor->SetItem ("ANCROC",4); + typeshor->SetItem ("ANFLAR",5); + typeshor->SetItem ("AFAO",6); + typeshor->SetItem ("ANNOCC",7); + typeshor->SetItem ("ANSBOC",8); + typeshor->SetItem ("ANNSYM",9); + typeshor->SetItem ("ANSYOC",10); + typeshor->SetItem ("ANNTXT",11); + typeshor->SetItem ("ANTXOC",12); //203 typeshor->SetItem ("ALPRRL",ALTERNATE_PRODUCT_RELATIONSHIP); typeshor->SetItem ("APPCNT",13); typeshor->SetItem ("APCNEL",14); @@ -2658,6 +2667,7 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("APPRLT",19); typeshor->SetItem ("APPRL",20); typeshor->SetItem ("APPSTT",21); + typeshor->SetItem ("ARINST",22); //203 typeshor->SetItem ("AMWU",AREA_MEASURE_WITH_UNIT); //203 typeshor->SetItem ("ARUNT",AREA_UNIT); typeshor->SetItem ("ASCMUS",379); @@ -2667,6 +2677,7 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("A2PL3D",37); typeshor->SetItem ("BZRCRV",43); typeshor->SetItem ("BZRSRF",44); + typeshor->SetItem ("BLNRSL",46); typeshor->SetItem ("BNDCR",47); typeshor->SetItem ("BNDCRV",48); typeshor->SetItem ("BNDSRF",49); @@ -2675,7 +2686,13 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("BSCWK",39); typeshor->SetItem ("BSPSR",40); typeshor->SetItem ("BSSWK",41); + typeshor->SetItem ("BXDMN",50); + typeshor->SetItem ("BXHLSP",51); typeshor->SetItem ("CLNDT",53); + typeshor->SetItem ("CMRIMG",54); + typeshor->SetItem ("CMRMDL",55); + typeshor->SetItem ("CMMDD3",57); + typeshor->SetItem ("CMRUSG",58); typeshor->SetItem ("CRTPNT",59); typeshor->SetItem ("CRTROP",60); //203 typeshor->SetItem ("CTO2",CARTESIAN_TRANSFORMATION_OPERATOR_2D); @@ -2694,6 +2711,8 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () //203 typeshor->SetItem ("CHNRQS",CHANGE_REQUEST); typeshor->SetItem ("CLSSHL",63); + typeshor->SetItem ("CLRRGB",65); + typeshor->SetItem ("CLRSPC",66); typeshor->SetItem ("CMPCRV",67); typeshor->SetItem ("CCOS",68); typeshor->SetItem ("CMCRSG",69); @@ -2701,9 +2720,15 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () //203 typeshor->SetItem ("CNFEFF",CONFIGURATION_EFFECTIVITY); //203 typeshor->SetItem ("CNFITM",CONFIGURATION_ITEM); + typeshor->SetItem ("CMPTXT",70); + typeshor->SetItem ("CTWAC",71); + typeshor->SetItem ("CTWBB",72); + typeshor->SetItem ("CTWE",73); typeshor->SetItem ("CNCSRF",75); //203 typeshor->SetItem ("CNEDST",CONNECTED_EDGE_SET); typeshor->SetItem ("CNFCST",76); + typeshor->SetItem ("CNDPIN",77); + typeshor->SetItem ("CDORSI",78); typeshor->SetItem ("CDSR",391); //203 typeshor->SetItem ("CNDPUN",CONTEXT_DEPENDENT_UNIT); //203 typeshor->SetItem ("CNTRCT",CONTRACT); @@ -2711,22 +2736,43 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () //203 typeshor->SetItem ("CNTTYP",CONTRACT_TYPE); typeshor->SetItem ("CNBSUN",79); typeshor->SetItem ("CUTO",80); + typeshor->SetItem ("CSSHRP",82); + typeshor->SetItem ("CSGSLD",83); typeshor->SetItem ("CRBNSR",85); typeshor->SetItem ("CRVRPL",86); + typeshor->SetItem ("CRVSTY",87); + typeshor->SetItem ("CRSTFN",88); + typeshor->SetItem ("CSFP",89); typeshor->SetItem ("CYLSRF",90); //203 typeshor->SetItem ("DTDEFF",DATED_EFFECTIVITY); typeshor->SetItem ("DTANTM",92); typeshor->SetItem ("DATA",93); + typeshor->SetItem ("DTASS",94); + typeshor->SetItem ("DTRL",95); typeshor->SetItem ("DTTMRL",96); + typeshor->SetItem ("DFNSYM",97); typeshor->SetItem ("DFNRPR",98); typeshor->SetItem ("DGNPCR",99); + typeshor->SetItem ("DGTRSR",100); + typeshor->SetItem ("DSRPIT",101); + typeshor->SetItem ("DMNCRV",102); + typeshor->SetItem ("DMCRTR",103); typeshor->SetItem ("DSGCNT",340); //203 typeshor->SetItem ("DMFR",DESIGN_MAKE_FROM_RELATIONSHIP); typeshor->SetItem ("DMNEXP",104); //203 typeshor->SetItem ("DRCACT",DIRECTED_ACTION); typeshor->SetItem ("DRCTN",105); + typeshor->SetItem ("DRANOC",106); + typeshor->SetItem ("DRGCLL",107); + typeshor->SetItem ("DPDC",108); + typeshor->SetItem ("DPDCF",109); + typeshor->SetItem ("DRSBRP",110); + typeshor->SetItem ("DRSYRP",111); + typeshor->SetItem ("DTLWD",112); + typeshor->SetItem ("DRWDFN",113); + typeshor->SetItem ("DRWRVS",114); typeshor->SetItem ("DCMNT",367); //203 typeshor->SetItem ("DCMRFR",DOCUMENT_REFERENCE); typeshor->SetItem ("DCMRLT",369); @@ -2742,13 +2788,26 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("ELMSRF",118); typeshor->SetItem ("ELLPS",119); typeshor->SetItem ("EVDGPC",120); + typeshor->SetItem ("EXTSRC",121); + typeshor->SetItem ("EDCF",122); + typeshor->SetItem ("EDHS",123); + typeshor->SetItem ("EXDFIT",124); + typeshor->SetItem ("EXDFSY",125); + typeshor->SetItem ("EDTF",126); + typeshor->SetItem ("EDTS",127); + typeshor->SetItem ("EXARSL",128); //203 typeshor->SetItem ("EXCACT",EXECUTED_ACTION); - typeshor->SetItem ("FCTBR",134); - typeshor->SetItem ("FBSR",135); typeshor->SetItem ("FCBND",131); typeshor->SetItem ("FCOTBN",132); typeshor->SetItem ("FCSRF",133); + typeshor->SetItem ("FCTBR",134); + typeshor->SetItem ("FBSR",135); + typeshor->SetItem ("FLARST",136); + typeshor->SetItem ("FASC",137); + typeshor->SetItem ("FASH",138); + typeshor->SetItem ("FASTSW",139); + typeshor->SetItem ("FAST",140); typeshor->SetItem ("FNDFTR",141); typeshor->SetItem ("GBSSR",146); typeshor->SetItem ("GBWSR",147); @@ -2758,8 +2817,12 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("GMTST",145); typeshor->SetItem ("GC",148); typeshor->SetItem ("GUAC",149); + typeshor->SetItem ("GRPASS",151); + typeshor->SetItem ("GRPRLT",152); + typeshor->SetItem ("HLSPSL",153); typeshor->SetItem ("HYPRBL",154); typeshor->SetItem ("INTCRV",155); + typeshor->SetItem ("INVSBL",156); typeshor->SetItem ("ITDFTR",354); typeshor->SetItem ("LMWU",157); typeshor->SetItem ("LNGUNT",158); @@ -2770,6 +2833,8 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("MNSLBR",162); typeshor->SetItem ("MSSR",163); typeshor->SetItem ("MPPITM",164); + typeshor->SetItem ("MDGPA",166); + typeshor->SetItem ("MDGPR",167); //203 typeshor->SetItem ("MMWU",MASS_MEASURE_WITH_UNIT); //203 typeshor->SetItem ("MSSUNT",MASS_UNIT); typeshor->SetItem ("MSWTUN",165); @@ -2779,9 +2844,12 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () //203 typeshor->SetItem ("OFCR2D",OFFSET_CURVE_2D); typeshor->SetItem ("OFCR3D",171); typeshor->SetItem ("OFFSRF",172); + typeshor->SetItem ("ODRF",173); typeshor->SetItem ("OPNSHL",174); typeshor->SetItem ("ORDDT",175); typeshor->SetItem ("ORGNZT",176); + typeshor->SetItem ("ORGASS",177); + typeshor->SetItem ("ORGRL",178); typeshor->SetItem ("ORGADD",179); //203 typeshor->SetItem ("ORGPRJ",ORGANIZATIONAL_PROJECT); //203 typeshor->SetItem ("ORGRLT",ORGANIZATION_RELATIONSHIP); @@ -2791,14 +2859,17 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("OROPSH",183); typeshor->SetItem ("ORNPTH",184); typeshor->SetItem ("OTBNCR",185); + typeshor->SetItem ("ORSI",186); typeshor->SetItem ("PRBL",187); typeshor->SetItem ("PRRPCN",188); - typeshor->SetItem ("PRSADD",195); typeshor->SetItem ("PRANOR",192); typeshor->SetItem ("PAOA",193); typeshor->SetItem ("PAOR",194); + typeshor->SetItem ("PRSADD",195); typeshor->SetItem ("PLCMNT",196); + typeshor->SetItem ("PLNBX",197); + typeshor->SetItem ("PLNEXT",198); typeshor->SetItem ("PAMWU",200); typeshor->SetItem ("PLANUN",201); @@ -2806,8 +2877,23 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("PNONCR",203); typeshor->SetItem ("PNONSR",204); typeshor->SetItem ("PNTRPL",205); - typeshor->SetItem ("PLYLN",208); + typeshor->SetItem ("PNTSTY",206); typeshor->SetItem ("PLYLP",207); + typeshor->SetItem ("PLYLN",208); + typeshor->SetItem ("PRDFCL",209); + typeshor->SetItem ("PDCF",210); + typeshor->SetItem ("PRDFIT",211); + typeshor->SetItem ("PRDFSY",212); + typeshor->SetItem ("PDTF",213); + typeshor->SetItem ("PRSAR",214); + typeshor->SetItem ("PRLYAS",215); + typeshor->SetItem ("PRSRPR",216); + typeshor->SetItem ("PRSST",217); + typeshor->SetItem ("PRSSZ",218); + typeshor->SetItem ("PRSTAS",219); + typeshor->SetItem ("PSBC",220); + typeshor->SetItem ("PRSVW",221); + typeshor->SetItem ("PRSITM",222); typeshor->SetItem ("PRDCT",223); typeshor->SetItem ("PRDCTG",224); //203 typeshor->SetItem ("PRCTRL",PRODUCT_CATEGORY_RELATIONSHIP); @@ -2830,16 +2916,22 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("QACU",382); typeshor->SetItem ("QSUNCR",236); typeshor->SetItem ("QSUNSR",237); + typeshor->SetItem ("RMWU",238); typeshor->SetItem ("RBSC",239); typeshor->SetItem ("RBSS",240); typeshor->SetItem ("RCCMSR",241); typeshor->SetItem ("RCTRSR",242); + typeshor->SetItem ("RPITGR",243); typeshor->SetItem ("RCCS",244); typeshor->SetItem ("RPRSNT",245); typeshor->SetItem ("RPRCNT",246); typeshor->SetItem ("RPRITM",247); typeshor->SetItem ("RPRMP",248); typeshor->SetItem ("RPRRLT",249); + typeshor->SetItem ("RVARSL",250); + typeshor->SetItem ("RGANWD",251); + typeshor->SetItem ("RGCRCN",252); + typeshor->SetItem ("RGCRCY",253); typeshor->SetItem ("RRWT",388); typeshor->SetItem ("SMCRV",254); typeshor->SetItem ("SCRCLS",255); @@ -2858,8 +2950,10 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("SAMWU",265); typeshor->SetItem ("SLANUN",336); typeshor->SetItem ("SLDMDL",266); + typeshor->SetItem ("SLDRPL",267); typeshor->SetItem ("SHUO",383); typeshor->SetItem ("SPHSRF",269); + typeshor->SetItem ("STYITM",270); //203 typeshor->SetItem ("STRRQS",START_REQUEST); //203 typeshor->SetItem ("STRWRK",START_WORK); typeshor->SetItem ("SPPRRL",385); @@ -2869,10 +2963,35 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("SROFRV",274); typeshor->SetItem ("SRFPTC",275); typeshor->SetItem ("SRFRPL",276); + typeshor->SetItem ("SRSDST",277); + typeshor->SetItem ("SRSTBN",278); + typeshor->SetItem ("SSCG",279); + typeshor->SetItem ("SSFA",280); + typeshor->SetItem ("SSPL",281); + typeshor->SetItem ("SSSC",282); + typeshor->SetItem ("SRSTSL",283); + typeshor->SetItem ("SRSTUS",284); + typeshor->SetItem ("SWARSL",285); typeshor->SetItem ("SWPSRF",286); + typeshor->SetItem ("SYMCLR",287); + typeshor->SetItem ("SYMRPR",288); + typeshor->SetItem ("SYRPMP",289); + typeshor->SetItem ("SYMSTY",290); + typeshor->SetItem ("SYMTRG",291); + typeshor->SetItem ("TRMSYM",294); + typeshor->SetItem ("TXTLTR",295); + typeshor->SetItem ("TLWAC",296); + typeshor->SetItem ("TLWBB",297); + typeshor->SetItem ("TLWD",298); + typeshor->SetItem ("TLWE",299); + typeshor->SetItem ("TXTSTY",300); + typeshor->SetItem ("TSFDF",301); + typeshor->SetItem ("TSWBC",302); + typeshor->SetItem ("TSWM",303); typeshor->SetItem ("TPRPIT",304); typeshor->SetItem ("TRDSRF",305); typeshor->SetItem ("TRMCRV",308); + typeshor->SetItem ("TDRF",309); typeshor->SetItem ("UMWU",310); typeshor->SetItem ("UNFCRV",311); typeshor->SetItem ("UNFSRF",312); @@ -2884,8 +3003,32 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () //203 typeshor->SetItem ("VRTSHL",VERTEX_SHELL); //203 typeshor->SetItem ("VMWU",VOLUME_MEASURE_WITH_UNIT); //203 typeshor->SetItem ("VLMUNT",VOLUME_UNIT); + typeshor->SetItem ("VWVLM",317); typeshor->SetItem ("WOYADD",318); + typeshor->SetItem ("TMWU",341); + typeshor->SetItem ("RTUNT",342); + typeshor->SetItem ("TMUNT",343); + typeshor->SetItem ("CI3WS",350); + typeshor->SetItem ("CTO2",351); + typeshor->SetItem ("DRVUNT",352); + typeshor->SetItem ("DRUNEL",353); + typeshor->SetItem ("PRITRP",355); + typeshor->SetItem ("MFUO",378); //203 typeshor->SetItem ("WRSHL",WIRE_SHELL); + typeshor->SetItem ("MTRDSG",390); + typeshor->SetItem ("ADATA",392); + typeshor->SetItem ("APDTAS",393); + typeshor->SetItem ("APGRAS",395); + typeshor->SetItem ("APORAS",396); + typeshor->SetItem ("APAOA",397); + typeshor->SetItem ("APPRIT",398); + typeshor->SetItem ("ASCA",399); + typeshor->SetItem ("APDCRF",400); + typeshor->SetItem ("DCMFL",401); + typeshor->SetItem ("CHROBJ",402); + typeshor->SetItem ("EXFCSL",403); + typeshor->SetItem ("RVFCSL",404); + typeshor->SetItem ("SWFCSL",405); // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties) typeshor->SetItem ("MSRPIT",406); @@ -2921,8 +3064,57 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () typeshor->SetItem ("VRACRQ",438); typeshor->SetItem ("PRCTRL",439); typeshor->SetItem ("ACRQSL",440); -// typeshor->SetItem ("DM??",441); - + typeshor->SetItem ("DRGMDL",441); + typeshor->SetItem ("ANGLCT",442); + typeshor->SetItem ("ANGSZ",443); + typeshor->SetItem ("DMCHRP",444); + typeshor->SetItem ("DMNLCT",445); + typeshor->SetItem ("DLWP",446); + typeshor->SetItem ("DMNSZ",447); + typeshor->SetItem ("DSWP",448); + typeshor->SetItem ("SHDMRP",449); + typeshor->SetItem ("DCRPTY",450); + typeshor->SetItem ("OBJRL",451); + typeshor->SetItem ("RLASS",452); + typeshor->SetItem ("IDNRL",453); + typeshor->SetItem ("IDNASS",454); + typeshor->SetItem ("EXIDAS",455); + typeshor->SetItem ("EFFASS",456); + typeshor->SetItem ("NMASS",457); + typeshor->SetItem ("GNRPRP",458); + typeshor->SetItem ("EDGP",461); + typeshor->SetItem ("AEIA",462); + typeshor->SetItem ("CMSHAS",470); + typeshor->SetItem ("DRSHAS",471); + typeshor->SetItem ("EXTNSN",472); + typeshor->SetItem ("DRDMLC",473); + typeshor->SetItem ("LMANFT",474); + typeshor->SetItem ("TLRVL",475); + typeshor->SetItem ("MSRQLF",476); + typeshor->SetItem ("PLMNTL",477); + typeshor->SetItem ("PRCQLF",478); + typeshor->SetItem ("TYPQLF",479); + typeshor->SetItem ("QLRPIT", 480); + typeshor->SetItem ("CMRPIT", 482); + typeshor->SetItem ("CMRPIT", 483); + typeshor->SetItem ("CMS0", 485); + typeshor->SetItem ("CNEDST", 486); + typeshor->SetItem ("EBWM", 488); + typeshor->SetItem ("EBWSR", 489); + typeshor->SetItem ("NMSSR", 491); + typeshor->SetItem ("ORNSRF", 492); + typeshor->SetItem ("SBFC", 493); + typeshor->SetItem ("SBDG", 494); + typeshor->SetItem ("CFSS", 496); + typeshor->SetItem ("MSSUNT", 501); + typeshor->SetItem ("THTMUN", 502); + typeshor->SetItem ("DTENV", 565); + typeshor->SetItem ("MTPRRP", 566); + typeshor->SetItem ("PRDFR", 567); + typeshor->SetItem ("MTRPRP", 569); + typeshor->SetItem ("PDFR", 573); + typeshor->SetItem ("DCP1", 600); + typeshor->SetItem ("DCPREQ", 601); // typeshor->SetItem (AngularLocation); // typeshor->SetItem (AngularSize); // typeshor->SetItem (DimensionalCharacteristicRepresentation); @@ -2931,8 +3123,49 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule () // typeshor->SetItem (DimensionalSize); // typeshor->SetItem (DimensionalSizeWithPath); // typeshor->SetItem (ShapeDimensionRepresentation); - + typeshor->SetItem ("CYLTLR", 609); + typeshor->SetItem ("SRWP", 610); + typeshor->SetItem ("ANGTLR", 611); + typeshor->SetItem ("CNCTLR", 612); + typeshor->SetItem ("CRRNTL", 613); + typeshor->SetItem ("CXLTLR", 614); + typeshor->SetItem ("FLTTLR", 615); + typeshor->SetItem ("LNP0", 616); + typeshor->SetItem ("PRLTLR", 617); + typeshor->SetItem ("PRPTLR", 618); + typeshor->SetItem ("PSTTLR", 619); + typeshor->SetItem ("RNDTLR", 620); + typeshor->SetItem ("STRTLR", 621); + typeshor->SetItem ("SRPRTL", 622); + typeshor->SetItem ("SYMTLR", 623); + typeshor->SetItem ("TTRNTL", 624); + typeshor->SetItem ("GMTTLR", 625); + typeshor->SetItem ("GMTLRL", 626); + typeshor->SetItem ("GTWDR", 627); + typeshor->SetItem ("MDGMTL", 628); + typeshor->SetItem ("DTMFTR", 630); + typeshor->SetItem ("DTMRFR", 631); + typeshor->SetItem ("CMMDTM", 632); + typeshor->SetItem ("DTMTRG", 633); + typeshor->SetItem ("PDT0", 634); typeshor->SetItem ("MMWU",651); + typeshor->SetItem ("CNOFSY",661); + typeshor->SetItem ("GMTALG",662); + typeshor->SetItem ("PRPT",663); + typeshor->SetItem ("TNGNT",664); + typeshor->SetItem ("PRLOFF",665); + typeshor->SetItem ("GISU",666); + typeshor->SetItem ("IDATT",667); + typeshor->SetItem ("IIRU",668); + typeshor->SetItem ("GTWDU",674); + typeshor->SetItem ("PRZNDF",679); + typeshor->SetItem ("RNZNDF",680); + typeshor->SetItem ("RNZNOR",681); + typeshor->SetItem ("TLRZN",682); + typeshor->SetItem ("TLZNDF",683); + typeshor->SetItem ("TLZNFR",684); + typeshor->SetItem ("INRPIT",700); + typeshor->SetItem ("VLRPIT",701); } diff --git a/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit.cxx b/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit.cxx index 08b3042afd..1647342ffc 100644 --- a/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit.cxx @@ -35,7 +35,7 @@ void RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit::ReadStep // sln 09.10.2001. BUC61003. Correction of looking for items of complex entity in case of them do not saticfy to alphabetical order // CONVERSION_BASED_UNIT Standard_Integer num = 0;//num0; - data->NamedForComplex("CONVERSION_BASED_UNIT CNBSUN",num0,num,ach); + data->NamedForComplex("CONVERSION_BASED_UNIT", "CNBSUN",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"conversion_based_unit")) return; Handle(TCollection_HAsciiString) aName; data->ReadString (num,1,"name",ach,aName); @@ -44,14 +44,14 @@ void RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit::ReadStep // NAMED_UNIT //num = 0; //gka TRJ9 c2-id-214.stp - data->NamedForComplex("NAMED_UNIT NMDUNT",num0,num,ach); + data->NamedForComplex("NAMED_UNIT", "NMDUNT",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"named_unit")) return; Handle(StepBasic_DimensionalExponents) aDimensions; data->ReadEntity(num, 1,"dimensions", ach, STANDARD_TYPE(StepBasic_DimensionalExponents), aDimensions); // PLANE_ANGLE_UNIT //num = 0; //gka - data->NamedForComplex("PLANE_ANGLE_UNIT PLANUN",num0,num,ach); + data->NamedForComplex("PLANE_ANGLE_UNIT", "PLANUN",num0,num,ach); if (!data->CheckNbParams(num,0,ach,"plane_angle_unit")) return; ent->Init(aDimensions,aName,aConversionFactor); diff --git a/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndVolumeUnit.cxx b/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndVolumeUnit.cxx index f254cb5aa2..373b5076ff 100644 --- a/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndVolumeUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWConversionBasedUnitAndVolumeUnit.cxx @@ -48,7 +48,7 @@ void RWStepBasic_RWConversionBasedUnitAndVolumeUnit::ReadStep(const Handle(StepD Handle(StepBasic_DimensionalExponents) aDimensions; data->ReadEntity(num, 1,"dimensions", ach, STANDARD_TYPE(StepBasic_DimensionalExponents), aDimensions); - data->NamedForComplex("VOLUME_UNIT",num0,num,ach); + data->NamedForComplex("VOLUME_UNIT","VLMUNT",num0,num,ach); if (!data->CheckNbParams(num,0,ach,"volume_unit")) return; ent->Init(aDimensions,aName,aConversionFactor); diff --git a/src/RWStepBasic/RWStepBasic_RWSiUnitAndAreaUnit.cxx b/src/RWStepBasic/RWStepBasic_RWSiUnitAndAreaUnit.cxx index 235a965c8a..650817dc42 100644 --- a/src/RWStepBasic/RWStepBasic_RWSiUnitAndAreaUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWSiUnitAndAreaUnit.cxx @@ -34,15 +34,15 @@ void RWStepBasic_RWSiUnitAndAreaUnit::ReadStep(const Handle(StepData_StepReaderD const Handle(StepBasic_SiUnitAndAreaUnit)& ent) const { Standard_Integer num = 0; - data->NamedForComplex("AREA_UNIT",num0,num,ach); + data->NamedForComplex("AREA_UNIT","ARUNT",num0,num,ach); if (!data->CheckNbParams(num,0,ach,"area_unit")) return; - data->NamedForComplex("NAMED_UNIT NMDUNT",num0,num,ach); + data->NamedForComplex("NAMED_UNIT", "NMDUNT",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"named_unit")) return; Handle(StepBasic_DimensionalExponents) aDimensions; data->ReadEntity(num, 1,"dimensions", ach, STANDARD_TYPE(StepBasic_DimensionalExponents), aDimensions); - data->NamedForComplex("SI_UNIT SUNT",num0,num,ach); + data->NamedForComplex("SI_UNIT", "SUNT",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"si_unit")) return; RWStepBasic_RWSiUnit reader; diff --git a/src/RWStepBasic/RWStepBasic_RWSiUnitAndLengthUnit.cxx b/src/RWStepBasic/RWStepBasic_RWSiUnitAndLengthUnit.cxx index 97b90a7250..ba0640d317 100644 --- a/src/RWStepBasic/RWStepBasic_RWSiUnitAndLengthUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWSiUnitAndLengthUnit.cxx @@ -35,13 +35,13 @@ void RWStepBasic_RWSiUnitAndLengthUnit::ReadStep(const Handle(StepData_StepReade const Handle(StepBasic_SiUnitAndLengthUnit)& ent) const { Standard_Integer num = 0; // num0; - Standard_Boolean sorted = data->NamedForComplex("LENGTH_UNIT LNGUNT",num0,num,ach); + Standard_Boolean sorted = data->NamedForComplex("LENGTH_UNIT", "LNGUNT",num0,num,ach); // --- Instance of plex componant LengthUnit --- if (!data->CheckNbParams(num,0,ach,"length_unit")) return; if (!sorted) num = 0; //pdn unsorted case - sorted &=data->NamedForComplex("NAMED_UNIT NMDUNT",num0,num,ach); + sorted &=data->NamedForComplex("NAMED_UNIT", "NMDUNT",num0,num,ach); // --- Instance of common supertype NamedUnit --- if (!data->CheckNbParams(num,1,ach,"named_unit")) return; @@ -52,7 +52,7 @@ void RWStepBasic_RWSiUnitAndLengthUnit::ReadStep(const Handle(StepData_StepReade data->CheckDerived(num,1,"dimensions",ach,Standard_False); if (!sorted) num = 0; //pdn unsorted case - data->NamedForComplex("SI_UNIT SUNT",num0,num,ach); + data->NamedForComplex("SI_UNIT", "SUNT",num0,num,ach); // --- Instance of plex componant SiUnit --- if (!data->CheckNbParams(num,2,ach,"si_unit")) return; diff --git a/src/RWStepBasic/RWStepBasic_RWSiUnitAndMassUnit.cxx b/src/RWStepBasic/RWStepBasic_RWSiUnitAndMassUnit.cxx index 3e505f18cf..dcc95f781e 100644 --- a/src/RWStepBasic/RWStepBasic_RWSiUnitAndMassUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWSiUnitAndMassUnit.cxx @@ -44,13 +44,13 @@ void RWStepBasic_RWSiUnitAndMassUnit::ReadStep(const Handle(StepData_StepReaderD const Handle(StepBasic_SiUnitAndMassUnit)& ent) const { Standard_Integer num = 0; // num0; - Standard_Boolean sorted = data->NamedForComplex("MASS_UNIT",num0,num,ach); + Standard_Boolean sorted = data->NamedForComplex("MASS_UNIT","MSSUNT",num0,num,ach); // --- Instance of plex componant LengthUnit --- if (!data->CheckNbParams(num,0,ach,"mass_unit")) return; if (!sorted) num = 0; //pdn unsorted case - sorted &=data->NamedForComplex("NAMED_UNIT NMDUNT",num0,num,ach); + sorted &=data->NamedForComplex("NAMED_UNIT", "NMDUNT",num0,num,ach); // --- Instance of common supertype NamedUnit --- if (!data->CheckNbParams(num,1,ach,"named_unit")) return; @@ -61,7 +61,7 @@ void RWStepBasic_RWSiUnitAndMassUnit::ReadStep(const Handle(StepData_StepReaderD data->CheckDerived(num,1,"dimensions",ach,Standard_False); if (!sorted) num = 0; //pdn unsorted case - data->NamedForComplex("SI_UNIT SUNT",num0,num,ach); + data->NamedForComplex("SI_UNIT", "SUNT",num0,num,ach); // --- Instance of plex componant SiUnit --- if (!data->CheckNbParams(num,2,ach,"si_unit")) return; diff --git a/src/RWStepBasic/RWStepBasic_RWSiUnitAndVolumeUnit.cxx b/src/RWStepBasic/RWStepBasic_RWSiUnitAndVolumeUnit.cxx index 2cdb06f245..958d92a479 100644 --- a/src/RWStepBasic/RWStepBasic_RWSiUnitAndVolumeUnit.cxx +++ b/src/RWStepBasic/RWStepBasic_RWSiUnitAndVolumeUnit.cxx @@ -34,12 +34,12 @@ void RWStepBasic_RWSiUnitAndVolumeUnit::ReadStep(const Handle(StepData_StepReade const Handle(StepBasic_SiUnitAndVolumeUnit)& ent) const { Standard_Integer num = 0; - data->NamedForComplex("NAMED_UNIT NMDUNT",num0,num,ach); + data->NamedForComplex("NAMED_UNIT", "NMDUNT",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"named_unit")) return; Handle(StepBasic_DimensionalExponents) aDimensions; data->ReadEntity(num, 1,"dimensions", ach, STANDARD_TYPE(StepBasic_DimensionalExponents), aDimensions); - data->NamedForComplex("SI_UNIT SUNT",num0,num,ach); + data->NamedForComplex("SI_UNIT", "SUNT",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"si_unit")) return; RWStepBasic_RWSiUnit reader; @@ -73,7 +73,7 @@ void RWStepBasic_RWSiUnitAndVolumeUnit::ReadStep(const Handle(StepData_StepReade return; } - data->NamedForComplex("VOLUME_UNIT",num0,num,ach); + data->NamedForComplex("VOLUME_UNIT","VLMUNT",num0,num,ach); if (!data->CheckNbParams(num,0,ach,"volume_unit")) return; ent->Init(hasAprefix,aPrefix,aName); diff --git a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRef.cxx b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRef.cxx index 6dc02bc65a..02331922e2 100644 --- a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRef.cxx +++ b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRef.cxx @@ -47,7 +47,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRef::ReadStep const Handle(StepDimTol_GeoTolAndGeoTolWthDatRef)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("GEOMETRIC_TOLERANCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE","GMTTLR",num0,num,ach); if (!data->CheckNbParams(num,4,ach,"geometric_tolerance")) return; // Own fields of GeometricTolerance Handle(TCollection_HAsciiString) aName; @@ -59,7 +59,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRef::ReadStep StepDimTol_GeometricToleranceTarget aTolerancedShapeAspect; data->ReadEntity (num, 4, "toleranced_shape_aspect", ach, aTolerancedShapeAspect); - data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE","GTWDR",num0,num,ach); // Own fields of GeometricToleranceWithDatumReference Handle(StepDimTol_HArray1OfDatumSystemOrReference) aDatumSystem; Standard_Integer sub5 = 0; diff --git a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod.cxx b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod.cxx index 96a0a322af..d9ee750c4e 100644 --- a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod.cxx +++ b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod.cxx @@ -48,7 +48,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod::ReadStep const Handle(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("GEOMETRIC_TOLERANCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE","GMTTLR",num0,num,ach); if (!data->CheckNbParams(num,4,ach,"geometric_tolerance")) return; // Own fields of GeometricTolerance Handle(TCollection_HAsciiString) aName; @@ -60,7 +60,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod::ReadStep StepDimTol_GeometricToleranceTarget aTolerancedShapeAspect; data->ReadEntity (num, 4, "toleranced_shape_aspect", ach, aTolerancedShapeAspect); - data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE","GTWDR",num0,num,ach); // Own fields of GeometricToleranceWithDatumReference Handle(StepDimTol_HArray1OfDatumSystemOrReference) aDatumSystem; Standard_Integer sub5 = 0; diff --git a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol.cxx b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol.cxx index ab438679a3..42e1d203cd 100644 --- a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol.cxx +++ b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol.cxx @@ -46,7 +46,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol::ReadStep const Handle(StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("GEOMETRIC_TOLERANCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE","GMTTLR",num0,num,ach); if (!data->CheckNbParams(num,4,ach,"geometric_tolerance")) return; // Own fields of GeometricTolerance Handle(TCollection_HAsciiString) aName; @@ -58,7 +58,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol::ReadStep StepDimTol_GeometricToleranceTarget aTolerancedShapeAspect; data->ReadEntity (num, 4, "toleranced_shape_aspect", ach, aTolerancedShapeAspect); - data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE","GTWDR",num0,num,ach); // Own fields of GeometricToleranceWithDatumReference Handle(StepDimTol_HArray1OfDatumSystemOrReference) aDatumSystem; Standard_Integer sub5 = 0; @@ -77,7 +77,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol::ReadStep new StepDimTol_GeometricToleranceWithDatumReference; GTWDR->SetDatumSystem(aDatumSystem); - data->NamedForComplex("MODIFIED_GEOMETRIC_TOLERANCE",num0,num,ach); + data->NamedForComplex("MODIFIED_GEOMETRIC_TOLERANCE","MDGMTL",num0,num,ach); // Own fields of ModifiedGeometricTolerance StepDimTol_LimitCondition aModifier = StepDimTol_MaximumMaterialCondition; if (data->ParamType (num, 1) == Interface_ParamEnum) { diff --git a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol.cxx b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol.cxx index 5099603d9a..32dbc1dd1c 100644 --- a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol.cxx +++ b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol.cxx @@ -49,7 +49,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol::ReadStep const Handle(StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("GEOMETRIC_TOLERANCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE","GMTTLR",num0,num,ach); if (!data->CheckNbParams(num,4,ach,"geometric_tolerance")) return; // Own fields of GeometricTolerance Handle(TCollection_HAsciiString) aName; @@ -61,7 +61,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol::ReadStep StepDimTol_GeometricToleranceTarget aTolerancedShapeAspect; data->ReadEntity (num, 4, "toleranced_shape_aspect", ach, aTolerancedShapeAspect); - data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE","GTWDR",num0,num,ach); // Own fields of GeometricToleranceWithDatumReference Handle(StepDimTol_HArray1OfDatumSystemOrReference) aDatumSystem; Standard_Integer sub5 = 0; diff --git a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthMod.cxx b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthMod.cxx index dcba7d4584..93ee607538 100644 --- a/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthMod.cxx +++ b/src/RWStepDimTol/RWStepDimTol_RWGeoTolAndGeoTolWthMod.cxx @@ -45,7 +45,7 @@ void RWStepDimTol_RWGeoTolAndGeoTolWthMod::ReadStep const Handle(StepDimTol_GeoTolAndGeoTolWthMod)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("GEOMETRIC_TOLERANCE",num0,num,ach); + data->NamedForComplex("GEOMETRIC_TOLERANCE","GMTTLR",num0,num,ach); if (!data->CheckNbParams(num,4,ach,"geometric_tolerance")) return; // Own fields of GeometricTolerance Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepGeom/RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve.cxx b/src/RWStepGeom/RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve.cxx index 8da2b2f6bc..63d4a18391 100644 --- a/src/RWStepGeom/RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve.cxx +++ b/src/RWStepGeom/RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve.cxx @@ -57,16 +57,12 @@ void RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve::ReadStep // sln 04.10.2001. BUC61003. Correction of looking for items of complex entity Standard_Integer num = 0; // num0 - data->NamedForComplex("BOUNDED_CURVE BNDCRV",num0,num,ach); - - // --- Instance of plex componant BoundedCurve --- - - if (!data->CheckNbParams(num,0,ach,"bounded_curve")) return; + data->NamedForComplex("BOUNDED_CURVE", "BNDCRV",num0,num,ach); // num = data->NextForComplex(num); // sln 04.10.2001. BUC61003. Correction of looking for items of complex entity // num = 0; gka TRJ9 - data->NamedForComplex("B_SPLINE_CURVE BSPCR",num0,num,ach); + data->NamedForComplex("B_SPLINE_CURVE", "BSPCR",num0,num,ach); // --- Instance of common supertype BSplineCurve --- @@ -125,7 +121,7 @@ void RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve::ReadStep // num = data->NextForComplex(num); // sln 04.10.2001. BUC61003. Correction of looking for items of complex entity // num = 0; //gka TRJ9 - data->NamedForComplex("B_SPLINE_CURVE_WITH_KNOTS BSCWK",num0,num,ach); + data->NamedForComplex("B_SPLINE_CURVE_WITH_KNOTS", "BSCWK",num0,num,ach); // --- Instance of plex componant BSplineCurveWithKnots --- @@ -179,23 +175,15 @@ void RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve::ReadStep // num = 0; gka TRJ9 data->NamedForComplex("CURVE",num0,num,ach); - // --- Instance of plex componant Curve --- - - if (!data->CheckNbParams(num,0,ach,"curve")) return; +// num = data->NextForComplex(num); +// sln 04.10.2001. BUC61003. Correction of looking for items of complex entity + //num = 0; + data->NamedForComplex("GEOMETRIC_REPRESENTATION_ITEM", "GMRPIT",num0,num,ach); // num = data->NextForComplex(num); // sln 04.10.2001. BUC61003. Correction of looking for items of complex entity //num = 0; - data->NamedForComplex("GEOMETRIC_REPRESENTATION_ITEM GMRPIT",num0,num,ach); - - // --- Instance of plex componant GeometricRepresentationItem --- - - if (!data->CheckNbParams(num,0,ach,"geometric_representation_item")) return; - -// num = data->NextForComplex(num); -// sln 04.10.2001. BUC61003. Correction of looking for items of complex entity - //num = 0; - data->NamedForComplex("RATIONAL_B_SPLINE_CURVE RBSC",num0,num,ach); + data->NamedForComplex("RATIONAL_B_SPLINE_CURVE", "RBSC",num0,num,ach); // --- Instance of plex componant RationalBSplineCurve --- @@ -219,7 +207,7 @@ void RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve::ReadStep // num = data->NextForComplex(num); // sln 04.10.2001. BUC61003. Correction of looking for items of complex entity //num = 0; - data->NamedForComplex("REPRESENTATION_ITEM RPRITM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM", "RPRITM",num0,num,ach); // --- Instance of plex componant RepresentationItem --- diff --git a/src/RWStepGeom/RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface.cxx b/src/RWStepGeom/RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface.cxx index 3270f58ce5..35116e3e5f 100644 --- a/src/RWStepGeom/RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface.cxx +++ b/src/RWStepGeom/RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface.cxx @@ -61,14 +61,10 @@ void RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface::ReadStep { Standard_Integer num = 0; // num0 - data->NamedForComplex("BOUNDED_SURFACE BNDSRF",num0,num,ach); - - // --- Instance of plex componant BoundedSurface --- - - if (!data->CheckNbParams(num,0,ach,"bounded_surface")) return; + data->NamedForComplex("BOUNDED_SURFACE", "BNDSRF",num0,num,ach); // num = data->NextForComplex(num); - data->NamedForComplex("B_SPLINE_SURFACE BSPSR",num0,num,ach); + data->NamedForComplex("B_SPLINE_SURFACE", "BSPSR",num0,num,ach); // --- Instance of common supertype BSplineSurface --- @@ -149,7 +145,7 @@ void RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface::ReadStep data->ReadLogical (num,7,"self_intersect",ach,aSelfIntersect); // num = data->NextForComplex(num); - data->NamedForComplex("B_SPLINE_SURFACE_WITH_KNOTS BSSWK",num0,num,ach); + data->NamedForComplex("B_SPLINE_SURFACE_WITH_KNOTS", "BSSWK",num0,num,ach); // --- Instance of plex componant BSplineSurfaceWithKnots --- @@ -229,14 +225,10 @@ void RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface::ReadStep else ach->AddFail("Parameter #5 (knot_spec) is not an enumeration"); // num = data->NextForComplex(num); - data->NamedForComplex("GEOMETRIC_REPRESENTATION_ITEM GMRPIT",num0,num,ach); - - // --- Instance of plex componant GeometricRepresentationItem --- - - if (!data->CheckNbParams(num,0,ach,"geometric_representation_item")) return; + data->NamedForComplex("GEOMETRIC_REPRESENTATION_ITEM", "GMRPIT",num0,num,ach); // num = data->NextForComplex(num); - data->NamedForComplex("RATIONAL_B_SPLINE_SURFACE RBSS",num0,num,ach); + data->NamedForComplex("RATIONAL_B_SPLINE_SURFACE", "RBSS",num0,num,ach); // --- Instance of plex componant RationalBSplineSurface --- @@ -265,7 +257,7 @@ void RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface::ReadStep } // num = data->NextForComplex(num); - data->NamedForComplex("REPRESENTATION_ITEM RPRITM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM", "RPRITM",num0,num,ach); // --- Instance of plex componant RepresentationItem --- @@ -278,11 +270,7 @@ void RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface::ReadStep data->ReadString (num,1,"name",ach,aName); // num = data->NextForComplex(num); - data->NamedForComplex("SURFACE SRFC",num0,num,ach); - - // --- Instance of plex componant Surface --- - - if (!data->CheckNbParams(num,0,ach,"surface")) return; + data->NamedForComplex("SURFACE", "SRFC",num0,num,ach); //--- Initialisation of the red entity --- diff --git a/src/RWStepRepr/RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp.cxx b/src/RWStepRepr/RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp.cxx index 04ef761d14..1b6bc283f6 100644 --- a/src/RWStepRepr/RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp.cxx +++ b/src/RWStepRepr/RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp.cxx @@ -42,7 +42,7 @@ void RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp::ReadStep const Handle(StepRepr_CompGroupShAspAndCompShAspAndDatumFeatAndShAsp)& ent) const { Standard_Integer num = 0; - data->NamedForComplex("SHAPE_ASPECT", num0, num, ach); + data->NamedForComplex("SHAPE_ASPECT","SHPASP", num0, num, ach); if (!data->CheckNbParams(num, 4, ach, "shape_aspect")) return; Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepRepr/RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.cxx b/src/RWStepRepr/RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.cxx index eb69f189f6..885bfeba3b 100644 --- a/src/RWStepRepr/RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.cxx +++ b/src/RWStepRepr/RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.cxx @@ -42,7 +42,7 @@ void RWStepRepr_RWCompShAspAndDatumFeatAndShAsp::ReadStep const Handle(StepRepr_CompShAspAndDatumFeatAndShAsp)& ent) const { Standard_Integer num = 0; - data->NamedForComplex("SHAPE_ASPECT", num0, num, ach); + data->NamedForComplex("SHAPE_ASPECT","SHPASP", num0, num, ach); if (!data->CheckNbParams(num, 4, ach, "shape_aspect")) return; Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnit.cxx b/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnit.cxx index 156bb64525..2895e1775a 100644 --- a/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnit.cxx +++ b/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnit.cxx @@ -40,7 +40,7 @@ void RWStepRepr_RWReprItemAndLengthMeasureWithUnit::ReadStep const Handle(StepRepr_ReprItemAndLengthMeasureWithUnit)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("MEASURE_WITH_UNIT",num0,num,ach); + data->NamedForComplex("MEASURE_WITH_UNIT","MSWTUN",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"measure_with_unit")) return; // --- own field : valueComponent --- Handle(StepBasic_MeasureValueMember) mvc = new StepBasic_MeasureValueMember; @@ -51,7 +51,7 @@ void RWStepRepr_RWReprItemAndLengthMeasureWithUnit::ReadStep Handle(StepBasic_MeasureWithUnit) aMeasureWithUnit = new StepBasic_MeasureWithUnit; aMeasureWithUnit->Init(mvc, aUnitComponent); - data->NamedForComplex("REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM","RPRITM",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"representation_item")) return; // --- own field : name --- Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI.cxx b/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI.cxx index e0abd7a0a8..6b5959512c 100644 --- a/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI.cxx +++ b/src/RWStepRepr/RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI.cxx @@ -44,7 +44,7 @@ void RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI::ReadStep const Handle(StepRepr_ReprItemAndLengthMeasureWithUnitAndQRI)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("MEASURE_WITH_UNIT",num0,num,ach); + data->NamedForComplex("MEASURE_WITH_UNIT","MSWTUN",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"measure_with_unit")) return; // --- own field : valueComponent --- Handle(StepBasic_MeasureValueMember) mvc = new StepBasic_MeasureValueMember; @@ -55,7 +55,7 @@ void RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI::ReadStep Handle(StepBasic_MeasureWithUnit) aMeasureWithUnit = new StepBasic_MeasureWithUnit; aMeasureWithUnit->Init(mvc, aUnitComponent); - data->NamedForComplex("QUALIFIED_REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("QUALIFIED_REPRESENTATION_ITEM","QLRPIT",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"qualified_representation_item")) return; // --- own field : qualifiers --- Handle(StepShape_HArray1OfValueQualifier) quals; @@ -73,7 +73,7 @@ void RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI::ReadStep Handle(StepShape_QualifiedRepresentationItem) aQRI = new StepShape_QualifiedRepresentationItem(); aQRI->SetQualifiers(quals); - data->NamedForComplex("REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM","RPRITM",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"representation_item")) return; // --- own field : name --- Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit.cxx b/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit.cxx index 5a023ae9ea..7285c11aee 100644 --- a/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit.cxx +++ b/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit.cxx @@ -41,7 +41,7 @@ void RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit::ReadStep const Handle(StepRepr_ReprItemAndPlaneAngleMeasureWithUnit)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("MEASURE_WITH_UNIT",num0,num,ach); + data->NamedForComplex("MEASURE_WITH_UNIT","MSWTUN",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"measure_with_unit")) return; // --- own field : valueComponent --- Handle(StepBasic_MeasureValueMember) mvc = new StepBasic_MeasureValueMember; @@ -52,7 +52,7 @@ void RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit::ReadStep Handle(StepBasic_MeasureWithUnit) aMeasureWithUnit = new StepBasic_MeasureWithUnit; aMeasureWithUnit->Init(mvc, aUnitComponent); - data->NamedForComplex("REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM","RPRITM",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"representation_item")) return; // --- own field : name --- Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI.cxx b/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI.cxx index 6df252a284..9e0ac519b6 100644 --- a/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI.cxx +++ b/src/RWStepRepr/RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI.cxx @@ -44,7 +44,7 @@ void RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI::ReadStep const Handle(StepRepr_ReprItemAndPlaneAngleMeasureWithUnitAndQRI)& ent) const { Standard_Integer num = 0;//num0; - data->NamedForComplex("MEASURE_WITH_UNIT",num0,num,ach); + data->NamedForComplex("MEASURE_WITH_UNIT","MSWTUN",num0,num,ach); if (!data->CheckNbParams(num,2,ach,"measure_with_unit")) return; // --- own field : valueComponent --- Handle(StepBasic_MeasureValueMember) mvc = new StepBasic_MeasureValueMember; @@ -55,7 +55,7 @@ void RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI::ReadStep Handle(StepBasic_MeasureWithUnit) aMeasureWithUnit = new StepBasic_MeasureWithUnit; aMeasureWithUnit->Init(mvc, aUnitComponent); - data->NamedForComplex("QUALIFIED_REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("QUALIFIED_REPRESENTATION_ITEM","QLRPIT",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"qualified_representation_item")) return; // --- own field : qualifiers --- Handle(StepShape_HArray1OfValueQualifier) quals; @@ -72,7 +72,7 @@ void RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI::ReadStep Handle(StepShape_QualifiedRepresentationItem) aQRI = new StepShape_QualifiedRepresentationItem(); aQRI->SetQualifiers(quals); - data->NamedForComplex("REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM","RPRITM",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"representation_item")) return; // --- own field : name --- Handle(TCollection_HAsciiString) aName; diff --git a/src/RWStepRepr/RWStepRepr_RWShapeRepresentationRelationshipWithTransformation.cxx b/src/RWStepRepr/RWStepRepr_RWShapeRepresentationRelationshipWithTransformation.cxx index d00379d04c..26432aefb4 100644 --- a/src/RWStepRepr/RWStepRepr_RWShapeRepresentationRelationshipWithTransformation.cxx +++ b/src/RWStepRepr/RWStepRepr_RWShapeRepresentationRelationshipWithTransformation.cxx @@ -37,7 +37,7 @@ void RWStepRepr_RWShapeRepresentationRelationshipWithTransformation::ReadStep // --- Instance of plex componant RepresentationRelationship --- Standard_Integer num = 0; // num0; - data->NamedForComplex("REPRESENTATION_RELATIONSHIP RPRRLT",num0,num,ach); + data->NamedForComplex("REPRESENTATION_RELATIONSHIP", "RPRRLT",num0,num,ach); // --- Number of Parameter Control --- @@ -70,7 +70,7 @@ void RWStepRepr_RWShapeRepresentationRelationshipWithTransformation::ReadStep // --- Instance of plex componant RepresentationRelationshipWithTransformation --- - data->NamedForComplex("REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION RRWT",num0,num,ach); + data->NamedForComplex("REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION", "RRWT",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"representation_relationship_with_transformation")) return; // --- own field : transformation_operator @@ -81,7 +81,7 @@ void RWStepRepr_RWShapeRepresentationRelationshipWithTransformation::ReadStep // --- Instance of plex componant ShapeRepresentationRelationship --- - data->NamedForComplex("SHAPE_REPRESENTATION_RELATIONSHIP SHRPRL",num0,num,ach); + data->NamedForComplex("SHAPE_REPRESENTATION_RELATIONSHIP", "SHRPRL",num0,num,ach); if (!data->CheckNbParams(num,0,ach,"shape_representation_relationship")) return; //--- Initialisation of the read entity --- diff --git a/src/RWStepShape/RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem.cxx b/src/RWStepShape/RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem.cxx index f5bc878f9b..267ecb0687 100644 --- a/src/RWStepShape/RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem.cxx +++ b/src/RWStepShape/RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem.cxx @@ -38,7 +38,7 @@ void RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem::Read // --- Instance of plex componant : MeasureReprItem Standard_Integer num = 0; - data->NamedForComplex("MEASURE_REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("MEASURE_REPRESENTATION_ITEM","MSRPIT",num0,num,ach); // --- Number of Parameter Control --- @@ -55,7 +55,7 @@ void RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem::Read // --- Instance of plex componant : QualifiedReprItem - data->NamedForComplex("QUALIFIED_REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("QUALIFIED_REPRESENTATION_ITEM","QLRPIT",num0,num,ach); // --- Number of Parameter Control --- @@ -78,7 +78,7 @@ void RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem::Read // --- Instance of plex componant : RepresentationItem - data->NamedForComplex("REPRESENTATION_ITEM",num0,num,ach); + data->NamedForComplex("REPRESENTATION_ITEM","RPRITM",num0,num,ach); if (!data->CheckNbParams(num,1,ach,"representation_item")) return; diff --git a/src/StepData/StepData_StepReaderData.cxx b/src/StepData/StepData_StepReaderData.cxx index d2ee28cea1..ba6daae838 100644 --- a/src/StepData/StepData_StepReaderData.cxx +++ b/src/StepData/StepData_StepReaderData.cxx @@ -401,6 +401,43 @@ Standard_Boolean StepData_StepReaderData::NamedForComplex return Standard_False; } +//======================================================================= +//function : NamedForComplex +//purpose : +//======================================================================= + +Standard_Boolean StepData_StepReaderData::NamedForComplex + (const Standard_CString theName, const Standard_CString theShortName, + const Standard_Integer num0, Standard_Integer& num, + Handle(Interface_Check)& ach) const +{ + Standard_Integer n = (num <= 0 ? num0 : NextForComplex(num)); + if ((n!=0) && !(stepstrcmp(RecordType(n).ToCString(),theName) && + stepstrcmp(RecordType(n).ToCString(), theShortName))) + { num = n; return Standard_True; } + + if (n == 0) + NamedForComplex (theName, theShortName, num0, n, ach); + //entities are not in alphabetical order + Handle(String) errmess = new String("Parameter n0.%d (%s) not a LIST"); + sprintf (txtmes,errmess->ToCString(), num0, theName); + for (n = num0; n > 0; n = NextForComplex(n)) { + if (!(stepstrcmp(RecordType(n).ToCString(),theName) && + stepstrcmp(RecordType(n).ToCString(), theShortName))) { + num = n; + errmess = new String("Complex Record n0.%d, member type %s not in alphabetic order"); + sprintf (txtmes,errmess->ToCString(), num0, theName); + ach->AddWarning(txtmes,errmess->ToCString()); + return Standard_False; + } + } + num = 0; + errmess = new String("Complex Record n0.%d, member type %s not found"); + sprintf (txtmes,errmess->ToCString(), num0, theName); + ach->AddFail (txtmes,errmess->ToCString()); + return Standard_False; +} + // ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## diff --git a/src/StepData/StepData_StepReaderData.hxx b/src/StepData/StepData_StepReaderData.hxx index c119f4a7df..07abe3cf64 100644 --- a/src/StepData/StepData_StepReaderData.hxx +++ b/src/StepData/StepData_StepReaderData.hxx @@ -120,6 +120,23 @@ public: //! Returns True if alphabetic order, False else Standard_EXPORT Standard_Boolean NamedForComplex (const Standard_CString name, const Standard_Integer num0, Standard_Integer& num, Handle(Interface_Check)& ach) const; + //! Determines the first component which brings a given name, or + //! short name for a Complex Type Entity + //! is the very first record of this entity + //! is given the last NextNamedForComplex, starts at zero + //! it is returned as the newly found number + //! Hence, in the normal case, NextNamedForComplex starts by num0 + //! if is zero, else by NextForComplex(num) + //! If the alphabetic order is not respected, it restarts from + //! num0 and loops on NextForComplex until finding + //! In case of "non-alphabetic order", is filled with a + //! Warning for this name + //! In case of "not-found at all", is filled with a Fail, + //! and is returned as zero + //! + //! Returns True if alphabetic order, False else + Standard_EXPORT Standard_Boolean NamedForComplex (const Standard_CString theName, const Standard_CString theShortName, const Standard_Integer num0, Standard_Integer& num, Handle(Interface_Check)& ach) const; + //! Checks Count of Parameters of record to equate //! If this Check is successful, returns True //! Else, fills with an Error Message then returns False diff --git a/tests/bugs/step/bug26715_1 b/tests/bugs/step/bug26715_1 new file mode 100755 index 0000000000..d2ba3d1a01 --- /dev/null +++ b/tests/bugs/step/bug26715_1 @@ -0,0 +1,28 @@ +puts "========" +puts "OCC26715" +puts "========" +puts "" +########################################################################## +# Problems in reading STEP short names in complex entities +########################################################################## + +stepread [locate_data_file bug26715_001.stp] a * +tpcompound result + +set square 28950.7 + +set nbshapes_expected " +Number of shapes in shape + VERTEX : 420 + EDGE : 536 + WIRE : 120 + FACE : 118 + SHELL : 1 + SOLID : 1 + COMPSOLID : 0 + COMPOUND : 1 + SHAPE : 1197 +" +checknbshapes result -ref ${nbshapes_expected} -t -m "importing file" + +set 3dviewer 1 diff --git a/tests/bugs/step/bug26715_2 b/tests/bugs/step/bug26715_2 new file mode 100755 index 0000000000..3959dd23b9 --- /dev/null +++ b/tests/bugs/step/bug26715_2 @@ -0,0 +1,28 @@ +puts "========" +puts "OCC26715" +puts "========" +puts "" +########################################################################## +# Problems in reading STEP short names in complex entities +########################################################################## + +stepread [locate_data_file bug26715_003.stp] a * +tpcompound result + +set square 23212.2 + +set nbshapes_expected " +Number of shapes in shape + VERTEX : 3840 + EDGE : 3840 + WIRE : 487 + FACE : 485 + SHELL : 485 + SOLID : 0 + COMPSOLID : 0 + COMPOUND : 1 + SHAPE : 9138 +" +checknbshapes result -ref ${nbshapes_expected} -t -m "importing file" + +set 3dviewer 1 diff --git a/tests/bugs/step/bug26715_3 b/tests/bugs/step/bug26715_3 new file mode 100755 index 0000000000..0563ccce77 --- /dev/null +++ b/tests/bugs/step/bug26715_3 @@ -0,0 +1,28 @@ +puts "========" +puts "OCC26715" +puts "========" +puts "" +########################################################################## +# Problems in reading STEP short names in complex entities +########################################################################## + +stepread [locate_data_file bug26715_004.stp] a * +tpcompound result + +set square 28950.7 + +set nbshapes_expected " +Number of shapes in shape + VERTEX : 420 + EDGE : 536 + WIRE : 120 + FACE : 118 + SHELL : 1 + SOLID : 1 + COMPSOLID : 0 + COMPOUND : 1 + SHAPE : 1197 +" +checknbshapes result -ref ${nbshapes_expected} -t -m "importing file" + +set 3dviewer 1