Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fläche als Parameter

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äche als Parameter (835 / mal gelesen)
Jadwiga7
Mitglied
Ing


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

Beiträge: 17
Registriert: 31.07.2017

erstellt am: 15. Aug. 2017 11:09    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 möchte Fläche automatisch berechnen und als Parameter in Part eingetragen.

Das ist zuerst alles gut . Wenn ich aber neue  Body  erzeuge wird er nicht berechnet,
nur PartBody.
Wie kann ich die andere Body ( Body.2 ,Body.3 ...)ansprechen ?. Wie kann ich durch Makro mir die Anzahl von Body zeigen lassen .

----------------------------------------

Sub CATMain()
 
  Dim objPart As Part
  Dim objBody As Body
  Dim objMeasreable As Measurable
  Set objPart = CATIA.ActiveDocument.Part
  Set objBody = objPart.Mainbody
  Set objMeasreable = GetBodyMeasureable(objPart, objBody)
 
  Dim oParameter  As Parameter
  Dim Wert As String
  Set ProductDocument = CATIA.ActiveDocument
 
If Not (objMeasreable Is Nothing) Then
    Wert = objMeasreable.Area
    set oParameter = ProductDocument.Product.Parameters.item("Flaeche")
    oParameter.Value = Wert
Else
    MsgBox "The Measureable could not be retrieved!"
End If

End Sub
Function GetBodyMeasureable(ByRef iPart As Part, ByRef iBody As Body) As Measurable

  'If successful, this function will return an measreable object

  Dim objSPAWorkbench As Workbench
  Dim objMeasreable As Measurable
  Dim reference1 As Reference

  'On Error Resume Next

  Set objSPAWorkbench = iPart.Parent.GetWorkbench("SPAWorkbench")
  Set reference1 = iPart.CreateReferenceFromObject(iBody)
  Set objMeasreable = objSPAWorkbench.GetMeasurable(reference1)
  If Err.Number = 0 Then
    Set GetBodyMeasureable = objMeasreable
  Else
    Set GetBodyMeasureable = Nothing
  End If

End Function 

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: 15. Aug. 2017 12:17    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 Jadwiga7 10 Unities + Antwort hilfreich

Servus
Indem du der Funktion GetBodyMeasureable den richtigen Body übergibst. zB:
Code:
Set objBody = objPart.bodies.item(2) 'der zweite Körper in der Colletzion
Set objMeasreable = GetBodyMeasureable(objPart, objBody)
Dir fehlen anscheinend die Grundlagen zu VB(A). Bitte arbeite dich darin besser ein.

Gruß
Bernd

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

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

Jadwiga7
Mitglied
Ing


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

Beiträge: 17
Registriert: 31.07.2017

erstellt am: 15. Aug. 2017 12:53    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 ,
das hat geholfen  und du hast Recht. Ich bin dabei seit ein paar Wochen.
( lerne und probiere selbst)
Kannst du mir noch sagen wie die Anzahl von Body in Part ermitteln kann ?

Ps. Kennst du auch einen Guten Buch zum lernen ?

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: 15. Aug. 2017 12:57    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 Jadwiga7 10 Unities + Antwort hilfreich

Servus
Jede Collection hat die Methode Count. Dann musst du noch mit InBooleanOperation prüfen ob der Körper nicht in einer Boole'schen Operation verwendet wurde.

Gruß
Bernd

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

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

Jadwiga7
Mitglied
Ing


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

Beiträge: 17
Registriert: 31.07.2017

erstellt am: 15. Aug. 2017 13: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

Da ist gute Tipp. Mache nur die Makro für Haupt-Body.
Der Konstruktor muss alles richtig darstellen.
Wünsche dir schöne Tag.
Danke

 

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