Exemple #1
0
def run(fpfile, dxffile):
	
	# read the input floorplan
	fp = fp_io.Floorplan(fpfile)

	# prepare the output dxf file
	drawing = dxf.drawing(dxffile)

	# iterate over the rooms of the floor plan
	for room_id in range(fp.num_rooms):

		# make a layer for this room
		room_layer_name = 'room_' + str(room_id+1)
		room_layer = dxf.layer(room_layer_name) 
		room_layer['color'] = 1+room_id # valid colors: [1,255]
		drawing.layers.add(room_layer)
		
		# generate the objects for this room
		obj_arr = room_to_polylines(fp, room_id)

		# draw each object in the room
		for pi in range(len(obj_arr)):
			# add each object to the drawing
			obj_arr[pi]['layer'] = room_layer_name
			obj_arr[pi]['color'] = 256 # color by layer
			obj_arr[pi]['paper_space'] = 0 # put in model space
			drawing.add(obj_arr[pi])

	# save the drawing to file
	drawing.save()
Exemple #2
0
nw_grid_spacing = 150

#size of the nanowire alignment markets
nw_am_width = 10
text_height = 10

#size of orientation arrow
orient_arrowhead_length = 150
orient_base_width = 40
orient_base_height = 250

#THESE ARE THE DETAILS OF THE FINE ALIGNMENT MARKERS

#FROM HERE AND BELOW YOU SHOULD NOT NEED TO EDIT ANY PARAMETERS
layer00 = 'GRIDLINES'
drawing.layers.add(dxf.layer(name=layer00, color=grid_colour))

layer0 = 'ALIGNMENT_MARKERS'
drawing.layers.add(dxf.layer(name=layer0, color=am_colour))

layer1 = 'ETCH_MARKERS'
drawing.layers.add(dxf.layer(name=layer1, color= etch_colour))

layer2 = 'CONTACTS'
drawing.layers.add(dxf.layer(name=layer2, color= contact_colour))

#AM GRID HEIGHT AND WIDTH  - figures out the block width and height
am_e_gridwidth = no_x_align*w_e +(no_x_align-1)*align_space_e
am_e_gridheight = no_y_align*w_e +(no_y_align-1)*align_space_e
print("am_e_gridheight=", am_e_gridheight)
print("am_e_gridwidth=", am_e_gridwidth)
Exemple #3
0
 def add_layer(self, name, **kwargs):
     layer = DXFEngine.layer(name, **kwargs)
     self.layers.add(layer)
     return layer
 def test_layer_by_factory(self):
     layer = DXFEngine.layer('Standard', linetype='CONTINUOUS')
     self.assertEqual(dxfstr(layer), self.expected)
 def add_layer(self, name, **kwargs):
     layer = DXFEngine.layer(name, **kwargs)
     self.layers.add(layer)
     return layer
Exemple #6
0
 def test_layer_by_factory(self):
     layer = DXFEngine.layer('Standard', linetype='CONTINUOUS')
     self.assertEqual(dxfstr(layer), self.expected)