Skip to main content
Question

Create Line from IFC data


abdullah83
Contributor
Forum|alt.badge.img+5

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

3 replies

abdullah83
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • October 21, 2023

@daveatsafe​ hopefully can help me sir...


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • October 23, 2023

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.


abdullah83
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • October 27, 2023
daveatsafe wrote:

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


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings