{"action":"created","issue":{"url":"https://api.github.com/repos/Autodesk/revit-ifc/issues/68","repository_url":"https://api.github.com/repos/Autodesk/revit-ifc","labels_url":"https://api.github.com/repos/Autodesk/revit-ifc/issues/68/labels{/name}","comments_url":"https://api.github.com/repos/Autodesk/revit-ifc/issues/68/comments","events_url":"https://api.github.com/repos/Autodesk/revit-ifc/issues/68/events","html_url":"https://github.com/Autodesk/revit-ifc/issues/68","id":378733500,"node_id":"MDU6SXNzdWUzNzg3MzM1MDA=","number":68,"title":"IFC4Add2TC1 Entity/TypeClasses","user":{"login":"dvrvb","id":41319048,"node_id":"MDQ6VXNlcjQxMzE5MDQ4","avatar_url":"https://avatars3.githubusercontent.com/u/41319048?v=4","gravatar_id":"","url":"https://api.github.com/users/dvrvb","html_url":"https://github.com/dvrvb","followers_url":"https://api.github.com/users/dvrvb/followers","following_url":"https://api.github.com/users/dvrvb/following{/other_user}","gists_url":"https://api.github.com/users/dvrvb/gists{/gist_id}","starred_url":"https://api.github.com/users/dvrvb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dvrvb/subscriptions","organizations_url":"https://api.github.com/users/dvrvb/orgs","repos_url":"https://api.github.com/users/dvrvb/repos","events_url":"https://api.github.com/users/dvrvb/events{/privacy}","received_events_url":"https://api.github.com/users/dvrvb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-08T13:34:37Z","updated_at":"2018-11-13T17:34:36Z","closed_at":null,"author_association":"NONE","body":"IFC4Add2TC1 Entity/TypeClasses\r\n\r\nSince a few newly added classes in IFC4 are already deprecated in IFC4Add2TC1,\r\nthere are now a few export translations that are not yet consistent in my opinion.\r\n\r\nR2019\r\nUsing IFCExportAs\r\n\r\nWhile for instance IFCExportAs = IfcMemberStandardCase is nicely translated in the IFC-export to IfcMember and its IfcMemberType,\r\nthere is some inconsistency with:\r\n\r\n- IFCExportAs = IfcPlateStandardCase (which is deprecated in IFC4Add2TC1) > is now only translated to IfcPlate: IfcPlateType is missing\r\n\r\n- IFCExportAs = IfcSlabeElementedCase (which is deprecated in IFC4Add2TC1) > still translated to IfcSlabElementedCase: should be IfcSlab + IfcSlabType\r\n\r\n- IFCExportAs = IfcWallElementedCase (which is deprecated in IFC4Add2TC1) > still translated to IfcWallElementedCase: should be IfcWall with PredefinedType ELEMENTEDWALL  + IfcWallType\r\n\r\n- IFCExportAs = IfcOpeningStandardCase (which is deprecated in IFC4Add2TC1) > still translated to IfcOpeningStandardCase: should be IfcOpeningElement\r\n\r\nThere is also an issue with:\r\nIFCExportAs = IfcFooting > now only exporting as IfcFooting: the IfcFootingType is missing\r\nIFCExportAs = IfcPile > now only IfcPile: IfcPileType is missing\r\nIFCExportAs = IfcProxy (which is deprecated in IFC4Add2TC1) > still translated to IfcProxy: should be IfcBuildingElementProxy (Why did they deprecate IfcProxy? Retorical question)\r\n\r\n\r\nI'm also wondering why the following exportable classes are missing their TypeClass in the IFC-export:\r\nIfcDistributionControlElement is missing its IfcDistributionControlElementType\r\nAlso an issue for:\r\nIfcDistributionFlowElement\r\nIfcEnergyConversionDevice\r\nIfcFlowController\r\nIfcFlowFitting\r\nIfcFlowMovingDevice\r\nIfcFlowSegment\r\nIfcFlowStorageDevice\r\nIfcFlowTerminal\r\nIfcFlowTreatmentDevice\r\n\r\nNote: with missing TypeClass, I don't mean the use of the TypeClass as value for IFCExportAs, I really mean how it is written in the IFC-file, where the EntityClass for the occurence is related to its TypeClass, and that TypeClass is sometimes missing.\r\n\r\nRegards,\r\nDirk"},"comment":{"url":"https://api.github.com/repos/Autodesk/revit-ifc/issues/comments/438364392","html_url":"https://github.com/Autodesk/revit-ifc/issues/68#issuecomment-438364392","issue_url":"https://api.github.com/repos/Autodesk/revit-ifc/issues/68","id":438364392,"node_id":"MDEyOklzc3VlQ29tbWVudDQzODM2NDM5Mg==","user":{"login":"WawanSolihin","id":31854582,"node_id":"MDQ6VXNlcjMxODU0NTgy","avatar_url":"https://avatars3.githubusercontent.com/u/31854582?v=4","gravatar_id":"","url":"https://api.github.com/users/WawanSolihin","html_url":"https://github.com/WawanSolihin","followers_url":"https://api.github.com/users/WawanSolihin/followers","following_url":"https://api.github.com/users/WawanSolihin/following{/other_user}","gists_url":"https://api.github.com/users/WawanSolihin/gists{/gist_id}","starred_url":"https://api.github.com/users/WawanSolihin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WawanSolihin/subscriptions","organizations_url":"https://api.github.com/users/WawanSolihin/orgs","repos_url":"https://api.github.com/users/WawanSolihin/repos","events_url":"https://api.github.com/users/WawanSolihin/events{/privacy}","received_events_url":"https://api.github.com/users/WawanSolihin/received_events","type":"User","site_admin":false},"created_at":"2018-11-13T17:34:36Z","updated_at":"2018-11-13T17:34:36Z","author_association":"COLLABORATOR","body":"Thanks Dirk,\r\n\r\nThere are places in the codes that do \"special\" export, such as Footing, Pile. These are the ones that mostly explain the issues you highlighted above. I will be fixing those.\r\nHowever for the IfcDistributionElement thing is a little more difficult. In IFC2x3 the instance of those MEP element may be IfcFlowController (for example) and the associated type is more specific like IfcValveType. In cases that the type is not assigned (e.g. IfcExportAs = IfcFlowTerminal), we could create an instance of IfcFlowTerminal without the type. But in IFC4 IfcFlowTerminal has been made deprecated (and will be made abstract in future, while currently is still a valid entity) and the concrete classes are now paired with the type, e.g. IfcValve and IfcValveType. Therefore, especially for MEP objects, it is better and safer to use the typeclass for IfcExportAs, e.g. IfcExportAs=IfcValveType. This will be valid in both IFC2x3 and IFC4.\r\nAnd because of the valid and yet deprecated status of the sub-entities of IfcDistributionElement. The entity such as IfcFlowTerminal will still be created but not the IfcFlowTerminalType that is now abstract. I will be looking into some improvements in this area.\r\n\r\nRegards,\r\nWawan   \r\n\r\n"}}
{"actor":{"display_login":"WawanSolihin"}}