5 SketchPointId = 'SketchPoint'
6 SketchLineId = 'SketchLine'
7 SketchArcId = 'SketchArc'
8 SketchConstraintCoincidenceId = 'SketchConstraintCoincidence'
9 SketchConstraintParallelId = 'SketchConstraintParallel'
10 SketchConstraintTangentId = 'SketchConstraintTangent'
11 SketchConstraintEqualId = 'SketchConstraintEqual'
13 # Test split on line with one point
15 partSet = model.moduleDocument()
16 Part_1 = model.addPart(partSet)
17 Part_1_doc = Part_1.document()
18 Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
19 SketchLine_1 = Sketch_1.addLine(0, 50, 100, 50)
20 SketchPoint_1 = Sketch_1.addPoint(50, 50)
21 SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchLine_1.result()[0])
22 Sketch_1.addSplit(SketchLine_1, SketchPoint_1.coordinates(), SketchLine_1.endPoint())
25 Sketch_1_feature = featureToCompositeFeature(Sketch_1.feature())
27 for index in range(Sketch_1_feature.numberOfSubs()):
28 idList.append(Sketch_1_feature.subFeature(index).getKind())
30 assert(idList.count(SketchLineId) == 2)
31 assert(idList.count(SketchPointId) == 1)
32 assert(idList.count(SketchConstraintCoincidenceId) == 2)
33 assert(idList.count(SketchConstraintParallelId) == 1)
36 # Test split on line with two points
37 Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
38 SketchLine_1 = Sketch_1.addLine(0, 50, 100, 50)
39 SketchPoint_1 = Sketch_1.addPoint(25, 50)
40 SketchPoint_2 = Sketch_1.addPoint(75, 50)
41 SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchLine_1.result()[0])
42 SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchPoint_2.coordinates(), SketchLine_1.result()[0])
43 Sketch_1.addSplit(SketchLine_1, SketchPoint_1.coordinates(), SketchPoint_2.coordinates())
46 Sketch_1_feature = featureToCompositeFeature(Sketch_1.feature())
48 for index in range(Sketch_1_feature.numberOfSubs()):
49 idList.append(Sketch_1_feature.subFeature(index).getKind())
51 assert(idList.count(SketchLineId) == 3)
52 assert(idList.count(SketchPointId) == 2)
53 assert(idList.count(SketchConstraintCoincidenceId) == 4)
54 assert(idList.count(SketchConstraintParallelId) == 2)
57 # Test split on circle with two points
58 Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
59 SketchCircle_1 = Sketch_1.addCircle(50, 50, 50)
60 SketchPoint_1 = Sketch_1.addPoint(50, 0)
61 SketchPoint_2 = Sketch_1.addPoint(50, 100)
62 SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchCircle_1.result()[0])
63 SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchPoint_2.coordinates(), SketchCircle_1.result()[0])
64 Sketch_1.addSplit(SketchCircle_1, SketchPoint_1.coordinates(), SketchPoint_2.coordinates())
67 Sketch_1_feature = featureToCompositeFeature(Sketch_1.feature())
69 for index in range(Sketch_1_feature.numberOfSubs()):
70 idList.append(Sketch_1_feature.subFeature(index).getKind())
72 assert(idList.count(SketchArcId) == 2)
73 assert(idList.count(SketchPointId) == 2)
74 assert(idList.count(SketchConstraintCoincidenceId) == 2)
75 assert(idList.count(SketchConstraintTangentId) == 1)
80 assert(model.checkPythonDump())