Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Representation für Termination automatisieren

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:  Representation für Termination automatisieren (1809 / mal gelesen)
minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 04. Dez. 2019 11: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


ElectricalTermination.PNG

 
Hallo liebe CAD-Community,

komme leider um mein Problem nicht rum und erstelle das wegen erneut ein Thema zum selben Problem....

Was gemacht werden muss:
Terminations mit den ID nummern 1,2,3,4,.....X sollen als Representation die Punkte mit den Namen Term1PT,Term2PT,.....X (Anzahl Terminations=Anzahl Punkte) haben.

Heißt:
    ID-nummer:  1
Representation:  Term1PT
__________________________            (Siehe BILD)
  ID-nummer:  2
Representation:  Term2PT

usw.

Manuell funktioniert es wie folgt:

- Doppelklick auf Termination mit der ID-Nummer 1

- Fensteröffnet sich mit den Angaben :
                                      ID-nummer:  1
                                Representation:  No Selection

- Den Punkt mit den Namen "Term1PT selektieren -->  ID-nummer:  1
                                              Representation:  Term1PT

- "OK" und fertig


Als Ansatz habe ich dieses Makro erstellt ( Sprache stimmt nicht)
Soll nur dazu dienen zu vermitteln was ich mir dabei gedacht habe.

Code:
Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument
Set Selection = partDocument1.Selection

For i = 0 To n 'n= anzahl Punkte
tmpStr = "CATElectricalSearch.Termination.Elec_Id_Number= & i ,all"
Selection.Search tmpStr


Selection.Search tmpStr.SetCATElectricalSearch.Termination.Elec_Representation = "Term" & i & "PT"

Next

End Sub


Als Hilfe hattee ich einen Abschnitt von einem anderen Makro

Code:
tmpStr = "CATElectricalSearch.Termination.Elec_Id_Number=*,all"                'suche nach Termination
Selection.Search tmpStr

Selection.Search("Name=Term*PT,all")                'suche nach Punkt



Da sich ID- Nummer und Representation im selben Fenster befinden kann man ( denke ich ) durch ändern des Befehls zu:

Code:
tmpStr = "CATElectricalSearch.Termination.Elec_Representation=*,all"

Die Representation Suchen / selektieren.

Hoffe Ihr könnt mir Helfen...

Gruß
minotito

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: 04. Dez. 2019 19: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 Nur für minotito 10 Unities + Antwort hilfreich

Servus

Ich fürchte dass das nicht so einfach geht wie du dir das vorstellst.
Den Code den du gefunden hast, sucht "nur" die Terminations über die Suche. Ich glaube nicht dass du da so auf die Representation zugreifen kannst. (probier mal über die Edit -> Search aus ob das manuell geht)
Folgende Idee hab ich noch (ohne Erfolgsgarantie):
Terminations suchen und die Tasteneingabe/Selektion nachstellen (Sendkeys). Ist aber recht komplex. (viel Spaß beim einlesen und rumprobieren)

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 05. Dez. 2019 08: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

Hallo Bernd,

habe mal etwas rum probiert und mit

Code:
Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument
Set Selection = partDocument1.Selection


tmpStr = "CATElectricalSearch.Termination.Elec_Id_Number=1,all"        'Sucht Termination mit der ID-Nummer: 1
Selection.Search tmpStr                                    'Selektiert diese
n="CATElectricalEdit.Termination.Elec_Representation = "Term1PT",all"


End Sub


zeigt er mir keine Fehler aber macht auch nichts ......


Ich verstehe nicht wie ich einen Bezug auf die Selektion mach, also dass er mir die Selektierte Termination editiert.....

Nur für mein Verständnis
Selektieren ist wie ,wenn ich manuell einmal auf z.B einen Punkt drücke?

Kann man irgend wie sagen, dass er die gefundene Termination doppelt anklicken kann?

Guß

minotito

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: 05. Dez. 2019 09: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 minotito 10 Unities + Antwort hilfreich

Servus

Doppelklick könnte über die WinAPI gehen.
Oder per Sendkeys die Steuerung über die Tastatur nachbilden: Menü-Bearbeiten öffnen (Alt + B) -> mit Courser eins hoch (Up) -> Cursor nach rechts -> Enter zum die Definition zu öffnen

Gruß
Bernd

PS: Wenn du Sendkeys nutzen willst: schau dir erst andere Themen dazu an und stelle diese nach bevor du diese auf dein Problem anwendest

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 05. Dez. 2019 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

Hallo Bernd,

ein Funken Hoffnung, dass das Problem mit dem Electrical doch gelöst werden kann  .
Danke dafür.
Mit Sendkeys kann man keine Maus-Klicks simulieren und das Makro im Link (WinAP!) verstehe ich das Makro nicht ?!?

Heißt ich kann mit

[CODE][tmpStr = "CATElectricalSearch.Termination.Elec_Id_Number=1,all"        'Sucht Termination mit der ID-Nummer: 1
Selection.Search tmpStr                                    'Selektiert diese/CODE]

Nach der Termination suchen und selektieren
und dann mit
SendKeys “{ENTER}” oder ähnliches weiter machen ?

Gruß
minotito

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: 05. Dez. 2019 10: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 minotito 10 Unities + Antwort hilfreich

Servus

Ja du kannst die Terminations suchen.
Für die Methode mit Sendkeys darf IMHO immer nur ein Objekt selektiert sein. (probier mal die Tastendrücke manuell)

Gruß
Bernd

PS: Schau dir mal Beispiel/Doku/Schulungsunterlagen zur Selektion an

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 05. Dez. 2019 15: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

Hey,

komme wieder nicht weiter....

Mausklick bekomme ich irgendwie nicht hin....
und Sendkeys hilft mir nicht weiter, da nicht via Maus gesteuert werden kann.....

Code:
Sub Linking()

Set partDocument1 = CATIA.ActiveDocument
Set Selection = partDocument1.Selection

Selection.Search ("Name=Term*PT,all")
N = Selection.Count
MsgBox N

For i = 0 To N
tmpStr = "CATElectricalSearch.Termination.Elec_Id_Number=" & i & ",all"
Selection.Search tmpStr

'Zwischen Teil-Fehlt

Selection.Search ("Name=Term" & i & "PT,all")

Next
End Sub


macht der überhaupt, wenn es gehen sollte den Maus-Klick auf meine Selection?

Habe heute den ganzen Tag damit verbracht auszuprobieren " Selection.Open...." / "CATElectrical.Termination.Elec_Representation(1,Term1PT)"  und und und .....

Hat jemand noch Rat ? Oder weiß vielleicht wo man am besten Fragen kann ?

Gruß
minotito

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: 05. Dez. 2019 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 minotito 10 Unities + Antwort hilfreich

Servus

Warum läuft die Schleife von 0 anstatt von 1?
Ich würde prüfen ob in der inneren Schleife auch was gefunden wird.
Zu Sendkeys schau dir zB mal diese Diskussion an (und versuche dies nachzuvollziehen, selbst laufen zu lassen)
Hast du schon mal in Doku geschaut? Oder woher hast du die Methode Open bei der Selection?
Programmierst du im VBA-Editor? Dann mach dich da mal mit der Funktion von Watch/Local-Fenster vertraut

Gruß
Bernd

PS: Zu Ergänzung: Verwendung von Sendkeys ist meiner Ansicht nur ein Notbehelf und muss nicht unbedingt stabil laufen (was ist wenn der User dabei selbst noch auf der Tastatur herum tippt)

Edit: Sendkeys ist keine Maussteuerung sondern Tastatureingabe. Versuch mal meine Aufzählung nachzuvollziehen)

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 09. Dez. 2019 10:07    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 Bernd,

hatte das mit der Schleife nicht gesehen/bemerkt danke.

Sendkeys kann ich hier nicht verwenden....
Habe es manuell versucht, nur lässt sich über die Tastatur nicht ändern.

ja verwende VBA-Editor und kenne das Watch-Fenster für die Befehle.

Habe mit Open bei Selection ausprobiert ob es geht.

Ist es nicht möglich irgendwo nachzugucken was es alles für Befehle (VBA) für die Terminations gibt ?

Suche die ganze Zeit im Internet aber finde nichts dazu.

Gruß
minotito

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: 09. Dez. 2019 10: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 minotito 10 Unities + Antwort hilfreich

Servus

Da in der Doku nichts dazu steht (hast du da mal nachgeschaut?), gibt es auch nichts.
(außer du findest selbst undokumentierte Funktionen/Befehle)
Deshalb auch von mir der vorgeschlagene komplexe Umweg über Sendkeys (der eventuell nicht geht oder nicht stabil läuft)

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 09. Dez. 2019 10:24    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

Hey,

komme mir jetzt etwas dumm vor    was meinst du mit Doku?
Gruß minotito

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: 09. Dez. 2019 10:25    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 minotito 10 Unities + Antwort hilfreich

Servus

Die V5Automation.chm im Catia-Installationsverzeichnis.

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 09. Dez. 2019 11: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


Important.PNG

 
Hey,

Also habe jetzt folgendes gefunden (Siehe Bild).
Habe 2 Probleme:

1. Kann damit nicht wirklich was anfangen ( wie soll ich das Anwenden)

2. Da steht Read Only  heißt das ich kann die Property nicht ändern ?

Gruß minotito

[Diese Nachricht wurde von minotito am 09. Dez. 2019 editiert.]

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 09. Dez. 2019 13: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


123.PNG

 
Hey,

bin jetzt am ausprobieren

Code:
Sub Linking()

Set partDocument1 = CATIA.ActiveDocument
Set Selection = partDocument1.Selection

Selection.Search ("Name=Term*PT,all")
N = Selection.Count
MsgBox N


Dim TerminationIDNumber() As CATBSTR
For i = 1 To N
'tmpStr = "CATElectricalSearch.Termination.Elec_Id_Number=" & i & ",all"
'Selection.Search tmpStr

Set TerminationIDNumber("" & i) = TerminationRefDesignator.Term1PT

Next
End Sub


bekomme aber eine Fehlermeldung... (siehe Bild).

Gruß
minotito

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: 09. Dez. 2019 14:08    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 minotito 10 Unities + Antwort hilfreich

Servus

TerminationIDNumber ist eine Eigenschaft eines Objekts, aber von welchem? Ist dass das du bearbeiteten willst (PlugMap Data bzw EHMInsertionActPlugMapViewData )? Ich kenne mich mit der Workbench nicht aus.
Bitte beschäftige dich erst mit den Grundlagen von VB und CATScript. Du kopierst meiner Ansicht nur Dinge zusammen ohne diese zu verstehen.

Gruß
Bernd

PS: Ich behaupte einfach mal: das was du per Makro vor hast geht nicht

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 09. Dez. 2019 14:29    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

Hey Bernd,

in Bezug auf CATIA verstehe ich VB nicht wirklich....
Excel VBA kann ich.
ich weiß,dass es eine Eigenschaft ist...
will das er mir die Termination mit der Eigenschaft TerminationIDNumber.1 eine weitere Eigenschaft setzt: "TerminationRefDesignator" soll der Punkt  Term1PT sein.
Wie ich den Zusammenhang erstelle weiß ich nicht...
Wie ändert man Eigenschaften von bestehenden Objekten? Kenne die Befehlreihennfolge nicht.

Gruß minotito

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: 09. Dez. 2019 14:55    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 minotito 10 Unities + Antwort hilfreich

Servus

Selektiere mal eine Termination (von Hand) und schau per Watchfenster ob das Ding überhaupt Eigenschaften hat:

Code:
Sub CATMain()

dim oSel as Object 'Selection
dim oSelectedObject as Variant

Set oSel = Catia.Activedocument.Selection

if oSel.count <> 0 then
    Set oSelectedObject = osel.item2(1).value
    MsgBox TypeName(oSelectedObject)
end if

End Sub


Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 09. Dez. 2019 15: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

Hey,

Watchfenster bleibt leer, da representation= Unset
und Typname: Part.
hätte höchstens die ID-nummer angeben müssen.
Das Problem ist die  Eigenschaft ist kein Wert sonder ein Punkt.

Finde auch nichts zum nachlesen wie man einen Punkt als Eigenschaft wählt...
Gruß
minotito

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: 09. Dez. 2019 15: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 Nur für minotito 10 Unities + Antwort hilfreich

Servus

Poste mal bitte ein Bild des Watchfensters von oSelectedObject

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 10. Dez. 2019 07: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


321.PNG

 
Hey,

also erst mal das Bild vom Watchfenster:

hast mich gestern voll verunsichert... benutze ich das Watchfenster falsch oder was ?!? 

watchfensteröffnen -> addwatch-> Expression eingeben -> Watch typ = watch Expression


Ich will nicht, dass man mir dass fertige Makro gibt...
Will selbst drauf kommen.
Nur wie gesagt ich, weiß nicht wie man die Eigenschaften von einem bestehenden Object ändert.

Versuche an Beispielen zu verstehen wie das geht
Z.B.:

Code:
Dim myParameters As Parameters
Set myParameters = myProduct.UserRefProperties

Dim getThickness,getMaterial, getMass, nom, partName, RealPartNumber As String

getThickness = myParameters.Item(part1.Name &"\Properties\Thickness").ValueAsString
getMaterial = myParameters.Item(part1.Name&"\Properties\Material").ValueAsString
getMass = myParameters.Item(part1.Name & "\Properties\Mass").ValueAsString
getNEWID = myParameters.Item(part1.Name & "\Properties\NEW_ID").ValueAsString

Aber meine Eingenschaft ist ja kein Wert sondern ein Punkt....


Gruß

minotito

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: 10. Dez. 2019 08:04    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 minotito 10 Unities + Antwort hilfreich

Servus

Zum Watchfenster: gehe noch einen Schritt beim Makro weiter und poste dann nochmal das Bild. (bzw dann auch prüfen ob dir Intelisense eventuelle Methoden zu dem Objekt ausgibt)
Zu der Eigenschaft die du sucht: ich will dir zeigen ob es diese "Eigenschaft" überhaupt gibt (bzw per Makro ansprechen lässt)
Ein Beispiel wie ein Punkt an ein Objekt/Eingenschaft zugewiesen wird, siehe bei HybridShapePointCoord die PtRef
In deinem Beispielcode greifst du auf einen Parameter zu nicht auf die "Eigenschaft".

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 10. Dez. 2019 12: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


123.PNG


Eigenschaften.PNG


doppelklick.PNG

 
Hey,

Zitat:
bzw dann auch prüfen ob dir Intelisense eventuelle Methoden zu dem Objekt ausgibt

Das habe ich nicht wirklich verstanden was ich prüfen soll ?!?

Ein Schritt im Makro Weiter (Siehe Bild).

Zitat:
Zu der Eigenschaft die du sucht: ich will dir zeigen ob es diese "Eigenschaft" überhaupt gibt (bzw per Makro ansprechen lässt)

1. Fall: Wenn ich Rechts-klick auf die 1 Termination mache und auf Properties gehe ( Siehe Bild)....
2. Fall: Wenn ich Doppel-klick auf die 1 Termination mache (siehe Bild)

Ich brauche ja im Fall 2 die Representation.
Heißt, dass es dem zufolge keine Eigenschaft ist oder was ?

Jetzt verstehe ich auf was du hinaus willst.

Gruß
minotito

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: 10. Dez. 2019 12:21    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 minotito 10 Unities + Antwort hilfreich

Servus

Ich will dir zeigen wie du selbst herausfindest ob per Makro diese Elemente ansprechbar sind.
mein Code starten -> Haltemarke bei der MsgBox -> a) im Watchfenster schauen was es dort gibt (und ggf Bild posten) und b) im Code für oSelectedObject schauen ob Intellisense (Autovervollständigung) was anbietet.
Ich weiß was du willst: a) befürchte ich das das per Makro nicht geht b) kenne mich in der Workbench nicht aus

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 10. Dez. 2019 12:58    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


WAtchFenster.PNG

 
Hey,
also Intellisense  gibt nichts an für oSelectedObject

Und Watchfenster ( Siehe Bild)

Habe mich darin umgeguckt etwas aber nicht wirklich was verstanden/gefunden....

Gruß
minotito

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: 10. Dez. 2019 13:08    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 minotito 10 Unities + Antwort hilfreich

Servus

Du hast vor dem starten des Makros auch eine Termination gewählt?
Wenn ja, kann diese per Makro nicht angesprochen werden und das darüber liegende Part wird im Watch-Fenster angezeigt. Somit sind scheinbar die Terminations nicht per Makro ansprechbar/editierbar.

Meine Ansicht nach: lass es (auf diesem Weg) sein

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 12. Dez. 2019 09:32    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

Hey,

