Skip to main content

I have an IFC file containing information about sewage pipes. In theory, it should contain two types of object classes (with geometry), namely IfcDistributionChamberElement (Manhole) and IfcPipeSegment (pipe). These classes use their subclasses as connectors, namely IfcDistributionPort (at each object node). Finally, these IfcDistributionPorts should be connected to each other using a relationship class called IfcRelConnectsPorts. In IfcDistributionPort have attribute named FlowDirection with value (source or sink) like in or out. The attached image shows a depiction of the connection.

My question is how to create a shapefile containing line features to represent the flow direction so that when I upload the shapefile into QGIS, I can use arrow symbols on the lines.souce and sink

@daveatsafe​ hopefully can help me sir...


Hi @abdullah83​,

FME will read two IfcDistributionPorts features at each junction - one is the child of the IfcPipeSegment, while the other is the child of the IfcDistributionChamberElement. On each IfcDistributionPort is the attribute ifc_parent_unique_id, which links to the pipe/chamber ifc_unique_id, and the attribute ifc_connected_port_id, which links to the other port's ifc_connected_port_id. You can useFeatureMerger transformers to link the ports together and then link back to the parent pipes/chambers:

Screen Shot 2023-10-23 at 4.14.58 PMI am attaching a workspace to illustrate. The resulting pipes will have a list with the connected chamber ids, while the chambers will have a list of the connected pipe ids.


Hi @abdullah83​,

FME will read two IfcDistributionPorts features at each junction - one is the child of the IfcPipeSegment, while the other is the child of the IfcDistributionChamberElement. On each IfcDistributionPort is the attribute ifc_parent_unique_id, which links to the pipe/chamber ifc_unique_id, and the attribute ifc_connected_port_id, which links to the other port's ifc_connected_port_id. You can useFeatureMerger transformers to link the ports together and then link back to the parent pipes/chambers:

Screen Shot 2023-10-23 at 4.14.58 PMI am attaching a workspace to illustrate. The resulting pipes will have a list with the connected chamber ids, while the chambers will have a list of the connected pipe ids.

very tqvm sir... simple but very helping me....


Reply