Autor
|
Thema: Punkt Zuweisen (1619 mal gelesen)
|
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 18. Apr. 2008 12:09 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, ich habe ein Makro aufgezeicnet. Alle Aktionen beziehen sich auf einen Pkt. Problem es bezieht sich un alles auf einen Punkt namens Point.18... Kann man auf die schnelle ein Aufforderung erstellen um den Punkt auszuwähen den man benutzen will... Also wie kann ich einen Punkt der folgenden Zeile zuweisen. Code: Set hybridShapePointCoord1 = hybridShapes1.Item("Point.18")
Heist also ich möchte eine aufforderung zum selektieren eines Punktes habe wenn ich das Makro ausführe und wenn dieser Ausgewählt ist soll das Marko zuende laufen. An dieser Stelle gleich mal die Frage ob es im Netz ein Script gibt das mir sowas erklärt?? THX bigfalle ------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 18. Apr. 2008 12:20 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Verwende doch mal: Sub CATMain() Dim oSelectedElement, oDoc, oSelection, InputObjectType(0) Set oDoc = CATIA.ActiveDocument.Part InputObjectType(0) = "Point" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte einen Punkt selektieren...",False) <- Kommentar:du siehst links unten im CATIA-Fenster den Kontext If (Status <> "Normal") Then Exit Sub Else Set oSelectedElement = oSelection.Item(1).Value oSelection.Clear End If Set PUNKT = oDoc.CreateReferenceFromObject(oSelectedElement) ... ... dein CODE ... End Sub Dann ist PUNKT garantiert ein Punkt den der User selektiert hatte und den du weiterverwenden kannst.
Gruesse aus dem Rheinland
Thomas
------------------ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 18. Apr. 2008 13:44 <-- editieren / zitieren --> Unities abgeben:
Danke soweit, jetzt habe ich den Quelltext ein wenig aufgeräumt und nun das Problem das das Marko läuft aber nicht erzeugt wird im Geo-Set... Da waren auch bestimmte Geosets angegeben und alle was damit zu schaffen hat habe ich rausgeschmissen weil ich davon aufgegangen bin das die Elemente im aktiven Geo-Set erzeugt werden... Scheint wohl nicht der Fall zu sein^^ Was muss ich nun noch einfügen?? Hier der aktuelle Quelltext... Code: Language="VBSCRIPT"Sub CATMain() Dim oSelectedElement, oDoc, oSelection, InputObjectType(0) Set oDoc = CATIA.ActiveDocument.Part InputObjectType(0) = "Point" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte einen Punkt selektieren...",False) If (Status <> "Normal") Then Exit Sub Else Set oSelectedElement = oSelection.Item(1).Value oSelection.Clear End If Set PUNKT = oDoc.CreateReferenceFromObject(oSelectedElement) Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set hybridBodies1 = part1.HybridBodies Set hybridShapeFactory1 = part1.HybridShapeFactory Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(1.000000, 0.000000, 0.000000) Set hybridShapeLinePtDir1 = hybridShapeFactory1.AddNewLinePtDir(PUNKT, hybridShapeDirection1, -50.000000, 50.000000, False) part1.InWorkObject = hybridShapeLinePtDir1
part1.Update Set hybridShapeDirection2 = hybridShapeFactory1.AddNewDirectionByCoord(0.000000, 1.000000, 0.000000)
Set hybridShapeLinePtDir2 = hybridShapeFactory1.AddNewLinePtDir(PUNKT, hybridShapeDirection2, -50.000000, 50.000000, False) part1.InWorkObject = hybridShapeLinePtDir2
part1.Update Set hybridShapeDirection3 = hybridShapeFactory1.AddNewDirectionByCoord(0.000000, 0.000000, 1.000000)
Set hybridShapeLinePtDir3 = hybridShapeFactory1.AddNewLinePtDir(PUNKT, hybridShapeDirection3, -50.000000, 50.000000, False) part1.InWorkObject = hybridShapeLinePtDir3
part1.Update Set reference4 = part1.CreateReferenceFromObject(hybridShapeLinePtDir2) Set reference5 = part1.CreateReferenceFromObject(hybridShapeLinePtDir3) Set hybridShapePlane2Lines1 = hybridShapeFactory1.AddNewPlane2Lines(reference4, reference5) part1.InWorkObject = hybridShapePlane2Lines1
part1.Update Set reference6 = part1.CreateReferenceFromObject(hybridShapeLinePtDir2) Set reference7 = part1.CreateReferenceFromObject(hybridShapeLinePtDir1) Set hybridShapePlane2Lines2 = hybridShapeFactory1.AddNewPlane2Lines(reference6, reference7) part1.InWorkObject = hybridShapePlane2Lines2
part1.Update Set reference8 = part1.CreateReferenceFromObject(hybridShapeLinePtDir3) Set reference9 = part1.CreateReferenceFromObject(hybridShapeLinePtDir1) Set hybridShapePlane2Lines3 = hybridShapeFactory1.AddNewPlane2Lines(reference8, reference9) part1.InWorkObject = hybridShapePlane2Lines3 part1.Update End Sub
------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 18. Apr. 2008 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Du musst noch die erzeugten Lines mit "AppendHybridShape" an einen HybridBody anhängen, am Besten gleich nach der jeweiligen Erzeugung z.B. hybridBodyX.AppenHybridShape hybridShapePlane2Lines3 hybridBodyX musst du vorher zuordnen, er entspricht dem GeoSet, in dem die Line eingehangen werden soll. Grüße aus dem Rheinland
Thomas ------------------ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 18. Apr. 2008 15:35 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von tberger: Du musst noch die erzeugten Lines mit "AppendHybridShape" an einen HybridBody anhängen, am Besten gleich nach der jeweiligen Erzeugungz.B. hybridBodyX.AppenHybridShape hybridShapePlane2Lines3 hybridBodyX musst du vorher zuordnen, er entspricht dem GeoSet, in dem die Line eingehangen werden soll. Grüße aus dem Rheinland
Thomas
Also das gleiche Spiel wie mit dem Punkt??? Dann muss man ja schon zwei Sachen auswählen... Gibt es nicht die möglichkeit das er die Linien und Pläns gleich in das Geoset packt wo der Pkt liegt?? Oder einfach in das aktive Geoset?? Mfg bigfalle ------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 05. Aug. 2008 15:33 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits... möchte das Theam hier wieder auffassen und habe jetzt erstmal mit der Wahl eines Punkte und eines Geosets versucht nur einen Line zu erstellen. Wie man an dem Code sieht läuft das bis dahin.. Zumindest bekomme ich dann keine Fehlermeldung mehr... Nun steht ich ein wenig auf dem Schlauch... Wie muss man folgende Zeile z.B ändern um den Inhalt aus dem "Set GEO" zu übernehmen... Zitat: Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
Bin nicht wirklich der Experte in Macroprogramierung, darum häng ich da jetzt... Für hilfe wäre ich dankbar... Mfg bigfalle Code: Language="VBSCRIPT"Sub CATMain() Dim oSelectedElement, oDoc, oSelection, InputObjectType(0) Set oDoc = CATIA.ActiveDocument.Part InputObjectType(0) = "Point" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte einen Punkt selektieren...",False) If (Status <> "Normal") Then Exit Sub Else Set oSelectedElement = oSelection.Item(1).Value oSelection.Clear End If Set PUNKT = oDoc.CreateReferenceFromObject(oSelectedElement) InputObjectType(0) = "HybridShapes" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte einen Geo-Set selektieren...",False) If (Status <> "Normal") Then Exit Sub Else Set oSelectedElement = oSelection.Item(1).Value oSelection.Clear End If Set GEO = oDoc.CreateReferenceFromObject(oSelectedElement)
Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1") Set hybridShapes1 = hybridBody1.HybridShapes Set hybridShapePointCoord1 = hybridShapes1.Item("Point.1") Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1) Set hybridShapeFactory1 = part1.HybridShapeFactory Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(1.000000, 0.000000, 0.000000) Set hybridShapeLinePtDir1 = hybridShapeFactory1.AddNewLinePtDir(reference1, hybridShapeDirection1, -50.000000, 50.000000, False) hybridBody1.AppendHybridShape hybridShapeLinePtDir1 part1.InWorkObject = hybridShapeLinePtDir1 part1.Update End Sub
------------------ Besuchen sie doch http://www.dc-the-peanuts.de [Diese Nachricht wurde von bigfalle am 05. Aug. 2008 editiert.] [Diese Nachricht wurde von bigfalle am 05. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 05. Aug. 2008 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
|
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 05. Aug. 2008 16:15 <-- editieren / zitieren --> Unities abgeben:
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 05. Aug. 2008 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Also dein Code lässt sich auch noch stark einkürzen, aber das wirst du sicher mit der Zeit auch sehen, für eine nAnfänger reicht's ja also dein Geoset (hybridBody1) steht jetzt im Element oSelectedElement ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 05. Aug. 2008 17:13 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von HoBLila: Also dein Code lässt sich auch noch stark einkürzen, aber das wirst du sicher mit der Zeit auch sehen, für eine nAnfänger reicht's jaalso dein Geoset (hybridBody1) steht jetzt im Element oSelectedElement
Sorry, mit deiner Aussage kann ich nicht viel Anfangen... Set Geo ist meine Geoset dsa ich ausgewählt habe.. bLoss wie verwende ich das weiter? Mfg bigfalle ------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 05. Aug. 2008 17:28 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Nein mit Set oSelectedElement = oSelection.Item(1).Value weißt du den HybridBody zu. Im GEO steht nur eine Referenz auf den HybridBody ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 05. Aug. 2008 17:38 <-- editieren / zitieren --> Unities abgeben:
Hmm, ganz ehrlich ich glaub wir reden einander vorbei? Ich möchte folgende Zeile ändern. Code: Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
in z.B. Code: Set hybridBody1 = hybridBodies1.Item("GEO")
???Vorher habe ich doch die Set GEO gefüllt mit den entsprechenden Geoset > oder sehe ich das falsch? Gruß und dank Bigfalle ------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 05. Aug. 2008 17:53 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Hallo bigfalle, Nun du kannst mit Catia über Tools -> Makro -> Makros Ein Makro bearbeiten und mit Hilfe des Butterns (siehe Bild) Das was du machen möchtest Schritt für Schritt abarbeitest. Da weist du was CATIA macht, und haben will! Hat mir auch sehr geholfen. Spiele diesen von Hand mal durch immer mit dem Butten (siehe Bild) Dann die Variabeln so anpassen das du sie verändern kannst.
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 05. Aug. 2008 18:18 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von K.Siebert: Hallo bigfalle, Nun du kannst mit Catia über Tools -> Makro -> Makros Ein Makro bearbeiten und mit Hilfe des Butterns (siehe Bild) Das was du machen möchtest Schritt für Schritt abarbeitest.Da weist du was CATIA macht, und haben will! Hat mir auch sehr geholfen. Spiele diesen von Hand mal durch immer mit dem Butten (siehe Bild) Dann die Variabeln so anpassen das du sie verändern kannst.
Keine Ahnung was mir das Teil helfen soll??? Spukt genau das aus was ich bis jetzt habe... Warum ist es eingetlich nicht möglich sich mal genau meine Problemzeile anzuschauen? Wenn ich flogende Zeile ändere: Code: Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
In... Set hybridBody1 = GEO Dann bekomme ich nach dem ich Punkt und geo-Set ausgewählt habe folgende Fehlermeldung > Bild... Das ist dann gleichg die nächste Zeil im Quelltext.... Mfg bigfalle ------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 06. Aug. 2008 00:43 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Hallo bigfalle, ich habe leider noch nicht ganz verstanden, was genau Du willst, doch ich habe dennoch schon mal Deinen Code so verändert, dass die Linie durch den selektierten Punkt im selektierten Geo-Set erzeugt wird: Code: Language="VBSCRIPT" Sub CATMain() Dim oSelectedElement, oDoc, oSelection, InputObjectType(0) Set oDoc = CATIA.ActiveDocument.Part InputObjectType(0) = "Point" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte einen Punkt selektieren...",False) If (Status <> "Normal") Then Exit Sub Else Set oSelectedElement = oSelection.Item(1).Value oSelection.Clear End If Set PUNKT = oDoc.CreateReferenceFromObject(oSelectedElement) InputObjectType(0) = "HybridShapes" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte einen Geo-Set selektieren...",False) If (Status <> "Normal") Then Exit Sub Else Set oSelectedElement = oSelection.Item(1).Value oSelection.Clear End If Set GEO = oDoc.CreateReferenceFromObject(oSelectedElement)
Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set hybridBodies1 = part1.HybridBodies 'Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1") Set hybridBody1 = oSelectedElement.Parent Set hybridShapes1 = hybridBody1.HybridShapes 'Set hybridShapePointCoord1 = hybridShapes1.Item("Point.1") 'Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1) Set reference1 = Punkt Set hybridShapeFactory1 = part1.HybridShapeFactory Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(1.000000, 0.000000, 0.000000) Set hybridShapeLinePtDir1 = hybridShapeFactory1.AddNewLinePtDir(reference1, hybridShapeDirection1, -50.000000, 50.000000, False) hybridBody1.AppendHybridShape hybridShapeLinePtDir1 part1.InWorkObject = hybridShapeLinePtDir1 part1.Update End Sub
Vielleicht wird Dir ja dadurch einiges klarer... mfg, Lusilnie
------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 06. Aug. 2008 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Also deine gewünschte Zuweisung funktioniert über: Set hybridBody1 =oSelectedElement Dies liegt, wie gesagt, daran, dass in deinem oSelectedElement dein Hybridbody drin steht, aber dann brauchst du auch nicht hybridBody1 zu verwenden, sondern oSelectedElement tuts auch. Aber wenn du umbedingt auf deine GEO-Variable bestehst und davon auch nicht abrücken willst, dann verwandeln wir die zuvor gesetzte Reference wieder zurück: Set hybridBody1 = part1.FindObjectByName(GEO.DisplayName) - aus der kalten müsste aber funktionieren, aber nicht getestet oder möchtest du eine nHybridBody der GEO heißt? Dann wäre das was anderes und wir haben wirklich aneinander vorbei geredet, dan nist aber die Bezeichnugn der Variablen GEO verwirrend. ^^ Also viel Spaß beim Ausprobieren, ansonstne liefert CATIA eine VBA Umgebung mit, wo du im EInzelschritt arbeiten kannst, das hilft oft, wnen du jede Zeile mal durchdenkst... ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bigfalle Mitglied Konstruktuer
Beiträge: 81 Registriert: 08.01.2002
|
erstellt am: 06. Aug. 2008 13:00 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, Set hybridBody1 = oSelectedElement.Parent das war die Lösung.... Besonders die Endeung .Parent macht es aus... Wenn man das Weglässt kommt di evon mir erwähnet Fehlermeldung. Auch verstehe ich nicht warum nicht auch Set hybridBody1 = GEO geht? Ich habe diese Variable ja schon vorher gefült, genaus so wie PUNKT Kann mich da noch jemand ein wenig aufschlauen?? Danke schonmal soweit... Mfg bigfalle ------------------ Besuchen sie doch http://www.dc-the-peanuts.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 06. Aug. 2008 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
In deinem GEO steht wie bereits gesagt nur eine Referenz, ich weiß nicht warum du sie da rein schreibst, aber sie steht drin. Eine Referenz ist nicht direkt das Objekt der Begierde, sondern nur ein Zeiger darauf, das ist bei der Übergabe an Methoden wichtig, bei denen es unterschiedliche Dinge seinen können, aber es ist definitv kein objekt vom Typ HybridBody sondern vom Typ Reference. Eine Zuweisung eines Objektes an ein Objekt eines anderen Typs geht nicht, das wäre auch totaler Nonsense in der Programmierung. Dazu müsste erst die Referenz wieder aufgelöst werden und das geht über Part.FindObjectByName() oder so, wo man dann die Referenz wieder übergibt. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 06. Aug. 2008 19:14 <-- editieren / zitieren --> Unities abgeben: Nur für bigfalle
Sorry, habe doch was übersehen gehabt: Du machst ja garkeien Selektion auf HybridBody, warum nicht? InputObjectType(0) = "HybridBody" aber dan nist natürlich klar, dann bekommste nur die Shapes und davon das Parent ist natürlich der Body... Sorry, also dein Typ der Selection ist bereits falsch. Shapes liegen unter dem Body... ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |