Autor
|
Thema: HybridShapeCurveExplicit elementen abrufen (1362 mal gelesen)
|
JuliusCaesar Mitglied Student - Fahrzeugtechnik
Beiträge: 23 Registriert: 27.01.2015 Intel i7 q 2,30 GHz 16 GB RAM 64 Bit Betriebssystem Windows 7 Catia Version 5 - 6 Release 2014
|
erstellt am: 27. Jan. 2015 14:10 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, Ich habe mein Boundary Curve element mit diesem folgendem Code als Kleine Curve Elementen gesplittet(Als Disassemble mit Makro ging leider nicht) Set oSel = Cad.Selection oSel.Clear oSel.Add ShapeBoundary1 oSel.Search "Topology.CGMEdge,sel" For n = 1 To oSel.Count Set mySel = oSel.Item(n) Set oCrvRef = mySel.Reference miLongitud = Len(mySel.Reference.Name) strTmp = Right(mySel.Reference.Name, miLongitud - 21) miLongitud = Len(strTmp) Texto= Left(strTmp, miLongitud - 1) Set oRefCurva = MyPart.CreateReferenceFromBRepName(Texto, mySel.Value) Set oCurva = hybridShapeFactory1.AddNewCurveDatum(oRefCurva ) oCurva.Compute HbodyOffset.AppendHybridShape (oCurva) Ich will aber spater in mein Makro(außerhalbs oben gennantenem for loop) diesen Curve Elementen als Reference benutzen um weiter bearbeiten zu können.Ich habe diesen elementen schon einzeln, und habe mit allen arten von "CreateReferenceFrom........(KurveListe.Item(1))"versucht, aber ging leider nicht. MyPart.CreateReferenceFromObject(hybridShapeCurveExplicit1) geht aber nur im oben gennantenem loop. Kann jemand mir helfen. Vielen Dank!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 27. Jan. 2015 19:32 <-- editieren / zitieren --> Unities abgeben: Nur für JuliusCaesar
Servus Willkommen im Forum. Bitte Systeminfo ausfüllen. Wo hast du in deinem Code "hybridShapeCurveExplicit1"? Falls du die Elemente später im Code noch benötigst könntest du dieses innerhalb der Schleife zwischenspeichern (Collection oder Array) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JuliusCaesar Mitglied Student - Fahrzeugtechnik
Beiträge: 23 Registriert: 27.01.2015 Intel i7 q 2,30 GHz 16 GB RAM 64 Bit Betriebssystem Windows 7 Catia Version 5 - 6 Release 2014
|
erstellt am: 28. Jan. 2015 08:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, Vielen Dank für deine Antwort. HybridShaprCurveExplicit steht so, nach dem Loop Set oSel = Cad.Selection oSel.Clear oSel.Add ShapeBoundary1 oSel.Search "Topology.CGMEdge,sel" For n = 1 To oSel.Count Set mySel = oSel.Item(n) Set oCrvRef = mySel.Reference miLongitud = Len(mySel.Reference.Name) strTmp = Right(mySel.Reference.Name, miLongitud - 21) miLongitud = Len(strTmp) Texto= Left(strTmp, miLongitud - 1) Set oRefCurva = MyPart.CreateReferenceFromBRepName(Texto, mySel.Value) Set oCurva = hybridShapeFactory1.AddNewCurveDatum(oRefCurva ) oCurva.Compute HbodyOffset.AppendHybridShape (oCurva) Dim hybridShapeCurveExplicit1 As Parameter Set hybridShapeCurveExplicit1 = parameters1.Item(oCurva.Name) Dim CurveRef1 As Reference Set CurveRef1 = MyPart.CreateReferenceFromObject(hybridShapeCurveExplicit1) Hier Kann ich ihn abrufen, aber später im Makro nicht, ich habe als array versucht aber hat nicht geklappt. Ich weiß nicht eigentlich was ich zwischen den Klammern stellen muss. MyPart.CreateReferenceFromObject(______) KruveListe.Item(1) ? KruveListe.Item(1).Value? KruveListe.Item(1).Value.Name? Alle drei haben aber nicht funktioniert. Danke, ich werde gleich mein Systeminfo ausfüllen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Jan. 2015 09:28 <-- editieren / zitieren --> Unities abgeben: Nur für JuliusCaesar
Servus Was hast du an den Array übergeben? Das Objekt (die Kurve)? Dann sollte es über zB MyPart.CreateReferenceFromObject(KruveListe(1))Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JuliusCaesar Mitglied Student - Fahrzeugtechnik
Beiträge: 23 Registriert: 27.01.2015 Intel i7 q 2,30 GHz 16 GB RAM 64 Bit Betriebssystem Windows 7 Catia Version 5 - 6 Release 2014
|
erstellt am: 28. Jan. 2015 10:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Mein Array habe ich so übergeben: Dim CurveList(1000) 'ich kann hier kein Variable Eingeben wie CurveList(Number), kriege ein FehlerMeldung darf man sowas in Catscript nicht For n = 1 ..... hybridShapeCurveExplicit1 = CurveList (n) . . . Next For x = 1 to ... Dim BlendRef1 As Reference Set BlendRef1 = MyPart.CreateReferenceFromObject(CurveList(x))' Hier kriege ich die folgende Fehlermeldung: Description: Typen unverträglich: 'MyPart.CreateReferenceFromObject' Line: 286 Column: 0 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Jan. 2015 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für JuliusCaesar
|
JuliusCaesar Mitglied Student - Fahrzeugtechnik
Beiträge: 23 Registriert: 27.01.2015 Intel i7 q 2,30 GHz 16 GB RAM 64 Bit Betriebssystem Windows 7 Catia Version 5 - 6 Release 2014
|
erstellt am: 28. Jan. 2015 11:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich habe auch so mal versucht: CurveList (n) = hybridShapeCurveExplicit1 und kriege eine Fehlermeldung Source: Laufzeitfehler in Microsoft VBScript Description: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.: 'CurveList'
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Jan. 2015 12:38 <-- editieren / zitieren --> Unities abgeben: Nur für JuliusCaesar
|
JuliusCaesar Mitglied Student - Fahrzeugtechnik
Beiträge: 23 Registriert: 27.01.2015 Intel i7 q 2,30 GHz 16 GB RAM 64 Bit Betriebssystem Windows 7 Catia Version 5 - 6 Release 2014
|
erstellt am: 28. Jan. 2015 14:56 <-- editieren / zitieren --> Unities abgeben:
|