Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Flächen messen und in Excel eintragen

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
Autor Thema:  Flächen messen und in Excel eintragen (727 mal gelesen)
ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 18. Dez. 2020 08:05    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 versuche gerade ein Makro zu schreiben mit dem ich Flächen (Multible-Extract, Join, Trim) abmessen und den flächenwert ins excel übertragen kann - bis zum suchen und markieren funktioniert bei meinem test soweit alles.

nach ausführen des Makros ist die richtige Fläche markiert.

leider scheitere ich jetzt beim messen und eintragen, vielleicht kann mir ja wer aus der patsche helfen   

gesteuert wird das ganze vom Excel aus, in Catia kann ich nämlich die Excel Bibliotheken nicht aktivieren und bin mir auch nicht sicher ob die Firmen IT das zulässt..

Catia V5 R28, Excel 2016, strenge firmen IT

würd mich freuen wenn mir wer helfen könnte.


Sub Paint()

Dim s1 As String
Dim spabench As SPAWorkbench
Dim mymeas As Measurable
Dim ref1 As Reference
Dim myans As Double
Dim InputObjectType(0)


    s1 = Worksheets("Sheet1").Range("a1")
    MsgBox s1
   
        Set CATIA = GetObject(, "CATIA.Application")
        Set productDocument1 = CATIA.ActiveDocument
        Set selection1 = productDocument1.Selection

   
            selection1.search "(Name=" & s1 & " - 'Generative Shape Design'.'Geometrical Set');all"

Set ref1 = Selection.Item(1).Reference
Set spabench = partDocument1.GetWorkbench("SPAWorkbench")
Set mymeas = spabench.GetMeasurable(ref1)
myans = mymeas.Area
Debug.Print myans

End Sub

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 18. Dez. 2020 15:45    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 Nur für ThomasTeoma 10 Unities + Antwort hilfreich

Servus Thomas

Folgender Codeabschnitt zum Messen läuft bei mir als CATScript:

Code:
Set partDocument1 = CATIA.ActiveDocument
Set oSel = partDocument1.Selection

oSel.Search "(Name=" & s1 & "  - CATGmoSearch.OpenBodyFeature),all"

Set ref1 = oSel.Item(1).Reference
Set spabench = partDocument1.GetWorkbench("SPAWorkbench")
Set mymeas = spabench.GetMeasurable(ref1)
myans = mymeas.Area

MsgBox myans


Läuft bei dir der Code (GetObject noch ergänzen)?
Wenn nicht, kommt eine Fehlermeldung?
Ist bei dir ein Part geöffnet?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 21. Dez. 2020 07:25    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 Bernd,

Code als CATScript läuft bei mir auch.
bei versuchen catia mit excel zu verknüpfen bin ich letzte woche noch früher gescheitert - vermeindlich weil ich die excel Referenzen im Catia nicht aktivieren kann.

Situation ist bei mir grundsätzlich so, das Excel(stückliste) offen ist und Catia Product - mit ca. 50 Bauteilen drinnen..
Hast du eine Idee warum es vom Excel aus nicht funktioniert?

bg
Thomas

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 21. Dez. 2020 07:44    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

Habs geschafft!! 

habe productDocument1 zu partDocument1 geändert.
hier der Code(als excel makro):

Sub Paint()


Dim s1 As String
Dim spabench As SPAWorkbench
Dim mymeas As Measurable
Dim ref1 As Reference
Dim myans As Double
Dim InputObjectType(0)


    s1 = Worksheets("Sheet1").Range("a1")
    'MsgBox s1
   
        Set CATIA = GetObject(, "CATIA.Application")
        Set partDocument1 = CATIA.ActiveDocument
        Set Selection1 = partDocument1.Selection

   
            Selection1.search "(Name=" & s1 & " - 'Generative Shape Design'.'Geometrical Set');all"


Set ref1 = Selection1.Item(1).Reference
Set spabench = partDocument1.GetWorkbench("SPAWorkbench")
Set mymeas = spabench.GetMeasurable(ref1)
myans = mymeas.Area

Worksheets("Sheet1").Range("b1") = myans


End Sub

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 12. Jan. 2021 10:51    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 nochmal,

ich möchte dieses makro nun auch zum befüllen einer excel textbox verwenden - ohne suchfunktion sonder mit select.

unten mein quellcode, bei ref1=  hängt sich das ganze auf --> kein Objekt gefunden, ref1 bleibt leer.

im catia scheint es aber noch so als ob ich die FACE selektieren kann..

bitte um kurze hilfe dazu.

Danke!

Private Sub CommandButton10_Click()

        Set CATIA = GetObject(, "CATIA.Application")
        Set partDocument1 = CATIA.ActiveDocument
        Dim SelectionType(0)
        SelectionType(0) = "Face"
        Dim spabench As SPAWorkbench
        Dim mymeas As Measurable
        Dim ref1 As Reference
        Dim myans As Double
       
       
        MySel.Clear
     
        AppActivate "CATIA"
     
        Selection1 = MySel.SelectElement2(SelectionType, "Fläche wählen", True)
     
        If Selection1 <> "Normal" Then
            MsgBox "Fehler bei der Auswahl des Objektes!", vbCritical, "Abbruch"
            Exit Sub
        End If
         
        Set ref1 = Selection1.Item(1).Reference
        Set spabench = partDocument1.GetWorkbench("SPAWorkbench")
        Set mymeas = spabench.GetMeasurable(ref1)
        myans = mymeas.Area
       
        TextBox9.Value = myans
         
         
        AppActivate "AVD_concept_v3.xlsm"
         
         
End Sub

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 12. Jan. 2021 11: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 Nur für ThomasTeoma 10 Unities + Antwort hilfreich

Servus

SelectElement2 liefert dir nicht als Rückgabewert sie selektierten Elemente zurück, sondern diese sind weiter in deiner Selection (MySel).
Also Selection1MySel.Item(1).Reference verwenden.

Gruß
Bernd

PS: Ist bei dir MySel global definiert/zugewiesen?

------------------
Warum einfach, wenn es auch kompliziert geht.

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

ThomasTeoma
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 13.03.2015

Win7 Enterprise 64Bit
Intel Xeon CPU E5-1620 3,6GHz
32GB RAM

erstellt am: 12. Jan. 2021 11:12    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

Danke für die rasche Rückmeldung, klappt jetzt!
nur das zurückspringen im Excel hängt sich jetzt auf, das ging gestern noch 

pzgl. mySel - das ist beim herumspielen vorm Forums-Beitrag erstellen herausgeflogen, ab vorhin gleich wieder rein gewandert 

danke
Thomas

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)2023 CAD.de | Impressum | Datenschutz