Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Arbeitsraumsimulation - Kompass über Makro steuern

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:  Arbeitsraumsimulation - Kompass über Makro steuern (1416 mal gelesen)
FCArsenal
Mitglied
Konstrukteur

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

Beiträge: 5
Registriert: 07.05.2015

erstellt am: 07. Mai. 2015 12: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

Servus!


Für eine Arbeitsraumsimulation muss ich Bauteile in auf verschiedene, vorher berechnete Punkte bewegen (ca. 600 Stück), und in dieser Lage mit Koordinaten zweier Punkte ausgeben lassen. Mein großber Plan sieht dafür vor, das flexible Teil über den Kompass über ein Makro, dass sich die Vektoren/Zielpunkte aus einer Excel/CSV/txt/... holt, jeden einzelnen anfährt und bei Erreichen der Lage die Koordinaten in eine andere Excel/.../ ausgibt.

Das Grundmodell steht, allerdings bin ich im Händeln des Kompass über das Makro hilflos. Hat jemand einen geeigneten Tipp bzw. zufällig ein ähnliches Makro bereits gebaut bzw. irgendwo gesehen?

Bin für jede Hilfe dankbar

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: 07. Mai. 2015 12: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 FCArsenal 10 Unities + Antwort hilfreich

Hallo FC,

ich hab mal den Recorder bei einem 'Snap' mitlaufen lassen.
Das Ergebnis:

Code:

Sub CATMain()
   Dim productDocument1 As ProductDocument
   Dim product1 As Product
   Dim products1 As Products
   Dim product2 As Product
   Dim move1 As Move
   Dim arrayOfVariantOfDouble1(11)
  
   Set productDocument1 = CATIA.ActiveDocument
   Set product1 = productDocument1.Product
  
   Set products1 = product1.Products
   Set product2 = products1.Item("G000198__xxxx__Stollen_lang.1") 'das zu verschiebende teil
  
   Set move1 = product2.Move
   Set move1 = move1.MovableObject
  
   arrayOfVariantOfDouble1(0) = 1#              'x-achse
   arrayOfVariantOfDouble1(1) = 0#
   arrayOfVariantOfDouble1(2) = 0#
   arrayOfVariantOfDouble1(3) = 0#              'y-achse
   arrayOfVariantOfDouble1(4) = 1#
   arrayOfVariantOfDouble1(5) = 0#
   arrayOfVariantOfDouble1(6) = 0#              'z-achse
   arrayOfVariantOfDouble1(7) = 0#
   arrayOfVariantOfDouble1(8) = 1#
   arrayOfVariantOfDouble1(9) = 0#              'x-coord
   arrayOfVariantOfDouble1(10) = 470#           'y-coord
   arrayOfVariantOfDouble1(11) = 0#             'z-coord
  
   Set move1Variant = move1
   move1Variant.Apply arrayOfVariantOfDouble1

End Sub


Kommt ohne Kompass, Selektion etc aus.
Die Teilenamen/Instanzen müssen aber bekannt sein.

--edit---
Mit Get-/SetComponents müsste es auch gehen. Siehe hierzu:

  http://forum.cad.de/foren/ubb/Forum137/HTML/005021.shtml

---edit---

Hope it helps,
Joe

[Diese Nachricht wurde von joehz am 07. Mai. 2015 editiert.]

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

FCArsenal
Mitglied
Konstrukteur

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

Beiträge: 5
Registriert: 07.05.2015

erstellt am: 07. Mai. 2015 14: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

Großen Dank schon einmal dafür!

Wenn ich richtig sehe hast du das im Produktdesign aufgenommen? Wie binde ich nun meine Excelliste mit den Koordinaten/Vektoren ein? Habe leider kaum Erfahrungen mit Makros...

Problem ist auch, dass mein Modell im Part vorliegt und sich die unterschiedlichen Körper in Bodys befinden. Das hat folgenden Hintergrund: Ich habe eine Linie, die sich in einem Body befindet, auf das andere referenziert bzw. die Länge durch die angrenzende Fläche definiert. Das stellt mir dann einen Sensorwert/eine Sensorstrecke dar, deren Länge ich nach jeder Messung ausgegeben haben muss. Nun habe ich schon lang rumversucht um beides wieder zu trennen und ein Bauteil inkl. Sensoren zu verschieben, deren Strecke aber durch das andere Bauteil zu begrenzen, was mir im Product Design leider nicht gelungen ist.
Mit den 3D Constraints im Partdesign ist das leider auch nicht gelungen (Sensorstrecken sind nicht mitgelaufen obwohl auch in den Sensoren ausgerichtet).

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: 07. Mai. 2015 18:10    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 FCArsenal 10 Unities + Antwort hilfreich

Hallo FC,

Meinem Gefühl nach ist das was Du da vorhast eigentlich ein 'NO-NO'. Macht man nicht (im CATPart).

Wenn ich Dich recht verstehe, hast Du 600 Bodies in einem Part und willst die nacheinander gesteuert verschieben, bis sie 'auf Block' liegen.

Das klingt alles nach Kollisionsbetrachtung.

Ein Beispielmacro von Dassault dazu heisst
'Computing a Clash and Filtering Results' - DMU Space Analysis
(das interessanterweise läuft, obwohl ich keine DMU-Lic habe).

Der Haken dabei? Das funktioniert nur im Produkt.

Ich meine, dass der bisher eingeschlagene Weg nicht zum Ziel führt. Sorry.

Joe


PS: Wenn ich mich recht entsinne, gibt's ein Makro, dass aus einem Part mit Bodies ein Produkt mit Parts erstellt.

Siehe:
 
  http://ww3.cad.de/foren/ubb/Forum137/HTML/004739.shtml#000001

Stichworte Noch: Clash, Conflict;

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

FCArsenal
Mitglied
Konstrukteur

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

Beiträge: 5
Registriert: 07.05.2015

erstellt am: 07. Mai. 2015 20: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!

Du hast da leider etwas falsch verstanden. Ich habe nicht 600 Bodies die ich verschieben möchte - sondern 600 Positionen, die ich anfahren möchte. Verschieben will ich nur einen Body.
An die Übersetzung ins Produkt habe ich mich nun schon abgefunden. Aber wie kann ich die Verschiebung im Makro da realisieren?

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: 07. Mai. 2015 21: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 Nur für FCArsenal 10 Unities + Antwort hilfreich

Hallo FC,

Zitat:

sondern 600 Positionen, die ich anfahren möchte


Das war die zweite Möglichkeit.
Zitat:

Aber wie kann ich die Verschiebung im Makro da realisieren?


Wie oben beschrieben.

Und wenn Du 'Excel' in die Suche eingibst, findest Du auch Beispiele
um Daten von Excel zu lesen, bzw. zu schreiben.

Tschau,
Joe

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