Hallo, ich habe ein Makro, mit dem ich vorher in CATIA ausgewählte Punkte als Kreismittelpunkte definiere und um jeden Punkt einen Kreis ziehen kann:
Sub CATMain()
Set meinPartDocument = CATIA.ActiveDocument
Set meinPart = meinPartDocument.Part
Set meineHybridBodies = meinPart.HybridBodies.Add()
meineHybridBodies.Name = "Kreise"
Set meineAuswahl = CATIA.ActiveDocument.Selection
Durchmesser = 20
Durchmesser = InputBox ("Bitte den Durchmesser der Kreise eingeben", "Durchmesser")
AnzahlDerPunkte = meineAuswahl.Count
For i = 1 To AnzahlDerPunkte
Set Punkt = meineAuswahl.Item(i).Value
Set originElements1 = meinpart.OriginElements
Set Ebene = originElements1.PlaneXY
Set EbenenReferenz = meinpart.CreateReferenceFromObject(Ebene)
Set meinehybridShapeFactory = meinPart.HybridShapeFactory
Set meinKreis =meinehybridShapeFactory.AddNewCircleCtrRadWithAngles(Punkt, EbenenReferenz, False, Durchmesser, 0, 360)
meinehybridBodies.AppendHybridShape meinKreis
meinpart.InWorkObject = meinKreis
Next
meinPart.Update
End Sub
das funktioniert auch soweit.
Jetzt möchte ich wiederum bestimmte Kreise auswählen und dann wieder ein Makro starten, was mir nun Zylinder generiert. Die Kreise sind sozusagen die Skizze der Zylinder
Ich habe das gleiche Makro als Grundlage genommen, aber irgendwie läuft es noch nicht:
Sub CATMain()
Set meinPartDocument = CATIA.ActiveDocument
Set meinPart = meinPartDocument.Part
Set meineAuswahl = CATIA.ActiveDocument.Selection
Hoehe = 20
Hoehe = InputBox ("Bitte die Hoehe der Zylinder eingeben", "Hoehe")
AnzahlDerKreise = meineAuswahl.Count
Set meineShapeFactory = meinPart.ShapeFactory
For i = 1 To AnzahlDerKreise
Set Kreis = meineAuswahl.Item(i).Value
Set originElements1 = meinpart.OriginElements
Set Ebene = originElements1.PlaneXY
Set EbenenReferenz = meinpart.CreateReferenceFromObject(Ebene)
Set meinZylinder = meineShapeFactory.AddNewPadFromRef(Kreis, Hoehe)
meinehybridBodies.AppendShape meinZylinder
meinPart.InWorkObject = meinZylinder
Next
meinPart.Update
End Sub
Hat jemand eine Idee, woran es liegen könnte? Vielen Dank schonmal!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP