Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Part in NC-Umgebung versetzen

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:  Part in NC-Umgebung versetzen (1127 mal gelesen)
Bappnaas
Mitglied
CNC-Programmierer


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

Beiträge: 62
Registriert: 25.08.2008

erstellt am: 12. Jan. 2010 10:34    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 Forumianer,
ich möchte in der NC-Umgebung (PMG) einen Part anklicken und ihn um einen vorher definierten Wert in einer bestimmten Achsrichtung (zB X) versetzen.
Mit dem Makrorecorder komme ichnicht weiter, er zeichnet das Versetzen nicht auf.
Mit den selections habe ich immer so meine Probleme...

Gruß und Danke schonmal,
Gregor

------------------
Wer bin ich? Und wenn ja: wieviele?

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 12. Jan. 2010 10:53    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 Bappnaas 10 Unities + Antwort hilfreich

Hallo Gregor,

bekommst du es im Assembly Design hin?

Falls ja, kannst du per Makro in der PPR-Struktur im PMG navigieren und genau so arbeiten als wärst du im Assembly Design.

Hierzu hilft dir die Objektauflösung und das Watchfenster im CATvba-Editor.

grüße Dominik

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

Bappnaas
Mitglied
CNC-Programmierer


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

Beiträge: 62
Registriert: 25.08.2008

erstellt am: 12. Jan. 2010 11: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

Hallo,
ich habe den Part ausgewählt und den Verschiebewert (X1) definiert.
Wie bekomme ich nun den gewählten Part als zu verschiebendes Objekt definiert (product1)?

Hier mein bisheriger Code:

Code:
Rem ## part auswählen
Dim selElements(0)
selElements(0) = "Part"
Dim userSelection As Object
Set userSelection = CATIA.ActiveDocument.Selection
userSelection.Clear
Dim Quelle As String
Quelle = userSelection.SelectElement2(selElements, "Würfel auswählen", True)

Rem 1.Würfel positionieren
Dim move1 As Move
Set move1 = product1.Move
Set move1 = move1.MovableObject
Dim arrayOfVariantOfDouble2(11)
arrayOfVariantOfDouble2(0) = 1#
arrayOfVariantOfDouble2(1) = 0#
arrayOfVariantOfDouble2(2) = 0#
arrayOfVariantOfDouble2(3) = 0#
arrayOfVariantOfDouble2(4) = 1#
arrayOfVariantOfDouble2(5) = 0#
arrayOfVariantOfDouble2(6) = 0#
arrayOfVariantOfDouble2(7) = 0#
arrayOfVariantOfDouble2(8) = 1#
arrayOfVariantOfDouble2(9) = 0#
arrayOfVariantOfDouble2(10) = X1 'errechneter Wert
arrayOfVariantOfDouble2(11) = 0#
Set move1Variant = move1
move1Variant.Apply arrayOfVariantOfDouble2


------------------
Wer bin ich? Und wenn ja: wieviele?

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. Jan. 2010 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 Nur für Bappnaas 10 Unities + Antwort hilfreich

Servus
Ich vermute dass du das Product verschieben muss. In einer Baugruppe sind nur Products enthalten. Bei Parts bildet ein Product die "Hülle" zum in der Baugruppe anzusprechen.

Gruß
Bernd

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

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

Bappnaas
Mitglied
CNC-Programmierer


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

Beiträge: 62
Registriert: 25.08.2008

erstellt am: 12. Jan. 2010 12: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

Ich habe jetzt selElements(0)="Product" gesetzt und kann nun das Produkt auswählen.

Nur weiss ich nicht, was ich in
dim product99 as Product
set product99 = ....
hier eintragen muss. userSelection ergiebt die Fehlermeldung "Type mismatch".

------------------
Wer bin ich? Und wenn ja: wieviele?

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 13. Jan. 2010 12: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 Nur für Bappnaas 10 Unities + Antwort hilfreich

Hallo,

du solltest die Verschiebung per Makro erst einmal im Assembly Design aufbauen. Wenn das dort funktioniert kann man einen Schritt weiter gehen und die Verschiebung im Process ermöglichen.

Im Assembly Design hilft dir ausserdem der Makro-Rekorder.
Im PMG nicht!!

grüße Dominik

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

Bappnaas
Mitglied
CNC-Programmierer


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

Beiträge: 62
Registriert: 25.08.2008

erstellt am: 14. Jan. 2010 07: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

Guten Morgen,

ich habe den Vorgang im Assembly aufgenommen, der oben stehende Code stammt daher.
Als Makro im PMG gestartet funktioniert das auch, bis zu der Stelle hin, wo die Variable "move1" gefüllt wird.
Im aufgenommenen Makro wird der Wert mit feststehenden Werten gefüllt, ich will das Ganze aber flexibel gestalten, damit der User den zu verschiebenden Part anklickt und diese Auswahl benutzt wird.
Also muss ich einen Weg finden, "move1" mit der Auswahl zu belegen.
Das klappt aber, ich glaube mal aufgrund der Variablendefinition, nicht.
Hier nochmal der aktuelle Code:

Code:

Rem ## part auswählen
Dim selElements(0)
selElements(0) = "Product"
Dim userSelection As Object
Set userSelection = CATIA.ActiveDocument.Selection
userSelection.Clear
Dim Quelle As String
Quelle = userSelection.SelectElement2(selElements, "Würfel auswählen", True)

Rem 1.Würfel positionieren
Dim move1 As Move
Set move1 = product1.Move    '<---- was muss hier eingetragen werden?
Set move1 = move1.MovableObject
Dim arrayOfVariantOfDouble2(11)
arrayOfVariantOfDouble2(0) = 1#
arrayOfVariantOfDouble2(1) = 0#
arrayOfVariantOfDouble2(2) = 0#
arrayOfVariantOfDouble2(3) = 0#
arrayOfVariantOfDouble2(4) = 1#
arrayOfVariantOfDouble2(5) = 0#
arrayOfVariantOfDouble2(6) = 0#
arrayOfVariantOfDouble2(7) = 0#
arrayOfVariantOfDouble2(8) = 1#
arrayOfVariantOfDouble2(9) = 0#
arrayOfVariantOfDouble2(10) = X1 'errechneter Wert
arrayOfVariantOfDouble2(11) = 0#
Set move1Variant = move1
move1Variant.Apply arrayOfVariantOfDouble2


Gruß,
Gregor

------------------
Wer bin ich? Und wenn ja: wieviele?

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 14. Jan. 2010 10:23    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 Bappnaas 10 Unities + Antwort hilfreich

Hallo Gregor,


versuche mal:
set product1 = userSelection.item(1)
zu definieren.

Und wie gesagt, versuche ersteinmal im Assembly dein Glück.
Wenn es dort komplett funktioniert, kannst du versuchen es auf den PMG-Workbench anzupassen.

Grüße Dominik

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

Bappnaas
Mitglied
CNC-Programmierer


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

Beiträge: 62
Registriert: 25.08.2008

erstellt am: 14. Jan. 2010 15: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

Mit deinem Vorschlag geht´s auch nicht...
Das Problem ist, dass das aufgenommene Makro den Namen fest vorgibt. Dies will ich, wie gesagt, durch eine Selection ersetzen.
Hier der aufgenommene Code:
Code:

Dim processDocument1 As ProcessDocument
Set processDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = processDocument1.GetItem("PPRProduct")
Dim products1 As Products
Set products1 = product1.Products
Dim product2 As Product
Set product2 = products1.Item("Item.1")
Dim products2 As Products
Set products2 = product2.Products
Dim product3 As Product
Set product3 = products2.Item("HD-Aussengehäuse Moorburg")
Dim products3 As Products
Set products3 = product3.Products
Dim product4 As Product
Set product4 = products3.Item("Würfel 1600mm.1")

Dim move1 As Move
Set move1 = product4.Move
Set move1 = move1.MovableObject
'... Bewegung



Der von mir geschriebene Code läuft im Assembly inklusive selection prima, bleibt allerdings, wie im PMG, bei der Übergabe der Auswahl an die Bewegung hängen.

------------------
Wer bin ich? Und wenn ja: wieviele?

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