Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Body aus Instanz kopieren

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:  Body aus Instanz kopieren (590 mal gelesen)
Erich
Mitglied
Senior Consultant selbstständig


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

Beiträge: 198
Registriert: 03.10.2000

i7-9850H
RAM 32,0 GB
Nvidia Quadro T2000
Windows 7 Professional 64Bit

erstellt am: 24. Jan. 2014 08: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
folgende Frage zu diesem Script vom 27.8.09. Hierzu möchte ich die zuletzt übrig gebliebene Frage nochmal stellen -
Wie kopiere ich Bodies aus Instanzen in ein weiteres Part? Genau dies fehlt noch in diesem Script.
Freue mich über jeden Tip. Danke.

Language="VBSCRIPT"
Sub CATMain()

'#################################----ABFRAGE USER---######################################

Dim Eingabe As String
Dim EingabePlus as String
Eingabe = "GEOEFFNETE_STELLUNG"                    '---Default value
'
EingabeUser = InputBox("Benennung", "Geöffnete Stellung", Eingabe)
If EingabeUser= "" Then Exit Sub

EingabePlus = EingabeUser & ".CATPart" '---Bei Paste-Function benötigt Benennung Part+ Dateiendung

Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Dim products1 As Products
Set products1 = product1.Products

Dim newPart As Document
Set newPart = products1.AddNewComponent("Part", EingabeUser) '----Part für geöffnete Stellung erstellen

'##########################----Selection der Bodies----###########################################

Dim selection1 As Selection
Set selection1 = productDocument1.Selection
selection1.Clear

'----FILTERfestlegen ==> Muss bezeichnung aus Catia sein z.B. Pad, Hole, etc.-----------------------------------------------

Dim Was(0)
Was(0) = "Body"

'-----Selektion definieren und leeren ---------------------------------

  Dim UserSel As Selection
  Set UserSel= CATIA.activeDocument.Selection


Do  '-----Schleife laüft solange bis User alle Teile gewählt hat

    UserSel.Clear

    '-----Selektion vornehmen lassen --------------------------------------

    Dim Auswahl as Objekt
    Auswahl = UserSel.SelectElement3(Was, "Selektieren Sie die Parts", False, CATMultiSelTriggWhenUserValidatesSelection , true)

    '------------------------Schleife Speicher füllen---------------------------------------------------------
        t=0
        Do while( t < UserSel.count2)

            X =UserSel.Item(1).value.name '----Name des Body
            z = UserSel.Item(1).Leafproduct.name '----Instanzname wird ausgegeben
            PathReferenz =  z & "/!" & X

            Dim documents1 As Documents
            Set documents1 = CATIA.Documents

            Dim Ref as Reference
            Set Ref = product1.CreateReferenceFromName( PathReferenz)

            selection1.Add Ref '----der jeweilige Referenzody wird zur selection hinzugefügt

            t=t+1
        loop

    selection1.Copy '----die Selektion1 wird in den Speicher geladen

    '-----Ablage des Speicherinhaltes----------------------

    Dim partDocument2 As Document
    Set partDocument2 = documents1.Item(EingabePlus) '----das neue Part für die offene Stellung wird angesprochen

    partDocument2.Activate

    Dim part2 As Part
    Set part2 = partDocument2.Part  '----die Eigenschaften der Klasse Part werden zugewiesen

    selection1.Add  part2 '----Ablageort für den Inhalt des Speichers wird hinzugefügt
    selection1.PasteSpecial "CATPrtResult" '----Speicher wird mit als Result with
   
    part2.Update
   
    Dim Box_Sel as Long
    Box_Sel=msgbox("Haben Sie alle Teile für die geöffnete Stellung selektiert?", 4, "Auswahl fertig ?") '---- wenn User Ja drückt wird die Schleife beendet

Loop Until (Box_Sel=6)

End Sub

------------------
mfg
Erich

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