کسی تو زمینه ی ماکرو فایلی داره....برای پروژم مجبورم با ویژوال برنامه ای بنویسم و از کاربر یه سری پارامتر بگیرم و قطعه تو کتیا با اون پارامترها ترسیم بشه....مثلا طول و عرض و ارتفاع مکعب رو از کاربر بگیره و اون رو با انتقال به کتیا ترسیم کنه....به ویژوال بیسیک مسلطم اما نمیدونم برای ارتباط بین دو نرم افزار چی کار کنم؟لطفا اگه کسی فایلی تو این زمینه داره بذاره....
داخل کتیا کلید Alt-F11 را اجرا کنید. visual basic اجرا می شود. می توانید از تمام دستورات VBA استفاده کنید. دستورات کتیا را می توانید در بخش HELP کتیا و زیر مجموعه Automation پیدا کنید:
Sub CATMain()
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As Document
Set partDocument1 = documents1.Add("Part")
Dim part1 As Part
Set part1 = partDocument1.Part
Dim bodies1 As Bodies
Set bodies1 = part1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("PartBody")
Dim sketches1 As Sketches
Set sketches1 = body1.Sketches
Dim originElements1 As OriginElements
Set originElements1 = part1.OriginElements
Dim reference1 As AnyObject
Set reference1 = originElements1.PlaneXY
Dim sketch1 As Sketch
Set sketch1 = sketches1.Add(reference1)
Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()
Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements
Dim axis2D1 As GeometricElement
Set axis2D1 = geometricElements1.Item("AbsoluteAxis")
Dim line2D1 As AnyObject
Set line2D1 = axis2D1.GetItem("HDirection")
line2D1.ReportName = 1
Dim line2D2 As AnyObject
Set line2D2 = axis2D1.GetItem("VDirection")
line2D2.ReportName = 2
LLength = InputBox("Enter Box Length", "Box Length")
BWidth = InputBox("Enter Box Width", "Box Width")
BHeight = InputBox("Enter Box Height", "Box Height")
Dim line2D4 As Line2D
Set line2D4 = factory2D1.CreateLine(0, 0, LLength, 0)
Set line2D4 = factory2D1.CreateLine(LLength, 0, LLength, BWidth)
Set line2D4 = factory2D1.CreateLine(LLength, BWidth, 0, BWidth)
Set line2D4 = factory2D1.CreateLine(0, BWidth, 0, 0)
sketch1.CloseEdition
part1.Update
Dim shapeFactory1 As Factory
Set shapeFactory1 = part1.ShapeFactory
Dim pad1 As Pad
Set pad1 = shapeFactory1.AddNewPad(sketch1, BHeight)
part1.Update
End Sub