Jelajahi Sumber

mxg:change import ignore dir package

mengxiangge 5 tahun lalu
induk
melakukan
e45f1bc5bb

+ 45 - 1
src/system_relation/graph_model.py

@@ -32,7 +32,13 @@ class SystemVertex:
 			if( self.connector.belong_type in revit_const.MEPCURVE):
 				return True
 		return False
-
+	def get_parent_floor(self):
+		'''
+		Get relation floorgraph.
+		:return:
+		'''
+		model = systemutils.get_specify_type_parent(self, graph_model.FloorGraph).model
+		return model
 class SystemEdge:
 	"""Graph Edge."""
 	# edge data.contain all edge element
@@ -274,3 +280,41 @@ class SystemVertexType(Enum):
 	real_point = 0
 	imaginary_point = 1
 	hollow_dot = 2
+
+
+def combine_systemgraph(floorgraphs):
+	"""
+	Consider the riser merger
+	:param floorgraphs:
+	:return:projectgraph
+	"""
+	# get all open vertical pipe
+	open_vertical_pipes = []
+	for floorgraph in floorgraphs:
+		for systemgraph in floorgraph.system_graphs:
+			open_vertical_pipes.extend(systemgraph.get_open_vertical_pipes())
+	# group systemvertex
+	projectgraph = graph_model.ProjectGraph()
+	for i in range(len(open_vertical_pipes)):
+		v1 = open_vertical_pipes[i]
+		group_pipes = [v1]
+		for j in range(i + 1, len(open_vertical_pipes)):
+			v2 = open_vertical_pipes[j]
+			if systemutils.is_xyz_equal(v1.connector.origin, v2.connector.origin):
+				group_pipes.append(v2)
+			# combine systemgraph
+			for k in range(len(group_pipes)):
+				vertex = group_pipes[k]
+				systemgraph = systemutils.get_specify_type_parent(vertex, graph_model.SystemGraph)
+				if not systemgraph:
+					continue
+				projectgraph.remove_groupedsystemgraphs(systemgraph)
+				if (k == 0):
+					temp_groupedsystemgraphs = graph_model.GroupedSystemGraph(systemgraph)
+				else:
+					prev_vertex = group_pipes[k - 1]
+					temp_groupedsystemgraphs.add_system(systemgraph)
+					temp_groupedsystemgraphs.add_edge(prev_vertex, vertex)
+			if temp_groupedsystemgraphs:
+				projectgraph.groupedsystemgraphs.append(temp_groupedsystemgraphs)
+	return projectgraph

+ 3 - 3
src/system_relation/systemdatautils.py

@@ -2,7 +2,7 @@
 
 """
 import test
-import systemutils, graph_model
+import systemutils
 
 
 def get_dicdata(sql,dic):
@@ -224,8 +224,8 @@ def save_edge_data(edge,block_id):
 		vertex2=edge.end_vertex
 		c1=vertex1.system_data
 		c2=vertex2.system_data
-		model1= systemutils.get_specify_type_parent(vertex1, graph_model.FloorGraph).model
-		model2 = systemutils.get_specify_type_parent(vertex2, graph_model.FloorGraph).model
+		model1= vertex1.get_parent_floor()
+		model2 = vertex2.get_parent_floor()
 		sql="insert into revit_calc.connected_block" \
 			"(id1,type1,model_id1,id2,type2,model_id2,block_id,project_id) values " \
 			"('%s','%s','%s','%s','%s','%s','%s','%s')"\

+ 1 - 38
src/system_relation/systemutils.py

@@ -5,7 +5,7 @@
 
 from functools import cmp_to_key
 import vg
-import graph_model, revit_const
+import revit_const
 
 
 def path2edge(elements):
@@ -90,43 +90,6 @@ def is_xyz_equal(origin1, origin2):
 	return vg.almost_equal(v1, v2, atol=1e-08)
 
 
-def combine_systemgraph(floorgraphs):
-	"""
-	Consider the riser merger
-	:param floorgraphs:
-	:return:projectgraph
-	"""
-	# get all open vertical pipe
-	open_vertical_pipes = []
-	for floorgraph in floorgraphs:
-		for systemgraph in floorgraph.system_graphs:
-			open_vertical_pipes.extend(systemgraph.get_open_vertical_pipes())
-	# group systemvertex
-	projectgraph = graph_model.ProjectGraph()
-	for i in range(len(open_vertical_pipes)):
-		v1 = open_vertical_pipes[i]
-		group_pipes = [v1]
-		for j in range(i + 1, len(open_vertical_pipes)):
-			v2 = open_vertical_pipes[j]
-			if is_xyz_equal(v1.connector.origin, v2.connector.origin):
-				group_pipes.append(v2)
-			# combine systemgraph
-			for k in range(len(group_pipes)):
-				vertex = group_pipes[k]
-				systemgraph = get_specify_type_parent(vertex, graph_model.SystemGraph)
-				if not systemgraph:
-					continue
-				projectgraph.remove_groupedsystemgraphs(systemgraph)
-				if (k == 0):
-					temp_groupedsystemgraphs = graph_model.GroupedSystemGraph(systemgraph)
-				else:
-					prev_vertex = group_pipes[k - 1]
-					temp_groupedsystemgraphs.add_system(systemgraph)
-					temp_groupedsystemgraphs.add_edge(prev_vertex, vertex)
-			if temp_groupedsystemgraphs:
-				projectgraph.groupedsystemgraphs.append(temp_groupedsystemgraphs)
-	return projectgraph
-
 def get_specify_type_parent(vertex, type):
 	parent = vertex
 	try: