Danke...aber von einer Zeichnung möchte ich nicht auf ein Part zugreifen. Das Makro wird nur im Part benutzt und soll fest definierte User Properties, Formeln und Bez. erstellen....
Ich habe aber ein kleines Problem mit den Umlauten.... Ich habe jetzt eingebaut, dass das Umbenennen von hauptkörper berücksichtigt wird, aber sobald der Hauptkörper mal Hauptkörper heißt dann funzt die Volumen formel nicht wegen dem ö.... jemand ne Lösung?
Language="VBSCRIPT"
Sub CATMain()
Dim arrayOfVariantOfDouble1(2)
Dim Bodyname as String
Dim formel as string
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set product1 = partDocument1.GetItem("Part1")
Bodyname = CATIA.ActiveDocument.Part.MainBody.Name
product1.PartNumber = "Part1"
Set relations1 = part1.Relations
Set relations2 = part1.Relations
Set relations3 = part1.Relations
Set relations4 = part1.Relations
Set relations5 = part1.Relations
Set relations6 = part1.Relations
Set parameters1 = product1.UserRefProperties
Set parameters2 = product1.UserRefProperties
Set parameters3 = product1.UserRefProperties
Set parameters4 = product1.UserRefProperties
Set parameters5 = product1.UserRefProperties
Set parameters6 = product1.UserRefProperties
Set parameters7 = product1.UserRefProperties
Set parameters8 = product1.UserRefProperties
Set parameters9 = product1.UserRefProperties
Set parameters10 = product1.UserRefProperties
Set parameters11 = product1.UserRefProperties
Set parameters12 = product1.UserRefProperties
Set parameters13 = product1.UserRefProperties
Set parameters14 = product1.UserRefProperties
Set parameters15 = product1.UserRefProperties
Set parameters16 = product1.UserRefProperties
Set parameters17 = product1.UserRefProperties
Set parameters18 = product1.UserRefProperties
Set parameters19 = product1.UserRefProperties
Set parameters20 = product1.UserRefProperties
Set parameters21 = product1.UserRefProperties
Set parameters22 = part1.Parameters
Set parameters23 = part1.Parameters
Set parameters24 = part1.Parameters
Set parameters25 = part1.Parameters
Set parameters26 = part1.Parameters
Set parameters27 = part1.Parameters
Set parameters28 = part1.Parameters
Set parameters29 = part1.Parameters
Set strParam1 = parameters1.CreateString("ZeichnungsNr", "")
Set strParam2 = parameters2.CreateString("Projekt", "")
Set strParam3 = parameters3.CreateString("Benennung", "")
Set strParam4 = parameters4.CreateString("Werkstoff", "")
Set dimension1 = parameters5.CreateDimension("Gewicht", "MASS", 0.000000)
Set strParam5 = parameters6.CreateString("Kennziffer", "")
Set strParam6 = parameters7.CreateString("Bemerkung", "")
Set strParam7 = parameters8.CreateString("Kunde", "")
Set strParam8 = parameters9.CreateString("kdProdukt", "")
Set strParam9 = parameters10.CreateString("KdRzeichnung", "")
Set strParam10 = parameters11.CreateString("KdRindex", "")
Set strParam11 = parameters12.CreateString("KdFzeichnung", "")
Set strParam12 = parameters13.CreateString("KdFindex", "")
Set strParam13 = parameters14.CreateString("MaschinenGruppe", "")
Set strParam14 = parameters15.CreateString("Modell_erstellt_von", "")
Set strParam15 = parameters16.CreateString("Modell_erstellt_am", "")
Set strParam16 = parameters17.CreateString("Modell_Änderung_von", "")
Set strParam17 = parameters18.CreateString("Modell_Änderung_am", "")
Set strParam18 = parameters19.CreateString("Index", "")
Set strParam19 = parameters20.CreateString("ErsatzFuer", "")
Set strParam20 = parameters21.CreateString("ErsatzDurch", "")
Set strParam21 = parameters25.CreateString("", "")
Set dimension2 = parameters22.CreateDimension("", "MASS", 0.000000)
Set dimension3 = parameters23.CreateDimension("", "VOLUME", 0.000000)
Set dimension4 = parameters24.CreateDimension("", "DENSITY", 0.000000)
Set dimension5 = parameters26.Item("Part1\Eigenschaften\Gewicht")
Set parameter1 = parameters27.Item("Part1\Teilenummer")
Set parameter2 = parameters28.Item("Part1\Überarbeitung ")
Set parameter3 = parameters29.Item("Part1\Eigenschaften\Index")
strParam1.ValuateFromString ""
strParam2.ValuateFromString ""
strParam3.ValuateFromString ""
strParam4.ValuateFromString ""
strParam5.ValuateFromString ""
strParam6.ValuateFromString ""
strParam7.ValuateFromString ""
strParam8.ValuateFromString ""
strParam9.ValuateFromString ""
strParam10.ValuateFromString ""
strParam11.ValuateFromString ""
strParam12.ValuateFromString ""
strParam13.ValuateFromString ""
strParam14.ValuateFromString ""
strParam15.ValuateFromString ""
strParam16.ValuateFromString ""
strParam17.ValuateFromString ""
strParam18.ValuateFromString ""
strParam19.ValuateFromString ""
strParam20.ValuateFromString ""
dimension1.ValuateFromString " "
dimension2.Rename "Gewicht"
dimension3.Rename "Volumen"
dimension4.Rename "Dichte"
strParam21.Rename "Index"
Set formula1 = relations1.CreateFormula("Formel.1", "", dimension3, "smartVolume(" & Bodyname & " )")
Set formula2 = relations2.CreateFormula("Formel.2", "", dimension2, "Volumen * Dichte ")
Set formula3 = relations3.CreateFormula("Formel.3", "", dimension5, "Gewicht ")
Set formula4 = relations4.CreateFormula("Formel.4", "", parameter1, "Part1\Eigenschaften\ZeichnungsNr + " & """" & "-" & """" & " + Part1\Eigenschaften\Index + " & """" & " " & """" & " + Part1\Eigenschaften\Projekt + " & """" & " " & """" & " + Part1\Eigenschaften\Benennung ")
Set formula5 = relations5.CreateFormula("Formel.5", "", parameter2, "Part1\Eigenschaften\Modell_Änderung_von` + " & """" & " am " & """" & " + `Part1\Eigenschaften\Modell_Änderung_am` ")
Set formula6 = relations6.CreateFormula("Formel.6", "", parameter3, "Index ")
formula1.Rename "Formel.1"
formula2.Rename "Formel.2"
formula3.Rename "Formel.3"
formula4.Rename "Formel.4"
formula5.Rename "Formel.5"
formula6.Rename "Formel.6"
arrayOfVariantOfDouble1(0) = 7850.000000
arrayOfVariantOfDouble1(1) = 7519.000000
arrayOfVariantOfDouble1(2) = 2700.000000
dimension4.SetEnumerateValues arrayOfVariantOfDouble1
dimension4.Value = 7850.000000
part1.Update
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP