Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Powercopies mit Makro erstellen, Richtung festlegen

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:  Powercopies mit Makro erstellen, Richtung festlegen (2101 mal gelesen)
Pateri
Mitglied
Konstrukteur

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

Beiträge: 1
Registriert: 05.11.2009

erstellt am: 05. Nov. 2009 09:42    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 liebe CAD Gemeinde,

ich hoffe ihr habt vielleicht eine Idee für mein Problem.
Ich habe Powercopies erstellt, die ich über ein Makro in Catia einfügen möchte. Wenn ich ein Powercopy ohne Makro in Catia einfüge, kommt ja ein kleines Fenster, in dem ich die Richtungen der einzusetzenden Powercopy festlegen und gegebnenfalls umdrehen kann. Setzte ich eine Powercopy manuell mit Linien, Punkt, Join und Inverse Elementen ein, funktioniert das wunderbar. Wenn ich das ganze über ein Makro starte hab ich das Fenster leider nicht und ich muss die Hauptentformungsrichtung, Befestigungsrichtung..etc. über Linienrichtungen steuern, also ein Join oder Invers erstellen, in denen ich die Richtung einstellen kann.   
Leider läuft das Makro bei der Erstellung der Powercopy dann auf einen Fehler, da, so meine Vermutung, die Powercopy bei der Instanzierung nicht die Elemente an die Powercopy übergibt. Das Makro bricht ab.
Die zu übergebenden Objects wurden vorher über eine User- Selection zugeordnet.
Hat jemand eine Idee, wie ich dem Makro die Richtung angeben kann?

Vielen Dank im Vorraus!

Gruß Patrick

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 05. Nov. 2009 17:55    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 Pateri 10 Unities + Antwort hilfreich

Hallo Patrick,

um Powercopies über Makros einfügen zu können brauchst du ein KT1 oder PKT Lizenz.
Dann kannst du auf einen Objekt Namens InstanceFactory zugreifen, mit denen die notwendige Referenzen übergeben werden können.
Ohne den Lizenz kenne ich kein Weg.

Gruß,
Zoltan

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

hbert
Mitglied


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

Beiträge: 2
Registriert: 06.11.2009

erstellt am: 06. Nov. 2009 10: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 Pateri 10 Unities + Antwort hilfreich

Hallo Community,

ich vertrete eben mal den Patrick. Also das mit der KT1 Lizenz ist bekannt und die wird auch benutzt. Das Problem liegt an der Ausrichtung der Elemente (Linien und Flächen), die wir über JOIN oder INVERSE Elemente bewerkstelligen. Setze ich die Powercopy manuell ein, werden diese Elemente auch übernommen. Setze ich die Powercopy per Makro ein kann ich die Elemente selektieren, sie werden bei der Instanzierung aber offensichtlich nicht an die Powercopy übergeben. Hier kurz ein Auszug aus dem Code:

Variablendeclaration:

Public opt as AnyObject


Selection:
    If FixType = "DHs" Or FixType = "DHd" Then
        What4(0) = "Line"
        What4(1) = "Plane"
        What4(2) = "Sketch"
        What4(3) = "HybridShapeInverse"
        What4(4) = "HybridShapeAssemble"

        Set UserSel4 = CATIA.ActiveDocument.Selection
        UserSel4.Clear
        If ShortCut = False Then    'Optionalen Text einschalten wenn ohne ShortCut
            MsgBox ("Entformungsrichtung des Schiebers auswählen [als Linie, Ebene, Sketch, Invers oder Join]"), vbOKOnly
        End If
        US4 = UserSel4.SelectElement2(What4, "Entformungsrichtung des Schiebers auswählen [als Linie, Sketch, Plane, Join, Inverse]", False)

        If US4 = "Normal" Then
            Set opt = UserSel4.Item(1).Value
        Else
            MsgBox ("Bitte Linie, Ebene, Sketch, Invers oder Join auswählen!"), vbCritical
        End If
        UserSel4.Clear
    End If

Instanzierung:

Dim factory As InstanceFactory
    Set factory = PartDest.GetCustomerFactory("InstanceFactory")
    factory.EndInstanceFactory      'nur zur Sicherheit...
    MsgBox ("Diese Powercopy wird eingesetzt: " & Path & PCreq & ".CATPart")
    factory.EndInstanceFactory      'nur zur Sicherheit
    factory.BeginInstanceFactory "PowerCopy.1", Path & PCreq & ".CATPart"
    factory.BeginInstantiate
    factory.PutInputData "OPT", opt                                        ‘### Linie

    Dim Instance
    Set Instance = factory.Instantiate
    factory.EndInstantiate
    factory.EndInstanceFactory

Nimmt man eine normale Linie oder ein dummes Element funktioniert das Makro einwandfrei.

Wäre nett, wenn jemand weiter helfen könnte

Gruß
Harald

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 08. Nov. 2009 11:40    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 Pateri 10 Unities + Antwort hilfreich

Du kannst doch auch die PowerCopy intelligenter machen, um die Richtung eindeutig festzulegen:
z.B. Points auf Line erzeugen (in beide Richtungen, einen Längenparameter mit Formelbezug zwischen den jeweiligen Punkten und einem deiner Elemente der PowerCopy erzeugen und anhand der gemessenen Längen entscheiden lassen, welche Lösung dann die Richtige ist (in einer Rule mit Fallunterscheidungen, dann einer Datumfläche die Inverse oder die Join zuweisen).
Ich löse das so weit es geht "geometrisch" mit Fallunterscheidungen im Part, nicht extern über Makros. Wenn dein Teil sich danach ändert (Flächen ausgetauscht werden etc.) wüsste ja deine Geometrie nicht, ob Inverse oder Join wenn keine Fallunterscheidung da ist und der User muss beim Replace peinlich genau die Pfeilrichtungen beachten und ggf. drehen. Mit der eingebauten Routine im Part ist es dann egal, was der User an Pfeilrichtungen wählt.

Oder du baust diese Messungen durch Erzeugen neuer Parameter und Formelbezüge in dein Makro, lässt anhand der Parameter dann eine Fallunterscheidung zu ob Join oder Inverse. Dieses Programmieren von Parametern und Formelbezügen ist machbar, aber relativ komplex.

------------------
Grüße aus dem Rheinland

Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

"Phase 2 in CATIA V5"  - www.tobeplus.de

    tberger@tobeplus.de

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

hbert
Mitglied


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

Beiträge: 2
Registriert: 06.11.2009

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

Wenn es keine andere Lösung gibt, werden wir die Powercopies wohl noch mal überarbeiten.

Danke fürs Antworten.

Gruß
Harad

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