Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fill-Fläche und -Umfang messen

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:  Fill-Fläche und -Umfang messen (4783 mal gelesen)
lbecker
Mitglied
Dipl.-Ing.

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

Beiträge: 8
Registriert: 28.04.2012

CATIA V5 R19/R20
unterschiedliche Hardware

erstellt am: 12. Mai. 2012 22:14    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 brauch mal wieder euren Hilfe... Ich will die Fläche eines selbsterzeugten Fills und den Umfang messen. Die Fills sind eben, können aber einen beliebigen Umfang annehmen.
Es wird Area bzw. Get Area nicht erkannt. Kann es sein, das ein Fill kein "surface" oder "wet area" darstellt? Oder das die GetMeasurable-Funktion nicht auf einem Fill funktioniert...?

...der Quellcode sieht so aus...

        Dim ref_Fill As Reference
        Set ref_Fill = part1.CreateReferenceFromObject(hybridShapeFill1)
        Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
        Set theMeasurable = TheSPAWorkbench.GetMeasurable(ref_Fill)
        MsgBox theMeasurable.GetArea 'erzeugt Fehler
        MsgBox theMeasurable.Area    'erzeugt Fehler
        Dim Flaeche, Umfang As Double
        Flaeche = theMeasurable. ... 'Flaeche
        Umfang = theMeasurable. ... ' ?Perimeter? 'Umfang

Kann mir bitte jemand unter die Arme greifen...

Danke.

Gruß Lars

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 12. Mai. 2012 22:55    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 lbecker 10 Unities + Antwort hilfreich

Hallo Lars,

in einer Regel funzt das mit "perimeter()"

ermittelt den Umfang einer planaren Fäche.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

lbecker
Mitglied
Dipl.-Ing.

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

Beiträge: 8
Registriert: 28.04.2012

CATIA V5 R19/R20
unterschiedliche Hardware

erstellt am: 12. Mai. 2012 22:59    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 Uwe,
kannst Du das bitte noch etwas genauer ausführen, denn mit
    Umfang = theMeasurable.Perimeter
gab es eine Fehlermeldung...

Gruß Lars

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 12. Mai. 2012 23: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 Nur für lbecker 10 Unities + Antwort hilfreich

Hallo Lars,

leider hab ich was Programmierung betrifft nicht so viel Ahnung.

Hatte mal ein Anwendungsfall mit einer Regel um den Umfang zu messen.

Dachte es wäre ein Denkanstoß für dich.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 12. Mai. 2012 23:06    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 lbecker 10 Unities + Antwort hilfreich

Hallo Lars,

hilft das vieleicht?

o Property Perimeter( ) As double (Read Only)

Returns the perimeter of a surface.
Example:
This example retrieves the perimeter of NewMeasurable measure.
    Dim APerimeter As double
    APerimeter = NewMeasurable.Perimeter

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

lbecker
Mitglied
Dipl.-Ing.

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

Beiträge: 8
Registriert: 28.04.2012

CATIA V5 R19/R20
unterschiedliche Hardware

erstellt am: 12. Mai. 2012 23:19    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 Uwe,
vielen Dank für die Antwort, leider funktioniert das auch nicht.    Ich bleib dran...

Gruß Lars

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: 13. Mai. 2012 12: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 Nur für lbecker 10 Unities + Antwort hilfreich

Servus
Also bei mir funktioniert es mit diesem Code:
Code:
Dim TheSPAWorkbench As SPAWorkbench
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Dim theMeasurable As Measurable
Set theMeasurable = TheSPAWorkbench.GetMeasurable(ref_fill)
Dim Umfang As Double
Umfang = theMeasurable.Perimeter
MsgBox CStr(Umfang)

Welcher Fehlermeldung kommt bei dir? Liegt es vielleicht nur an der Typkonvertierung bzw an eine falschen Deklaration?

Gruß
Bernd

PS: Bitte Systeminfo ausfüllen.

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

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

lbecker
Mitglied
Dipl.-Ing.

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

Beiträge: 8
Registriert: 28.04.2012

CATIA V5 R19/R20
unterschiedliche Hardware

erstellt am: 13. Mai. 2012 19: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 Bernd,
ich habe jetzt Deinen Code in mein Makro kopiert und trotzdem erhalte ich folgende Fehlermeldung  :

Run-time errror '-2147467259 (80004005)
Methode 'Perimeter' of object 'Measurable' failed

Hilft das?

Gruß Lars

P.S.
Wo kann ich die Systeminfo eingeben?

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 13. Mai. 2012 19:16    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 lbecker 10 Unities + Antwort hilfreich

Hallo

