Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Winkel Messen über C# (Ebene und Projection)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
KISTERS 3DViewStation: Neuer Strukturvergleich ab sofort verfügbar, eine Pressemitteilung
Autor Thema:  Winkel Messen über C# (Ebene und Projection) (1519 mal gelesen)
MarcDe
Mitglied



Sehen Sie sich das Profil von MarcDe an!   Senden Sie eine Private Message an MarcDe  Schreiben Sie einen Gästebucheintrag für MarcDe

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 20. Mai. 2009 15:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo...

ich verzweifel gerade...ich programmiere eine Makro mit C# (.dotNet) und versuche einfach nur ein Winkel zwischen einer Ebene (entweder einer Plane oder einer Ebene vom Achsensystem) mit einer Linie (Projection) zu messen. In der Methode sind r1,r2 und r3 enthalten. wenn ich zwischen Reference2(r2) und r3 messe funktioniert alles, nur misst er nicht die Ebenen mit der Kurve also zb zwischen r1 und r2 :-(


public static void measureAngleOfCurvesToNullDegreeDirection()
        {
            PartDocument partDocument1 = (PartDocument)oCATIA.ActiveDocument;
            Part part1 = partDocument1.Part;
            object g = "ggg";
            object l = "Project.167";
            object plane = "Plane.198";
            object k = (int)1;
            string SPAWB = "SPAWorkbench";
            object axisSystem = "Rosette";
            string u = "RSur Face Brp AxisSystem.2;1);None );Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)";

            SPAWorkbench TheSPAWorkbench = (SPAWorkbench)oCATIA.ActiveDocument.GetWorkbench(ref SPAWB);
           
            Measurable ma1, ma2;
            Reference r1, r2, r3;
            double angle;

            HybridBodies hybridBodies1 = part1.HybridBodies;
            HybridBody hybridBody1 = hybridBodies1.Item(ref g);
            HybridShapes hybridShapes1 = hybridBody1.HybridShapes;
           
            HybridShapeProject hybridShapeProject1 = (HybridShapeTypeLib.HybridShapeProject)hybridShapes1.Item(ref l);
            HybridShape hybridShape1 = hybridShapes1.Item(ref k);
            HybridShapePlaneOffset hybridShapePlaneOffset1 = (HybridShapeTypeLib.HybridShapePlaneOffset)hybridShapes1.Item(ref plane);
            AxisSystems axisSystems1 = part1.AxisSystems;
            AxisSystem axisSystem1 = axisSystems1.Item(ref axisSystem);

            r1 = part1.CreateReferenceFromObject(hybridShapeProject1);
            r2 = part1.CreateReferenceFromObject(hybridShapePlaneOffset1);
            r3 = part1.CreateReferenceFromBRepName(ref u, axisSystem1);
           
            ma1 = TheSPAWorkbench.GetMeasurable(r1);
            angle = ma1.GetAngleBetween(r3);
            MessageBox.Show(angle.ToString());
        }


hoffe mir kann irgendjmd einen tipp geben , wodran es liegen könnte....

Vielen Dank!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MarcDe
Mitglied



Sehen Sie sich das Profil von MarcDe an!   Senden Sie eine Private Message an MarcDe  Schreiben Sie einen Gästebucheintrag für MarcDe

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 20. Mai. 2009 15:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

mal übersetzt in VBA, funktioniert auch nicht...nicht mal mit einer zweiten normalen linie und wenn er sich die objekte selber sucht:


Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("ggg")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapePlaneOffset1 As HybridShapePlaneOffset
Set hybridShapePlaneOffset1 = hybridShapes1.Item("Plane.198")

 
    Set line1 = part1.FindObjectByName("Project.167")
                   
    Set line2 = part1.FindObjectByName("Line.67")
                     
    Set rk1 = part1.CreateReferenceFromObject(line1)
                   
    Set rk2 = part1.CreateReferenceFromObject(line2)
           
    Dim TheSPAWorkbench As Workbench
           
    Dim aTheMeasurable, bTheMeasurable As Measurable
           
    Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
           
    Set aTheMeasurable = TheSPAWorkbench.GetMeasurable(rk1)
                   
    angle1 = aTheMeasurable.GetAngleBetween(rk2)
                   
    MsgBox angle1


End Sub


 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz