Community
Hi,
By ilogic - commandmanager, i would like to pick the part and use your function to make constraint.
SubMain()
EntityOne=ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAssemblyLeafOccurrenceFilter ,"Select Entities -1 to constraints:")
EntityTwo=ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAssemblyLeafOccurrenceFilter ,"Select Entities -2 to constraints:")
AddMateConstraint(EntityOne,EntityTwo, 0, "Flush", 3, 3)
End Sub
Sub AddAngleConstraint(ByVal EntityOne As Object, ByVal EntityTwo As Object, ByVal Offset As Double, ByVal strMateType As String, _
ByVal Axis1 As Integer, ByVal Axis2 As Integer)
On Error Goto ErrH
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
oOcc1 = EntityOne
oOcc2 = EntityTwo
oPartAxis1 = oOcc1.Definition.workaxes.item(Axis1)
oPartAxis2 = oOcc2.Definition.workaxes.item(Axis2)
Call oOcc1.CreateGeometryProxy(oPartAxis1, oAsmAxis1)
Call oOcc2.CreateGeometryProxy(oPartAxis2, oAsmAxis2)
Select Case strMateType
Case "Flush"
Call oAsmCompDef.Constraints.AddFlushConstraint(oAsmAxis1, oAsmAxis2, Offset)
Case "Mate"
Call oAsmCompDef.Constraints.AddMateConstraint(oAsmAxis1, oAsmAxis2, Offset)
Case "Angle"
Call oAsmCompDef.Constraints.AddAngleConstraint(oAsmAxis1, oAsmAxis2, Offset)
Case "Special"
oPartPlane1 = oOcc1.Definition.workplanes.item(Axis1)
Call oOcc1.CreateGeometryProxy(oPartPlane1, oAsmPlane1)
Call oAsmCompDef.Constraints.AddMateConstraint(oAsmPlane1, oAsmAxis2, Offset)
End Select
ErrH:
End Sub
Public Sub AddMateConstraint(ByVal EntityOne As Object, ByVal EntityTwo As Object, ByVal Offset As Double, ByVal strMateType As String, _
ByVal Plane1 As Integer, ByVal Plane2 As Integer)
On Error Resume Next
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
oOcc1 = EntityOne
oOcc2 = EntityTwo
oPartPlane1 = oOcc1.Definition.workplanes.item(Plane1)
oPartPlane2 = oOcc2.Definition.workplanes.item(Plane2)
Call oOcc1.CreateGeometryProxy(oPartPlane1, oAsmPlane1)
Call oOcc2.CreateGeometryProxy(oPartPlane2, oAsmPlane2)
Select Case strMateType
Case "Flush"
Call oAsmCompDef.Constraints.AddFlushConstraint(oAsmPlane1, oAsmPlane2, Offset)
Case "Mate"
Call oAsmCompDef.Constraints.AddMateConstraint(oAsmPlane1, oAsmPlane2, Offset)
End Select
End Sub
Can you help me to select correct "SelectionFilterEnum" for your function code
'Public Enum SelectionFilterEnum
'kPartEdgeFilter = 15873
'kPartEdgeCircularFilter = 15874
'kPartEdgeLinearFilter = 15875
'kPartEdgeMidpointFilter = 15876
'kPartFaceFilter = 15877
'kPartFacePlanarFilter = 15878
'kPartFaceCylindricalFilter = 15879
'kPartFaceConicalFilter = 15880
'kPartFaceToroidalFilter = 15881
'kPartFaceSphericalFilter = 15882
'kPartVertexFilter = 15883
'kPartFeatureFilter = 15884
'kPartSurfaceFeatureFilter = 15885
'kPartBodyFilter = 15890
'kPartDefaultFilter = 15886
'kSketchDimConstraintFilter = 16128
'kSketchCurveFilter = 16129
'kSketchCurveLinearFilter = 16130
'kSketchCurveCircularFilter = 16131
'kSketchCurveEllipseFilter = 16132
'kSketchCurveSplineFilter = 16133
'kSketchPointFilter = 16134
'kSketchDefaultFilter = 16135
'kSketchObjectFilter = 16136
'kSketchImageFilter = 16137
'kSketchTextBoxFilter = 16138
'kSketchProfileFilter = 16139
'kSketchProjectedCutFilter = 16140
'kSketchBlockDefinitionFilter = 16141
'kSketchBlockFilter = 16142
'kSketch3DCurveFilter = 17664
'kSketch3DCurveLinearFilter = 17665
'kSketch3DCurveCircularFilter = 17666
'kSketch3DCurveEllipseFilter = 17667
'kSketch3DCurveSplineFilter = 17668
'kSketch3DPointFilter = 17669
'kSketch3DDefaultFilter = 17670
'kSketch3DObjectFilter = 17671
'kSketch3DDimConstraintFilter = 17672
'kSketch3DProfileFilter = 17673
'kWorkAxisFilter = 16384
'kWorkPlaneFilter = 16385
'kWorkPointFilter = 16386
'kUserCoordinateSystemFilter = 16387
'kAssemblyOccurrenceFilter = 16640
'kAssemblyLeafOccurrenceFilter = 16643
'kAssemblyOccurrencePatternFilter = 16644
'kAssemblyOccurrencePatternElementFilter = 16645
'kAssemblyFeatureFilter = 16646
'kAllPlanarEntities = 18432
'kAllLinearEntities = 18433
'kAllPointEntities = 18434
'kAllCircularEntities = 18435
'kAllCustomGraphicsFilter = 18436
'kCustomBrowserNodeFilter = 18437
'kFeatureDimensionFilter = 18438
'kAllEntitiesFilter = 18439
'kDrawingDefaultFilter = 16896
'kDrawingSheetFilter = 16897
' kDrawingViewFilter = 16898
' kDrawingNoteFilter = 16899
'kDrawingDimensionFilter = 16900
'kDrawingPartsListFilter = 16901
'kDrawingHoleTableFilter = 16902
'kDrawingHoleTagFilter = 16903
'kDrawingRevisionTableFilter = 16904
'kDrawingCustomTableFilter = 16905
'kDrawingBalloonFilter = 16906
'kDrawingSketchedSymbolFilter = 16907
'kDrawingSketchedSymbolDefinitionFilter = 16908
'kDrawingAutoCADBlockFilter = 16922
'kDrawingAutoCADBlockDefinitionFilter = 16923
'kDrawingBorderDefinitionFilter = 16909
'kDrawingTitleBlockDefinitionFilter = 16910
'kDrawingBorderFilter = 16913
'kDrawingTitleBlockFilter = 16912
'kDrawingCurveSegmentFilter = 16914
'kDrawingCenterlineFilter = 16915
'kDrawingCentermarkFilter = 16916
'kDrawingSheetFormatFilter = 16917
'kDrawingFeatureControlFrameFilter = 16918
'kDrawingSurfaceTextureSymbolFilter = 16919
'kDrawingOriginIndicatorFilter = 16920
' kDrawingViewLabelFilter = 16921
'End Enum