MCPcopy
hub / github.com/scottbez1/splitflap / Pad

Class Pad

thirdparty/panelize.py:1217–1285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1215
1216
1217class Pad( KicadFatObj ):
1218
1219 def __init__( self, name ):
1220 KicadFatObj.__init__( self, name, (
1221 VectorAngle( "at" ),
1222 Vector( "size" ),
1223 Vector( "rect_delta" ),
1224 Drill( "drill" ),
1225 List( "layers" ),
1226 Float( "solder_mask_margin" ),
1227 Float( "clearance" ),
1228 Net( "net" ),
1229 Int( "zone_connect" ),
1230 ) )
1231 self.nr = None
1232 self.kind = None
1233 self.shape = None
1234
1235 def tag_value( self, factory, value ):
1236 if self.nr == None:
1237 self.nr = value
1238 elif self.kind == None:
1239 self.kind = value
1240 elif self.shape == None:
1241 self.shape = value
1242 else:
1243 factory.parse_error( "too many values for '%s'" % self.obj_name )
1244
1245 def write( self, writer ):
1246 writer.begin( self )
1247 writer.write_text( self.nr )
1248 writer.write_text( self.kind )
1249 writer.write_text( self.shape )
1250 self.write_objects( writer, (
1251 "at",
1252 "size",
1253 "drill",
1254 "layers",
1255 ), False )
1256 if self.rect_delta.is_set():
1257 self.write_objects( writer, ("rect_delta",), False )
1258 # +++++ if net.is_set() or zone_connect.is_set()
1259 #if self.get_obj( "net" ).is_set() or self.get_obj( "zone_connect" ).is_set()
1260 #if self.obj_is_set( "net" ) or self.obj_is_set( "zone_connect" ):
1261 if self.clearance.is_set() or self.net.is_set() or self.zone_connect.is_set():
1262 writer.newline()
1263 self.write_objects( writer, (
1264 "solder_mask_margin",
1265 "clearance",
1266 "net",
1267 "zone_connect",
1268 ), False )
1269 writer.end()
1270
1271 def copy( self, trans ):
1272 obj = Pad( self.obj_name )
1273 obj.set( "nr", self.nr )
1274 obj.set( "kind", self.kind )

Callers 1

copyMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected