Hi Curtis,
Thanks for the prompt reply. Added as your advised and it has eliminated the sketch showing up with errors. Below is my code. Most of the code has been modified from your code in various post. Many more thanks for that as well.
' Set a reference to the part component definition.
' This assumes that a part document is active.
Dim oCompDef As PartComponentDefinition
oCompDef = ThisApplication.ActiveDocument.ComponentDefinition
''Set a reference To the transient geometry Object.
Dim oTransGeom As TransientGeometry
oTransGeom = ThisApplication.TransientGeometry
'' Create face With the origin defined By
'' the center Point. (The first WorkPoint In the Collection Is the center
'' Point work Point.) In this Case, no Sketch Geometry will be created
'' since the final argument has been Left Out And it defaults To False.
oFace = oCompDef.SurfaceBodies.Item(1).Faces.Item(3)
oEdge = oFace.Edges.Item(1)
oSketch = oCompDef.Sketches.AddWithOrientation(oFace, oEdge, True,True, oCompDef.WorkPoints.Item(1))
Try
oTest = oCompDef.Sketches.Item("EndDetailsFeaureLeft")
'found sketch so exit rule
Return
Catch
End Try
Dim oXAxis2 As SketchEntity
oXAxis2 = oSketch.AddByProjectingEntity(oCompDef.WorkAxes.Item(3))
Dim oXAxis3 As SketchEntity
oXAxis3 = oSketch.AddByProjectingEntity(oCompDef.WorkPlanes.Item(4))
' Draw a circle on the sketch.
Dim oCircle1 As SketchCircle
oCircle = oSketch.SketchCircles.AddByCenterRadius(oTransGeom.CreatePoint2d(15.1, ((LD+40)/10)), 1)
Dim oCircle2 As SketchCircle
oCircle = oSketch.SketchCircles.AddByCenterRadius(oTransGeom.CreatePoint2d(15.1, ((LD+160)/10)), 1)
'Add hole dia hole 1
Dim oDimension1 As DimensionConstraint = oSketch.DimensionConstraints.AddDiameter(oSketch.SketchCircles.Item(1), oTransGeom.CreatePoint2d(0, -1))
'Add hole dia hole 2
Dim oDimension2 As DimensionConstraint = oSketch.DimensionConstraints.AddDiameter(oSketch.SketchCircles.Item(2), oTransGeom.CreatePoint2d(0, 6.5))
'Add Dimesnion between Projected line X asix and first circle
Dim oDimension3 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(1), oSketch.SketchPoints(1), ThisApplication.TransientGeometry.CreatePoint2d(3, 2), False)
'Add Dimesnion between Projected line X asix & second circle
Dim oDimension4 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(1), oSketch.SketchPoints(2), ThisApplication.TransientGeometry.CreatePoint2d(2, 2), False)
'Add Dimesnion between Projected line Z asix and first circle
Dim oDimension5 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(2), oSketch.SketchPoints(1), ThisApplication.TransientGeometry.CreatePoint2d(7.25, -2), False)
'Add Dimesnion between Projected line Z asix & second circle
Dim oDimension6 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(2),oSketch.SketchPoints(2),ThisApplication.TransientGeometry.CreatePoint2d(7.25, -4), False)
' Draw a circle on the sketch.
Dim oCircle3 As SketchCircle
oCircle = oSketch.SketchCircles.AddByCenterRadius(oTransGeom.CreatePoint2d(-15.1, ((LD+40)/10)), 1)
Dim oCircle4 As SketchCircle
oCircle = oSketch.SketchCircles.AddByCenterRadius(oTransGeom.CreatePoint2d(-15.1, ((LD+160)/10)), 1)
'Add hole dia hole 3
Dim oDimension7 As DimensionConstraint = oSketch.DimensionConstraints.AddDiameter(oSketch.SketchCircles.Item(3), oTransGeom.CreatePoint2d(0, -1))
'Add hole dia hole 4
Dim oDimension8 As DimensionConstraint = oSketch.DimensionConstraints.AddDiameter(oSketch.SketchCircles.Item(4), oTransGeom.CreatePoint2d(0, 6.5))
'Add Dimesnion between Projected line X asix and third circle
Dim oDimension9 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(1), oSketch.SketchPoints(3), ThisApplication.TransientGeometry.CreatePoint2d(-3, 2), False)
'Add Dimesnion between Projected line X asix & second circle
Dim oDimension10 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(1), oSketch.SketchPoints(4), ThisApplication.TransientGeometry.CreatePoint2d(-2, 2), False)
'Add Dimesnion between Projected line Z asix and first circle
Dim oDimension11 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(2), oSketch.SketchPoints(3), ThisApplication.TransientGeometry.CreatePoint2d(-7.25, -2), False)
'Add Dimesnion between Projected line Z asix & second circle
Dim oDimension12 As DimensionConstraint = oSketch.DimensionConstraints.AddOffset(oSketch.SketchLines(2),oSketch.SketchPoints(4),ThisApplication.TransientGeometry.CreatePoint2d(-7.25, -4), False)
'Change the name.
oSketch.Name = "EndDetailsFeaureLeft"
' Create a profile based on the circle
Dim oProfile As Profile
oProfile = oSketch.Profiles.AddForSolid
Dim oExtrudeDef As ExtrudeDefinition
oExtrudeDef = oCompDef.Features.ExtrudeFeatures.CreateExtrudeDefinition(oProfile, kCutOperation)
''Call oExtrudeDef.SetDistanceExtent(1, kNegativeExtentDirection)
'Call oExtrudeDef.SetThroughAllExtent(ksymmetricExtentDirection)
Call oExtrudeDef.SetDistanceExtent(2,kNegativeExtentDirection)
Dim oExtrude As ExtrudeFeature
oExtrude = oCompDef.Features.ExtrudeFeatures.Add(oExtrudeDef)
' Change the name.
oExtrude.Name = "EndDetailHolesLeft"
I have added a snapshot showing added sketch.
Best regards,
Sam