Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Objectpfad / Einsteigerhilfen

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:  Objectpfad / Einsteigerhilfen (2397 mal gelesen)
cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 20. Nov. 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

Hi,

ich bin gerade dabei in die Catia Makrowelt einzusteigen. Bin in dem Bereich noch blutiger Anfänger. Ich probiere gerade ein paar (einfache) Übungen zu machen, wie z.B. das hier:

Code:
Sub CATMain()
  Dim Excel As Application
  Dim WB As Workbook
  Dim WS As Worksheet
  Dim parameters1 As Parameters
  Dim length1 As Dimension

  Set Excel = CreateObject("Excel.Application")
  Excel.Visible = True
  Set WB = Excel.Workbooks.Open("C:\tmp\Parameter.xls")
  Set WS = WB.Worksheets.Item(1)

  Set Part1 = CATIA.ActiveDocument.Part
  Set parameters1 = part1.Parameters

  nRow = 2
  Do
    Name = (WS.Cells(nRow, 1).Value)
    Wert = CDbl(WS.Cells(nRow, 2).Value)
    Set length1 = parameters1.CreateDimension(Name, "LENGTH", Wert)
    nRow = nRow + 1
    Loop While (WS.Cells(nRow, 2).Text <> "")                   
    Part1.Update

  Excel.Quit                 
End Sub


Das soll einfach aus einer Exceltabelle Spalte A (Namen) und Spalte B (Werte) alle gereihten Werte als Parameter in dem aktivem Part anlegen.
Dieser Teil funktioniert auch soweit, allerdings würde ich gerne die Excel Tabelle nicht mit einem festem Pfad aufrufen, sondern den Pfad des derzeit aktiven Parts abfragen und unter selbigem dann die Excel Tabelle aufrufen. Falls nicht vorhanden, oder das aktive Part noch nicht gespeichert wurde, soll eine Fehlermeldung kommen.
Also konkret: Wie kann ich den "Savepath" des aktiven Parts auslesen?

Besser wäre natürlich wenn ich das Script direkt in Excel via Button aufrufen könnte.

Noch weiter würde mir allerdings helfen, wenn ich gute Tipps bekommen würde zur Suche in der Hilfedatei V5Automation.chm. Wenn ich dort im Suchfeld z.B. Filesystem oder .open eingebe, krieg ich alles Mögliche aufgelistet, nur nicht das was ich suche. Wie geht man hier am besten vor, wenn man die exakten Befehle noch nicht kennt?

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 20. Nov. 2008 12: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 Nur für cadtb 10 Unities + Antwort hilfreich

Hallo,
den vollständigen Pfad mit Dateinamen bekommst du mit CATIA.ActiveDocument.FullName.
Ob ActiveDocument gespeichert wurde oder bekommst du mit CATIA.ActiveDocument.Saved heraus, wobei dabei true oder false ausgegeben wird.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing
Kochbuch - CATIA V5 automatisieren

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 21. Nov. 2008 15: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


Ansichstbereinigung.JPG

 
Hat zufällig schon mal jemand ein ähnliches Makro gemacht wie auf meinem Bild?
Würde sowas in der Richtung gerne per Knopf auf der CATIA Symbolleiste bei Parts und Products aufrufen und die dementsprechenden Dinge ändern. (Bei Baugruppen alle Parts durch gehen).

Allerdings ist das natürlich für mich als Anfänger ein sehr schweres Unterfangen.
Daher die Frage(n) - Hat schonmal jemand etwas ähnliches, oder nur ein Teil davon gemacht? Würde mich auch über Codeschnipsel freuen zur Vorgehensweise.
Wie finde ich (mit selection1.Search) alle Skizzen in einem z.b. Part, selbst wenn im Skizzenname nichtmehr "Skizze*" steht? Selbiges bei Ebenen.

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

Jules_Vernes
Mitglied
Systemadmin


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

Beiträge: 145
Registriert: 04.10.2005

Catia V5R24SP4

erstellt am: 21. Nov. 2008 15: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 Nur für cadtb 10 Unities + Antwort hilfreich


VBA-Projekt1.zip.txt

 
Weil heute Freitag ist und damit ich mit
einer guten Tat ins Wochenende gehen kann.

Übernehme keine Haftung oder Garantie.
(.txt entfernen und zip entpacken)

Schönes Wochenende

Jules

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 21. Nov. 2008 15: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 Nur für cadtb 10 Unities + Antwort hilfreich

Hallo,
schau dir mal die Suchfunktion in V5 genau an. Dort kannst du nicht nur nach Namen sondern auch nach Objekttypen suchen lassen.
Es gibt aber doch in V5 schon die Möglichkeit direkt per mausklick Ebenen etc. auszublenden oder anzeigen zu lassen. Warum dann noch den Aufwand mit dem VBA-Fenster?

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing
Kochbuch - CATIA V5 automatisieren

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 21. Nov. 2008 15: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

Danke euch beiden, allerdings weiss ich nicht wie mit dem catvba zu verfahren ist um es zu nutzen.
Catia unterstützt wohl bei mir nur CatScript und Catvbs und in Visual Studio konnte ich es auch nicht öffnen. Was ist zu tun?

Habe mir inzwischen mal mit dem Makroaufzeichnungsassistenten und der Suchfunktion das hier zusammengestrickt:

Code:
Language="VBSCRIPT"

Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument
Set selection1 = productDocument1.Selection

selection1.Search "((CATPrtSearch.Sketch + CATGmoSearch.Sketch) + CATSpdSearch.Sketch),all"
Set selection2 = productDocument1.Selection
Set visPropertySet1 = selection2.VisProperties
visPropertySet1.SetShow 1
selection2.Clear

selection1.Search "(((CATStFreeStyleSearch.Plane + CATPrtSearch.Plane) + CATGmoSearch.Plane) + CATSpdSearch.Plane),all"
Set selection2 = productDocument1.Selection
Set visPropertySet1 = selection2.VisProperties
visPropertySet1.SetShow 1
selection2.Clear

End Sub


Das blendet mir jetzt Skizzen und Ebenen aus *freu
Jedoch steh ich auf dem Schlauch was den Dialog angeht. Ich vermute mal den kann ich nicht in Visual Studio zusammenbauen, sondern muss das über Catia tun, richtig?
Wenn ja wie fange ich da an?

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

Jules_Vernes
Mitglied
Systemadmin


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

Beiträge: 145
Registriert: 04.10.2005

Catia V5R24SP4

erstellt am: 21. Nov. 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 cadtb 10 Unities + Antwort hilfreich

Musst doch eigentlich nur eine neue Bibliothek hinzufügen.

Tools / Makro / Makros...
danach auf "Makrobibliotheken..."
VBA-Projekte anwählen und "Vorhandene Bib hinzufügen.." (hier die Datei auswählen)
anschließend VBA-Editor aufmachen (Alt+F11) und auf "Play" drücken.

Jules

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 21. Nov. 2008 15:59    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

Alt+F8 ists bei mir. Nutze Catia V5 R16.

Kann leider keine catvba auswählen, die werden mir da nicht angezeigt.
Habe den Ordner in der die .catvba liegt als Makrobiliothek hinzugefügt, aber sehe da nur die enthaltenden catvbs und catscript Dateien. :/

Edit: Ok, habs gefunden, war doch Alt+F11.
Saubere Arbeit, danke dir. Wenn ich das nun noch via Symbolleistenicon starten kann wäre das was ich will.  
Aber da kann ich nochmal selbst rumtüfteln ob ich das hinkriege. Will es ja lernen wie es geht.

Edit2: Den Aufwand möchte ich mir zum einen machen das ich es dadurch lerne und weil ich da später auch weitere "Bereinigungsbefehle" bzw. Optionen zum Anpassen der Ansicht drin haben möchte. Aber Hauptgrund ist wie gesagt - zum Lernen.

[Diese Nachricht wurde von cadtb am 21. Nov. 2008 editiert.]

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 24. Nov. 2008 08: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

Warum funktioniert das nicht?

Code:
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
Set viewpoint3D1 = viewer3D1.Viewpoint3D

Das zeichnet mir der Makroaufzeichnungsassisten auf, wenn ich in einem Part auf "Isometrische Ansicht" klicke.
Leider funktioniert das aber dann in einem Makro nicht - warum?
(Es kommt zwar keine Fehlermeldung, aber er ändert auch nicht die Bauteilausrichtung)

[Diese Nachricht wurde von cadtb am 24. Nov. 2008 editiert.]

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 24. Nov. 2008 08:47    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 cadtb 10 Unities + Antwort hilfreich

Weil in dem stückchen quellcode nur der viewer angesprochen wird. Da steht noch nix von einem neuen viewpoint. Schau mal hier; da wird weiter unter gelöst.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing
Kochbuch - CATIA V5 automatisieren

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 24. Nov. 2008 11:27    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

Vielen Dank, funktioniert einwandfrei.

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 24. Nov. 2008 13:47    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

Habe jetzt auch einen Dialog dazu gemacht. Jetzt hab ich quasi eine .catvba Datei. Kann man die nun direkt über die Symbolleiste starten, oder braucht es dazu eine .catscript oder .catvbs Datei die ich in die Symbolleiste lege, welche die .catvba aufruft?
Kann unter "Anpassen" der Symbolleiste nur Makros - .catvbs .catscript anwählen.

[Diese Nachricht wurde von cadtb am 24. Nov. 2008 editiert.]

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 24. Nov. 2008 13: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 cadtb 10 Unities + Antwort hilfreich

Hallo,
letzteres! Das geht ganz gut, wenn dein Modul und deine Form in der selben VBA-Projekt liegen. Über ein Symbol kannst du nur "Module" starten. Daher startest du in einem Modul (vbs) deine Form. Das Modul kannst du dann wie gehabt mit einem Icon in eine Symbolleiste legen.
Siehe hierzu auch in der Hilfeseite nach.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing
Kochbuch - CATIA V5 automatisieren

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

cadtb
Mitglied



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

Beiträge: 17
Registriert: 20.11.2008

erstellt am: 24. Nov. 2008 14: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

Hm, also ich krieg .catscript und .catvbs Dateien als Icons angelegt.
Auch ein Modul in dem VBA Projekt bekomme ich angelegt. Nur was schreib ich nun in das Modul rein - und wie krieg ich das dann als einzelnes .catvbs - das dann Ortsunabhängig funktioniert.
Also das die .catvba und die .catvbs im gleichen Ordner liegen, die .catvbs die .catvba startet, selbst wenn man den Ordner verschieben würde.

Edit:

Ok, habs hinbekommen.
Falls einer die gleichen Probleme hat, hier die Lösung (für meinen Fall):

Code:
Sub CatMain()
Dim dlg As New Dialog
dlg.show
End Sub

Dabei heisst das Formular, also der Dialog: Dialog
Der Modulname ist egal, wird aber in Catia, sofern auf der Symbolleiste vorhanden, bei Mouseover angezeigt - also Sinnvoll benennen.

Allerdings habe ich noch das Problem, dass wenn ich die Bedingungen in einem Product ausblenden möchte und ich das mit:

Code:
If Right(CATIA.ActiveDocument.FullName, 11) = ".CATProduct" Then
selection1.Search "CATAsmSearch.MfConstraint,all"
selection1.VisProperties.SetShow 0
selection1.Clear

realisiere, das er dann auch die Bedingungen von den Skizzen der verbauten Parts ausblenden möchte. Das hat dann zur Folge das die Skizzen gleich mit ausgeblendet werden.
Ich hab versucht mit der Catiasuche nur die Productbedingungen zu selektieren, allerdings funktioniert das nicht.
Hat jemand einen Lösungsvorschlag, wie ich wirklich nur die Bedingungen ein/ausblenden kann, ohne die Skizzen ein/auszublenden?

[Diese Nachricht wurde von cadtb am 25. Nov. 2008 editiert.]

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