Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkt im Schwerpunkt einer beliebigen Flä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:  Punkt im Schwerpunkt einer beliebigen Fläche erstellen (2797 mal gelesen)
student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 18. Jan. 2018 09: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

Guten Morgen zusammen,

ich möchte gerne ein Punkt auf einer Fläche erstellen, der im Mittelpunkt liegt. Am besten im Schwerpunkt. Wenn ich die Fläche manuell messe, besteht die Möglichkeit unter Create Geometry ein Punkt in der Mitte zu erstellen.

Soweit ich weiß, kann diese Auswahl in VBA nicht programmiert werden, richtig?

Gibt es eine andere Möglichkeit einen Punkt in der mitte einer Fläche zu erstellen?

Vielen Dank im Voraus

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. Jan. 2018 10:07    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 student1992 10 Unities + Antwort hilfreich


KWA_Point_COG.png

 
Servus

Du könntest einen Punkt per Formel definieren (siehe Bild).
Also entweder Parameter vom Typ Punkt anlegen, oder Punkt erstellen und dann isolieren. Diesen Punkt kannst du dann mit einer Formel versehen.
Oder falls der Punkt nicht assoziativ sein soll: Schwerpunkt messen und Punkt mit den Koordinaten erstellen.

Gruß
Bernd

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

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

KADv5
Mitglied
Ingenieur


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

Beiträge: 13
Registriert: 22.01.2018

Intel Xeon E5-2643 3,4Ghz
12,0 GB Ram
Win 7 Enterprise 64-bit
Catia V5R26 SP3 HF21

erstellt am: 29. Jan. 2018 10: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 Nur für student1992 10 Unities + Antwort hilfreich

Hi,

einen Punkt im Schwerpunkt der Fläche zu erzeugen geht auch mit:
hybridShapePointOnSurface1 mit distance = 0mm

Das folgende Makro fragt den Nutzer nach einem Input (Fläche) und erzeugt ein GeoSet mit dem Namen "{Punkt_auf_Fläche}" und darin einen Punkt mit dem Namen "{Schwerpunkt}"

EDIT 30.01.2018:
Das hier stehende Makro erzeugt nicht den Schwerpunkt sondern den Mittelpunkt
Für Schwerpunkt siehe unten (Antwort 5)

Code:

Sub CATMain()
        Dim myDoc As Document
        Set myDoc = CATIA.ActiveDocument
       
        Dim MyPart As Part
        Set MyPart = myDoc.Part
       
        Dim Factory As HybridShapeFactory
        Set Factory = MyPart.HybridShapeFactory
       
        Dim HBodies As HybridBodies
        Set HBodies = MyPart.HybridBodies
       
        Dim myobj1 As Object
        Dim ref1 As Reference
       
        Dim Flaeche(0)
        Flaeche(0) = "HybridShape"
       
        Dim Usersel1 As Object
        Set Usersel1 = myDoc.Selection
        Usersel1.Clear
     
        Dim E1 As String
        E1 = Usersel1.SelectElement2(Flaeche, "Fläche wählen!", False)
     
        If E1 = "Normal" Then
     
            Set myobj1 = Usersel1.Item(1).Value
            Set ref1 = MyPart.CreateReferenceFromObject(myobj1)
            Usersel1.Clear
           
            Dim GeoPunkt As HybridBody
            Set GeoPunkt = HBodies.Add
            GeoPunkt.Name = "{Punkt_auf_Flaeche}"
           
            Dim hybridShapeDirection1 As HybridShapeDirection
            Set hybridShapeDirection1 = Factory.AddNewDirectionByCoord(0#, 1, 1)
           
            Dim hybridShapePointOnSurface1 As HybridShapePointOnSurface
            Set hybridShapePointOnSurface1 = Factory.AddNewPointOnSurface(ref1, hybridShapeDirection1, 0#)

            GeoPunkt.AppendHybridShape hybridShapePointOnSurface1
            hybridShapePointOnSurface1.Name = "{Schwerpunkt}"
           
            MyPart.InWorkObject = hybridShapePointOnSurface1
            MyPart.Update
       
        Else
     
            MsgBox ("Abbruch durch Benutzer")
         
        End If
   
End Sub


[Diese Nachricht wurde von KADv5 am 30. Jan. 2018 editiert.]

[Diese Nachricht wurde von KADv5 am 30. Jan. 2018 editiert.]

[Diese Nachricht wurde von KADv5 am 30. Jan. 2018 editiert.]

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

C.Samer
Mitglied
CAD Administrator


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

Beiträge: 72
Registriert: 03.05.2017

erstellt am: 29. Jan. 2018 15: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 Nur für student1992 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von KADv5:
Hi,

einen Punkt im Schwerpunkt der Fläche zu erzeugen geht auch mit:
hybridShapePointOnSurface1 mit distance = 0mm


KADv5 hat meiner Meinung nach den richtigen Ansatz.
Eine Fläche hat keine Stärke und daher auch keinen Schwerpunkt.
Da Punkte auf Flächen bei der Standardeinstellung von der Mitte weg
erzeugt werden werden, reicht es den Abstand auf 0 zu setzen.

Liebe Grüße aus Wien,
Christoph

[Diese Nachricht wurde von C.Samer am 29. Jan. 2018 editiert.]

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

JPF
Mitglied
Programmierer


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

Beiträge: 128
Registriert: 17.08.2001

CATIA V5R19 SP9--HP420,Intel(R) Xeon(R) CPU E5-1620 3.60GHz,32 GB Ram,
NVIDIA Quadro 2000--Windows 7 Enterprise 64bit

erstellt am: 30. Jan. 2018 07:36    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 student1992 10 Unities + Antwort hilfreich

Hallo zusammen,

@KADVv5 diese Funktion erzeugt keinen Schwerpunkt auf der Fläche,
sondern einen Mittelpunkt auf der Fläche!

@C.Samer eine Fläche hat sehr wohl einen Schwerpunkt, siehe
https://de.wikipedia.org/wiki/Geometrischer_Schwerpunkt

Gruß JPF

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

KADv5
Mitglied
Ingenieur


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

Beiträge: 13
Registriert: 22.01.2018

Intel Xeon E5-2643 3,4Ghz
12,0 GB Ram
Win 7 Enterprise 64-bit
Catia V5R26 SP3 HF21

erstellt am: 30. Jan. 2018 08:32    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 student1992 10 Unities + Antwort hilfreich

Du hast Recht
Mir war nicht Bewusst dass es bei einer Fläche einen Unterschied zwischen Mittelpunkt und Schwerpunkt gibt.

Ich habe das Makro umgeschrieben.
Jetzt erzeugt es den Schwerpunkt der Fläche - allerdings nicht assoziativ.

Code:

Sub CATMain()
        Dim myDoc As Document
        Set myDoc = CATIA.ActiveDocument
       
        Dim MyPart As Part
        Set MyPart = myDoc.Part
       
        Dim Factory As HybridShapeFactory
        Set Factory = MyPart.HybridShapeFactory
       
        Dim HBodies As HybridBodies
        Set HBodies = MyPart.HybridBodies
       
        Dim myobj1 As Object
        Dim ref1 As Reference
       
        Dim Flaeche(0)
        Flaeche(0) = "HybridShape"
       
        Dim Usersel1 As Object
        Set Usersel1 = myDoc.Selection
        Usersel1.Clear
     
        Dim E1 As String
        E1 = Usersel1.SelectElement2(Flaeche, "Fläche wählen!", False)
     
        If E1 = "Normal" Then
     
            Set myobj1 = Usersel1.Item(1).Value
            Set ref1 = MyPart.CreateReferenceFromObject(myobj1)
            Usersel1.Clear
           
            Dim GeoPunkt As HybridBody
            Set GeoPunkt = HBodies.Add
            GeoPunkt.Name = "{Schwerpunkt_auf_Flaeche}"
           
            Dim TheSPAWorkbench, TheMeasurable
            Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
            Set TheMeasurable = TheSPAWorkbench.GetMeasurable(ref1)

            Dim Coordinates(2)
            TheMeasurable.GetCOG Coordinates
           
            Dim hybridShapePointCoord1 As HybridShapePointCoord
            Set hybridShapePointCoord1 = Factory.AddNewPointCoord(Coordinates(0), Coordinates(1), Coordinates(2))

            GeoPunkt.AppendHybridShape hybridShapePointCoord1
            hybridShapePointCoord1.Name = "{Schwerpunkt}"
           
            MyPart.InWorkObject = hybridShapePointCoord1
            MyPart.Update
       
        Else
     
            MsgBox ("Abbruch durch Benutzer")
         
        End If
   
End Sub



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

C.Samer
Mitglied
CAD Administrator


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

Beiträge: 72
Registriert: 03.05.2017

erstellt am: 08. Feb. 2018 08:56    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 student1992 10 Unities + Antwort hilfreich


Gravity.PNG

 
@JPF: Ich dachte immer Geometrischer Schwerpunkt = Flächenmittelpunkt

Hab's jedoch gerade in Catia probiert und tatsächlich ist der Punkt "On Surface" mit Abstand 0 (Default (Middle)) nicht das Center Of Gravity!
Keine Ahnung wie Catia das Origin der Fläche definiert.

Liebe Grüße aus Wien,
Christoph

[Diese Nachricht wurde von C.Samer am 08. Feb. 2018 editiert.]

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