Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  CATPart in einem Product erzeugen

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
Autor Thema:  CATPart in einem Product erzeugen (1127 / mal gelesen)
Antelito
Mitglied



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

Beiträge: 88
Registriert: 27.11.2013

CATIA R24
WIN 10 x64

erstellt am: 17. Aug. 2016 14:00    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 habe folgendes Problem:
ich möchte mit Hilfe der Clash-Analyse überprüfen, ob Schweißpunkte an der richtigen Stelle sitzen bzw. ob die Schweißpunkte mit den Blechen (welche sie schweißen sollen) auch kollidieren. Es geht hierbei um eine Qualitätskontrolle der erzeugten Schweißpunkte.
Das Problem konkretisiert sich wie folgt:
in einem Product liegen verschiedene Parts (die Fügepartner/Bleche). Nun möchte ich ein neues Part (namentlich ein Schweißpunkt mit Mittelpunkt und Radius) erzeugen und es in das Product mit einhängen. Anschließend soll eine Clash-Analyse gewissheit darüber geben, ob der Schweißpunkt auch tatsächlich mit allen Fügepartner kollidiert.

Ich habe die Idee zwar schon automatisiert umgesetzt, allerdings ist da noch großes Optimierungspotential. Bisher erzeuge ich einen Schweißpunkt und speicher diesen als cgr auf der Platte ab. Dann schließe ich das CATIA Dokument, öffne ein neues "nacktes" Product und hänge dort die Fügepartner und den erzeugten Schweißpunkt ein. Zuletzt kommt dann noch die Clash-Analyse.

Da ich aber üblicherweise nicht nur einen sondern viele Schweißpunkte überprüfe, und das öffnen und schließen von CATIA-Dokumenten zeitintensiv ist, möchte ich einen der zuvor genannten Schritte einsparen. Von daher möchte ich nur ein einziges CATIA-Dokument öffnen - nämlich gleich das Product - um dort die Fügepartner zu laden und den Schweißpunkt zu erzeugen. Somit spare ich mir das separate erzeugen des Schweißpunktes und das abspeichern des Punktes (vor allem, weil ich den Punkt als Geometrie auf der Platte garnicht brauche).

Ich hoffe ich habe mein problem einigermaßen verständlich niedergeschrieben...

Vielen Dank im vorraus

falls es hilft, hier der CODe, wie ich den Schweißpunkt erzeuge:

Code:

Private Function fctPunktErzeugen(ByVal p_dblX As Double, ByVal p_dblY As Double, ByVal p_dblZ As Double, ByVal p_strPunktname As String, ByRef p_strGeoSetInfos As String, p_dblFIPunktDurchmesser As Double) As String
'Diese Funktion erstellt einen Punkt sowie eine Hüllgeometrie.
'Übergabewerte sind die Punktkoordinaten sowie Name und GeoSetInfos
'Rückgabewert ist der Pfad der erstellten CATIA-Datei, welche den Punkt enthält

'Errorhandling
Dim strErrObj As String, strErrFct As String, strErrMsg As String, strErrArr(10) As Variant
strErrObj = ""
strErrFct = "fctPunktErzeugen"
strErrMsg = ""
On Error GoTo ErrorFct:

Dim objPart As Part
Dim objPartDoc As PartDocument
Dim partDoc As PartDocument
Dim PartProduct As Product
Dim newPoint 'As HybridShapePointCoord
Dim hsfShape 'As HybridShapeFactory
Dim hbBody As HybridBody
Dim hbBodies As HybridBodies
Dim newSphere 'As HybridShapeSphere
Dim refReference_1 'As Reference
Dim refReference_2 'As Reference
Dim asAxisSystems As AxisSystems
Dim asAxSystem
Dim strSpeicherPfad As String

Set objPartDoc = docDocuments.add("Part")
Set partDoc = CATIA.ActiveDocument
Set PartProduct = partDoc.GetItem(1)
Set objPart = partDoc.Part
Set hbBodies = objPart.HybridBodies
Set hsfShape = objPart.HybridShapeFactory
Set hbBody = hbBodies.add

'Punkt erstellen
Set newPoint = hsfShape.AddNewPointCoord(p_dblX, p_dblY, p_dblZ)
newPoint.Name = p_strPunktname
hbBody.AppendHybridShape newPoint

