public void TestHandleSizeGet_BadValue() { var wrongHandleSize = 94; var teapotParams = new TeaPotParams(100, 150, 20, 95, TeaPotParams.TheColor.Green, TeaPotParams.TheColor.Blue); Assert.Throws <ArgumentException>(() => { teapotParams.TeaPotHandleSize = wrongHandleSize; }, "-"); }
public void TestDiameterGet_BadValue() { var wrongBodyDiameter = 99; var teapotParams = new TeaPotParams(100, 150, 20, 95, TeaPotParams.TheColor.Green, TeaPotParams.TheColor.Blue); Assert.Throws <ArgumentException>(() => { teapotParams.TeaPotDiameter = wrongBodyDiameter; }, "-"); }
public void TestSpoutLengthGet_BadValue() { var wrongSpoutLength = 19; var teapotParams = new TeaPotParams(100, 150, 20, 95, TeaPotParams.TheColor.Green, TeaPotParams.TheColor.Blue); Assert.Throws <ArgumentException>(() => { teapotParams.TeaPotSpoutLength = wrongSpoutLength; }, "-"); }
public void TestHeightGet_BadValue() { var wrongBodyHeight = 149; var teapotParams = new TeaPotParams(100, 150, 20, 95, TeaPotParams.TheColor.Green, TeaPotParams.TheColor.Blue); Assert.Throws <ArgumentException>(() => { teapotParams.TeaPotHeight = wrongBodyHeight; }, "-"); }
public void CreateSpout(ksPart iPart, KompasObject _kompas, TeaPotParams teaPotParams) { double spout = (teaPotParams.TeaPotDiameter / 5); double offset = teaPotParams.TeaPotHeight - spout * 1.5; double width = spout; // spoutWidth double height = spout; // spoutHeigth ksEntity iSketch; ksSketchDefinition iDefinitionSketch; CreateSketch(out iSketch, out iDefinitionSketch, offset); // Интерфейс для рисования = на скетче; ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit(); // Построить прямоугольник (x1,y1, x2,y2, style) ksRectangleParam par1 = (ksRectangleParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RectangleParam); par1.x = (teaPotParams.TeaPotDiameter / 2) - 5; par1.height = width; // spoutWidth. par1.y = -(par1.height / 2); par1.width = teaPotParams.TeaPotSpoutLength; //spoutLength par1.style = 1; // При нуле не видно деталь. iDocument2D.ksRectangle(par1); // Закончить редактировать эскиз iDefinitionSketch.EndEdit(); int X = Convert.ToInt32(teaPotParams.TeaPotHandleColor); ExctrusionSketch(iPart, iSketch, height, true, X); Fillet(iPart, 7, width / 2, teaPotParams); }
public void Fillet(ksPart iPart, int index, double radius, TeaPotParams teaPotParams) { // Получение интерфейса объекта скругление ksEntity entityFillet = (ksEntity)iPart.NewEntity((int)Obj3dType.o3d_fillet); // Получаем интерфейс параметров объекта скругление ksFilletDefinition filletDefinition = (ksFilletDefinition)entityFillet.GetDefinition(); // Радиус скругления filletDefinition.radius = radius; // Не продолжать по касательным ребрам filletDefinition.tangent = true; // Получаем массив граней объекта ksEntityCollection entityCollectionPart = (ksEntityCollection)iPart.EntityCollection((int)Obj3dType.o3d_face); // Получаем массив скругляемых граней ksEntityCollection entityCollectionFillet = (ksEntityCollection)filletDefinition.array(); entityCollectionFillet.Clear(); //ksEntity ENT = entityCollectionFillet.GetByIndex(0); // Заполняем массив скругляемых объектов entityCollectionFillet.Add(entityCollectionPart.GetByIndex(index)); // Создаем скругление int X = Convert.ToInt32(teaPotParams.TeaPotHandleColor); entityFillet.SetAdvancedColor(X, 2, 2, 2, 2, 1, 2); entityFillet.Create(); }
public void Build(ksPart iPart, KompasObject _kompas, TeaPotParams teaPotParams) { this.iPart = iPart; CreateBody(iPart, _kompas, teaPotParams); CreateSpout(iPart, _kompas, teaPotParams); CreateHandle(iPart, _kompas, teaPotParams); }
public void TestHandleColorGet_CorrectValue() { var teapotParams = new TeaPotParams(100, 150, 20, 95, TeaPotParams.TheColor.Green, TeaPotParams.TheColor.Blue); var expected = TeaPotParams.TheColor.Blue; var actual = teapotParams.TeaPotHandleColor; Assert.AreEqual(expected, actual, "Геттер HandleColor возвращает неправильное значение."); }
public void TestSpoutLengthGet_CorrectValue() { var teapotParams = new TeaPotParams(100, 150, 20, 95, TeaPotParams.TheColor.Green, TeaPotParams.TheColor.Blue); var expected = 20; var actual = teapotParams.TeaPotSpoutLength; Assert.AreEqual(expected, actual, "Геттер SpoutLength возвращает неправильное значение."); }
private void button1_Click(object sender, EventArgs e) { _teaPotParams = new TeaPotParams(Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text), Convert.ToInt32(textBox3.Text), Convert.ToInt32(textBox4.Text), (TeaPotParams.TheColor)comboBox1.SelectedItem, (TeaPotParams.TheColor)comboBox2.SelectedItem); kompasConnector = new KompasConnector(_teaPotParams); Builder builder = new Builder(); builder.Build(kompasConnector.iPart, kompasConnector._kompas, _teaPotParams); }
public void CreateBody(ksPart iPart, KompasObject _kompas, TeaPotParams teaPotParams) { double radius = teaPotParams.TeaPotDiameter / 2; double height = teaPotParams.TeaPotHeight; ksEntity iSketch; ksSketchDefinition iDefinitionSketch; CreateSketch(out iSketch, out iDefinitionSketch); // Интерфейс для рисования = на скетче; ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit(); iDocument2D.ksCircle(0, 0, radius, 1); // Закончить редактировать эскиз iDefinitionSketch.EndEdit(); int X = Convert.ToInt32(teaPotParams.TeaPotBodyColor); ExctrusionSketch(iPart, iSketch, height, true, X); }
public void CreateHandle(ksPart iPart, KompasObject _kompas, TeaPotParams teaPotParams) { double spout = (teaPotParams.TeaPotDiameter / 5); double offset = teaPotParams.TeaPotHeight - spout * 1.5; // Offset double width = spout; // spoutWidth double height = spout; // spoutHeigth ksEntity iSketch; ksSketchDefinition iDefinitionSketch; CreateSketch(out iSketch, out iDefinitionSketch, offset); // Интерфейс для рисования = на скетче; ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit(); // Построить прямоугольник (x1,y1, x2,y2, style) ksRectangleParam par2 = (ksRectangleParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RectangleParam); par2.width = 40; //spoutLength par2.height = width; // spoutWidth. par2.x = -(teaPotParams.TeaPotDiameter / 2) - 10 - (par2.width / 2); par2.y = -(par2.height / 2); par2.style = 1; // При нуле не видно деталь. iDocument2D.ksRectangle(par2); // Закончить редактировать эскиз iDefinitionSketch.EndEdit(); int X = Convert.ToInt32(teaPotParams.TeaPotHandleColor); ExctrusionSketch(iPart, iSketch, height, true, X); //PART 2 double offset2 = teaPotParams.TeaPotHeight - teaPotParams.TeaPotHandleSize; // Offset 25 double width2 = spout; // spoutWidth double height2 = teaPotParams.TeaPotHeight - offset2 - spout / 2; // spoutHeigth ksEntity iSketch2; ksSketchDefinition iDefinitionSketch2; CreateSketch(out iSketch2, out iDefinitionSketch2, offset2); // Интерфейс для рисования = на скетче; ksDocument2D iDocument2D2 = (ksDocument2D)iDefinitionSketch2.BeginEdit(); // Построить прямоугольник (x1,y1, x2,y2, style) ksRectangleParam par3 = (ksRectangleParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RectangleParam); par3.width = spout; //spoutLength par3.height = width2; // spoutWidth. par3.x = -(teaPotParams.TeaPotDiameter / 2) - 10 - par3.width - (par3.width / 2); par3.y = -(par3.height / 2); par3.style = 1; // При нуле не видно деталь. iDocument2D2.ksRectangle(par3); // Закончить редактировать эскиз iDefinitionSketch2.EndEdit(); int X1 = Convert.ToInt32(teaPotParams.TeaPotHandleColor); ExctrusionSketch(iPart, iSketch2, height2, true, X1); Fillet(iPart, 10, spout / 4, teaPotParams); Fillet(iPart, 11, spout / 4, teaPotParams); Fillet(iPart, 12, 0.1, teaPotParams); Fillet(iPart, 13, spout / 2, teaPotParams); Fillet(iPart, 14, spout / 2, teaPotParams); }
// public KompasConnector(HiveParams hiveParams) public KompasConnector(TeaPotParams teaPotParams) { TakeKompas(); }