Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Baugruppen mit Makro erstellen

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:  Baugruppen mit Makro erstellen (1907 mal gelesen)
Windninja
Mitglied
Konstrukteur


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

Beiträge: 25
Registriert: 06.02.2015

Catia V5 R24
Service Pack 4
Hot Fix 33

erstellt am: 06. Feb. 2015 12: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

Hallo,

Ich brauch die geiche Struktur immer wieder erneut und hätte gerne ein Makro das mir eine Baugruppe erstellt mit darunter angeordneten Parts.

Gegeben:

Baugruppe XYZ
-01_Modul
-02_Modul

Nun soll das 03_Modul erstellt werden in dieser Form.

03_Modul (Produkt)
-03-00_Grundplatte (Part)
-03_01_Aufnahme (Part)
-03_02_Aufnahme (Part)
-03-02_Aufnahme (Part)

Der Aufbau der Module ist immer gleich nur die Menge der Aufnahmen ändert sich.

Abgefragt werden müsse ja dann die Modulnummer und die Anzahl der Aufnahmen. Dann sollte das Makro den rest Alleine schaffen.
- schön währe es wenn ich gleich noch Eigenschaften bei der Grundplatte und Aufnahmen hinterlegen kann. Sind auch immer gleich.
z.B.: Teiletyp als String "Laserteil" (Grundplatten) und "Fräßteil" (Aufnahmen)
- Kann man das Modul und Parts gleich noch fixien es wird immer im absoluten konstruiert.

Hat jemand so ein Makro oder zumindesten so ähnlich?

Gruß Windninja

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

Windninja
Mitglied
Konstrukteur


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

Beiträge: 25
Registriert: 06.02.2015

Catia V5 R24
Service Pack 4
Hot Fix 33

erstellt am: 19. Feb. 2015 14: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

So habe mal versucht das makro zu erzeugen aber habe ein kleines problem.
Die Erste Baugruppe wird erstellt und auch die Einzelteile.
Die Zweite Baugruppe wird erstellt aber die Einzelteile landen in der Ersten Baugruppe.

Fehler:
Set product2 = products1.Item("01_Modul.1")
'  ("01_Modul.1") kann ich nicht durch (Name_Modul.1) ersetzen

Ich bekomme die angabe in der Klammer nur mit fest Text hin nicht mit einer Variable.

Wie muss ich das umschreiben?


---------

Language="VBSCRIPT"

Antwort = InputBox("Modul-Nummer eintragen","Modul Nummer","01")

Name_Modul = Antwort & "_Modul"

Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument

Set product1 = productDocument1.Product

Set products1 = product1.Products

Set product2 = products1.AddNewComponent("Product", Name_Modul)

Set productDocument1 = CATIA.ActiveDocument

Set product1 = productDocument1.Product

Set products1 = product1.Products

Set product2 = products1.Item("01_Modul.1")
'  ("01_Modul.1") kann ich nicht durch (Name_Modul.1) ersetzen

Set products2 = product2.Products

Name_Platte = "Platte_" & Antwort

Set product3 = products2.AddNewComponent("Part", Name_Platte)

Name_Aufnahme01 = "Aufnahme_" & Antwort & "-01"

Set product5 = products2.AddNewComponent("Part", Name_Aufnahme01)

Name_Aufnahme02 = "Aufnahme_" & Antwort & "-02"

Set product5 = products2.AddNewComponent("Part", Name_Aufnahme02)

End Sub

wie kan ich das problem lösen

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 19. Feb. 2015 15: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 Nur für Windninja 10 Unities + Antwort hilfreich

Hallo Ninja,

Zitat:

'  ("01_Modul.1") kann ich nicht durch (Name_Modul.1) ersetzen

Du meinst wahrscheinlich ' Name_Modul & ".1" '

Tschau,
Joe

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: 19. Feb. 2015 16:39    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 Windninja 10 Unities + Antwort hilfreich

Servus Windninja
Wenn du in der neuen Unterbaugruppe die Teile anlegen willst, kann du auch die Zeile ganz weglassen. du hast ja über "Set product2 = products1.AddNewComponent("Product", Name_Modul)" schon das Product.
Kennst du dich schon in VB(A) aus? Ich empfehle dir dringend zunächst Grundlage dazu zu lernen (Tutorials zu VB6 oder VBA gibt es genügend)

Gruß
Bernd

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

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

Windninja
Mitglied
Konstrukteur


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

Beiträge: 25
Registriert: 06.02.2015

Catia V5 R24
Service Pack 4
Hot Fix 33

erstellt am: 20. Feb. 2015 08: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

@Joe
danke nun geht es

@Bernd
VBA kenne ich nicht habe vorher im Studium mal mit C++ Programiert aber nicht viel.
Unser Lehrer hat uns den Algorithmus meist nur auf Papier zeichnen lassen und dann gesagt:
"Wenn der Algorithmus stimmt kann man in in jeder Programiersprache schreiben"
daher haben wir nur gelegentlich mal ein Algorithmus in C++ schreiben dürfen.

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

Windninja
Mitglied
Konstrukteur


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

Beiträge: 25
Registriert: 06.02.2015

Catia V5 R24
Service Pack 4
Hot Fix 33

erstellt am: 11. Mrz. 2015 11: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

So hatte wieder Zeit weiter zu Programieren.

Nun läuft alles.

Language="VBSCRIPT"

Sub CATMain()

Antwort = InputBox("Modul-Nummer eintragen","Modul","01")
Nummer_Modul = Antwort
Name_Modul = Antwort & "-00_Modul"

Antwort = InputBox("Menge der Aufnahmen","Aufnahmen","1")
Zahl = Antwort

Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Set products1 = product1.Products
Set product2 = products1.AddNewComponent("Product", Name_Modul)

Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Set products1 = product1.Products
Set product2 = products1.Item(Name_Modul & ".1")
Set products2 = product2.Products

Name_Platte = "Platte_" & Nummer_Modul
Set product3 = products2.AddNewComponent("Part", Name_Platte)

For z = 1 To Zahl
      if z<10 then
Name_Aufnahme = "Aufnahme_" & Nummer_Modul & "-0" & z
Set product5 = products2.AddNewComponent("Part", Name_Aufnahme)
  else
      Name_Aufnahme = "Aufnahme_" & Nummer_Modul & "-" & z
Set product5 = products2.AddNewComponent("Part", Name_Aufnahme)
  end if
Next

End Sub


Hätte jetzt noch gerne das das Modul fix gesetzt wird und auch die Platte und sie Aufnahmen.

Über die Makro aufzeichnung bekomme ich diese Zeilen aber bekomme die nicht lauffähig in mein Makro eingebaut.

Set constraints1 = product3.Connections("CATIAConstraints")
Set reference1 = product3.CreateReferenceFromName("21-00_Modul/Platte_21.1/!21-00_Modul/Platte_21.1/")
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeReference, reference1)

Kann mir da einer helfen?
Gruß Windninja

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