Zitat:
Wo kann ich die Systeminfo eingeben?

unter "Profil bearbeiten" in deinem account.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

lbecker
Mitglied
Dipl.-Ing.

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

Beiträge: 8
Registriert: 28.04.2012

CATIA V5 R19/R20
unterschiedliche Hardware

erstellt am: 13. Mai. 2012 19:35    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, ich habs mal nachgetragen.
Gruß Lars

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: 13. Mai. 2012 21: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 Nur für lbecker 10 Unities + Antwort hilfreich

Servus
Um was für eine Geometrie des "Fill" handelt es sich?  Geht die Messung mit einer anderen Geometrie?
Geht die Messung manuell?
Ist die Geometrie zu diesem Zeitpunkt aktualisiert?
Was zeigt dir das Watch-Fenster (VBA-Editor) zum Objekt "theMeasurable" und "ref_fill" an?

Gruß
Bernd

PS: ggf mal Screenshot von der Geometrie/Strukturbaum posten

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

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

lbecker
Mitglied
Dipl.-Ing.

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

Beiträge: 8
Registriert: 28.04.2012

CATIA V5 R19/R20
unterschiedliche Hardware

erstellt am: 13. Mai. 2012 21:55    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

Servus Bernd,
UPDATE hat geklappt! 
Jetzt geht's und ich kann weiter machen.
Spitze!

Vielen Dank an alle und bis später...


Gruß Lars

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

MichaX
Mitglied
Bachelorand


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

Beiträge: 20
Registriert: 13.03.2017

Windows 7 Professional
Catia V5 R19

erstellt am: 07. Apr. 2017 08: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 Nur für lbecker 10 Unities + Antwort hilfreich

Hallo Zusammen,
ich muss diesen Thread nochmal hochziehen...

Ich würde gerne die Flächen von einer variablen Anzahl von Fills messen und diese dann in ein Array schreiben.
Zuerst selektiere ich mir alle Fills und gehe dann in eine Schleife um die Fläche zu messen und die Werte in ein Array zu schieben.

Später im Programm möchte ich dann die Werte im Array ordnen und in eine Excel-Datei exportieren. Aber das ist noch eine andere Sache 

Hier mal mein aktueller Code:

Code:

Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Item("Kabelkanal.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")

'Selection starten und nach allen Fills suchen------------------------------------------------------------
Dim selection01 As Selection
Set selection01 = CATIA.ActiveDocument.Selection
selection01.Search ".Fill.name=Fill*;all"
E = selection01.Count

'E zur Info und als Max-Wert für die Schleife-------------------------------------------------------------

For i = E To 1 Step -1

  Set Wert = selection01.Item(i).Value
  Set Referenz = part1.CreateReferenceFromObject(Wert)
  Set Measurable01 = TheSPAWorkbench.GetMeasurable(Referenz)
 
  ReDim flaecheArray(i)

  Measurable01.GetWetArea flaecheArray
 
 
 

Next

End Sub


 

Ich bekomme jedes mal in dieser Zeile den Fehler: Object doesn't Support this property or method

Code:

Measurable01.GetWetArea flaecheArray

Egal ob ich GetWetArea oder GetArea schreibe...

Ich denke da ist irgendwo ein Leichtsinnsfehler drin aber ich versuche mich jetzt schon 2 Tage daran und verzweifle so langsam...

Habt ihr einen Tipp für mich ?

Viele Grüße
Micha

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: 07. Apr. 2017 08:55    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 lbecker 10 Unities + Antwort hilfreich

Servus
Du weißt das Ergebnis der Messung dem gesamten Array zu. Müsstest du nicht diese nur einem Element zuweisen?
Code:
Measurable01.GetWetArea flaecheArray(i)
Stimmt der Typ des Arrays?
Warum redimensionierst du den Array bei jedem Schleifendruchlauf? Du kannst doch die richtige Größe vor der Schleife bestimmen und festlegen.
Gibt es in der SPA-Workbench die Methode GetWetArea? (ich hab nur Area gefunden)
Hinweis: Bei Arrays startet der Index bei 0, bei der Selection bei 1 (allgemeiner Hinweis, ggf bei dir kein Problem)

Gruß
Bernd

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

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

MichaX
Mitglied
Bachelorand


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

Beiträge: 20
Registriert: 13.03.2017

Windows 7 Professional
Catia V5 R19

erstellt am: 07. Apr. 2017 09: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 Nur für lbecker 10 Unities + Antwort hilfreich

Danke für die Antwort Bernd,

da hast du Recht, habe jetzt das Array vor der Schleife dimensioniert.
In den Locals sehe ich das das Array den Typ Variant hat.
Ich denke der Wert der Fläche müsste aber Double sein.

