Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Erfahrungen im Release 28?

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
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Autor Thema:   Erfahrungen im Release 28? (956 mal gelesen)
CatiaVB
Mitglied



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

Beiträge: 13
Registriert: 15.02.2018

Catia V5R24...
VB Studio 2013

erstellt am: 19. Jun. 2019 11: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,
ich habe im R28 einige Probleme mit vorhandenen Makros!
Z.B. werden mit GetMeasurable(xxx).GetPoint(Arr) scheinbar die Koordinaten nicht mehr auf Absolutnull des RootProdukt bezogen, sondern auf das entsprechende Part...
Hat hier jemand Erfahrungen?

------------------
--,--

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

CATIA V5R19

erstellt am: 19. Jun. 2019 11: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 CatiaVB 10 Unities + Antwort hilfreich

Servus

Steht dazu was in der Doku (bzw unter "What's new")?
Hast du die Reference für GetMeasurable auch vom Rootproduct aus erstellt?

Gruß
Bernd

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

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

CatiaVB
Mitglied



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

Beiträge: 13
Registriert: 15.02.2018

Catia V5R24...
VB Studio 2013

erstellt am: 19. Jun. 2019 11: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

Hallo Bernd,
ja die Reference habe ich aus den Rootproduct erstellt, in der Doku steht nur eine weitere neue Methode "GetMeasurableInContext" aber das ist doch kein Grund die normale Methode zu ändern... oder etwa doch?

------------------
--,--

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

CATIA V5R19

erstellt am: 19. Jun. 2019 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 CatiaVB 10 Unities + Antwort hilfreich

Servus

Dies kann dir sicher Dassault beantworten 
ggf steht es ja auch in What's new oder war in den vorherigen Dokumentation schon angekündigt.

Gruß
Bernd

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

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

EmilioSanchez
Mitglied



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

Beiträge: 68
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 17. Sep. 2020 19:23    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 CatiaVB 10 Unities + Antwort hilfreich

Hallo,

hier wurde von Dassault geändert, dokumentiert ist es aber erst in der Hilfe zu R29.
Nach meinen Tests mit R28 liefert GetMeasurable nun die Koordinaten immer zum Part Ursprung, auch wenn dieses in einem Produkt positioniert und verschoben/gedreht wurde.
Auszug aus der Doku:

Func GetMeasurable(Reference iMeasuredItem) As Measurable
Returns the Measurable object.
WARNING: this method will only work for Mono-Instantiated parts, It is recommended to use the method GetMeasurableInContext for measuring Multi-Instantiated parts.

Example:
    This example get the Measurable from the SPAWorkBench.
    Dim referenceObject As referenceObject
    Set referenceObject = "GetReference"
    Dim TheSPAWorkbench As Workbench
    Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench ( "SPAWorkbench" )
    Dim TheMeasurable As Measurable
    Set TheMeasurable = TheSPAWorkbench.GetMeasurable(referenceObject)


   
Func GetMeasurableInContext(Reference iMeasuredItem,AnyObject iProductInstance) As Measurable
Returns the Measurable object with respect to the provided context (ProductInstance).

Example:
    This example get the Measurable from the SPAWorkBench.
    Dim referenceObject As referenceObject
    Set referenceObject = "GetReference"
    Dim ProductInstances As VPMInstance
    Set ProductInstances = "GetProductInstance"
    Dim TheSPAWorkbench As Workbench
    Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench ( "SPAWorkbench" )
    Dim TheMeasurable As Measurable
    Set TheMeasurable = TheSPAWorkbench.GetMeasurableInContext(referenceObject,ProductInstances)

Nun meine Frage zu diesem Thema: GetMeasurable und R26.
Ich habe ein Produkt und darin ein Part, zweimal an unterschiedlichen Positionen verbaut.
GetMeasurable liefert dann zu einem selektierten Punkt in einer Instanz die richtigen Koordinaten (absolut zum Produktnullpunkt).
Zur anderen Instanz erhalte ich aber die gleichen Koordinaten, obwohl sich das Part ja an anderer Stelle im Produkt befindet.

Hat hierzu jemand eine Idee?

Gruß

Bernd

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

CATIA V5R19

erstellt am: 17. Sep. 2020 20:40    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 CatiaVB 10 Unities + Antwort hilfreich

Servus

Ich würde es wie in dieser Diskussion beschrieben angehen: Punkt zum Teileursprung messen und mit der Positionsmatix "umrechnen"
Oder ich würde noch folgendes Testen: die Reference für die Messung per CreateReferenceFromName (Pfad bis zum Punkt zusammensetzen) ermitteln

Gruß
Bernd

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

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

EmilioSanchez
Mitglied



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

Beiträge: 68
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 18. Sep. 2020 10:50    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 CatiaVB 10 Unities + Antwort hilfreich

Hallo Bernd,

danke für die schnelle Antwort.

-> Punkt zum Teileursprung messen und mit der Positionsmatix "umrechnen":

   Diese Vorgehensweise ist mir bekannt und funktioniert soweit auch.
   Die Auswahl der Geometrie erfolgt durch SelectElement2(.......)
   Wenn ein Vertex selektiert wurde kann ich die Positionsdaten über oSel.Item2(1).GetCoordinates ReferencePoint3D abrufen
   Dann liegen die Positionsdaten zum Partnullpunkt vor und alle Matrizenberechnungen passen.

   Anders wenn ein Kreis selektiert wurde
   Dann brauche ich die Messung um an den Kreismittelpunkt zu kommen und R26 liefert das Ergebnis absolut zum Produktursprung.
   Bei nur einer Instanz des Parts in der Produktstruktur funktioniert das auch:

   Dim ReferencePoint3D(2)  As Variant
   Set oRef = oSel.Item2(1).Value
   Set SpaWB = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
   Set Meas = SpaWB.GetMeasurable(oRef)
   Meas.GetCenter ReferencePoint3D

