3dcadconsultant
Mechanical
- Jun 3, 2009
- 5
thread559-120327 Was closed.
I am looking to do the same thing.
I would like to find a way to get the perimeter from a model in it's formed state. I currently have a good start and need two things.
1. Get a hole number.
2. Get number of bends
3. Get it to count multiple edges.
In the last forum a link to a quote software is now dead does anyone know of something like this?
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFace As SldWorks.Face
Dim swEdge As SldWorks.Edge
Dim swCurve As SldWorks.Curve
Dim varCurveParams As Variant
Dim varEdgeArray As Variant
Dim Length As Double
Dim bRet As Boolean
Dim i As Long
Dim j As Long
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swFace = swSelMgr.GetSelectedObject3(1)
varEdgeArray = swFace.GetEdges
For i = 0 To UBound(varEdgeArray)
Set swEdge = varEdgeArray(i)
Set swCurve = swEdge.GetCurve
Set swCurve = swEdge.GetCurve
varCurveParams = swEdge.GetCurveParams2
Length = Length + swCurve.GetLength(varCurveParams(6), varCurveParams(7))
Next i
MsgBox "Length = " + Str(Length / 0.0254) + " in"
End Sub
Please help
Steve
I am looking to do the same thing.
I would like to find a way to get the perimeter from a model in it's formed state. I currently have a good start and need two things.
1. Get a hole number.
2. Get number of bends
3. Get it to count multiple edges.
In the last forum a link to a quote software is now dead does anyone know of something like this?
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFace As SldWorks.Face
Dim swEdge As SldWorks.Edge
Dim swCurve As SldWorks.Curve
Dim varCurveParams As Variant
Dim varEdgeArray As Variant
Dim Length As Double
Dim bRet As Boolean
Dim i As Long
Dim j As Long
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swFace = swSelMgr.GetSelectedObject3(1)
varEdgeArray = swFace.GetEdges
For i = 0 To UBound(varEdgeArray)
Set swEdge = varEdgeArray(i)
Set swCurve = swEdge.GetCurve
Set swCurve = swEdge.GetCurve
varCurveParams = swEdge.GetCurveParams2
Length = Length + swCurve.GetLength(varCurveParams(6), varCurveParams(7))
Next i
MsgBox "Length = " + Str(Length / 0.0254) + " in"
End Sub
Please help
Steve