1 Reply Latest reply on Sep 4, 2017 5:25 AM by Ali Al-Abbasi

    Insert a block

    Ali Al-Abbasi

      Hello Guys,

       

      Good morning,

      I need your help to fix this small issue.

      I'm trying to insert a block into a sketch but the result is nothing.

       

      What I did?

      - I created a block using (MakeSktechBlockFromSelected) method. The block was created successfully on a plane (Plane2). Then, rename it.

      - I created a new sketch on another plane (Plane1). I inserted the created block using (InsertSketchBlockInstance). But the result is nothing.

       

      Code: Below a part of the code in VBA.

      'Make a block

      boolstatus = swModel.Extension.SelectByID2("Line4", "SKETCHSEGMENT", -0.011325044180845, 0.110278186438432, -9.89352204071668E-02, False, 0, Nothing, 0)

      boolstatus = swModel.Extension.SelectByID2("Line3", "SKETCHSEGMENT", -0.131648020832848, 0.184732304174255, -5.30542615861535E-02, True, 0, Nothing, 0)

      boolstatus = swModel.Extension.SelectByID2("Line2", "SKETCHSEGMENT", -0.185129099616164, 9.53873628912672E-02, 8.97572385943509E-02, True, 0, Nothing, 0)

      boolstatus = swModel.Extension.SelectByID2("Line5", "SKETCHSEGMENT", -0.435036231750446, 0.254222814061024, 0.180854732689188, True, 0, Nothing, 0)

      boolstatus = swModel.Extension.SelectByID2("Line6", "SKETCHSEGMENT", 0.32564800651241, -0.12383865044199, -0.201829481698532, True, 0, Nothing, 0)

       

      Set myBlockDefinition = swModel.SketchManager.MakeSketchBlockFromSelected(Nothing)

      boolstatus = swModel.Extension.SelectByID2("Block1-1", "SUBSKETCHINST", 0, 0, 0, False, 0, Nothing, 0)

      boolstatus = swModel.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Base Block")

      swModel.ClearSelection2 True

      swModel.SketchManager.InsertSketch True

       

      'Make a new sketch and insert a block

      boolstatus = swModel.Extension.SelectByID2("Plane1", "PLANE", 0, 0, 0, False, 0, Nothing, 0)

      swModel.SketchManager.InsertSketch True

      Set myBlockInstance = swModel.SketchManager.InsertSketchBlockInstance(myBlockDefinition, Nothing, 1, 0)

      boolstatus = swModel.Extension.SelectByID2("Block2-1", "SUBSKETCHINST", 0, 0, 0, False, 0, Nothing, 0)

      boolstatus = swModel.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Base Block2")

      swModel.ClearSelection2 True

       

      The block definitions are already declared

       

      Dim myBlockDefinition As SldWorks.SketchBlockDefinition

      Dim myBlockInstance As SldWorks.SketchBlockInstance

       

       

      Any comment?

      Thanks

       

      Ali