Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Messung Oberfläche erstellen

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:  Messung Oberfläche erstellen (2720 mal gelesen)
Hokay
Mitglied



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

Beiträge: 143
Registriert: 27.07.2004

Win7-Enterprice
Catia V5 R24 SP1

erstellt am: 30. Apr. 2009 11:03    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


benetzteFlaeche.jpg

 
Hallo Zusammen,
ich möchte per CATScript eine Messung (Fläche in cm2) erstellen und im Baum als solches sehen, damit man später eine Formelverknüpfung (Parameter) auf das Messergebniss legen kann.
Siehe Bild

Kann mir da jemand helfen?

Der Macrorecorder zeichnet einfach die Messung nicht auf.
grrrrr...

MFG

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 01. Mai. 2009 09:46    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 Hokay 10 Unities + Antwort hilfreich

Hallo Hokay,

solche Messungen kann man auch als Formel für eine Parameter speichern und das wird sogar von Makrorekorder aufgenommen.
1) Surface oder Body erstellen (das hast du bereits)
2) Neues Parameter der Typ Area anlegen
3) Add Formula
4) a) Für Surface: unter Measures area(surface) auswählen und als Argument den Surface angeben (falls mehrere, dann addieren)
  b) Für Body: unter Part measures smartWetarea(Body) auswählen und als Argument den Body übergeben
5) falls gefragt wird, Ja antworten (auf globalen Update auch diese Parameter updaten)

Falls das Code von Rekorder dir nicht genug ist, waren hier im Forum schon einige Einträge, wie man Formel auf Geometrie beziehen kann und für Smartvolume (ähnlich zu SmartWetarea) findest du auch einige Treffer.

Gruß,
Zoltan

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

Hokay
Mitglied



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

Beiträge: 143
Registriert: 27.07.2004

Win7-Enterprice
Catia V5 R24 SP1

erstellt am: 04. Mai. 2009 13: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


benetzteFlaeche_2.jpg

 
Vielen Dank für die Antwort.
Ich muß die Aufgabe aber dennoch über Messen erledigen, denn nur so bekomme ich einen Automatismus hin.
Alle Flächen die ich Unter dem GeoSet "angenaeherte Galvanikflaeche" stehen werden automatisch gemessen und über Formel in dem Parameter verknüpft.
siehe Bild

Kann ich eine Messung nicht via CATScript anlegen???
Das muß doch machbar sein?

MFG Hokay

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 04. Mai. 2009 15:47    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 Hokay 10 Unities + Antwort hilfreich


MessungUeberFormel.gif

 
Hallo Hokay,

ich bin der Meinung, das folgendes genau den selben Ergebnis bringt:

Code:
Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters

