Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  PtExtremity

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: Schnelligkeit und Präzision in dem neuen JT-Importer, eine Pressemitteilung
Autor Thema:  PtExtremity (633 mal gelesen)
Criollo
Mitglied



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

Beiträge: 42
Registriert: 07.11.2008

erstellt am: 29. Sep. 2011 09:17    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 eigentlich eine ganz einfache Aufgabenstellung - dachte ich zumindest. Ich möchte den Endpunkt einer Punkt zu Punkt - Linie umdefinieren.

Ich wollte hierfür eigentlich die Methode "PtExtremity" verwenden, aber die läuft leider ständig auf einen Fehler. Ebenso wie andere Methoden dieser Klasse, die ich für meine Linie mal versucht habe (z.B PtOrigine)

Meinen neuen Endpunkt habe ich als Referenz definiert. Die Linie selbst wird im Makrolauf sauber erkannt (--> Name wird ausgegeben)

Anbei der Code den ich jetzt mal in einem kleinen Testbeispiel aufgebaut habe.

Die Methode "PtExtremity" läuft immer auf Fehler. (Wird von dem Objekt nicht unterstützt".

Vielleicht hat jemand eine Idee hierzu. Denke dass es nur eine kleine Sache ist, habe aber scheinbar selber gerade ein Brett vorm Kopf.

Viele Grüsse

Crio

Set mypart = CATIA.ActiveDocument.Part
Set myhb = mypart.HybridBodies.Item ("Test")

For each hs in myhb.HybridShapes
If hs.name = "E2" then
Set e2 = hs
elseif hs.name = "Linie" then
Set l = hs
end if
Next

msgbox l.Name

Set ref_e2 = mypart.CreateReferenceFromObject (e2)
l.PtExtremity = ref_e2
mypart.Update


End Sub

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

meisterlumpi
Mitglied



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

Beiträge: 118
Registriert: 15.04.2011

Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64

erstellt am: 29. Sep. 2011 09:46    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 Criollo 10 Unities + Antwort hilfreich

Zitat:
l.PtExtremity = ref_e2

müsste doch dann auch

Zitat:
Set l.PtExtremity = ref_e2
heißen oder?

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

Criollo
Mitglied



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

Beiträge: 42
Registriert: 07.11.2008

erstellt am: 29. Sep. 2011 09: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

Eigentlich ist ein Set hier nicht notwendig. Erweitert man den Code dementsprechend, kommt noch immer die gleicher Fehlermeldung.

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

CATIA V5R19

erstellt am: 29. Sep. 2011 10: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 Criollo 10 Unities + Antwort hilfreich

Servus Ciro
Unter VBA läuft dein Makro durch, wenn die Linie richtig dimensioniert (Dim l As HybridShapeLinePtPt) ist..
Unter Catvbs ist das Dimensionieren AFAIR nicht möglich.
Kannst du mit dem Makro auf CATScript wechseln (oder CATVba), dann sollte es funktionieren?

Gruß
Bernd

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

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

meisterlumpi
Mitglied



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

Beiträge: 118
Registriert: 15.04.2011

Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64

erstellt am: 29. Sep. 2011 10: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 Nur für Criollo 10 Unities + Antwort hilfreich

checkst du auch ob deine linie 'l' eine HybridShapeLinePtPt ist?

Code:

For each hs in myhb.HybridShapes
If hs.name = "E2" then
Set e2 = hs
elseif hs.name = "Linie" then
Set l = hs
end if
Next

wie viele hybridshapes gibt es, die "E2" oder "Linie" heißen? diese schleife findet nämlich immer nur das jeweils letzte element, was so heißt, in dem geoset.

hier ein beispielcode für ein part mit 3 punkte und einer linie. die linie ist anfangs zwischen pkt1 und pkt2 und wird dann geändert auch pkt1 und pkt3.

Code:

Sub test()

'---- Anfang des Auflösungsscripts für Objekt: Linie.1

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("Hauptkörper")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = body1.HybridShapes

Dim hybridShapeLinePtPt1 As HybridShapeLinePtPt
Set hybridShapeLinePtPt1 = hybridShapes1.Item("Linie.1")

'---- Ende des Auflösungsscripts

'---- Anfang des Auflösungsscripts für Objekt: Punkt.3

Dim hybridShapePointCoord1 As HybridShapePointCoord
Set hybridShapePointCoord1 = hybridShapes1.Item("Punkt.3")

'---- Ende des Auflösungsscripts

hybridShapeLinePtPt1.PtExtremity = hybridShapePointCoord1

part1.Update

End Sub


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

Criollo
Mitglied



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

Beiträge: 42
Registriert: 07.11.2008

erstellt am: 29. Sep. 2011 10:45    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,

vielen Dank für eure Hilfe.
Ich habe das Problem nun anders gelöst. Muss hierzu etwas ausholen. Die Linie wollte ich als Ausrichtungslinie für ein Achsensystem verwenden. Diesen Umweg brauche ich aber eigentlich gar nicht gehen, da ich aus direkt den Punkt als Ausrichtung für das Achsensystem verwenden kann. Somit definiere ich jetzt nicht den Endpunkt der Linie um, sondern nur noch die Geometrie welche das Achsensystem ausrichtet.

@meisterlumpi: Ich hatte mir auch ein ähnliches Part wie du aufgebaut. Auch nur 3 Punkte und eine Linie. Aber irgendwie will es da nicht funktionieren.

Viele Grüsse
Crio

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