J'ai marqué la ligne sur laquelle une erreur se produit.J'essaye de créer une esquisse positionnée dans CATIA. Mais je suis coincé sur la création d'avion. ci-dessous dans mon code avec la ligne d'erreur marquée
Language = "VBSCRIPT"
Sub CATMain()
Dim ProdDoc As Document
Set ProdDoc = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = ProdDoc.Product
Dim products1 As Products
Set products1 = product1.Products
Dim product2 As Product
Set product2 = products1.AddNewComponent("Part", "NewPart1")
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As Document
Set partDocument1 = documents1.Item("NewPart1.CATPart")
Dim NewPart1 As Part
Set NewPart1 = partDocument1.Part
Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = NewPart1.HybridShapeFactory
Dim parameters1 As Parameters
Set parameters1 = NewPart1.Parameters
Dim oSel As Selection
Set oSel = prodDoc.Selection
Dim point_ref
Dim line_ref
Dim Point As Reference
Dim Line As Reference
'variables pour choisir le point et le bord
Dim iot1(0)
iot1(0) = "Vertex"
Dim iot2(0)
iot2(0)="TriDimFeatEdge"
Status = oSel.SelectElement2(iot1, "Select a line", False)
msgbox oSel.Item(1).Type
set point_ref = oSel.Item(1).Value
oSel.Clear
Status = oSel.SelectElement2(iot2, "Select a line", False)
msgbox oSel.Item(1).Type
set line_ref = oSel.Item(1).Value
oSel.Clear
' passe le point et la ligne choisie pour créer un nouveau plan. 'Le plan est créé en utilisant la méthode normale à la courbe.
Dim hybridShapePlaneNormal1 As HybridShapePlaneNormal
Set hybridShapePlaneNormal1 = hybridShapeFactory1.AddNewPlaneNormal(line_ref, point_ref)
Dim bodies1 As Bodies
Set bodies1 = NewPart1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("PartBody")
' This is where I get error
body1.InsertHybridShape hybridShapePlaneNormal1 '{Error - Method InsertHybridShape failed}
NewPart1.InWorkObject = hybridShapePlaneNormal1
NewPart1.Update
End Sub
Quel est votre message d'erreur exact – GisMofx
erreur exacte - ** Méthode InsertHybridShape a échoué ** .J'ai mis en évidence dans le code –
il y a une raison très simple pourquoi cela se produit, vous pourriez assigner un avion sous un corps seulement en cas de conception hybride allumé, que vous ne voulez en aucun cas, de sorte que votre seule option est de séparer les solides des formes et des wireframes, donc, vous devriez mettre plan dans l'ensemble géométrique, hybridBody pas Body à partir de solides, dim gs comme hybridBody: set gs = part.hybridbodies.add(): et puis vous pouvez assing votre avion dedans avec gs.appendhybridshape (yourPlane) et cela va résoudre votre problème – tsolina