0

I'm fairly new to Macros in CATIA v5. I'm having trouble Isolating a sketch in CATIA using Macros. Similarly with changing the sketch support. Is there a quick way that I can do both of them?

Thanks

This is my code

Sub CATMain()

Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

'-----------------------------Extraction and sketch operation--------------------

Dim sel As Selection
Set sel = partDocument1.Selection

sel.clear

sel.search("..Name='Step.3',All")

Dim extract1 As HybridShapeExtract
Set extract1 = sel.item(1).value

part1.UpdateObject extract1 

sel.clear

sel.search("..Name='Step.4',All")

Dim plane1 as AnyObject
Set plane1 = sel.item(1).value

part1.UpdateObject plane1

sel.clear

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim origin As HybridShapePointOnCurve
Set origin = hybridShapeFactory1.AddNewPointOnCurveFromPercent(extract1, 0, False)

origin.Name = "Point.origin"

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Add()

hybridBody1.Name = "Point"

hybridBody1.AppendHybridShape origin 

part1.Updateobject origin


Dim endpt As HybridShapePointOnCurve
Set endpt = hybridShapeFactory1.AddNewPointOnCurveFromPercent(extract1, 1, False)

endpt.Name = "Point.end"

hybridBody1.AppendHybridShape endpt

part1.Updateobject endpt


Dim hax As HybridShapeLinePtPt
Dim Ref1,Ref2 As AnyObject
'Set Ref1 = part1.CreateReferenceFromObject(origin)
'Set Ref2 = part1.CreateReferenceFromObject(endpt)
Set hax = hybridShapeFactory1.AddNewLinePtPt(origin,endpt)

hax.Name = "haxis direction"

hybridBody1.AppendHybridShape hax

part1.Updateobject hax

Dim haxis(2)
hax.GetDirection haxis

sel.Search("..Name='Step.5',All")

Dim sketch1 As Sketch
Set sketch1 = sel.item(1).value

Dim Coord(2)
origin.GetCoordinates Coord

Dim absdata(8)
sketch1.GetAbsoluteAxisData absdata

absdata(0) = Coord(0)
absdata(1) = Coord(1)
absdata(2) = Coord(2)
absdata(3) = haxis(0)
absdata(4) = haxis(1)
absdata(5) = haxis(2)


sketch1.SetAbsoluteAxisData(absdata)

sel.clear

sel.Add sketch1
CATIA.StartCommand "Isolate"

part1.UpdateObject sketch1

sel.clear
'part1.IsolateObject sketch1

'part1.update


End Sub

The SetAbosulteAxisData command sets the sketch where i want it to be but doesnt update the geometric support. Also, the Isolate command doesnt seem to be doing anything

0 Answers0