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 & "SBSg620-500L (25 3).sldprt",1,3,"", errors, warnings) swApp.ActivateDoc2 "SBSg620-500L (25 3).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 "SBSg620-500L (25 3).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, "SBSg620-500L (25 3)" customPropMgr.Add2 "NN", 30, "SBS" customPropMgr.Add2 "NT", 30, "Support Rail Unit" customPropMgr.Add2 "NBSYN", 30, "SBS$SHAFT.$TOL.$SD1.-$L.L ($N. $NH.)" customPropMgr.Add2 "LINA", 30, "SBSg620-500L" customPropMgr.Add2 "CATALOG", 30, "Samick Precision" customPropMgr.Add2 "PN", 30, "SBS20" customPropMgr.Add2 "SHAFT", 30, "Standard(SUJ2)" customPropMgr.Add2 "TOL", 30, "Asian STD g6 Tolerance Shaft" customPropMgr.Add2 "SD", 30, "F20" customPropMgr.Add2 "L", 30, "500" customPropMgr.Add2 "E", 30, "22.5" customPropMgr.Add2 "HH", 30, "27" customPropMgr.Add2 "B", 30, "45" customPropMgr.Add2 "H", 30, "17.72" customPropMgr.Add2 "T", 30, "5" customPropMgr.Add2 "F", 30, "19.0" customPropMgr.Add2 "X", 30, "8.0" customPropMgr.Add2 "Y", 30, "10.0" customPropMgr.Add2 "C", 30, "30" customPropMgr.Add2 "THETA", 30, "50" customPropMgr.Add2 "S1", 30, "F5.5" customPropMgr.Add2 "A1", 30, "6.5" customPropMgr.Add2 "A2", 30, "11.0" customPropMgr.Add2 "D1", 30, "6.6" customPropMgr.Add2 "W", 30, "3.500" customPropMgr.Add2 "MAXL", 30, "3000" customPropMgr.Add2 "P", 30, "150" customPropMgr.Add2 "SD1", 30, "20" customPropMgr.Add2 "SUPPLIER", 30, "SAMICKPR" customPropMgr.Add2 "ARTICLENO", 30, "SBSg620-500L (25 3)" customPropMgr.Add2 "BOMINFO", 30, "SBSg620-500L" customPropMgr.Add2 "CREATOR", 30, "CADENAS GmbH" customPropMgr.Add2 "IsFastener", 30, "0" part.SummaryInfo(0)="SBSg620-500L" part.SummaryInfo(4)="Support Rail Unit" part.SummaryInfo(2)="Cadenas PARTsolutions" valRGB=part.MaterialPropertyValues valRGB(0)=0.68999999761581 valRGB(1)=0.68999999761581 valRGB(2)=0.68999999761581 valRGB(7)=0 part.MaterialPropertyValues=valRGB Dim featMgr as object set featMgr = part.FeatureManager codeBag0 part,featMgr codeBag15 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 & "SBSg620-500L (25 3).sldprt",0,0,nothing,errors,warnings End Sub sub codeBag1(part,wMat) cLn part,wMat,-0.0225,-0.0223,-0.0225,-0.0267 cArc part,wMat,-0.0225,-0.0267,-0.022412132034356,-0.026912132034356,-0.0222,-0.027 cLn part,wMat,-0.0222,-0.027,0.0222,-0.027 cArc part,wMat,0.0222,-0.027,0.022412132034356,-0.026912132034356,0.0225,-0.0267 cLn part,wMat,0.0225,-0.0267,0.0225,-0.0223 cArc part,wMat,0.0225,-0.0223,0.022412132034356,-0.022087867965644,0.0222,-0.022 cLn part,wMat,0.0222,-0.022,0.0098,-0.022 cArc part,wMat,0.0098,-0.022,0.009587867965644,-0.021912132034356,0.0095,-0.0217 cLn part,wMat,0.0095,-0.0217,0.0095,-0.0173 cArc part,wMat,0.0095,-0.0173,0.009412132034356,-0.017087867965644,0.0092,-0.017 cLn part,wMat,0.0092,-0.017,0.0077910161991988,-0.017 cArc part,wMat,0.0077910161991988,-0.017,0.0076298263166948,-0.016953017433744,0.0075191238630878,-0.016826785478522 cLn part,wMat,0.0075191238630878,-0.016826785478522,0.0040807712578687,-0.0094532145214778 cArc part,wMat,0.0040807712578687,-0.0094532145214778,0.0039700688042618,-0.0093269825662561,0.0038088789217578,-0.00928 cLn part,wMat,0.0038088789217578,-0.00928,-0.0038088789217578,-0.00928 cArc part,wMat,-0.0038088789217578,-0.00928,-0.0039700688042618,-0.0093269825662561,-0.0040807712578687,-0.0094532145214778 cLn part,wMat,-0.0040807712578687,-0.0094532145214778,-0.0075191238630878,-0.016826785478522 cArc part,wMat,-0.0075191238630878,-0.016826785478522,-0.0076298263166948,-0.016953017433744,-0.0077910161991988,-0.017 cLn part,wMat,-0.0077910161991988,-0.017,-0.0092,-0.017 cArc part,wMat,-0.0092,-0.017,-0.009412132034356,-0.017087867965644,-0.0095,-0.0173 cLn part,wMat,-0.0095,-0.0173,-0.0095,-0.0217 cArc part,wMat,-0.0095,-0.0217,-0.009587867965644,-0.021912132034356,-0.0098,-0.022 cLn part,wMat,-0.0098,-0.022,-0.0222,-0.022 cArc part,wMat,-0.0222,-0.022,-0.022412132034356,-0.022087867965644,-0.0225,-0.0223 Part.SketchManager.InsertSketch True end sub sub codeBag2(part,wMat) cCir part,wMat,0,0,0.01 Part.SketchManager.InsertSketch True end sub sub codeBag3(part,wMat) cLn part,wMat,0.015,-0.022,0.01775,-0.022 cLn part,wMat,0.01775,-0.022,0.01775,-0.027 cLn part,wMat,0.01775,-0.027,0.015,-0.027 cLn part,wMat,0.015,-0.027,0.015,-0.022 cCLn part,wMat,0.015,-0.027,0.015,-0.022 Part.SketchManager.InsertSketch True end sub sub codeBag4(part,wMat) cLn part,wMat,-0.015,-0.027,-0.01775,-0.027 cLn part,wMat,-0.01775,-0.027,-0.01775,-0.022 cLn part,wMat,-0.01775,-0.022,-0.015,-0.022 cLn part,wMat,-0.015,-0.022,-0.015,-0.027 cCLn part,wMat,-0.015,-0.022,-0.015,-0.027 Part.SketchManager.InsertSketch True end sub sub codeBag5(part,wMat) cLn part,wMat,0.015,-0.022,0.01775,-0.022 cLn part,wMat,0.01775,-0.022,0.01775,-0.027 cLn part,wMat,0.01775,-0.027,0.015,-0.027 cLn part,wMat,0.015,-0.027,0.015,-0.022 cCLn part,wMat,0.015,-0.027,0.015,-0.022 Part.SketchManager.InsertSketch True end sub sub codeBag6(part,wMat) cLn part,wMat,-0.015,-0.027,-0.01775,-0.027 cLn part,wMat,-0.01775,-0.027,-0.01775,-0.022 cLn part,wMat,-0.01775,-0.022,-0.015,-0.022 cLn part,wMat,-0.015,-0.022,-0.015,-0.027 cCLn part,wMat,-0.015,-0.022,-0.015,-0.027 Part.SketchManager.InsertSketch True end sub sub codeBag7(part,wMat) cLn part,wMat,0.015,-0.022,0.01775,-0.022 cLn part,wMat,0.01775,-0.022,0.01775,-0.027 cLn part,wMat,0.01775,-0.027,0.015,-0.027 cLn part,wMat,0.015,-0.027,0.015,-0.022 cCLn part,wMat,0.015,-0.027,0.015,-0.022 Part.SketchManager.InsertSketch True end sub sub codeBag8(part,wMat) cLn part,wMat,0.015,-0.022,0.01775,-0.022 cLn part,wMat,0.01775,-0.022,0.01775,-0.027 cLn part,wMat,0.01775,-0.027,0.015,-0.027 cLn part,wMat,0.015,-0.027,0.015,-0.022 cCLn part,wMat,0.015,-0.027,0.015,-0.022 Part.SketchManager.InsertSketch True end sub sub codeBag9(part,wMat) cLn part,wMat,-0.015,-0.027,-0.01775,-0.027 cLn part,wMat,-0.01775,-0.027,-0.01775,-0.022 cLn part,wMat,-0.01775,-0.022,-0.015,-0.022 cLn part,wMat,-0.015,-0.022,-0.015,-0.027 cCLn part,wMat,-0.015,-0.022,-0.015,-0.027 Part.SketchManager.InsertSketch True end sub sub codeBag10(part,wMat) cLn part,wMat,-0.015,-0.027,-0.01775,-0.027 cLn part,wMat,-0.01775,-0.027,-0.01775,-0.022 cLn part,wMat,-0.01775,-0.022,-0.015,-0.022 cLn part,wMat,-0.015,-0.022,-0.015,-0.027 cCLn part,wMat,-0.015,-0.022,-0.015,-0.027 Part.SketchManager.InsertSketch True end sub sub codeBag11(part,wMat) cLn part,wMat,-8.8817841970013e-19,-0.0267,0.0049,-0.0267 cLn part,wMat,0.0049,-0.0267,0.0052,-0.0264 cLn part,wMat,0.0052,-0.0264,0.0052,-0.0205 cLn part,wMat,0.0052,-0.0205,0.0055,-0.0205 cLn part,wMat,0.0055,-0.0205,0.0055,-0.0267 cArc part,wMat,0.0055,-0.0267,0.005587867965644,-0.026912132034356,0.0058,-0.027 cLn part,wMat,0.0058,-0.027,-8.8817841970013e-19,-0.027 cLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0267 cCLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0205 Part.SketchManager.InsertSketch True end sub sub codeBag12(part,wMat) cLn part,wMat,-8.8817841970013e-19,-0.0267,0.0049,-0.0267 cLn part,wMat,0.0049,-0.0267,0.0052,-0.0264 cLn part,wMat,0.0052,-0.0264,0.0052,-0.0205 cLn part,wMat,0.0052,-0.0205,0.0055,-0.0205 cLn part,wMat,0.0055,-0.0205,0.0055,-0.0267 cArc part,wMat,0.0055,-0.0267,0.005587867965644,-0.026912132034356,0.0058,-0.027 cLn part,wMat,0.0058,-0.027,-8.8817841970013e-19,-0.027 cLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0267 cCLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0205 Part.SketchManager.InsertSketch True end sub sub codeBag13(part,wMat) cLn part,wMat,-8.8817841970013e-19,-0.0267,0.0049,-0.0267 cLn part,wMat,0.0049,-0.0267,0.0052,-0.0264 cLn part,wMat,0.0052,-0.0264,0.0052,-0.0205 cLn part,wMat,0.0052,-0.0205,0.0055,-0.0205 cLn part,wMat,0.0055,-0.0205,0.0055,-0.0267 cArc part,wMat,0.0055,-0.0267,0.005587867965644,-0.026912132034356,0.0058,-0.027 cLn part,wMat,0.0058,-0.027,-8.8817841970013e-19,-0.027 cLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0267 cCLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0205 Part.SketchManager.InsertSketch True end sub sub codeBag14(part,wMat) cLn part,wMat,-8.8817841970013e-19,-0.0267,0.0049,-0.0267 cLn part,wMat,0.0049,-0.0267,0.0052,-0.0264 cLn part,wMat,0.0052,-0.0264,0.0052,-0.0205 cLn part,wMat,0.0052,-0.0205,0.0055,-0.0205 cLn part,wMat,0.0055,-0.0205,0.0055,-0.0267 cArc part,wMat,0.0055,-0.0267,0.005587867965644,-0.026912132034356,0.0058,-0.027 cLn part,wMat,0.0058,-0.027,-8.8817841970013e-19,-0.027 cLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0267 cCLn part,wMat,-8.8817841970013e-19,-0.027,-8.8817841970013e-19,-0.0205 Part.SketchManager.InsertSketch True end sub sub codeBag0(part,featMgr) part.CreatePlaneFixed2 createVec3d(0,0,0),createVec3d(1,0,0),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(1,0,0,0,1,0,0,0,1,0,0,0) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag1 part,wMat set feat4=part.Extension.GetLastFeatureAdded() feat4.select2 false,0 featMgr.FeatureExtrusion2 1,0,1,0,0,0.5,0.5,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0 part.CreatePlaneFixed2 createVec3d(0,0,0),createVec3d(1,0,0),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(1,0,0,0,1,0,0,0,1,0,0,0) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag2 part,wMat set feat6=part.Extension.GetLastFeatureAdded() feat6.select2 false,0 featMgr.FeatureExtrusion2 1,0,1,0,0,0.5,0.5,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0 part.CreatePlaneFixed2 createVec3d(0,0,-0.025),createVec3d(1,0,-0.025),createVec3d(0,1,-0.025),1 set feat10=part.Extension.GetLastFeatureAdded() feat10.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,0,0,-0.025) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag3 part,wMat set feat10=part.Extension.GetLastFeatureAdded() feat10.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(0,0,-0.025),createVec3d(1,0,-0.025),createVec3d(0,1,-0.025),1 set feat12=part.Extension.GetLastFeatureAdded() feat12.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,0,0,-0.025) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag4 part,wMat set feat12=part.Extension.GetLastFeatureAdded() feat12.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(0,0,-0.475),createVec3d(1,0,-0.475),createVec3d(0,1,-0.475),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,1,0,0,0,1,0,0,-0.475) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag5 part,wMat set feat15=part.Extension.GetLastFeatureAdded() feat15.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(0,0,-0.475),createVec3d(1,0,-0.475),createVec3d(0,1,-0.475),1 set feat16=part.Extension.GetLastFeatureAdded() feat16.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,0,0,-0.475) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag6 part,wMat set feat16=part.Extension.GetLastFeatureAdded() feat16.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(0,0,-0.175),createVec3d(1,0,-0.175),createVec3d(0,1,-0.175),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(1,0,0,0,1,0,0,0,1,0,0,-0.175) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag7 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 part.CreatePlaneFixed2 createVec3d(0,0,-0.325),createVec3d(1,0,-0.325),createVec3d(0,1,-0.325),1 set feat23=part.Extension.GetLastFeatureAdded() feat23.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,0,0,-0.325) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag8 part,wMat set feat23=part.Extension.GetLastFeatureAdded() feat23.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(0,0,-0.175),createVec3d(1,0,-0.175),createVec3d(0,1,-0.175),1 set feat27=part.Extension.GetLastFeatureAdded() feat27.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,0,0,-0.175) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag9 part,wMat set feat27=part.Extension.GetLastFeatureAdded() feat27.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(0,0,-0.325),createVec3d(1,0,-0.325),createVec3d(0,1,-0.325),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(1,0,0,0,1,0,0,0,1,0,0,-0.325) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag10 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 part.CreatePlaneFixed2 createVec3d(0,0,-0.025),createVec3d(1,0,-0.025),createVec3d(0,1,-0.025),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(1,0,0,0,1,0,0,0,1,0,0,-0.025) 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 part.CreatePlaneFixed2 createVec3d(8.8817841970013e-19,0,-0.175),createVec3d(1,0,-0.175),createVec3d(8.8817841970013e-19,1,-0.175),1 set feat35=part.Extension.GetLastFeatureAdded() feat35.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,8.8817841970013e-19,0,-0.175) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag12 part,wMat set feat35=part.Extension.GetLastFeatureAdded() feat35.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(8.8817841970013e-19,0,-0.325),createVec3d(1,0,-0.325),createVec3d(8.8817841970013e-19,1,-0.325),1 set feat36=part.Extension.GetLastFeatureAdded() feat36.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,8.8817841970013e-19,0,-0.325) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag13 part,wMat set feat36=part.Extension.GetLastFeatureAdded() feat36.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false part.CreatePlaneFixed2 createVec3d(8.8817841970013e-19,0,-0.475),createVec3d(1,0,-0.475),createVec3d(8.8817841970013e-19,1,-0.475),1 set feat37=part.Extension.GetLastFeatureAdded() feat37.select2 false,0 part.SketchManager.InsertSketch True part.BlankRefGeom Set swActiveMat = Part.SketchManager.ActiveSketch swSketchMat= createMatFromSWMat(swActiveMat.ModelToSketchXForm) mSkMat=createMat4x4FromValues(1,0,0,0,1,0,0,0,1,8.8817841970013e-19,0,-0.475) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag14 part,wMat set feat37=part.Extension.GetLastFeatureAdded() feat37.select2 false,0 featMgr.FeatureRevolveCut2 6.2831853071796,1,6.2831853071796,0,0,1,1,false,false,false end sub sub codeBag16(part,wMat) cLn part,wMat,-0.002275,-0.0013134718624064,0,-0.0026269437248128 cLn part,wMat,0,-0.0026269437248128,0.002275,-0.0013134718624064 cLn part,wMat,0.002275,-0.0013134718624064,0.002275,0.0013134718624064 cLn part,wMat,0.002275,0.0013134718624064,0,0.0026269437248128 cLn part,wMat,0,0.0026269437248128,-0.002275,0.0013134718624064 cLn part,wMat,-0.002275,0.0013134718624064,-0.002275,-0.0013134718624064 Part.SketchManager.InsertSketch True end sub sub codeBag17(part,wMat) cLn part,wMat,-0.002275,-0.0013134718624064,0,-0.0026269437248128 cLn part,wMat,0,-0.0026269437248128,0.002275,-0.0013134718624064 cLn part,wMat,0.002275,-0.0013134718624064,0.002275,0.0013134718624064 cLn part,wMat,0.002275,0.0013134718624064,0,0.0026269437248128 cLn part,wMat,0,0.0026269437248128,-0.002275,0.0013134718624064 cLn part,wMat,-0.002275,0.0013134718624064,-0.002275,-0.0013134718624064 Part.SketchManager.InsertSketch True end sub sub codeBag18(part,wMat) cLn part,wMat,-0.002275,-0.0013134718624064,0,-0.0026269437248128 cLn part,wMat,0,-0.0026269437248128,0.002275,-0.0013134718624064 cLn part,wMat,0.002275,-0.0013134718624064,0.002275,0.0013134718624064 cLn part,wMat,0.002275,0.0013134718624064,0,0.0026269437248128 cLn part,wMat,0,0.0026269437248128,-0.002275,0.0013134718624064 cLn part,wMat,-0.002275,0.0013134718624064,-0.002275,-0.0013134718624064 Part.SketchManager.InsertSketch True end sub sub codeBag19(part,wMat) cLn part,wMat,-0.002275,-0.0013134718624064,0,-0.0026269437248128 cLn part,wMat,0,-0.0026269437248128,0.002275,-0.0013134718624064 cLn part,wMat,0.002275,-0.0013134718624064,0.002275,0.0013134718624064 cLn part,wMat,0.002275,0.0013134718624064,0,0.0026269437248128 cLn part,wMat,0,0.0026269437248128,-0.002275,0.0013134718624064 cLn part,wMat,-0.002275,0.0013134718624064,-0.002275,-0.0013134718624064 Part.SketchManager.InsertSketch True end sub sub codeBag15(part,featMgr) part.CreatePlaneFixed2 createVec3d(0,-0.0267,-0.025),createVec3d(1,-0.0267,-0.025),createVec3d(0,-0.0267,0.975),1 set feat39=part.Extension.GetLastFeatureAdded() feat39.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.0267,-0.025) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag16 part,wMat set feat39=part.Extension.GetLastFeatureAdded() feat39.select2 false,0 featMgr.FeatureCut3 1,0,0,0,0,0.003,0.003,1,1,0,0,0,0,0,0,0,0,0,1,1,false,false,false,0,0,0 part.CreatePlaneFixed2 createVec3d(0,-0.0267,-0.175),createVec3d(1,-0.0267,-0.175),createVec3d(0,-0.0267,0.825),1 set feat44=part.Extension.GetLastFeatureAdded() feat44.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.0267,-0.175) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag17 part,wMat set feat44=part.Extension.GetLastFeatureAdded() feat44.select2 false,0 featMgr.FeatureCut3 1,0,0,0,0,0.003,0.003,1,1,0,0,0,0,0,0,0,0,0,1,1,false,false,false,0,0,0 part.CreatePlaneFixed2 createVec3d(0,-0.0267,-0.325),createVec3d(1,-0.0267,-0.325),createVec3d(0,-0.0267,0.675),1 set feat45=part.Extension.GetLastFeatureAdded() feat45.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.0267,-0.325) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag18 part,wMat set feat45=part.Extension.GetLastFeatureAdded() feat45.select2 false,0 featMgr.FeatureCut3 1,0,0,0,0,0.003,0.003,1,1,0,0,0,0,0,0,0,0,0,1,1,false,false,false,0,0,0 part.CreatePlaneFixed2 createVec3d(0,-0.0267,-0.475),createVec3d(1,-0.0267,-0.475),createVec3d(0,-0.0267,0.525),1 set feat46=part.Extension.GetLastFeatureAdded() feat46.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.0267,-0.475) wMat=mulMat4x4Mat4x4(swSketchMat,mSkMat) codeBag19 part,wMat set feat46=part.Extension.GetLastFeatureAdded() feat46.select2 false,0 featMgr.FeatureCut3 1,0,0,0,0,0.003,0.003,1,1,0,0,0,0,0,0,0,0,0,1,1,false,false,false,0,0,0 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