Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkt Zuweisen

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:  Punkt Zuweisen (1619 mal gelesen)
bigfalle
Mitglied
Konstruktuer


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 18. Apr. 2008 12: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 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


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 18. Apr. 2008 12: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 bigfalle 10 Unities + Antwort hilfreich

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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 18. Apr. 2008 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

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


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 18. Apr. 2008 14:12    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 bigfalle 10 Unities + Antwort hilfreich

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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 18. Apr. 2008 15: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

Zitat:
Original erstellt von tberger:
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


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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 05. Aug. 2008 15:33    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 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


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 05. Aug. 2008 15:56    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 bigfalle 10 Unities + Antwort hilfreich

Eventuell kann das euch weiter helfen ??????!!!!!!????????
http://ww3.cad.de/foren/ubb/Forum137/HTML/002828.shtml
http://ww3.cad.de/foren/ubb/Forum137/HTML/002380.shtml


[Diese Nachricht wurde von K.Siebert am 05. Aug. 2008 editiert.]

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

bigfalle
Mitglied
Konstruktuer


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 05. Aug. 2008 16:15    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,

leider werde ich aus dem von dir genannten Post nicht wirklich schlau..

Gibt es jemanden der mir sagen kann was ich machen muss....??

Sollte doch für einen experten Lösbar seine...

THX....

------------------
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


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

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 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 bigfalle 10 Unities + Antwort hilfreich

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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 05. Aug. 2008 17:13    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

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 ja

also 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


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

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 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 bigfalle 10 Unities + Antwort hilfreich


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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 05. Aug. 2008 17: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

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


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 05. Aug. 2008 17: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 Nur für bigfalle 10 Unities + Antwort hilfreich


Hilfe.JPG

 
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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 05. Aug. 2008 18: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


Fehlermeldung.png

 
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



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 06. Aug. 2008 00:43    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 bigfalle 10 Unities + Antwort hilfreich

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


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

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 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 bigfalle 10 Unities + Antwort hilfreich


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


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

Beiträge: 81
Registriert: 08.01.2002

erstellt am: 06. Aug. 2008 13:00    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 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


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

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 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 bigfalle 10 Unities + Antwort hilfreich

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


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

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 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 bigfalle 10 Unities + Antwort hilfreich

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

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