I have recorded a macro for a positioned sketch. but it seems that it didn’t work as expected.
could you help please ?
- if the recorded macro is completely wrong, no issue you can suggest any other macro. it was just to give you an example .
thank you all
Sub CATMain()
Dim partDocument1 As partDocument
Set partDocument1 = CATIA.activeDocument
Dim part1 As part
Set part1 = partDocument1.part
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As hybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
Dim sketches1 As sketches
Set sketches1 = hybridBody1.HybridSketches
Dim sketch1 As sketch
Set sketch1 = sketches1.Item("Sketch.1")
part1.InWorkObject = sketch1
Dim factory2D1 As factory2D
Set factory2D1 = sketch1.OpenEdition()
Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements
Dim axis2D1 As Axis2D
Set axis2D1 = geometricElements1.Item("AbsoluteAxis")
Dim line2D1 As Line2D
Set line2D1 = axis2D1.GetItem("HDirection")
line2D1.ReportName = 1
Dim line2D2 As Line2D
Set line2D2 = axis2D1.GetItem("VDirection")
line2D2.ReportName = 2
Dim point2D1 As Point2D
Set point2D1 = factory2D1.CreatePoint(25#, 43.30127)
point2D1.ReportName = 3
Dim line2D3 As Line2D
Set line2D3 = factory2D1.CreateLine(0#, 0#, 25#, 43.30127)
line2D3.ReportName = 4
Dim point2D2 As Point2D
Set point2D2 = axis2D1.GetItem("Origin")
line2D3.StartPoint = point2D2
line2D3.EndPoint = point2D1
Dim constraints1 As Constraints
Set constraints1 = sketch1.Constraints
Dim reference1 As reference
Set reference1 = part1.CreateReferenceFromObject(line2D3)
Dim constraint1 As Constraint
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeLength, reference1)
constraint1.Mode = catCstModeDrivingDimension
Dim length1 As Length
Set length1 = constraint1.Dimension
length1.value = 50#
Dim reference2 As reference
Set reference2 = part1.CreateReferenceFromObject(line2D3)
Dim reference3 As reference
Set reference3 = part1.CreateReferenceFromObject(line2D2)
Dim constraint2 As Constraint
Set constraint2 = constraints1.AddBiEltCst(catCstTypeAngle, reference2, reference3)
constraint2.Mode = catCstModeDrivingDimension
constraint2.AngleSector = catCstAngleSector0
Dim angle1 As Angle
Set angle1 = constraint2.Dimension
angle1.value = 30#
sketch1.CloseEdition
part1.InWorkObject = hybridBody1
part1.UpdateObject sketch1
part1.Update
End Sub
2