Guten Tag Gemeinde,
ich habe mal wieder einen Auftrag bekommen, ein tolles Makro zu schreiben.
Glücklicherweise habe ich schon ein Grundgerüst gefunden.
Code:
Sub CATMain()Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
'Set of Relations suchen-------------------------------------------------------------------------------
Dim Liste1 As Selection
Set Liste1 = CATIA.ActiveDocument.Selection
Liste1.Clear
Liste1.Search "CATKnowledgeSearch.AdvisorRelationSet.NameInGraph=Relations;all"
'Gefundene 'Set of Relations selektieren und entfernen------------------------------------------
Liste1.Delete
'Parameters suchen-------------------------------------------------------------------------------
Dim Liste2 As Selection
Set Liste2 = CATIA.ActiveDocument.Selection
Liste2.Clear
Liste2.Search "(CATKnowledgeSearch.AdvisorParameterSet.NameInGraph!=Parameters & CATKnowledgeSearch.AdvisorParameterSet.NameInGraph!=Stueckliste),all"
'Gefundene Parameters selektieren und entfernen------------------------------------------
Liste2.Delete
On error Resume next
End Sub
Erstellt von J.Streit, vielen Dank.
Leider verstehe ich das Makro nicht komplett, daher brauche ich euere Hilfe.Zu meinem Problem: Das Makro läuft in Parts als auch Products aber löscht komischerweise nur die externen Parameter und die Realations nicht aber die Parameter der Parts/Products.
Weiterhin wird alles gelöscht, ich müsste aber im Makro angeben, was gelöscht werden soll und das mit dem Lokal Name des Parameters nicht mit dem Name.
Ich hoffe ihr könnt mein Vorhaben nachvollziehen und mir helfen.
Mit freundlichem Gruß
Tim
Edit:
Vlt. ist es einfacher dieses Makro zu verändern, es funktioniert nur im Part und man muss den Name, nicht Lokal Namen angeben und ein Parameter zu löschen.
Code:
Sub CATMain()
Set oDoc = CATIA.ActiveDocument
Set partDoc = oDoc.Part
Set oSel = oDoc.Selection
Set oPara = partDoc.Parameters
oSel.Clear
Dim i As Integer
For i = 1 To oPara.Count
Set aktiPara = oPara.Item(i)
If aktiPara.Name = "Part1\A" Then 'or aktiPara.Name = "xxx" ... usw. (das or muss natürlich vor dem THEN stehen)
oSel.Add aktiPara
oSel.Delete
End If
Next
oSel.Clear
End Sub
von: denyo_1, ebenfalls vielen Dank.
------------------
Vielen Dank für Ihr Interesse!
Hab mir selber was zusammenklamüsert und klappt soweit ganz gut.
Für alle die interesse haben:
Code:
Sub CATMain()Dim Selektion
set selection1 = CATIA.ActiveDocument.Selection
set Selektion = selection1
Selektion.Clear
set Document1 = CATIA.ActiveDocument.Product
DIM Name
'BEI MEHREREN PARAMETERN UNTEREN ABSCHNITT BIS ___ KOPIEREN
'Name des zu loeschenden Parameters/External Parameters/Publications:
Name = "C"
On Error Resume Next
For i = 0 To 6
set Bauteil = CATIA.ActiveDocument.Product
set TextParameter = Bauteil.Parameters.Item(Name)
Selektion.Add TextParameter
Selektion.Delete
PubName = Name
Document1.Publications.Remove PubName ' Publication über den Name löschen
Next
'_____________________________________
End Sub
[Diese Nachricht wurde von PukyRider am 14. Aug. 2013 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP