/// <summary> /// Create 3D document /// </summary> /// <returns>true if operation successful; false in case of error</returns> public bool CreateDocument3D() { Document3D = (ksDocument3D)KompasObject.Document3D(); // Create build if (!Document3D.Create(false /*visible*/, false /*build*/)) { LastErrorCode = ErrorCodes.Document3DCreateError; return(false); } // Create screw detail on 3D document ScrewPart = (ksPart)Document3D.GetPart((short)Part_Type.pTop_Part); // Create nut detail on 3D document NutPart = (ksPart)Document3D.GetPart((short)Part_Type.pTop_Part); if (ScrewPart == null || NutPart == null ) { LastErrorCode = ErrorCodes.Document3DGetPartError; return(false); } return(true); }
/// <summary> /// Создание головки /// </summary> /// <param name="diameterHead">Диаметр головки </param> /// <param name="lengthHead">Длина головки </param> private void BuildHead(double diameterHead, double lengthHead) { #region Константы для головки const int part = -1; const int sketch = 5; const int planeXOY = 1; const int baseExtrusion = 24; const int shaded = 3; const int etBlind = 0; #endregion //Эскиз головки _part = _doc3D.GetPart(part); _entity = _part.NewEntity(sketch); ksSketchDefinition SketchDefinition = _entity.GetDefinition(); ksEntity EntityPlane = _part.GetDefaultEntity(planeXOY); SketchDefinition.SetPlane(EntityPlane); _entity.Create(); ksDocument2D Document2D = SketchDefinition.BeginEdit(); Document2D.ksCircle(0, 0, diameterHead / 2, 1); SketchDefinition.EndEdit(); //Выдавливание головки ksEntity EntityExtrusion = _part.NewEntity(baseExtrusion); ksBaseExtrusionDefinition BaseExtrusionDefinition = EntityExtrusion.GetDefinition(); BaseExtrusionDefinition.SetSideParam(true, etBlind, lengthHead, 0, true); BaseExtrusionDefinition.SetSketch(_entity); EntityExtrusion.Create(); _doc3D.drawMode = shaded; _doc3D.shadedWireframe = true; }