-> die Reference für die Messung per CreateReferenceFromName (Pfad bis zum Punkt zusammensetzen):

   Ich denke hier liegt der Hund begraben
   Über oSel.Item2(1).Value erhalte ich ein Brep, mit dem ich auch innerhalb des Parts weiterarbeiten kann
   Dieses Brep kennt ja aber nicht die Produktstruktur in der das Part verbaut ist und liefert für jede Instanz des Parts die gleiche Referenz.

   An die Instanz komme ich mit:
   Set ExemplarOfSelection = oSel.FindObject("CATIAProduct")

  Wie kann ich nun die Instanz(Exemplar) und das Brep zu einer Referenz zusammenfügen?

  Alle Beispiele zu CreateReferenceFromBRepName die ich gefunden habe behandeln nur die Situation in einem Part.

  Gruß

  Bernd


PS:

Habe doch noch weitere Infos im Forum gefunden:

[URL=http://ww3.cad.de/foren/ubb/Forum137/HTML/005219.shtml#000013][/URL]

[Diese Nachricht wurde von EmilioSanchez am 18. Sep. 2020 editiert.]

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

EmilioSanchez
Mitglied



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

Beiträge: 68
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 19. Sep. 2020 10:11    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 CatiaVB 10 Unities + Antwort hilfreich

Hallo,

hier meine Lösung mit VBA.
Habe viel Zeit verschwendet mit dem zerlegen und zusammensetzten vom Brep String, was gar nicht nötig ist.
Man kann den String den die Selektion zurückgibt direkt als Namen für CreateReferenceFromName verwenden.
Der Name mit Pfad muss allerdings schon vor Verwendung in einer Variable zusammengefasst sein:
So gehts: CreateReferenceFromName(StrReferenceName)
So nicht: CreateReferenceFromName(StrReferenceName & "/!" & oSelName)

Beispiel Produkstruktur:
Product
'- Product1(Product1.1)
'- Part1(Part1.1)
'- Part1(Part1.2)


Sub CATMain()

Dim oSelName As String
Dim StrReferenceName As String
Dim Status As Variant
Dim InputObjectType(0)
InputObjectType(0) = "Edge"
Set oSel = CATIA.ActiveDocument.Selection
Set oProd = CATIA.ActiveDocument.Product

oSel.Clear

Status = oSel.SelectElement2(InputObjectType, "Randkurve der Bohrung oder Kreistasche wählen", True)

Set oSelValue = oSel.Item2(1).Value
oSelName = oSelValue.Name

Set ProduktParent = oSel.FindObject("CATIAProduct")
StrReferenceName = ProduktParent.Name

Do Until ProduktParent.Name = "CNEXT"
Set ProduktParent = ProduktParent.Parent.Parent
If ProduktParent.Name = "CNEXT" Then Exit Do
StrReferenceName = ProduktParent.Name & "/" & StrReferenceName
Loop

StrReferenceName = StrReferenceName & "/!" & oSelName
MsgBox StrReferenceName

Set oRef = oProd.CreateReferenceFromName(StrReferenceName)

' Code.........

End Sub

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

CATIA V5R19

erstellt am: 19. Sep. 2020 10:20    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 CatiaVB 10 Unities + Antwort hilfreich

Servus

Kleine Ergänzung zu deinem Code:
An die Instanz solltest du auch über LeafProduct dran kommen. (sollte dann auch bei Mehrfachselektionen in verschiedenen Instanzen gehen)
zB Set oInstance = oSel.Item2(1).LeafProduct

Gruß
Bernd

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

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

EmilioSanchez
Mitglied



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

Beiträge: 68
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 19. Sep. 2020 10:30    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 CatiaVB 10 Unities + Antwort hilfreich

Hallo Bernd,

Danke für die Info.
LeafProduct funktioniert und hat auch noch den Vorteil das die Selektion erhalten bleibt.

Gruß
Bernd

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

MarcL68
Mitglied
Group Leader Mechanical Design


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

Beiträge: 22
Registriert: 21.08.2013

Windows 10 Entreprise
Version 10.0.17763
HP ZBook 17G2 i7-4610M; 3.0GHz;(RAM)16,00 Go
NVIDIA Quadro 3000M
CATIA V5R2012 SP3 - V5R2018

erstellt am: 06. Okt. 2020 13: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 CatiaVB 10 Unities + Antwort hilfreich

Hallo,

Ich habe ein Ähnliches Problem mit einer Makro um ALLCAParts erzustellen. Es klappt nicht mehr in R28:

  Set oProd2Part = oRootProd.GetItem("DECProductToPart")

Hat jemand einen Tipp?

------------------
Gruss
Marc

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

CATIA V5R19

erstellt am: 06. Okt. 2020 15: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 CatiaVB 10 Unities + Antwort hilfreich

Servus Marc

Inzwischen benötigst du dazu die DF1-Lizenz(?).

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)2020 CAD.de | Impressum | Datenschutz