| 1322 | |
| 1323 | |
| 1324 | class Module( KicadFatObj ): |
| 1325 | |
| 1326 | def __init__( self, name ): |
| 1327 | self.graphics = [] |
| 1328 | self.pads = [] |
| 1329 | KicadFatObj.__init__( self, name, ( |
| 1330 | Text( "layer" ), |
| 1331 | Text( "tedit" ), |
| 1332 | Text( "tstamp" ), |
| 1333 | VectorAngle( "at" ), |
| 1334 | Text( "descr" ), |
| 1335 | Text( "tags" ), |
| 1336 | Text( "path" ), |
| 1337 | Float( "solder_mask_margin" ), |
| 1338 | Float( "clearance" ), |
| 1339 | Text( "attr" ), |
| 1340 | ( "fp_text", self.graphics, FpText ), |
| 1341 | ( "fp_line", self.graphics, FpLine ), |
| 1342 | ( "fp_circle", self.graphics, FpCircle ), |
| 1343 | ( "fp_arc", self.graphics, FpArc ), |
| 1344 | ( "pad", self.pads, Pad ), |
| 1345 | Model( "model" ), |
| 1346 | ) ) |
| 1347 | self.name = None |
| 1348 | self.locked = None |
| 1349 | |
| 1350 | def tag_value( self, factory, value ): |
| 1351 | if self.name == None: |
| 1352 | self.name = value |
| 1353 | elif self.locked == None: |
| 1354 | self.locked = value |
| 1355 | else: |
| 1356 | factory.parse_error( "too many values for '%s'" % self.obj_name ) |
| 1357 | |
| 1358 | def write( self, writer ): |
| 1359 | writer.begin( self ) |
| 1360 | writer.write_text( self.name ) |
| 1361 | if self.locked != None: |
| 1362 | writer.write_text( self.locked ) |
| 1363 | self.write_objects( writer, ( |
| 1364 | "layer", |
| 1365 | "tedit", |
| 1366 | True, |
| 1367 | "tstamp", |
| 1368 | "at", |
| 1369 | "descr", |
| 1370 | "tags", |
| 1371 | "path", |
| 1372 | "solder_mask_margin", |
| 1373 | "clearance", |
| 1374 | "fp_text", |
| 1375 | "pad", |
| 1376 | ), False ) |
| 1377 | writer.end() |
| 1378 | writer.newline( True ) |
| 1379 | writer.newline( True ) |
| 1380 | |
| 1381 | def is_inside( self, area ): |