Dim dimension1 As Dimension
Set dimension1 = parameters1.CreateDimension("Area.1", "AREA", 0#)

dimension1.Rename "Bereich.1"

Dim relations1 As relations
Set relations1 = part1.relations

Dim formula1 As Formula
Set formula1 = relations1.CreateFormula("Formula.1", "", dimension1, "area(`angenaeherte Galvanikoberflaeche\Flaeche.1` ) ")

formula1.Rename "Formula.1"

part1.Update

End Sub


Gruß,
Zoltan

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

Hokay
Mitglied



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

Beiträge: 143
Registriert: 27.07.2004

Win7-Enterprice
Catia V5 R24 SP1

erstellt am: 04. Mai. 2009 16:26    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 Zoldan,

... ja schon. Aber Du beziehst dich immer auf Fläsche.1 und nicht auf das gesammte "GeoSet"
Wenn ich das GeoSet messe und mich auf diese Messung beziehe kann ich ins GeoSet Flächen stecken oder entfernen wie ich will.
Alles wird automatisch mitgezogen.

Dann habe ich dieses probiert, das geht irgendwie nicht

Set formula1 = relations1.CreateFormula("Formula.1", "", dimension1, "area(`angenaeherte Galvanikoberflaeche` ) ")

Wie setze ich die Formel auf das ganze Geometrische Set?

Mfg Hokay

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 04. Mai. 2009 18: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 Nur für Hokay 10 Unities + Antwort hilfreich

Hallo Hokay,

in allen deiner Bilder hattest du immer nur eine Fläche im Geoset...
Fläche einer Geoset kann man leider so automatisch nicht messen. Wenn du es aber interaktiv machst, werden auch nur die einzelne Flächenstücke addiert. Das kannst du auch nachprogrammieren.
SPAWorkbench (wie man aus Makro messen kann, es erscheint aber nicht im Baum) würde eine Messung der Geoset ermöglichen, bleibt aber nicht assoziativ.
Falls du es unbedingt im Baum haben willst, dann bleibt dir nur Catia.StartCommand("Measure Item"), ich weiß aber nicht, wie du an die Name der Messung rankommst, außer mit einer Suche wie 'Digital Mockup'.Measure;all. Das scheint mir aber nicht der richtiger Weg zu sein.
Wenn du ein Solid (Body) hättest, da wäre die Funktion smartWetArea verwendbar, funktioniert aber für Geosets nicht.

Gruß,
Zoltan

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

Hokay
Mitglied



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

Beiträge: 143
Registriert: 27.07.2004

Win7-Enterprice
Catia V5 R24 SP1

erstellt am: 05. Mai. 2009 08:43    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


ReferenzPartStandardFUEz_3.zip

 
Hallo Zoltan, hallo Rest der Gemeinde.

ich stelle hier mal ein Part zur Verfügung. So hätte ich das Gerne.
Der CATScript soll einen Parameter anlegen der alle Flächen des Geometrischen Sets "angenaeherte Galvanikoberfaeche" addiert wiedergibt. Wenn es ohne Messung im Baum geht ist mir das egel. Wichtig ist nur, es muß assoziativ sein. Das heißt, Fläche raus oder Fläche rein muß sich auf den Parameterwert auswirken.

Ich brauche weitere Hilfe.
MFG Hokay

[Diese Nachricht wurde von Hokay am 05. Mai. 2009 editiert.]

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 05. Mai. 2009 19:38    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 Hokay 10 Unities + Antwort hilfreich

Hallo Hokay,

ich bin der Meinung, dass das nicht geht. Die Makros in CATIA sind für sowas einfach nicht geeignet. Es gibt keine Ereignis, an dem du dich so richten könntest. (Es sei denn, du findest in KWA ein Reaction, was beim Einfügen/Löschen von Elementen im Geoset wirkt.)
Was ich dir bieten kann, ist ein Skript, was
-ein Geoset nimmt,
-prüft, ob ein Parameter vorhanden ist oder legt es an
-stellt den neuen Formel zusammen
-fügt es in einen Formel ein
so, dass das Part nicht zugemüllt wird.
Diesen Skript musst du allerdings per Hand nach jede Änderung aufrufen.
Es darf im aktiven Fenster nur ein Part vorhanden sein.

Code:
Sub CATMain()

    Dim partDocument1 As PartDocument
    Set partDocument1 = CATIA.ActiveDocument
    Dim part1 As Part
    Set part1 = partDocument1.Part
    Dim parameters1 As Parameters
    Set parameters1 = part1.Parameters
    Dim relations1 As relations
    Set relations1 = part1.relations

    Dim sAreaParamName As String
    sAreaParamName = "angenaeherte_Galvanikoberflaeche"
    Dim sAreaFormulaName As String
    sAreaFormulaName = "angenaeh_Galv_Formula"
    Dim sFlaechenGeosetName As String
    sFlaechenGeosetName = "angenaeherte Galvanikoberflaeche"

    'Versuchen, Parameter anzusprechen, wenn vorhanden
    Dim dimension1 As Dimension
    On Error Resume Next
    Set dimension1 = parameters1.Item(sAreaParamName)
    If Err.Number <> 0 Then
        On Error GoTo 0
        Set dimension1 = parameters1.CreateDimension(sAreaParamName, "AREA", 0#)
    End If
    On Error GoTo 0

    Dim oFlaechenGeoSet As HybridBody
    Set oFlaechenGeoSet = part1.HybridBodies.Item(sFlaechenGeosetName)
    Dim oHybridShape As HybridShape

    'Formel zusammenstellen
    'falls es zu lang wäre (weiß die maximale Länge nicht)
    'dann muss es in mehrere Stücke gebrochen werden
    Dim sTempFormula As String
    sTempFormula = ""
    Dim iFlaechen As Integer
    For iFlaechen = 1 To oFlaechenGeoSet.HybridShapes.Count
        Set oHybridShape = oFlaechenGeoSet.HybridShapes.Item(iFlaechen)
        'hier kannst du ggf. andere Datentypen abfangen:
        If TypeName(oHybridShape) <> "Surface" Then
            If iFlaechen > 1 Then
                sTempFormula = sTempFormula & " + "
            End If
            sTempFormula = sTempFormula & " area(`" & oFlaechenGeoSet.Name & "\" & oHybridShape.Name & "` ) "
        End If
    Next

    'Versuchen, Formel anzusprechen, wenn vorhanden
    'dann oben berechnete Formel zuweisen
    Dim formula1 As Formula
    Set formula1 = dimension1.OptionalRelation
    If formula1 Is Nothing Then
        Set formula1 = relations1.CreateFormula(sAreaFormulaName, "", dimension1, sTempFormula)
    Else
        formula1.Modify sTempFormula
        part1.UpdateObject formula1
    End If

    part1.Update

End Sub



Vorteil obiger Code ist, dass wenn Parameter schon vorhanden war, wird es nicht neu angelegt. Somit bleiben Links und weiterführende Formel erhalten.

Was du evtl. noch machen könntest: den Skript in den Part integrieren (unter KWA gibt es sowas) und mit einen Parameter oder sowas auslösen.

Wenn jemand was besseres weiß, soll sich melden.

Gruß,
Zoltan

[Diese Nachricht wurde von zoltan.bekesi am 05. Mai. 2009 editiert.]

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

Hokay
Mitglied



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

Beiträge: 143
Registriert: 27.07.2004

Win7-Enterprice
Catia V5 R24 SP1

erstellt am: 14. Mai. 2009 10:02    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 Zusammen,
ich bin immer noch auf der Suche nach Möglichkeiten das Zerlegen via CATScript zu erledigen
Dabei bin ich über folgenden Befehl gestolpert:
  CATIA.StartCommand("Disassemble")
bei vorselektierter Ableitung macht dieser Befehl genau das was er soll es fehl nur noch das "OK" (Drücken des "Entertaste")

!!! Wie bekomme ich das noch hin???

  SendKeys... geht im CATScript nicht oder ich blicke es nicht.

Kann mir jemand weiterhelfen???
--------------------------------

Das gleiche könnte ich dann auch auf meine Messung anwenden, die mir auch noch fehlt.
  CATIA.StartCommand("Measure Item")
Auch hier fehlt nor noch die "Entertaste"


Mit freundlichen Grüßen
Hokay

Anmerkung:
Wir arbeiten mit deutscher Umgebung
da heißen die Beiden Befehle:
  CATIA.StartCommand("Zerlegen")
      Beim Zerlegen auf Deutsch gibt es aber eine Besonderheit
      hier gibt es dummerweise auch im Assemblydesign noch ein Zerlegen
      Abhilfe kann man sich über einen Alias schaffen.
und
  CATIA.StartCommand("Element Messen")

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

Hokay
Mitglied



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

Beiträge: 143
Registriert: 27.07.2004

Win7-Enterprice
Catia V5 R24 SP1

erstellt am: 18. Mai. 2009 12:49    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 Zusammen,
geht das mit dem OK nicht oder hatt den Beitrag noch nicht der/die Richtige gelesen?

Eventuell warte ich ja vergebens auf eine Antwort???

MFG Hokay

[Diese Nachricht wurde von Hokay am 18. Mai. 2009 editiert.]

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

theshadog
Mitglied



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

Beiträge: 61
Registriert: 18.03.2009

erstellt am: 26. Mai. 2009 11:29    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 Hokay 10 Unities + Antwort hilfreich

Ok Button drücken geht nicht.

Vielleicht geht das ja ohne den Start Command Befehl, indem du einfach manuell etwas auswählst und diese Auswahl dann via Makro zerlegen lässt.

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