'copy and run this macro
'MAKE SURE OF THE FOLLOWING:
'all automatic contraints are OFF
'Zoom in to a very small area in your model in order to prevent merging of points
'source file is text file named "3dpoints.txt" in same directory as macro
'each line is a point coordinate in the format x[tab]y[tab]z[return] (you can save this from excel file
' ******************************************************************************
' 3DPoints.swb 8/3/99
'
' Edit a 3D sketch and run this macro to automate the creation of 3d points.
' Point data is in a TAB delimited file "3dpoints.txt"
' ex: 1.0 2.1 1
' 1.2 2.0 -1
' ...
'
' Macro written by Joe Jones joe@nhcad.com
' New Hampshire CAD
'
' MECHANICAL DESIGN & CUSTOM PROGRAMMING
' ******************************************************************************
Dim swApp As Object
Dim modelDoc As Object
Dim retval As Object
Dim dataStr As String
Dim I As Integer
Dim Coords(1 To 3) As String
Dim Cnt As Integer
Dim Units As Integer
Dim Conversion As Double
Sub main()
Set swApp = CreateObject("SldWorks.Application"

Set modelDoc = swApp.ActiveDoc
' calculate conversion factor for meters --> current units
Units = modelDoc.LengthUnit
Select Case Units
Case 0 ' mm
Conversion = 1 / 1000
Case 1 ' cm
Conversion = 1 / 100
Case 2 ' m
Conversion = 1
Case 3 ' in
Conversion = 1 / 39.37
Case 4, 5 ' ft and ft-in
Conversion = 1 / 3.28
End Select
' read data file
Open "3dpoints.txt" For Input As #1
Do While Not EOF(1)
Cnt = 1
Coords(1) = ""
Coords(2) = ""
Coords(3) = ""
Line Input #1, dataStr
For I = 1 To Len(dataStr)
If Mid(dataStr, I, 1) = Chr(9) Then
Cnt = Cnt + 1
Else
Coords(Cnt) = Coords(Cnt) + Mid(dataStr, I, 1)
End If
Next I
Set retval = modelDoc.CreatePoint2(Val(Coords(1)) * Conversion, Val(Coords(2)) * Conversion, Val(Coords(3)) * Conversion)
Loop
End Sub
![[bat] [bat] [bat]](/data/assets/smilies/bat.gif)
On justice and on friendship, there is no price, but there are established credit limits.
![[bat] [bat] [bat]](/data/assets/smilies/bat.gif)