okay hab es auch eingesehen....
Habe ja  ein template erstellt wo ich bereits 175 Terminations habe und 175 Punkte, die schon mit einander verlinkt sind ( wie gewollt ).
Habe jetzt ein Macro zum löschen der "Überflüssigen" Punkte und Terminations.
hab mich eingearbeitet für das Makro zum ändern der  Koordinaten von bestehenden Punkten.

Nur weiß ich nicht wie ich hierbei genau vorgehen muss ??

genau wie beim erstellen von neuen Punkten ?
Koordinaten einlesen ( von Excel ) und anstelle von erzeugen von neuen Punkt alten Punkt verwenden ( wenn ja wie?)

oder

Alten Punkt selektieren, dann Punkte einlesen ( von Excel ) ?

Wäre nett, wenn man mir erklären könnte wie man die Koordinaten ändern könnte.
Das Einlesen funktioniert schon.

Gruß
minotito

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: 12. Dez. 2019 10:04    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 minotito 10 Unities + Antwort hilfreich

Servus

Ich würde den Punkt ansprechen (über die HybridShape-Collection des GeoSets) und dann die Koordinaten anpassen:

Code:
myPointCoord.X.Value = 30
myPointCoord.Y.Value = 50
myPointCoord.Z.Value = 60

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 12. Dez. 2019 12:07    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

Hey,

heißt ich kann jetzt sagen z.B

Code:

XCoord = CDbl(WS.Cells(nRow, 2).Value)
YCoord = CDbl(WS.Cells(nRow, 3).Value)
ZCoord = CDbl(WS.Cells(nRow, 4).Value)

myPointCoord.X.Value = XCoord
myPointCoord.Y.Value = YCoord
myPointCoord.Z.Value = ZCoord
   


das mit dem Ansprechen vom Punkt hab ich noch nicht ganze verstanden wie das gehen soll ....

Gruß,

minotito

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: 12. Dez. 2019 12:16    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 minotito 10 Unities + Antwort hilfreich

Servus

Bitte schau endlich mal in ein Fachbuch.
Auch die Doku, das Watchfenster und die Objektauflösung könnten dir weiterhelfen.
Beispiel:

Code:
Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Item("MeinGeoSetName") 'oder über den Index

for i = 1 to hybridBody1.hybridShapes.count
  Set MyPoint = hybridBody1.hybridShapes.item(1)
  MsgBox MyPoint.Name
next

End Sub


Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 12. Dez. 2019 14:29    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


Coordinateschnage.PNG

 
Hey,

So meinte ich es nicht
habe anstelle von .item(....)        .Point(.....) benutzt,
da hat es gehakt.

nur habe ich jetzt ein anderes Problem....
Ab der Zeile wo ich die Coordinaten angeben will hat zeigt der eine Fehlermeldung... (Siehe Bild)

Woran kann das liegen ?

Und zum Fachbuch:

kannst du mir eins empfehlen ?
Hatte vor mein Praktikum noch nie was mit CATIA oder VBAs für CATIA zu tun.
Lege mir auf jeden Fall eins zu, brauche dann nicht ständig hier stören.

Danke

Gruß,
minotito

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: 12. Dez. 2019 17: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 Nur für minotito 10 Unities + Antwort hilfreich

Servus

Fachbücher: siehe Literaturliste auf catia.cad.de
Zu deinem Fehler: du schreibst oben Point und in der nächsten Zeile PointCoord. Das passt nicht zusammen.
Vorsicht bei Benennungen von Variablen/Objekten: manche Namen sind nicht zulässig (ggf machen Objekt-Typ als Objektname Probleme)

Gruß
Bernd

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

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

minotito
Mitglied
Student


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

Beiträge: 31
Registriert: 11.11.2019

erstellt am: 13. Dez. 2019 09:05    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 Bernd,

Vielen Vielen Dank für deine Hilfe.
Ich weiß bin dir am Ende auf die Nerven gegangen, aber hast mir damit sehr geholfen.
Funktioniert jetzt alles, und dein Tipp am Ende war sehr gut.

Code:
         
Set Point = myHBody.HybridShapes.Item("Term" & n & "PT")

Dim oX
Set oX = Point.x
oX.Value = x

Dim oY
Set oY = Point.y
oY.Value = y

Dim oZ
Set oZ = Point.z
oZ.Value = z


so klappt das alles jetzt.

Damit ist dem eigentlichen Problem umgangen worden.

Gruß
minotito

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