IfcMaterialUsageDefinition: Illegal to assign to subtype of IfcElementType

buildingsmart documentation mentions IfcMaterialUsageDefinition for occurrence specific assignment and mentions as illegal to assign its subtype to a subtype of IfcElementType. Demo library has for example IfcSlabType defined with IfcMaterialLayerSetUsage. Confused on this now. Could anyone clarify on this point.

Comments

  • edited November 2022

    Not an expert... but...

    The IFCMATERIALLAYERSET is assigned to the IFCSLABTYPE.

    The IFCMATERIALLAYERSET is assigned to IFCMATERIALLAYERSETUSAGE

    IFCMATERIALLAYERSETUSAGE is assigned to IFCSLAB

    This is output from BB's demo library....

    #63=IFCRELASSOCIATESMATERIAL('3WSlLxuwH3Sfsul8DwR0LU',$,$,$,(#62),#66);
      /*#62=IFCSLABTYPE('0OWxf_nd97uvH$Sr4QbAVW',$,'DEMO150',$,$,$,$,$,$,$);*/
      /*#66=IFCMATERIALLAYERSET((#65),$,$);*/
        /*#65=IFCMATERIALLAYER(#64,0.2,$,$,$,$,$);*/
          /*#64=IFCMATERIAL('Unknown',$,$);*/
    
    #69=IFCRELDEFINESBYTYPE('3_M2mlner70e8MuV67bELe',$,$,$,(#67),#62);
      /*#67=IFCSLAB('1WC$r91LfEmBg1ASSVBC8$',$,'Slab',$,$,#76,#83,$,.NOTDEFINED.);*/
        /*#76=IFCLOCALPLACEMENT(#61,#75);*/
          /*#61=IFCLOCALPLACEMENT(#55,#60);*/
            /*#55=IFCLOCALPLACEMENT(#49,#54);*/
              /*#49=IFCLOCALPLACEMENT($,#48);*/
                /*#48=IFCAXIS2PLACEMENT3D(#45,#46,#47);*/
                  /*#45=IFCCARTESIANPOINT((0.,0.,0.));*/
                  /*#46=IFCDIRECTION((0.,0.,1.));*/
                  /*#47=IFCDIRECTION((1.,0.,0.));*/
              /*#54=IFCAXIS2PLACEMENT3D(#51,#52,#53);*/
                /*#51=IFCCARTESIANPOINT((0.,0.,0.));*/
                /*#52=IFCDIRECTION((0.,0.,1.));*/
                /*#53=IFCDIRECTION((1.,0.,0.));*/
            /*#60=IFCAXIS2PLACEMENT3D(#57,#58,#59);*/
              /*#57=IFCCARTESIANPOINT((0.,0.,0.));*/
              /*#58=IFCDIRECTION((0.,0.,1.));*/
              /*#59=IFCDIRECTION((1.,0.,0.));*/
          /*#75=IFCAXIS2PLACEMENT3D(#72,#73,#74);*/
            /*#72=IFCCARTESIANPOINT((1.,1.,-0.200000002980232));*/
            /*#73=IFCDIRECTION((0.,0.,1.));*/
            /*#74=IFCDIRECTION((1.,0.,0.));*/
        /*#83=IFCPRODUCTDEFINITIONSHAPE($,$,(#82));*/
          /*#82=IFCSHAPEREPRESENTATION(#15,'Body','SweptSolid',(#81));*/
            /*#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$);*/
              /*#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$);*/
                /*#13=IFCAXIS2PLACEMENT3D(#10,#11,#12);*/
                  /*#10=IFCCARTESIANPOINT((0.,0.,0.));*/
                  /*#11=IFCDIRECTION((0.,0.,1.));*/
                  /*#12=IFCDIRECTION((1.,0.,0.));*/
            /*#81=IFCEXTRUDEDAREASOLID(#80,$,#79,0.2);*/
              /*#80=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#78);*/
                /*#78=IFCINDEXEDPOLYCURVE(#77,$,$);*/
                  /*#77=IFCCARTESIANPOINTLIST3D(((0.,0.),(1.,0.),(1.,1.),(0.,1.),(0.,0.)));*/
              /*#79=IFCDIRECTION((0.,0.,1.));*/
      /*#62=IFCSLABTYPE('0OWxf_nd97uvH$Sr4QbAVW',$,'DEMO150',$,$,$,$,$,$,$);*/
    
    #71=IFCRELASSOCIATESMATERIAL('0ELwhNK7XBz9y7BE6Zg6i2',$,$,$,(#67),#70);
      /*#67=IFCSLAB('1WC$r91LfEmBg1ASSVBC8$',$,'Slab',$,$,#76,#83,$,.NOTDEFINED.);*/
        /*#76=IFCLOCALPLACEMENT(#61,#75);*/
          /*#61=IFCLOCALPLACEMENT(#55,#60);*/
            /*#55=IFCLOCALPLACEMENT(#49,#54);*/
              /*#49=IFCLOCALPLACEMENT($,#48);*/
                /*#48=IFCAXIS2PLACEMENT3D(#45,#46,#47);*/
                  /*#45=IFCCARTESIANPOINT((0.,0.,0.));*/
                  /*#46=IFCDIRECTION((0.,0.,1.));*/
                  /*#47=IFCDIRECTION((1.,0.,0.));*/
              /*#54=IFCAXIS2PLACEMENT3D(#51,#52,#53);*/
                /*#51=IFCCARTESIANPOINT((0.,0.,0.));*/
                /*#52=IFCDIRECTION((0.,0.,1.));*/
                /*#53=IFCDIRECTION((1.,0.,0.));*/
            /*#60=IFCAXIS2PLACEMENT3D(#57,#58,#59);*/
              /*#57=IFCCARTESIANPOINT((0.,0.,0.));*/
              /*#58=IFCDIRECTION((0.,0.,1.));*/
              /*#59=IFCDIRECTION((1.,0.,0.));*/
          /*#75=IFCAXIS2PLACEMENT3D(#72,#73,#74);*/
            /*#72=IFCCARTESIANPOINT((1.,1.,-0.200000002980232));*/
            /*#73=IFCDIRECTION((0.,0.,1.));*/
            /*#74=IFCDIRECTION((1.,0.,0.));*/
        /*#83=IFCPRODUCTDEFINITIONSHAPE($,$,(#82));*/
          /*#82=IFCSHAPEREPRESENTATION(#15,'Body','SweptSolid',(#81));*/
            /*#15=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$);*/
              /*#14=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#13,$);*/
                /*#13=IFCAXIS2PLACEMENT3D(#10,#11,#12);*/
                  /*#10=IFCCARTESIANPOINT((0.,0.,0.));*/
                  /*#11=IFCDIRECTION((0.,0.,1.));*/
                  /*#12=IFCDIRECTION((1.,0.,0.));*/
            /*#81=IFCEXTRUDEDAREASOLID(#80,$,#79,0.2);*/
              /*#80=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#78);*/
                /*#78=IFCINDEXEDPOLYCURVE(#77,$,$);*/
                  /*#77=IFCCARTESIANPOINTLIST3D(((0.,0.),(1.,0.),(1.,1.),(0.,1.),(0.,0.)));*/
              /*#79=IFCDIRECTION((0.,0.,1.));*/
      /*#70=IFCMATERIALLAYERSETUSAGE(#66,.AXIS3.,.POSITIVE.,0.,$);*/
        /*#66=IFCMATERIALLAYERSET((#65),$,$);*/
          /*#65=IFCMATERIALLAYER(#64,0.2,$,$,$,$,$);*/
            /*#64=IFCMATERIAL('Unknown',$,$);*/
    
  • ArvArv
    edited November 2022

    Thanks @theoryshaw . clear on this now. always had a confusion between ifcmateriallayersetusage and ifcmateriallayerset

Sign In or Register to comment.