'Hüllfläche erstellen
Set asAxisSystems = objPart.AxisSystems
Set asAxSystem = asAxisSystems.Item("Absolute Axis System")
Set refReference_1 = objPart.CreateReferenceFromObject(newPoint)
Set refReference_2 = objPart.CreateReferenceFromObject(asAxSystem)
Set newSphere = hsfShape.AddNewSphere(refReference_1, refReference_2, p_dblFIPunktDurchmesser / 2, -360, 360, 0, 360)
newSphere.Name = "Sphere of " & p_strPunktname
hbBody.AppendHybridShape newSphere
hbBody.Name = newPoint.Name
hbBody.Name = p_strGeoSetInfos
objPart.Update

strSpeicherPfad = "C:\Users\d2aantd\Desktop\CATIA_Zwischenspeicher\" & p_strPunktname

CATIA.DisplayFileAlerts = False
    objPartDoc.ExportData strSpeicherPfad & ".cgr", "cgr"
    objPartDoc.Close
CATIA.DisplayFileAlerts = True

fctPunktErzeugen = strSpeicherPfad & ".cgr"

strSpeicherPfad = ""

ExitFct:
    Set objPartDoc = Nothing
    Set partDoc = Nothing
    Set PartProduct = Nothing
    Set objPart = Nothing
    Set hbBodies = Nothing
    Set hsfShape = Nothing
    Set hbBody = Nothing
    Set asAxisSystems = Nothing
    Set asAxSystem = Nothing
    Set refReference_2 = Nothing
    Set newPoint = Nothing
    Set refReference_1 = Nothing
    Set newSphere = Nothing
    Exit Function

' Fehlerbehandlung
ErrorFct:

    If mbldebug Or gbldebug Then
        Call subFehlerbehandlung(mbldebug, gbldebug, strErrObj, strErrFct, strErrMsg, strErrArr): Call fctErrorHandler(Err.Number, strErrObj, strErrFct, strErrMsg, strErrArr(), , , , , 1): Stop
        Resume
    End If

Select Case fctErrorHandler(Err.Number, strErrObj, strErrFct, strErrMsg, strErrArr(), , , , , 2)
    Case vbRetry
        Resume
    Case vbIgnore
        Resume Next
    Case Else
        Resume ExitFct:
End Select

End Function


[Diese Nachricht wurde von Antelito am 17. Aug. 2016 editiert.]

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Aug. 2016 14:10    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 Antelito 10 Unities + Antwort hilfreich

Servus
Um ehrlich zu sein, ich hab es nicht verstanden was du vorhast.
Du kannst ein Part erzeugen und gleich im Product "einhängen":
Code:
oProducts.AddNewComponent("Part", "DerNameMeinesParts")
oder über die Methode AddExternalComponent ein schon bestehendes Part/Product einfügen.

Gruß
Bernd

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

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

Antelito
Mitglied



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

Beiträge: 88
Registriert: 27.11.2013

CATIA R24
WIN 10 x64

erstellt am: 17. Aug. 2016 14: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

Hallo,

ich habs befürchtet: mein Problem ist eigentlich nicht so komplex, nur schwer an "Problem-Fremde" zu vermitteln. Aber ich denke dein Vorschlag geht in die richtige Richtung.

Ich möchte es trotzdem nochmal probieren, diesmal aber so kurz wie möglich um keine Verwirrung zu stiften:

In ein nacktes Product möchte ich 2 CATParts + einen Schweißpunkt einhängen. Die 2 CATParts sind schon vorhanden, der Schweißpunkt allerdings existiert nur als X-,Y- und Z-Koordinate sowie einem Durchmesser auf dem Papier. Der Schweißpunkt existiert nicht als Geometrie.

Da ich eine Clash-Analyse zwischen Blechen und Schweißpunkt machen möchte, muss der Schweißpunkt zwangsweise vom Papier ins CATIA wandern.

Deine Idee interpretiere ich wie folgt:
ich lade die beiden Bleche ins Product, anschließend erzeuge ich ein neues Part über den Befehl:

Code:
oProducts.AddNewComponent("Part", "Der Schweißpunkt")

Nun muss ich dem Schweißpunkt aber noch die Koordinaten und den Radius zuweisen. Ich behaupte einfach mal, dass dies dann problemlos möglich sein sollte.

Liege ich mit meiner Interpretation richtig?

Vielen Dank!

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Aug. 2016 14: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 Antelito 10 Unities + Antwort hilfreich

Servus
Ja, so könnte es gehen.

Gruß
Bernd

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

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