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