Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Replace mit Makro durchführen

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:  Replace mit Makro durchführen (5395 mal gelesen)
symax
Mitglied
Student

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

Beiträge: 8
Registriert: 05.11.2010

erstellt am: 08. Nov. 2010 08:37    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 Gemeinde,

ich habe in einem Geoset 1 Orginalpunkt.
mit dem Makro(rekorder) habe ich dort einen Punkt mit Link einkopiert.
Nun will ich den vorhandenen Orginalpunkt durch den neuen Punkt mit Link ersetzen.
Leider zeichnet hier der Makrorekorder nichts auf, ist das möglich das durchzuführen und wenn wie ?
(Anschließendes Löschen zeichnet er auf)

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: 08. Nov. 2010 17:03    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 symax 10 Unities + Antwort hilfreich

Ich kann mich auch irren, ist nicht mein Spezialgebiet, aber ich glaube Replace geht mit VBA nicht.

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

AndiMuenchen1
Mitglied
Dipl.Ing.


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

Beiträge: 13
Registriert: 09.11.2010

V5R19
Windows XP

erstellt am: 09. Nov. 2010 14: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 symax 10 Unities + Antwort hilfreich

Es besteht die Möglichkeit über Translates zu arbeiten. Der ursprüngliche Punkt ist der Input eines Translates das um 0 verschoben wird. Du kannst über ein Makro den Input des Translates mit dem neuen Punkt austauschen. Somit stellt der Translate immer den aktuellen Punkt dar.

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

mrgod
Mitglied



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

Beiträge: 28
Registriert: 22.01.2010

erstellt am: 29. Jan. 2011 16: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 symax 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von symax:
Hallo Gemeinde,

ich habe in einem Geoset 1 Orginalpunkt.
mit dem Makro(rekorder) habe ich dort einen Punkt mit Link einkopiert.
Nun will ich den vorhandenen Orginalpunkt durch den neuen Punkt mit Link ersetzen.
Leider zeichnet hier der Makrorekorder nichts auf, ist das möglich das durchzuführen und wenn wie ?
(Anschließendes Löschen zeichnet er auf)


Für Elemente ersetzen kann man einen Trick machen.

Statt Element macht man einen Join und dann ersetzt man die Referenz im Join auf ein neues Element:

'--- REPLACE ---
Dim a As AnyObject
Set a = GEO_SET.HybridShapes.Item ("Name des neuen Elements")

Dim Ref1 As Reference
Set Ref1 =  PART_X.CreateReferenceFromObject (a)

Dim JOIN As HybridShapeAssemble
Set JOIN = GEO_SET.HybridShapes.Item ("Name des Joins")
JOIN.AddElement Ref1
JOIN.RemoveElement 1

Allerdings weiss ich nicht, ob es für Punkte funzt...

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

schnix
Mitglied
Student


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

Beiträge: 25
Registriert: 18.09.2007

erstellt am: 17. Mai. 2011 14:51    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 symax 10 Unities + Antwort hilfreich

Hallo CAD-User,
stehe derzeit vor einem Problem. Hänge genau bei der Methode, die oben beschrieben wurde. Das "replacen" mit Hilfe der Join's klappt wunderbar. Nur beim Ersetzen über ein Translate hängt es :-(
Versuche eine Achse, durch eine vom Benutzer gewählte Achse, im Part Design zu ersetzen. Programmiere mit VisualStudio

Auszug aus dem Quellcode:


      Dim F
        F = UserSel.SelectElement2(Was, "################### Bitte ein Achsensystem selektieren ###################", False)

        Dim MeinObj As Object
        MeinObj = UserSel.Item(1).Value

        Dim MeineRef As Object
        MeineRef = MeinPart.CreateReferenceFromObject(MeinObj)

        'Translate Element ändern
        Dim Translate As Object
        Translate = GeoSet.HybridShapes.Item("Axis")

        Translate.ElemToTranslate = MeineRef


Bei dem Ausdruck Translate.ElemtoTranslate sagt er mir "Mitglied nicht gefunden"
Hoffe mir kann hier jemand helfen :-(

Mit freundlichen Grüßen
schnix

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

CATIA V5R19

erstellt am: 17. Mai. 2011 15:03    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 symax 10 Unities + Antwort hilfreich

Servus
Ist dein "GeoSet.HybridShapes.Item("Axis")" wirklich dein Translate-Feature?
Was zeigt dir das Watch-Fenster für diese Objekt, bzw. welche Parameter/Eigenschaften hat e, an?

Gruß
Bernd

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

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

schnix
Mitglied
Student


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

Beiträge: 25
Registriert: 18.09.2007

erstellt am: 17. Mai. 2011 15: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 symax 10 Unities + Antwort hilfreich

Ja das ist das Translate-Feature! :-)
Entschuldige - Ich habe noch nie mit dem Watch-Fenster gearbeitet. Kann es demnach auch nicht wirklich bedienen..
Der Ablauf des Programms sollte so sein, dass der Benutzer aufgefordert wird ein Achsensystem zu selektieren. Daraufhin soll das Programm, dass Element im Translate austauschen... Hört sich so einfach an..  


Spielt es eine Rolle, ob das selektierte Achsensystem und das Translate im gleichen geometrischen Set sind? Die CATIA Struktur in meinem Part ist wie folgt:

- Geometrisches Set 1
- - Fläche
- - Achse
- Geometrisches Set 2
- - Geometrisches Set 2.1
- - - Join 1
- - - Join 2
- - - Translate

[Diese Nachricht wurde von schnix am 17. Mai. 2011 editiert.]

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

schnix
Mitglied
Student


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

Beiträge: 25
Registriert: 18.09.2007

erstellt am: 18. Mai. 2011 07:52    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 symax 10 Unities + Antwort hilfreich

Ok - Problem gelöst.

        Dim F
        F = UserSel.SelectElement2(Was, "################### Bitte ein Achsensystem selektieren ###################", False)

        Dim MeinObj As INFITF.AnyObject
        MeinObj = UserSel.Item(1).Value

        tbAchsensystem.Text = UserSel.Item(1).Value.Name

        UserSel.Clear()

        Dim MeineRef As INFITF.Reference
        MeineRef = MeinPart.CreateReferenceFromObject(MeinObj)

        'Translate Element ändern
        Dim Translate1 As HybridShapeTypeLib.HybridShapeTranslate
        Translate1 = GeoSet.HybridShapes.Item("Axis")

        Translate1.ElemToTranslate = MeineRef

So klappt es nun. Trotzdem Vielen Dank für die Bemühungen

Mit freundlichem Gruß
schnix

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