Hier mal der abgeänderte Code:

Code:

Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Item("Kabelkanal.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")

'Selection starten und nach allen Fills suchen------------------------------------------------------------
Dim selection01 As Selection
Set selection01 = CATIA.ActiveDocument.Selection
selection01.Search ".Fill.name=Fill*;all"
E = selection01.Count
ReDim flaecheArray(E)
'E zur Info und als Max-Wert für die Schleife-------------------------------------------------------------

For i = E To 1 Step -1

  Set Wert = selection01.Item(i).Value
  Set Referenz = part1.CreateReferenceFromObject(Wert)
  Set Measurable01 = TheSPAWorkbench.GetMeasurable(Referenz)
 
  Measurable01.GetArea flaecheArray(i)
 
 
 

Next

End Sub


Ich sehe auch schon in den Locals bei Measureable01 das der Wert der Fläche dort schon drin steht,
ich bekomme ihn wohl nur nicht ins Array geschoben.

Gruß
Micha

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: 07. Apr. 2017 09:18    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 lbecker 10 Unities + Antwort hilfreich

Servus
Schau mal in die Doku wie die Methode richtig heißt.
Dort findest du auch ein Beispiel wie man den Wert einer Variabel übergibt:
Code:
flaecheArray(i) = Measurable01.Area

Hinweise zum Code: Packe besser alle Dimensionierung nach vorne im Code, schalt mal "Option Explicit" ein so dass du alle Variablen dimensionieren musst.

Gruß
Bernd

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

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

MichaX
Mitglied
Bachelorand


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

Beiträge: 20
Registriert: 13.03.2017

Windows 7 Professional
Catia V5 R19

erstellt am: 07. Apr. 2017 09:42    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 lbecker 10 Unities + Antwort hilfreich

ahh da war der Fehler !

Vielen Dank, jetzt werde ich mal schauen ob ich das Array mit einer Spalte für den Namen des jeweiligen Fills erweitern kann!

Wie immer ein wahnsinnig toller Support hier im Forum 

Grüße
Micha

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

MichaX
Mitglied
Bachelorand


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

Beiträge: 20
Registriert: 13.03.2017

Windows 7 Professional
Catia V5 R19

erstellt am: 07. Apr. 2017 10:34    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 lbecker 10 Unities + Antwort hilfreich

Jetzt muss ich euch nochmal nerven.

Ein Array mit 2 Spalten anlegen funktioniert super,
Jedoch möchte ich in die 2. Spalte den Namen des Fills schreiben und diese dann nach den Werten sortieren.

Leider komme ich nur an CATIA.SelectedElement mit einer Zahl als Index.

Code:

'Selection starten und nach allen Fills suchen------------------------------------------------------------
Dim selection01 As Selection
Set selection01 = CATIA.ActiveDocument.Selection
selection01.Search ".Fill.name=Fill*;all"
E = selection01.Count2
F = selection01.Count2

  ReDim flaecheArray(1 To E, 1 To 2)
 
'E zur Info und als Max-Wert für die Schleife-------------------------------------------------------------

For i = E To 1 Step -1

  Set Wert = selection01.Item(i).Value
  Set Referenz = part1.CreateReferenceFromObject(Wert)
  Set Measurable01 = TheSPAWorkbench.GetMeasurable(Referenz)

flaecheArray(i, 1) = Measurable01.Area

Next
part1.Update

Dim selection02 As Selection
Set selection02 = CATIA.ActiveDocument.Selection
selection02.Search ".Fill.name=Fill*;all"
F = selection02.Count2

For j = F To 1 Step -1

      flaecheArray(j, 2) = selection02.Item(j).Name


Next


Ich denke mit

Code:
flaecheArray(j, 2) = selection02.Item(j).Name

Komme ich nicht an den richtigen Namen da er durch die Selection wohl nur auf das SelectedElement zugreifen kann.
Gibt es da einen Umweg?

Grüße
Micha

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: 07. Apr. 2017 10: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 lbecker 10 Unities + Antwort hilfreich

Servus
Warum zweimal die gleiche Suche bzw Schleife?
Mach doch gleich:
Code:
flaecheArray(i, 1) = Measurable01.Area
flaecheArray(i, 2) = Wert.Name
Gruß
Bernd

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

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

MichaX
Mitglied
Bachelorand


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

Beiträge: 20
Registriert: 13.03.2017

Windows 7 Professional
Catia V5 R19

erstellt am: 07. Apr. 2017 10:48    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 lbecker 10 Unities + Antwort hilfreich

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

Danke dir für alles !

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