814 lines
29 KiB
Plaintext
814 lines
29 KiB
Plaintext
dim swApp
|
||
dim storePath
|
||
dim docVisible
|
||
Private Const MAX_PATH = 260
|
||
'Directories only
|
||
Private Const BIF_RETURNONLYFSDIRS = &H1&
|
||
'Windows 2000 (Shell32.dll 5.0) extended dialog
|
||
Private Const BIF_NEWDIALOGSTYLE = &H40
|
||
' show edit box
|
||
Private Const BIF_EDITBOX = &H10&
|
||
' add all dir options
|
||
Private Const BIF_BrowseFolder = BIF_EDITBOX Or BIF_RETURNONLYFSDIRS Or BIF_NEWDIALOGSTYLE
|
||
' set the virtual desktop as ini folder
|
||
Private Const IniFolder = &H0 'Virtual Desktop
|
||
Function getLastFeatureByType(model,typ)
|
||
Set feat = model.FirstFeature ' Get the 1st feature in part
|
||
Set res = Nothing
|
||
Count = 0
|
||
Do While Not feat Is Nothing ' While we have a valid feature
|
||
If feat.GetTypeName() = typ Then
|
||
Set res = feat
|
||
End If
|
||
Set feat = feat.GetNextFeature() ' Get the next feature
|
||
Loop ' Continue until no more
|
||
Set getLastFeatureByType = res
|
||
End Function
|
||
' this code with copy a matrix to a other
|
||
Function copyMat4x4(source)
|
||
Dim res(0 To 15) As Double
|
||
For i = 0 To 15
|
||
res(i) = source(i)
|
||
Next
|
||
copyMat4x4 = res
|
||
End Function
|
||
|
||
' This code creates a mat from a sw mat
|
||
Function createMatFromSWMat(source)
|
||
Dim res(0 To 15) As Double
|
||
res(0) = source(0)
|
||
res(1) = source(1)
|
||
res(2) = source(2)
|
||
res(3) = 0
|
||
res(4) = source(3)
|
||
res(5) = source(4)
|
||
res(6) = source(5)
|
||
res(7) = 0
|
||
res(8) = source(6)
|
||
res(9) = source(7)
|
||
res(10) = source(8)
|
||
res(11) = 0
|
||
res(12) = source(9)
|
||
res(13) = source(10)
|
||
res(14) = source(11)
|
||
res(15) = source(12)
|
||
createMatFromSWMat = res
|
||
End Function
|
||
Function createSWMatFromMat(source)
|
||
Dim res(0 To 15) As Double
|
||
res(0) = source(0)
|
||
res(1) = source(1)
|
||
res(2) = source(2)
|
||
res(3) = source(4)
|
||
res(4) = source(5)
|
||
res(5) = source(6)
|
||
res(6) = source(8)
|
||
res(7) = source(9)
|
||
res(8) = source(10)
|
||
res(9) = source(12)
|
||
res(10) = source(13)
|
||
res(11) = source(14)
|
||
res(12) = source(15)
|
||
res(13) = 0
|
||
res(14) = 0
|
||
res(15) = 0
|
||
createSWMatFromMat = res
|
||
End Function
|
||
Function createMat4x4FromValues(x1,x2,x3,y1,y2,y3,z1,z2,z3,t1,t2,t3)
|
||
Dim res(0 To 15) As Double
|
||
res(0) = x1
|
||
res(1) = x2
|
||
res(2) = x3
|
||
res(3) = 0
|
||
res(4) = y1
|
||
res(5) = y2
|
||
res(6) = y3
|
||
res(7) = 0
|
||
res(8) = z1
|
||
res(9) = z2
|
||
res(10) =z3
|
||
res(11) = 0
|
||
res(12) = t1
|
||
res(13) = t2
|
||
res(14) = t3
|
||
res(15) = 1
|
||
createMat4x4FromValues = res
|
||
End Function
|
||
' this code will mult a common mat with any other stuff
|
||
Function multMatMat(ld, xld, yld, rd, xrd, yrd)
|
||
mulRes = yld * xrd
|
||
'Dim od(0 To 0) As Variant
|
||
ReDim od(mulRes - 1) As Double
|
||
For i = 0 To mulRes - 1
|
||
od(i) = 0#
|
||
Next
|
||
y = 0
|
||
While y < yld
|
||
x = 0
|
||
While x < xrd
|
||
i = 0
|
||
While i < xld
|
||
od(x * yld + y) = od(x * yld + y) + ld(i * yld + y) * rd(x * yrd + i)
|
||
i = i + 1
|
||
Wend
|
||
x = x + 1
|
||
Wend
|
||
y = y + 1
|
||
Wend
|
||
multMatMat = od
|
||
|
||
End Function
|
||
' this code will mult a vector with a matrix
|
||
Function mulMat4x4Values3d(mat, x,y,z)
|
||
tmp = createVec4d(x, y, z, 1)
|
||
res = multMatMat(mat, 4, 4, tmp, 1, 3)
|
||
mulMat4x4Values3d = createVec3d(res(0), res(1), res(2))
|
||
End Function
|
||
Function mulMat4x4Vec3d(mat, vec)
|
||
tmp = createVec4d(vec(0), vec(1), vec(2), 1)
|
||
res = multMatMat(mat, 4, 4, tmp, 1, 3)
|
||
mulMat4x4Vec3d = createVec3d(res(0), res(1), res(2))
|
||
End Function
|
||
Function mulMat4x4Mat4x4(mat1, mat2)
|
||
mulMat4x4Mat4x4 = multMatMat(mat1, 4, 4, mat2, 4, 4)
|
||
End Function
|
||
' create a 4x4 matrix
|
||
Function createMat4x4()
|
||
Dim res(0 To 15) As Double
|
||
for i = 0 to 15
|
||
res(i) = 0
|
||
next
|
||
createMat4x4 = res
|
||
End Function
|
||
Function createMat4x4Ident()
|
||
Dim res(0 To 15) As Double
|
||
res(0) = 1
|
||
res(5) = 1
|
||
res(10) = 1
|
||
res(15) = 1
|
||
res(1) = 0
|
||
res(2) = 0
|
||
res(3) = 0
|
||
res(4) = 0
|
||
res(6) = 0
|
||
res(7) = 0
|
||
res(8) = 0
|
||
res(9) = 0
|
||
res(11) = 0
|
||
res(12) = 0
|
||
res(13) = 0
|
||
res(14) = 0
|
||
createMat4x4Ident = res
|
||
End Function
|
||
' this function create a new vector
|
||
Function createVec3d(x, y, z)
|
||
Dim res(0 To 2) As Double
|
||
res(0) = x
|
||
res(1) = y
|
||
res(2) = z
|
||
createVec3d = res
|
||
End Function
|
||
' this function create a new vector
|
||
Function createVec4d(x, y, z, w)
|
||
Dim res(0 To 3) As Double
|
||
res(0) = x
|
||
res(1) = y
|
||
res(2) = z
|
||
res(3) = w
|
||
createVec4d = res
|
||
End Function
|
||
|
||
Function getMatTVec(mat)
|
||
getMatTVec = createVec3d(mat(12), mat(13), mat(14))
|
||
End Function
|
||
|
||
Sub setMatTVec(mat, v)
|
||
mat(12) = v(0)
|
||
mat(13) = v(1)
|
||
mat(14) = v(2)
|
||
End Sub
|
||
Sub setMatXVec(mat, v)
|
||
mat(0) = v(0)
|
||
mat(1) = v(1)
|
||
mat(2) = v(2)
|
||
End Sub
|
||
Sub setMatYVec(mat, v)
|
||
mat(4) = v(0)
|
||
mat(5) = v(1)
|
||
mat(6) = v(2)
|
||
End Sub
|
||
Sub setMatZVec(mat, v)
|
||
mat(8) = v(0)
|
||
mat(9) = v(1)
|
||
mat(10) = v(2)
|
||
End Sub
|
||
Sub setMatScale(mat, s)
|
||
mat(15) = s
|
||
End Sub
|
||
Function getMatXVec(mat)
|
||
getMatXVec = createVec3d(mat(0), mat(1), mat(2))
|
||
End Function
|
||
Function getMatYVec(mat)
|
||
getMatYVec = createVec3d(mat(4), mat(5), mat(6))
|
||
End Function
|
||
Function getMatZVec(mat)
|
||
getMatZVec = createVec3d(mat(8), mat(9), mat(10))
|
||
End Function
|
||
|
||
Function negVec3d(v)
|
||
negVec3d = createVec3d(-v(0), -v(1), -v(2))
|
||
End Function
|
||
Function scaleVec3d(v,s)
|
||
scaleVec3d = createVec3d(v(0)*s,v(1)*s,v(2)*s)
|
||
End Function
|
||
' invert a 4x4 matrix
|
||
Function invMat4x4(source)
|
||
target = copyMat4x4(source)
|
||
setMatTVec target, createVec3d(0, 0, 0)
|
||
target(1) = source(4)
|
||
target(4) = source(1)
|
||
target(2) = source(8)
|
||
target(8) = source(2)
|
||
target(6) = source(9)
|
||
target(9) = source(6)
|
||
setMatScale target,1
|
||
t = getMatTVec(source)
|
||
v = mulMat4x4Vec3d(target, t)
|
||
setMatTVec target, negVec3d(v)
|
||
invMat4x4 = target
|
||
End Function
|
||
Function IsEqual(argVec3DA, argVec3DB)
|
||
For i = 0 To 2
|
||
If( argVec3DA(i) <> argVec3DB(i) ) Then
|
||
Exit For
|
||
End If
|
||
Next
|
||
If(i = 3) Then
|
||
IsEqual = 1
|
||
Else
|
||
IsEqual = 0
|
||
End If
|
||
End Function
|
||
Function getFaceFromModel(part, pos, normal)
|
||
Dim partBodies As Variant
|
||
partBodies = part.GetBodies(swSolidBody)
|
||
For k = LBound(partBodies) To UBound(partBodies)
|
||
found = 0
|
||
Dim body As Object
|
||
Set body = partBodies(k)
|
||
Set face = body.GetFirstFace()
|
||
Set getFaceFromModel = nothing
|
||
minDist = -1
|
||
Do While Not face Is Nothing ' While we have a valid feature
|
||
Set sur = face.GetSurface()
|
||
If sur.IsPlane() Then
|
||
planePara = sur.PlaneParams
|
||
faceNormal = face.normal
|
||
nTest = faceNormal(0) * normal(0) + faceNormal(1) * normal(1) + faceNormal(2) * normal(2)
|
||
If nTest > 1 - 0.000001 Then
|
||
' check projection
|
||
closeRes = face.GetClosestPointOn(pos(0), pos(1), pos(2))
|
||
dTest = (pos(0) - closeRes(0)) * (pos(0) - closeRes(0)) + (pos(1) - closeRes(1)) * (pos(1) - closeRes(1)) + (pos(2) - closeRes(2)) * (pos(2) - closeRes(2))
|
||
If ( dTest < minDist Or minDist = -1 ) Then
|
||
Set getFaceFromModel = face
|
||
minDist = dTest
|
||
found=1
|
||
End If
|
||
End If
|
||
else
|
||
If sur.IsCylinder() then
|
||
closeRes = face.GetClosestPointOn(pos(0), pos(1), pos(2))
|
||
dTest = (pos(0) - closeRes(0)) * (pos(0) - closeRes(0)) + (pos(1) - closeRes(1)) * (pos(1) - closeRes(1)) + (pos(2) - closeRes(2)) * (pos(2) - closeRes(2))
|
||
If ( dTest < minDist Or minDist = -1 ) Then
|
||
res=sur.EvaluateAtPoint(closeRes(0),closeRes(1),closeRes(2))
|
||
nTest=res(0)*normal(0)+res(1)*normal(1)+res(2)*normal(2)
|
||
if nTest>1-0.00000001 then
|
||
Set getFaceFromModel = face
|
||
found=1
|
||
End if
|
||
End if
|
||
End if
|
||
End if
|
||
Set face = face.GetNextFace ' Get the next Face
|
||
Loop
|
||
If (found = 1) Then
|
||
Exit For
|
||
End If
|
||
Next k
|
||
End Function
|
||
Function getEdgeFromModel(part, pos,byref edgeRet)
|
||
Dim partBodies As Variant
|
||
partBodies = part.GetBodies(swSolidBody)
|
||
For k = LBound(partBodies) To UBound(partBodies)
|
||
Dim body As Object
|
||
Set body = partBodies(k)
|
||
edges= body.GetEdges()
|
||
start= LBound(edges)
|
||
ende = UBound(edges)
|
||
For i = start To ende
|
||
Set edge = edges(i)
|
||
closeRes=edge.GetClosestPointOn(pos(0),pos(1),pos(2))
|
||
dTest = (pos(0) - closeRes(0)) * (pos(0) - closeRes(0)) + (pos(1) - closeRes(1)) * (pos(1) - closeRes(1)) + (pos(2) - closeRes(2)) * (pos(2) - closeRes(2))
|
||
If dTest < 0.00000001 Then
|
||
set edgeRet=edge
|
||
getEdgeFromModel=true
|
||
exit function
|
||
End If
|
||
Next i
|
||
Next k
|
||
getEdgeFromModel=false
|
||
End Function
|
||
sub cLn(part,wMat,x1,y1,x2,y2)
|
||
pk1=mulMat4x4Values3d(wMat,x1,y1,0)
|
||
pk2=mulMat4x4Values3d(wMat,x2,y2,0)
|
||
Part.SketchManager.CreateLine pk1(0),pk1(1),0,pk2(0),pk2(1),0
|
||
end sub
|
||
sub cCLn(part,wMat,x1,y1,x2,y2)
|
||
pk1=mulMat4x4Values3d(wMat,x1,y1,0)
|
||
pk2=mulMat4x4Values3d(wMat,x2,y2,0)
|
||
Part.CreateCenterLineVB pk1(0),pk1(1),0,pk2(0),pk2(1),0
|
||
end sub
|
||
sub cArc(part,wMat,x1,y1,x2,y2,x3,y3)
|
||
pk1=mulMat4x4Values3d(wMat,x1,y1,0)
|
||
pk2=mulMat4x4Values3d(wMat,x2,y2,0)
|
||
pk3=mulMat4x4Values3d(wMat,x3,y3,0)
|
||
Part.SketchManager.Create3PointArc pk1(0),pk1(1),0,pk3(0),pk3(1),0,pk2(0),pk2(1),0
|
||
end sub
|
||
sub cCir(part,wMat,x1,y1,rad)
|
||
pk1=mulMat4x4Values3d(wMat,x1,y1,0)
|
||
Part.SketchManager.CreateCircleByRadius pk1(0),pk1(1),0,rad
|
||
end sub
|
||
Public Function BrowseForFolder
|
||
Dim objFolder, objShell
|
||
Set objShell = CreateObject("Shell.Application")
|
||
Set objFolder = objShell.BrowseForFolder(0, "Please select the folder..", BIF_BrowseFolder, IniFolder)
|
||
If Not (objFolder Is Nothing) Then
|
||
BrowseForFolder = objFolder.Self.path
|
||
End If
|
||
End Function
|
||
Sub SelectCommonEdge(argFaceA, argFaceB)
|
||
edgesA = argFaceA.GetEdges
|
||
edgesB = argFaceB.GetEdges
|
||
For Each edgeA In edgesA
|
||
Set vertexA1 = edgeA.GetStartVertex
|
||
Set vertexA2 = edgeA.GetEndVertex
|
||
pointA1 = vertexA1.GetPoint
|
||
pointA2 = vertexA2.GetPoint
|
||
For Each edgeB In edgesB
|
||
Set vertexB1 = edgeB.GetStartVertex
|
||
Set vertexB2 = edgeB.GetEndVertex
|
||
pointB1 = vertexB1.GetPoint
|
||
pointB2 = vertexB2.GetPoint
|
||
If ( (IsEqual(pointA1, pointB1) And IsEqual(pointA2, pointB2)) Or (IsEqual(pointA1, pointB2) And IsEqual(pointA2, pointB1)) ) Then
|
||
edgeA.Select(True)
|
||
Exit Sub
|
||
End If
|
||
Next
|
||
Next
|
||
End Sub
|
||
Sub CreatePart0
|
||
dim errors as long
|
||
dim warnings as long
|
||
Dim longstatus As Long
|
||
if (docVisible=0) then
|
||
swApp.DocumentVisible 0, 1
|
||
end if
|
||
set res=swApp.OpenDoc6 ( storePath & "SBR20UU.sldprt",1,3,"", errors, warnings)
|
||
swApp.ActivateDoc2 "SBR20UU.sldprt", False, longstatus
|
||
if not res is nothing then
|
||
if (docVisible=0) then
|
||
swApp.DocumentVisible 1, 1
|
||
end if
|
||
exit sub
|
||
end if
|
||
if (docVisible=0) then
|
||
swApp.DocumentVisible 1, 1
|
||
end if
|
||
Dim sPartTemplateName As String
|
||
sPartTemplateName = swApp.GetUserPreferenceStringValue(8)
|
||
Set part = swApp.NewDocument(sPartTemplateName, 0, 0, 0)
|
||
swApp.ActivateDoc2 "SBR20UU.sldprt", False, longstatus
|
||
Set part = swApp.ActiveDoc
|
||
part.SketchManager.AddToDB = true
|
||
part.SketchManager.DisplayWhenAdded = false
|
||
part.ActiveView.EnableGraphicsUpdate = false
|
||
Set modelExt = part.Extension
|
||
Set customPropMgr = modelExt.CustomPropertyManager("")
|
||
customPropMgr.Add2 "NB", 30, "SBR20UU"
|
||
customPropMgr.Add2 "NN", 30, "SBR"
|
||
customPropMgr.Add2 "NT", 30, "Linear Motion Ball Bearing Slide Units"
|
||
customPropMgr.Add2 "NBSYN", 30, "$CNSTYPECODE."
|
||
customPropMgr.Add2 "LINA", 30, "SBR20UU"
|
||
customPropMgr.Add2 "CATALOG", 30, "YTP"
|
||
customPropMgr.Add2 "MODEL", 30, "SBR20UU"
|
||
customPropMgr.Add2 "IB", 30, "LM20UU-OP"
|
||
customPropMgr.Add2 "SD", 30, "20"
|
||
customPropMgr.Add2 "H", 30, "23"
|
||
customPropMgr.Add2 "E", 30, "24.0"
|
||
customPropMgr.Add2 "W", 30, "48"
|
||
customPropMgr.Add2 "L", 30, "50"
|
||
customPropMgr.Add2 "F", 30, "39.0"
|
||
customPropMgr.Add2 "T", 30, "11.0"
|
||
customPropMgr.Add2 "HH1", 30, "10.0"
|
||
customPropMgr.Add2 "ANG", 30, "60<36>"
|
||
customPropMgr.Add2 "B", 30, "35.0"
|
||
customPropMgr.Add2 "C", 30, "35"
|
||
customPropMgr.Add2 "S", 30, "M6"
|
||
customPropMgr.Add2 "I", 30, "12"
|
||
customPropMgr.Add2 "CC", 30, "88"
|
||
customPropMgr.Add2 "CO", 30, "140"
|
||
customPropMgr.Add2 "WEIGHT", 30, "0.200"
|
||
customPropMgr.Add2 "PS", 30, "GBT/16940-2012"
|
||
customPropMgr.Add2 "MAT1", 30, "6063 Aluminium Alloy"
|
||
customPropMgr.Add2 "TS1", 30, "Natural Anodic Oxidation (Conventional)"
|
||
customPropMgr.Add2 "TS2", 30, "Black Anodic Oxidation Treatment (Customized)"
|
||
customPropMgr.Add2 "TEMPERATUER", 30, "-20~80"
|
||
customPropMgr.Add2 "SUPPLIER", 30, "YTP"
|
||
customPropMgr.Add2 "ARTICLENO", 30, "SBR20UU"
|
||
customPropMgr.Add2 "BOMINFO", 30, "SBR20UU"
|
||
customPropMgr.Add2 "CREATOR", 30, "CADENAS GmbH"
|
||
customPropMgr.Add2 "IsFastener", 30, "0"
|
||
part.SummaryInfo(0)="SBR20UU"
|
||
part.SummaryInfo(4)="Linear Motion Ball Bearing Slide Units"
|
||
part.SummaryInfo(2)="Cadenas PARTsolutions"
|
||
valRGB=part.MaterialPropertyValues
|
||
valRGB(0)=0.75
|
||
valRGB(1)=0.75
|
||
valRGB(2)=0.75
|
||
valRGB(7)=0
|
||
part.MaterialPropertyValues=valRGB
|
||
Dim featMgr as object
|
||
set featMgr = part.FeatureManager
|
||
codeBag0 part,featMgr
|
||
part.ActiveView.EnableGraphicsUpdate = true
|
||
part.SketchManager.DisplayWhenAdded = true
|
||
part.SketchManager.AddToDB = false
|
||
part.EditRebuild3
|
||
part.Rebuild swRebuildAll
|
||
Set modelExt = part.Extension
|
||
modelExt.SaveAs storePath & "SBR20UU.sldprt",0,0,nothing,errors,warnings
|
||
End Sub
|
||
sub codeBag1(part,wMat)
|
||
cLn part,wMat,-0.024,0.022,-0.024,0.012
|
||
cLn part,wMat,-0.024,0.012,-0.0225,0.0105
|
||
cLn part,wMat,-0.0225,0.0105,-0.0225,-0.0144
|
||
cLn part,wMat,-0.0225,-0.0144,-0.0215,-0.0154
|
||
cLn part,wMat,-0.0215,-0.0154,-0.0095840144685478,-0.0154
|
||
cLn part,wMat,-0.0095840144685478,-0.0154,-0.0055106071276578,-0.0083446515256545
|
||
cArc part,wMat,-0.0055106071276578,-0.0083446515256545,3.9497954175685e-18,0.01,0.0055106071276578,-0.0083446515256545
|
||
cLn part,wMat,0.0055106071276578,-0.0083446515256545,0.0095840144685478,-0.0154
|
||
cLn part,wMat,0.0095840144685478,-0.0154,0.0215,-0.0154
|
||
cLn part,wMat,0.0215,-0.0154,0.0225,-0.0144
|
||
cLn part,wMat,0.0225,-0.0144,0.0225,0.0105
|
||
cLn part,wMat,0.0225,0.0105,0.024,0.012
|
||
cLn part,wMat,0.024,0.012,0.024,0.022
|
||
cLn part,wMat,0.024,0.022,0.023,0.023
|
||
cLn part,wMat,0.023,0.023,0.0105,0.023
|
||
cLn part,wMat,0.0105,0.023,0.0095,0.022
|
||
cLn part,wMat,0.0095,0.022,-0.0095,0.022
|
||
cLn part,wMat,-0.0095,0.022,-0.0105,0.023
|
||
cLn part,wMat,-0.0105,0.023,-0.023,0.023
|
||
cLn part,wMat,-0.023,0.023,-0.024,0.022
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag2(part,wMat)
|
||
cLn part,wMat,-0.0215,-0.016,-0.009237604307034,-0.016
|
||
cLn part,wMat,-0.009237604307034,-0.016,-0.005,-0.0086602540378444
|
||
cArc part,wMat,-0.005,-0.0086602540378444,-0.00525767218305,-0.0085062849244298,-0.0055106071276578,-0.0083446515256545
|
||
cLn part,wMat,-0.0055106071276578,-0.0083446515256545,-0.0095840144685478,-0.0154
|
||
cLn part,wMat,-0.0095840144685478,-0.0154,-0.0215,-0.0154
|
||
cLn part,wMat,-0.0215,-0.0154,-0.0215,-0.016
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag3(part,wMat)
|
||
cLn part,wMat,0.005,-0.0086602540378444,0.009237604307034,-0.016
|
||
cLn part,wMat,0.009237604307034,-0.016,0.0215,-0.016
|
||
cLn part,wMat,0.0215,-0.016,0.0215,-0.0154
|
||
cLn part,wMat,0.0215,-0.0154,0.0095840144685478,-0.0154
|
||
cLn part,wMat,0.0095840144685478,-0.0154,0.0055106071276578,-0.0083446515256545
|
||
cArc part,wMat,0.0055106071276578,-0.0083446515256545,0.00525767218305,-0.0085062849244298,0.005,-0.0086602540378444
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag4(part,wMat)
|
||
cCir part,wMat,0.0175,0.0175,0.0025
|
||
cLn part,wMat,0.0155,0.017,0.016633974596216,0.017
|
||
cArc part,wMat,0.016633974596216,0.017,0.016792893218813,0.016792893218813,0.017,0.016633974596216
|
||
cLn part,wMat,0.017,0.016633974596216,0.017,0.0155
|
||
cLn part,wMat,0.017,0.0155,0.018,0.0155
|
||
cLn part,wMat,0.018,0.0155,0.018,0.016633974596216
|
||
cArc part,wMat,0.018,0.016633974596216,0.018207106781187,0.016792893218813,0.018366025403784,0.017
|
||
cLn part,wMat,0.018366025403784,0.017,0.0195,0.017
|
||
cLn part,wMat,0.0195,0.017,0.0195,0.018
|
||
cLn part,wMat,0.0195,0.018,0.018366025403784,0.018
|
||
cArc part,wMat,0.018366025403784,0.018,0.018207106781187,0.018207106781187,0.018,0.018366025403784
|
||
cLn part,wMat,0.018,0.018366025403784,0.018,0.0195
|
||
cLn part,wMat,0.018,0.0195,0.017,0.0195
|
||
cLn part,wMat,0.017,0.0195,0.017,0.018366025403784
|
||
cArc part,wMat,0.017,0.018366025403784,0.016792893218813,0.018207106781187,0.016633974596216,0.018
|
||
cLn part,wMat,0.016633974596216,0.018,0.0155,0.018
|
||
cLn part,wMat,0.0155,0.018,0.0155,0.017
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag5(part,wMat)
|
||
cCir part,wMat,0.0175,-0.0175,0.0025
|
||
cLn part,wMat,0.0155,-0.017,0.0155,-0.018
|
||
cLn part,wMat,0.0155,-0.018,0.016633974596216,-0.018
|
||
cArc part,wMat,0.016633974596216,-0.018,0.016792893218813,-0.018207106781187,0.017,-0.018366025403784
|
||
cLn part,wMat,0.017,-0.018366025403784,0.017,-0.0195
|
||
cLn part,wMat,0.017,-0.0195,0.018,-0.0195
|
||
cLn part,wMat,0.018,-0.0195,0.018,-0.018366025403784
|
||
cArc part,wMat,0.018,-0.018366025403784,0.018207106781187,-0.018207106781187,0.018366025403784,-0.018
|
||
cLn part,wMat,0.018366025403784,-0.018,0.0195,-0.018
|
||
cLn part,wMat,0.0195,-0.018,0.0195,-0.017
|
||
cLn part,wMat,0.0195,-0.017,0.018366025403784,-0.017
|
||
cArc part,wMat,0.018366025403784,-0.017,0.018207106781187,-0.016792893218813,0.018,-0.016633974596216
|
||
cLn part,wMat,0.018,-0.016633974596216,0.018,-0.0155
|
||
cLn part,wMat,0.018,-0.0155,0.017,-0.0155
|
||
cLn part,wMat,0.017,-0.0155,0.017,-0.016633974596216
|
||
cArc part,wMat,0.017,-0.016633974596216,0.016792893218813,-0.016792893218813,0.016633974596216,-0.017
|
||
cLn part,wMat,0.016633974596216,-0.017,0.0155,-0.017
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag6(part,wMat)
|
||
cCir part,wMat,-0.0175,0.0175,0.0025
|
||
cLn part,wMat,-0.0195,0.018,-0.0195,0.017
|
||
cLn part,wMat,-0.0195,0.017,-0.018366025403784,0.017
|
||
cArc part,wMat,-0.018366025403784,0.017,-0.018207106781187,0.016792893218813,-0.018,0.016633974596216
|
||
cLn part,wMat,-0.018,0.016633974596216,-0.018,0.0155
|
||
cLn part,wMat,-0.018,0.0155,-0.017,0.0155
|
||
cLn part,wMat,-0.017,0.0155,-0.017,0.016633974596216
|
||
cArc part,wMat,-0.017,0.016633974596216,-0.016792893218813,0.016792893218813,-0.016633974596216,0.017
|
||
cLn part,wMat,-0.016633974596216,0.017,-0.0155,0.017
|
||
cLn part,wMat,-0.0155,0.017,-0.0155,0.018
|
||
cLn part,wMat,-0.0155,0.018,-0.016633974596216,0.018
|
||
cArc part,wMat,-0.016633974596216,0.018,-0.016792893218813,0.018207106781187,-0.017,0.018366025403784
|
||
cLn part,wMat,-0.017,0.018366025403784,-0.017,0.0195
|
||
cLn part,wMat,-0.017,0.0195,-0.018,0.0195
|
||
cLn part,wMat,-0.018,0.0195,-0.018,0.018366025403784
|
||
cArc part,wMat,-0.018,0.018366025403784,-0.018207106781187,0.018207106781187,-0.018366025403784,0.018
|
||
cLn part,wMat,-0.018366025403784,0.018,-0.0195,0.018
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag7(part,wMat)
|
||
cCir part,wMat,-0.0175,-0.0175,0.0025
|
||
cLn part,wMat,-0.0195,-0.018,-0.018366025403784,-0.018
|
||
cArc part,wMat,-0.018366025403784,-0.018,-0.018207106781187,-0.018207106781187,-0.018,-0.018366025403784
|
||
cLn part,wMat,-0.018,-0.018366025403784,-0.018,-0.0195
|
||
cLn part,wMat,-0.018,-0.0195,-0.017,-0.0195
|
||
cLn part,wMat,-0.017,-0.0195,-0.017,-0.018366025403784
|
||
cArc part,wMat,-0.017,-0.018366025403784,-0.016792893218813,-0.018207106781187,-0.016633974596216,-0.018
|
||
cLn part,wMat,-0.016633974596216,-0.018,-0.0155,-0.018
|
||
cLn part,wMat,-0.0155,-0.018,-0.0155,-0.017
|
||
cLn part,wMat,-0.0155,-0.017,-0.016633974596216,-0.017
|
||
cArc part,wMat,-0.016633974596216,-0.017,-0.016792893218813,-0.016792893218813,-0.017,-0.016633974596216
|
||
cLn part,wMat,-0.017,-0.016633974596216,-0.017,-0.0155
|
||
cLn part,wMat,-0.017,-0.0155,-0.018,-0.0155
|
||
cLn part,wMat,-0.018,-0.0155,-0.018,-0.016633974596216
|
||
cArc part,wMat,-0.018,-0.016633974596216,-0.018207106781187,-0.016792893218813,-0.018366025403784,-0.017
|
||
cLn part,wMat,-0.018366025403784,-0.017,-0.0195,-0.017
|
||
cLn part,wMat,-0.0195,-0.017,-0.0195,-0.018
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag8(part,wMat)
|
||
cLn part,wMat,-0.0175,0.023,-0.0145,0.023
|
||
cLn part,wMat,-0.0145,0.023,-0.0150415,0.0224585
|
||
cLn part,wMat,-0.0150415,0.0224585,-0.0150415,0.011
|
||
cLn part,wMat,-0.0150415,0.011,-0.0175,0.011
|
||
cLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
cCLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag9(part,wMat)
|
||
cLn part,wMat,-0.0175,0.023,-0.0145,0.023
|
||
cLn part,wMat,-0.0145,0.023,-0.0150415,0.0224585
|
||
cLn part,wMat,-0.0150415,0.0224585,-0.0150415,0.011
|
||
cLn part,wMat,-0.0150415,0.011,-0.0175,0.011
|
||
cLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
cCLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag10(part,wMat)
|
||
cLn part,wMat,-0.0175,0.023,-0.0145,0.023
|
||
cLn part,wMat,-0.0145,0.023,-0.0150415,0.0224585
|
||
cLn part,wMat,-0.0150415,0.0224585,-0.0150415,0.011
|
||
cLn part,wMat,-0.0150415,0.011,-0.0175,0.011
|
||
cLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
cCLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag11(part,wMat)
|
||
cLn part,wMat,-0.0175,0.023,-0.0145,0.023
|
||
cLn part,wMat,-0.0145,0.023,-0.0150415,0.0224585
|
||
cLn part,wMat,-0.0150415,0.0224585,-0.0150415,0.011
|
||
cLn part,wMat,-0.0150415,0.011,-0.0175,0.011
|
||
cLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
cCLn part,wMat,-0.0175,0.011,-0.0175,0.023
|
||
Part.SketchManager.InsertSketch True
|
||
end sub
|
||
|
||
sub codeBag0(part,featMgr)
|
||
part.CreatePlaneFixed2 createVec3d(0,0,0),createVec3d(0,0,-1),createVec3d(0,1,0),1
|
||
set feat4=part.Extension.GetLastFeatureAdded()
|
||
feat4.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,0,0,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag1 part,wMat
|
||
set feat4=part.Extension.GetLastFeatureAdded()
|
||
feat4.select2 false,0
|
||
featMgr.FeatureExtrusion2 0,0,1,0,0,0.025,0.025,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0,0,0),createVec3d(0,0,-1),createVec3d(0,1,0),1
|
||
set feat6=part.Extension.GetLastFeatureAdded()
|
||
feat6.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,0,0,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag2 part,wMat
|
||
set feat6=part.Extension.GetLastFeatureAdded()
|
||
feat6.select2 false,0
|
||
featMgr.FeatureExtrusion2 0,0,1,0,0,0.0225,0.0225,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0,0,0),createVec3d(0,0,-1),createVec3d(0,1,0),1
|
||
set feat8=part.Extension.GetLastFeatureAdded()
|
||
feat8.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,0,0,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag3 part,wMat
|
||
set feat8=part.Extension.GetLastFeatureAdded()
|
||
feat8.select2 false,0
|
||
featMgr.FeatureExtrusion2 0,0,1,0,0,0.0225,0.0225,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0,-0.016,0),createVec3d(1,-0.016,0),createVec3d(0,-0.016,-1),1
|
||
set feat11=part.Extension.GetLastFeatureAdded()
|
||
feat11.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(1,0,0,0,0,-1,0,1,0,0,-0.016,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag4 part,wMat
|
||
set feat11=part.Extension.GetLastFeatureAdded()
|
||
feat11.select2 false,0
|
||
featMgr.FeatureExtrusion2 1,0,1,0,0,0.0005,0.0005,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0,-0.016,0),createVec3d(1,-0.016,0),createVec3d(0,-0.016,-1),1
|
||
set feat13=part.Extension.GetLastFeatureAdded()
|
||
feat13.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(1,0,0,0,0,-1,0,1,0,0,-0.016,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag5 part,wMat
|
||
set feat13=part.Extension.GetLastFeatureAdded()
|
||
feat13.select2 false,0
|
||
featMgr.FeatureExtrusion2 1,0,1,0,0,0.0005,0.0005,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0,-0.016,0),createVec3d(1,-0.016,0),createVec3d(0,-0.016,-1),1
|
||
set feat15=part.Extension.GetLastFeatureAdded()
|
||
feat15.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(1,0,0,0,0,-1,0,1,0,0,-0.016,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag6 part,wMat
|
||
set feat15=part.Extension.GetLastFeatureAdded()
|
||
feat15.select2 false,0
|
||
featMgr.FeatureExtrusion2 1,0,1,0,0,0.0005,0.0005,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0,-0.016,0),createVec3d(1,-0.016,0),createVec3d(0,-0.016,-1),1
|
||
set feat17=part.Extension.GetLastFeatureAdded()
|
||
feat17.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(1,0,0,0,0,-1,0,1,0,0,-0.016,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag7 part,wMat
|
||
set feat17=part.Extension.GetLastFeatureAdded()
|
||
feat17.select2 false,0
|
||
featMgr.FeatureExtrusion2 1,0,1,0,0,0.0005,0.0005,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0
|
||
part.CreatePlaneFixed2 createVec3d(0.0175,0,0),createVec3d(0.0175,0,-1),createVec3d(0.0175,1,0),1
|
||
set feat22=part.Extension.GetLastFeatureAdded()
|
||
feat22.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,0.0175,0,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag8 part,wMat
|
||
set feat22=part.Extension.GetLastFeatureAdded()
|
||
feat22.select2 false,0
|
||
featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false
|
||
if getEdgeFromModel(part,createVec3d(0.0175,0.0224585,0.0150415),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
elseif getEdgeFromModel(part,createVec3d(0.0175,0.011,0.0150415),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
End If
|
||
part.CreatePlaneFixed2 createVec3d(-0.0175,0,0),createVec3d(-0.0175,0,-1),createVec3d(-0.0175,1,0),1
|
||
set feat28=part.Extension.GetLastFeatureAdded()
|
||
feat28.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,-0.0175,0,0)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag9 part,wMat
|
||
set feat28=part.Extension.GetLastFeatureAdded()
|
||
feat28.select2 false,0
|
||
featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false
|
||
if getEdgeFromModel(part,createVec3d(-0.0175,0.0224585,0.0150415),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
elseif getEdgeFromModel(part,createVec3d(-0.0175,0.011,0.0150415),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
End If
|
||
part.CreatePlaneFixed2 createVec3d(0.0175,0,-0.035),createVec3d(0.0175,0,-1.035),createVec3d(0.0175,1,-0.035),1
|
||
set feat29=part.Extension.GetLastFeatureAdded()
|
||
feat29.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,0.0175,0,-0.035)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag10 part,wMat
|
||
set feat29=part.Extension.GetLastFeatureAdded()
|
||
feat29.select2 false,0
|
||
featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false
|
||
if getEdgeFromModel(part,createVec3d(0.0175,0.0224585,-0.0199585),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
elseif getEdgeFromModel(part,createVec3d(0.0175,0.011,-0.0199585),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
End If
|
||
part.CreatePlaneFixed2 createVec3d(-0.0175,0,-0.035),createVec3d(-0.0175,0,-1.035),createVec3d(-0.0175,1,-0.035),1
|
||
set feat30=part.Extension.GetLastFeatureAdded()
|
||
feat30.select2 false,0
|
||
part.SketchManager.InsertSketch True
|
||
part.BlankRefGeom
|
||
Set swActiveMat = Part.SketchManager.ActiveSketch
|
||
swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm)
|
||
mSkMat=createMat4x4FromValues(0,0,-1,0,1,0,1,0,0,-0.0175,0,-0.035)
|
||
wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat)
|
||
codeBag11 part,wMat
|
||
set feat30=part.Extension.GetLastFeatureAdded()
|
||
feat30.select2 false,0
|
||
featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false
|
||
if getEdgeFromModel(part,createVec3d(-0.0175,0.0224585,-0.0199585),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
elseif getEdgeFromModel(part,createVec3d(-0.0175,0.011,-0.0199585),cylEdge) then
|
||
cylEdge.Select(false)
|
||
Part.InsertCosmeticThread 0,0.006,0.012,""
|
||
End If
|
||
end sub
|
||
|
||
sub main
|
||
set swApp = Application.SldWorks
|
||
code = swApp.RevisionNumber
|
||
found = InStr(code, ".")
|
||
If (found > 0) Then
|
||
code = Left(code, found-1)
|
||
docVisible=1
|
||
If (CInt(code) >= 18) Then
|
||
docVisible=0
|
||
End If
|
||
End If
|
||
swApp.SetUserPreferenceToggle 11, FALSE
|
||
swApp.SetUserPreferenceToggle 97, FALSE
|
||
storePath=BrowseForFolder
|
||
If (storePath <> "") Then
|
||
If ((Right(storePath, 1) <> "\") And (Right(storePath, 1) <> "/")) Then
|
||
storePath = storePath + "\"
|
||
End If
|
||
createPart0
|
||
End If
|
||
end sub
|