Would like to create a 3D sketch with points on it. Once those points are created, I need to know their exact position, in a text or Xcel file layout. if you click on each point it gives the location for each in the FMT.
Sub main() Dim swApp As SldWorks.SldWorks Dim doc As SldWorks.ModelDoc2 Dim part As SldWorks.PartDoc Dim sm As SldWorks.SelectionMgr Dim feat As SldWorks.feature Dim sketch As SldWorks.sketch Dim v As Variant Dim i As Long Dim sseg As SldWorks.SketchSegment Dim sline As SldWorks.SketchLine Dim sp As SldWorks.SketchPoint Dim ep As SldWorks.SketchPoint Dim s As String
Dim exApp As Excel.Application Dim sheet As Excel.Worksheet
Set exApp = New Excel.Application If Not exApp Is Nothing Then exApp.Visible = True If Not exApp Is Nothing Then exApp.Workbooks.Add Set sheet = exApp.ActiveSheet If Not sheet Is Nothing Then sheet.Cells(1, 2).Value = "X" sheet.Cells(1, 3).Value = "Y" sheet.Cells(1, 4).Value = "Z" End If End If End If
Set swApp = GetObject(, "sldworks.application") If Not swApp Is Nothing Then Set doc = swApp.ActiveDoc If Not doc Is Nothing Then If doc.GetType = swDocPART Then Set part = doc Set sm = doc.SelectionManager If Not part Is Nothing And Not sm Is Nothing Then If sm.GetSelectedObjectType2(1) = swSelSKETCHES Then Set feat = sm.GetSelectedObject4(1) Set sketch = feat.GetSpecificFeature If Not sketch Is Nothing Then v = sketch.GetSketchPoints For i = LBound(v) To UBound(v) Set sp = v(i) If Not sp Is Nothing And Not sheet Is Nothing And Not exApp Is Nothing Then 'sheet.Cells(2 + i, 1).Value = "Normal Vector " & i + 1 sheet.Cells(2 + i, 2).Value = (sp.X * 1000) / 25.4 sheet.Cells(2 + i, 3).Value = (sp.Y * 1000) / 25.4 sheet.Cells(2 + i, 4).Value = (sp.Z * 1000) / 25.4 exApp.Columns.AutoFit End If Next i End If End If End If End If End If End If End Sub
snipped-for-privacy@yahoo.com wrote in news:1142626659.606595.82630 @e56g2000cwe.googlegroups.com:
I haven't tried until just now... I don't know of a direct way to export sketch coordinates without a macro, so I tried this:
I made a new part with a 3DSketch containing 3 points, then exported it to IGES with the "Export sketch entities" option. IGES is a text-based format so you can read it in Notepad, or import it into Excel. If you do this to your part, you should find a group if lines in there beginining with "116". Presumably, "116" is some sort of point entity type. Anyhow, if you open it in Excel as a comma-separated file, you should get some junk you don't need plus this group of coordinates, in columns. With some formatting, you should have what you need.
Here's the text of hte IGES file I made, but automatic word-wrapping will make a mess of it:
SolidWorks IGES file using analytic representation for surfaces S
PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.