HAllo
Habe da so eine tolle Herausforderung :-)
Ich versuche gerade ein Makro zusamen zu basteln.
Und zwar möchte ich meine Werte die ich in einer Tabelle konstruiert habe ins CATIA einlesen und diese Werte entsprechen Zb den Werten von einer Offsetplane oder einem Winkel oder einem Punktabstand auf einer Linie.
Die Werte die eingelesen werden sind fest.
Auch die Frage ist der Zuweisung der der eigenschaft(deg, mm, kg oder so)
Dies ist zwar so ähnlich wie eine Konstruktionstabelle jedoch werden erst meine Elemente durch das Makro erst erzeugt.
Hier mein Text
(nicht erschrecken, ein wenig Chaotisch!)
' Publications-------------------------------------------------------------------
Public CancelVar1
'Grunddeklarationen--------------------------------------------------------------
Dim documents1 As Documents
Dim partDocument1 As PartDocument
Dim part1 As Part
Dim HybridBodies1 As HybridBodies
Dim hybridShapeFactory1 As HybridShapeFactory
Dim Hybridbodies2 As HybridBodies
'Referenzen
Dim ref1, ref2, ref3 As Reference
'---Originalebenen deklarieren---
Dim PlaneYZ, PlaneZX, PlaneXY As HybridShapePlaneExplicit
'---Parameter Deklaration---
Dim parameters As parameters
Dim AbstandX, AbstandY, AbstandZ, Scharnierabstand As Length
Dim NeigungX, NeigungY, Oeffnungswinkel As Integer
Sub CATMain()
CancelVar1 = False
'---------------------------------------------------------------------------------
'Untersuchung starten--------------------------------------------------------
Dim Msg, Style, Title, Response, MyString
Msg = "Untersuchung starten ?" ' Define message.
Style = vbYesNo ' Define buttons.
Title = "MsgBox" ' Define title.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
MyString = "Yes" ' Bei Ja wird ein neues Fenster eingeblendet
'--------------------------------------------------------------------------------
'Grunddeklaration----------------------------------------------------------------
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item("ADAPTER.CATPart")
Set part1 = partDocument1.Part
Set HybridBodies1 = part1.HybridBodies
'---GeoSet erzeugen---
Dim Design As HybridBody
Set Design = HybridBodies1.Add()
Design.Name = "Design"
Set parameters = part1.parameters
'--------------------------------------------------------------------------------
'Öffnen der Tabelle und verändern dieser---------------------------------------
Dim MyXL As Object
Set MyXL = CreateObject("Excel.Application")
Set MyXL = GetObject("K:\G_Projekte\Projekte_Team_Rohbau\Tueren BY624\Designtabelle-Fuge.xls")
MyXL.Application.Visible = True
MyXL.Parent.Windows(1).Visible = True
'Achtung hier sollte die Zuweisung sein!------------
AbstandX = Zelle
AbstandY = Zelle
AbstandZ = Zelle
'Ebenen Erzeugen
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim originElements1 As OriginElements
Set originElements1 = part1.OriginElements
Set PlaneYZ = originElements1.PlaneYZ
Set ref1 = part1.CreateReferenceFromObject(PlaneYZ)
Dim Ebene_in_X As HybridShapePlaneOffset
Set Ebene_in_X = hybridShapeFactory1.AddNewPlaneOffset(ref1, AbstandX, False)
Design.AppendHybridShape Ebene_in_X
part1.InWorkObject = Ebene_in_X
part1.Update
Set PlaneZX = originElements1.PlaneZX
Set ref2 = part1.CreateReferenceFromObject(PlaneZX)
Dim Ebene_in_Y As HybridShapePlaneOffset
Set Ebene_in_Y = hybridShapeFactory1.AddNewPlaneOffset(ref2, AbstandY, False)
Design_Work.AppendHybridShape Ebene_in_Y
part1.InWorkObject = Ebene_in_Y
part1.Update
Set PlaneXY = originElements1.PlaneXY
Set ref3 = part1.CreateReferenceFromObject(PlaneXY)
Dim Ebene_in_Z As HybridShapePlaneOffset
Set Ebene_in_Z = hybridShapeFactory1.AddNewPlaneOffset(ref3, AbstandZ, False)
Design.AppendHybridShape Ebene_in_Z
part1.InWorkObject = Ebene_in_Z
part1.Update
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP