Skip to content

Asterisk sign problem #103

@arzezniczak

Description

@arzezniczak

Hello.
I have a IFC file from Solibri IFC Optimizer.
IFC 3_optimized.zip
I'm trying to read attribute Name from IfcProject instance with code like this:

const IfcSchema::IfcRoot *root = static_cast<const IfcSchema::IfcRoot*>(instance /*this is instance with IfcProject*/);
if (root->hasName())
    return root->Name();

root->hasName() is returning true but when I'm calling root->Name() I'm getting exception:

class IfcParse::IfcInvalidTokenException
Token * at 5248629 invalid string

This is how IfcProject instance in this IFC file look like:
#94908=IFCPROJECT('2MB33tRp9A69zGFxGcIs2R',#8,*,*,*,$,$,(#14),#94769);
As you can see instead of $ sign as Name attribute or IfcLabel, there is aterisk * sign.

In IFC Implementation FAQ I found this:

The * character encodes so-called omitted parameters. These are attributes which are defined as a regular explicit attribute in a supertype but redefined as a derived attribute in a subtype (and the record in the IFC file is an instance of the subtype).

I'm thinking where is this Name attribute defined then? Or maybe it's not and that's why this exception is thrown?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions