Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Hinzufügen von PowerCopies per Makro

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
Autor Thema:  Hinzufügen von PowerCopies per Makro (744 mal gelesen)
DanielBura
Mitglied
Ingenieur

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

Beiträge: 4
Registriert: 01.12.2014

erstellt am: 11. Dez. 2014 14: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 zusammen,
ich wollte ein Makro schreiben, das die folgende Funktion hat:
an eine Scheibe sollen mehrere Bolzen eingefügt werden. Jeder Bolzen mit den Bemaßungen(Parameter) ist als PowerCopy gespeichert. Per Fenstereingabe wird gefragt, welche Bemaßungen der Bolzen haben soll und wie viele Bolzen es geben soll. Die Bolzen sollen dann im gleichen Abstand zueinander positioniert werden.
Ich habe es so versucht, jedoch wird der Befehl "Wzk3D" als fehlerhaft markiert.Jedoch wird ein Bolzen hinzugefügt und die Bemaßungen werden auch richtig aktualisiert. Das Programm:

Private Sub B_Scheibe_Click()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
parameters1.Item("Abstand.1").value = C_Abstand.value
parameters1.Item("Radius.1").value = C_Radius.value
part1.Update

Dim I, Schritt, Winkel As Integer
For I = 1 To C_Anzahl.value Step 1
    Schritt = 360 / C_Anzahl.value
    Winkel = Schritt * I
    parameters1.Item("Winkel.1").value = Winkel
    Dim Operation As Add
    Set Operation = Wzk3D.AddNewAdd(part1)
    part1.Update
Next
End Sub

Weiss jemand, woran mein Fehler liegt oder hat jemand einen anderen Vorschlag, wie man das Problem lösen könnte??? 

Schöne Grüße Daniel

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 11. Dez. 2014 17: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 DanielBura 10 Unities + Antwort hilfreich

Servus
Bitte Systeminfo ausfüllen.
Von einer Powercopy sehe ich deinem Code nichts.
Vermutlich muss Wzk3D als ShapeFactory dimensioniert und mit Set Wzk3D = part.ShapeFactory definiert werden.
Welchen Körper willst du "Adden"? Gemäß Doku muss bei AddNewAdd ein Körper übergeben werden.

Gruß
Bern

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

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

joehz
Mitglied
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: 11. Dez. 2014 18: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 DanielBura 10 Unities + Antwort hilfreich

Hallo Daniel,

ein paar Dinge sind mir beim Durchlesen des Scripts aufgefallen:

Zitat:

Private Sub B_Scheibe_Click()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
parameters1.Item("Abstand.1").value = C_Abstand.value
parameters1.Item("Radius.1").value = C_Radius.value


Bei mir geht das nicht in einem Schritt.
Um den Wert des Parameters 'Radius.1' zu ändern verwende ich

Dim l_r1 as Length
set l_r1 = parameters1.Item("Radius.1")
l_r1.Value = C_Radius.value

Wo sind C_Abstand und C_Radius definiert?

Zitat:

part1.Update

Dim I, Schritt, Winkel As Integer


Das steht zwar oft in den VB-Skript-Beispielen von Dassault, ist aber trotzdem schlecht.
Siehe hierzu:
http://ww3.cad.de/foren/ubb/Forum137/HTML/005635.shtml

Zitat:

For I = 1 To C_Anzahl.value Step 1
    Schritt = 360 / C_Anzahl.value
    Winkel = Schritt * I
    parameters1.Item("Winkel.1").value = Winkel

Siehe oben...

Ausserdem: 'Step 1' ist der Default-Wert bei For-Schleifen.
Step macht nur Sinn bei Schrittweiten <> 1.

Zitat:

    Dim Operation As Add
    Set Operation = Wzk3D.AddNewAdd(part1)

Wo hast Du Wzk3D dimensioniert? (siehe Bernd)

Zitat:

    part1.Update
Next
End Sub

Prüf bitte mal, ob die Zuweisungen an die Parameter wirklich funktionieren.

Tschau,
Joe

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

DanielBura
Mitglied
Ingenieur

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

Beiträge: 4
Registriert: 01.12.2014

erstellt am: 15. Dez. 2014 20:49    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 Leute,
schon mal vielen Dank für eure Antworten.
Ich wollte einen Bolzen adden. Dies muss in meinem Fall aber nicht über das Programmieren an sich erfolgen. Der Benutzer soll den Bolzen, der als PowerCopy in einer anderen Datei gespeichert ist, selbst hinzufügen, dann das Makro-Programm starten, worauf er gefragt wird, wie viele Bolzen es geben soll, welchen Durchmesser sie haben sollen und den Abstand jedes Bolzens von der Mitte aus.
Ich werde es morgen versuchen mit der Definition von Wzk3D (zu Hause habe ich leider kein Catia).

Schöne Grüße Daniel

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)2025 CAD.de | Impressum | Datenschutz