public static Gewinderichtung getGewinderichtung() { //AB HIER GEWINDERICHTUNG Boolean gueltig; //Variable um nach gültige EIngabe zu urteilen Gewinderichtung r = Gewinderichtung.Rechtsgewinde; // Damit er etwas hat falls nichts zugewiesen wird / Gewinderichtung in .cs datei do { Console.WriteLine("Rechtsgewinde(r) oder Linksgewinde(l)"); gueltig = true; string input = Console.ReadLine(); if (input.Equals("l")) { r = Gewinderichtung.Linksgewinde; //Gewinderichtung.Linksgewinde ist funktion von Gewinderichtung.cs Console.WriteLine("Es wurde ein Linksgewinde gewählt"); } else if (input.Equals("r")) { r = Gewinderichtung.Rechtsgewinde; Console.WriteLine("Es wurde ein Rechtsgewinde gewählt"); } else { Console.WriteLine("Ungültige Eingabe!"); gueltig = false; } } while (!gueltig); //Abfrage ob Wingabe gültig war return(r); // gibt die Gewinderichtung zurück }
// Erzeugt ein Gewindefeature auf dem vorher erzeugten Schaft. internal void ErzeugeGewindeFeature(Gewinderichtung gr, Double bezeichnung, double gewindelaenge) { // Gewinde... // ... Referenzen lateral und limit erzeugen Reference RefMantelflaeche = hsp_catiaPart.Part.CreateReferenceFromBRepName( "RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", SchaftFase); Reference RefFrontflaeche = hsp_catiaPart.Part.CreateReferenceFromBRepName( "RSur:(Face:(Brp:(Pad.1;2);None:();Cf11:());WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", SchaftFase); ShapeFactory catshapeFactoryThread = (ShapeFactory)hsp_catiaPart.Part.ShapeFactory; // ... Gewinde erzeugen, Parameter setzen PARTITF.Thread thread1 = catshapeFactoryThread.AddNewThreadWithOutRef(); if (gr == Gewinderichtung.Rechtsgewinde) //Gewinderichtung festlegen { thread1.Side = CatThreadSide.catRightSide; } else { thread1.Side = CatThreadSide.catLeftSide; } thread1.Diameter = bezeichnung; //Gewindegröße thread1.Depth = gewindelaenge; thread1.LateralFaceElement = RefMantelflaeche; // Referenz lateral thread1.LimitFaceElement = RefFrontflaeche; // Referenz limit // ... Standardgewinde gesteuert über eine Konstruktionstabelle thread1.CreateUserStandardDesignTable("Metric_Thick_Pitch", @"C:\Program Files\Dassault Systemes\B28\win_b64\resources\standard\thread\Metric_Thick_Pitch.xml"); thread1.set_Name("Gewinde"); // Part update und fertig hsp_catiaPart.Part.Update(); }