Hi
I get this error at times in my configurator. i can correct it by simply choosing another configuration close to the one i need and then choose the first one again, the the errorr dosn't show, and the assy is as it should..?!
Is there any way i can get my rule to run again if theres an error..?
The error is unspecific, so im not realy sure whats wrong..
Any ideas?
Error message:
Error in rule: Opsætning, in document: Rulle.iam
Uspecificeret fejl (Exception from HRESULT: 0x80004005 (E_FAIL))
More info:
System.Runtime.InteropServices.COMException (0x80004005): Uspecificeret fejl (Exception from HRESULT: 0x80004005 (E_FAIL))
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Inventor.ComponentOccurrence.get_Name()
at LmiRuleScript.Main()
at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
/LSA
Solved! Go to Solution.
Solved by mrattray. Go to Solution.
You could try posting the trouble code, maybe something in it will pop out to someone here.
You can make your code repeat itself on an error like this:
'Declarations Dim counter As Integer = 0 Label: counter = counter +1 If counter = 2 Then MsgBox("You have problems.") Exit Sub End If On Error GoTo Label 'Do stuff that's causing errors
The counter is to prevent an infinite loop, just in case your problem doesn't fix itself:
Hi Mike (Not Matt)
Thanks for your quick reply..!
The code is 2600+ lines, so i didn't want to spam the forum with it.. 😄
i will try the loop, to see if that corrects it..
I´ll be back with a result..!
/LSA
Hmm... Apparently i can't use your "on error" along with "Try" which i have several times in my code...
I will post the full code now, and maybe somone find something in it.. XD
Note theres alot of test code which is not active, from when im trying something..! and also there are many phrases in Danish, which might confuse you.. 🙂
Sub Main() iLogicForm.Show ("Rulle konfigurator") 'Declarations 'Følgende forhindrer linjer i at køre hvis parten er supressed------------------------------------------------------------------------------------- ' Dim oAsmCompDef As AssemblyComponentDefinition ' oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition ' ' 'Iterate through all of the occurrences ' Dim oOcc As ComponentOccurrence ' ' For Each oOcc In oAsmCompDef.Occurrences ' Dim oName As String ' oName = oOcc.Name ' ' oOcc.Suppress (True) ' 'the argument is SkipDocumentSave, in default it is false. ' ' so you can also write as ' 'oOcc.Suppress() ' ' Next ' 'Parameter.Quiet = True Dim oAsmCompDef As AssemblyComponentDefinition oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition 'Iterate through all of the occurrences Dim oOcc As ComponentOccurrence Dim oName As String 'Definering af Ekstratætningsstørrelse ---------------------------------------------------------------------------------------------------------------- If AkselDia = "20" Then Component.Replace("Centertætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90075.ipt", True) Else If AkselDia = "25" Then Component.Replace("Centertætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90076.ipt", True) End If 'Definering af Standard ruller ----------------------------------------------------------------------------------------------------------------------- If StdRuller = "110-001 - Ø89x380x406 Ø20 2F14" Then Diameter = "89" Længde = "380" Tætning = "Skanroll" AkselDia = "20" Akselend1 = "Nøglevide" Akselend2 = "Nøglevide" Materiale = "S235" Ekstratæt = False Nøglevide = "14" Nøgledybde = "11" End If If StdRuller = "110-005 - Ø89x200x226 Ø20 2F14" Then Diameter = "89" Længde = "200" Tætning = "Skanroll" AkselDia = "20" Akselend1 = "Nøglevide" Akselend2 = "Nøglevide" Materiale = "S235" Ekstratæt = False Nøglevide = "14" Nøgledybde = "11" End If If StdRuller = "110-011 - Ø89x1150x1182 Ø20 2F14" Then Diameter = "89" Længde = "1150" Tætning = "Skanroll" AkselDia = "20" Akselend1 = "Nøglevide" Akselend2 = "Nøglevide" Materiale = "S235" Ekstratæt = False Nøglevide = "14" Nøgledybde = "11" End If If StdRuller = "110-022 - Ø89x465x491 Ø20 2F14" Then Diameter = "89" Længde = "465" Tætning = "Skanroll" AkselDia = "20" Akselend1 = "Nøglevide" Akselend2 = "Nøglevide" Materiale = "S235" Ekstratæt = False Nøglevide = "14" Nøgledybde = "11" End If Component.IsActive("Aksel:1") = True 'Definering af Diameter på rulle --------------------------------------------------------------------------------------------------- 'Ø30 If Diameter = "30" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name 'Rulle-1.ipt.RDiameter = "30" 'Rulle-1.ipt.RGods = "1,5" 'Rulle-1.ipt.Neddrejning = "28" 'Rulle-1.ipt.NeddrejDyb = "9" Try Parameter (oName, "RDiameter") = 30 'Part1 Parameter (oName, "Indv_diam") = 30-1.5-1.5 'Part1 'Parameter (oName, "RGods") = 1.5 'Part1 Parameter (oName, "Neddrejning") = 28 'Part1 Parameter (oName, "NeddrejDyb") = 8 'Part1 Catch End Try Component.IsActive("Lejehus:1") = False Component.IsActive("Lejehus:2") = False Tætning = "Ingen" Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False If AkselDia = "10" Then MessageBox.Show("Aksel diameter kan KUN være Ø8 og Ø12. (er nu sat til 8)", "Aksel Diameter") AkselDia = "8" End If If AkselDia > "12" Then MessageBox.Show("Aksel diameter kan KUN være Ø8 og Ø12. (er nu sat til 12)", "Aksel Diameter") AkselDia = "12" End If If AkselDia = "8" Then If Lejehus = "Alm leje og tætning" Then MessageBox.Show("En Ø8 aksel kan ikke være med alm leje og tætning. (Er nu sat til Kombineret leje og tætningshus)", "Aksel Diameter") Lejehus = "Kombineret leje og tætningshus" End If If Lejehus = "Kombineret leje og tætningshus" Then Component.IsActive("Leje:1") = False Component.IsActive("Leje:2") = False Component.Replace("kombihus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90088.ipt", True) End If End If If AkselDia = "12" Then If Lejehus = "Kombineret leje og tætningshus" Then MessageBox.Show("En Ø12 aksel kan ikke være med Kombineret leje og tætningshus. (Er nu sat til alm leje og tætning)", "Aksel Diameter") Lejehus = "Alm leje og tætning" End If If Lejehus = "Alm leje og tætning" Then Component.Replace("leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90044.ipt", True) End If End If If Kraftig_rulle = True Then 'Rulle-1.ipt.RDiameter = "30" 'Rulle-1.ipt.RGods = "2" Try Parameter (oName, "RDiameter") = 30 'Part1 Parameter (oName, "Indv_diam") = 30-2-2 'Part1 'Parameter (oName, "RGods") = 2 'Part1 Catch End Try End If Next 'RuleParametersOutput() 'InventorVb.DocumentUpdate() End If 'Ø38 If Diameter = "38" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name 'Rulle-1.ipt.Neddrejning = "35" 'Rulle-1.ipt.NeddrejDyb = "25" 'Rulle-1.ipt.RDiameter = "38" 'Rulle-1.ipt.RGods = "2" Try Parameter (oName, "RDiameter") = 38 'Part1 Parameter (oName, "Indv_diam") = 38-2-2 'Part1 'Parameter (oName, "RGods") = 2 'Part1 Parameter (oName, "Neddrejning") = 35 'Part1 Parameter (oName, "NeddrejDyb") = 25 'Part1 Catch End Try Component.IsActive("Lejehus:1") = False Component.IsActive("Lejehus:2") = False Component.IsActive("Kombihus:1") = False Component.IsActive("Kombihus:2") = False Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False If Tætning = "Ingen" Then 'Rulle-1.ipt.NeddrejDyb = "11" Try Parameter (oName, "NeddrejDyb") = 11 'Part1 Catch End Try End If If Tætning = "Simmerring" Then 'Rulle-1.ipt.NeddrejDyb = "18" Try Parameter (oName, "NeddrejDyb") = 18 'Part1 Catch End Try End If If AkselDia < "15" Then MessageBox.Show("Aksel diameter kan kun være Ø15. (er nu sat til 15)", "Aksel Diameter") AkselDia = "15" End If If AkselDia > "15" Then MessageBox.Show("Aksel diameter kan kun være Ø15. (er nu sat til 15)", "Aksel Diameter") AkselDia = "15" End If If AkselDia = "15" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90049.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90094.ipt", True) End If If Kraftig_rulle = True Then MessageBox.Show("Denne diameter findes IKKE i kraftig version. (Kraftig rulle er nu fravalgt)", "Kraftig rulle") Kraftig_rulle = False End If If Lejehus = "Kombineret leje og tætningshus" Then MessageBox.Show("Kombineret leje og tætningshus kan ikke vælges til Ø38 rulle. (er nu sat til Alm leje og tætning)", "Lejehus") Lejehus = "Alm leje og tætning" End If Next End If 'Ø50 If Diameter = "50" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False If Lejehus = "Kombineret leje og tætningshus" Then Try Parameter (oName, "RDiameter") = 50 'Part1 Parameter (oName, "Indv_diam") = 50-1.5-1.5 'Part1 'Parameter (oName, "RGods") = 1.5 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.Neddrejning = "1" 'Rulle-1.ipt.RDiameter = "50" 'Rulle-1.ipt.RGods = "1,5" Tætning = "Ingen" Component.IsActive("Lejehus:1") = False Component.IsActive("Lejehus:2") = False Component.IsActive("Leje:1") = False Component.IsActive("Leje:2") = False Component.IsActive("Kombihus:1") = True Component.IsActive("Kombihus:2") = True If AkselDia > "15" Then MessageBox.Show("Aksel diameter kan, med kombihus, kun være Ø8, Ø10 eller Ø15. (er nu sat til 15)", "Aksel Diameter") AkselDia = "15" End If If AkselDia = "12" Then MessageBox.Show("Aksel diameter kan, med kombihus, kun være Ø8, Ø10 eller Ø15. (er nu sat til 15)", "Aksel Diameter") AkselDia = "15" End If If AkselDia = "8" Then Component.Replace("Kombihus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90089.ipt", True) End If If AkselDia = "10" Then Component.Replace("Kombihus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90090.ipt", True) End If If AkselDia = "15" Then Component.Replace("Kombihus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90091.ipt", True) End If End If If Lejehus = "Alm leje og tætning" Then Component.IsActive("Lejehus:1") = False Component.IsActive("Lejehus:2") = False Try Parameter (oName, "RDiameter") = 50 'Part1 Parameter (oName, "Indv_diam") = 50-2-2 'Part1 'Parameter (oName, "RGods") = 2 'Part1 Parameter (oName, "Neddrejning") = 47 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "50" 'Rulle-1.ipt.RGods = "2" 'Rulle-1.ipt.Neddrejning = "47" If AkselDia < "20" Then MessageBox.Show("Hvis aksel diameter skal være under Ø20, skal kombineret leje og tætningshus vælges. (Er nu sat til Ø20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "30" Then MessageBox.Show("Aksel diameter kan IKKE være Ø30. (er nu sat til 25)", "Aksel Diameter") AkselDia = "25" End If If AkselDia = "20" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) If Tætning = "Ingen" Then Try Parameter (oName, "NeddrejDyb") = 14 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "14" End If If Tætning = "Metaltætning" Then Try Parameter (oName, "NeddrejDyb") = 29 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "29" End If If Tætning = "Simmerring" Then Try Parameter (oName, "NeddrejDyb") = 24 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "24" End If If Tætning = "Skanroll" Then Try Parameter (oName, "NeddrejDyb") = 24 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "24" End If If Tætning = "SKF Z-tætning" Then Try Parameter (oName, "NeddrejDyb") = 21 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "21" End If End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90047.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90069.ipt", True) If Tætning = "Ingen" Then Try Parameter (oName, "NeddrejDyb") = 12 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "12"------------------------------------------------------------------------------------------------------- End If If Tætning = "Simmerring" Then Try Parameter (oName, "NeddrejDyb") = 22 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "22" End If End If End If If Kraftig_rulle = True Then Try Parameter (oName, "RGods") = 3 'Part1 Parameter (oName, "Neddrejning") = 47 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "3" 'Rulle-1.ipt.Neddrejning = "47" End If Next End If 'Ø57 If Diameter = "57" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "RDiameter") = 57 'Part1 Parameter (oName, "Indv_diam") = 57-6.3-6.3 'Part1 'Parameter (oName, "RGods") = 6.3 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "57" 'Rulle-1.ipt.RGods = "6,3" Lejehus = "Alm leje og tætning" Component.IsActive("Lejehus:1") = False Component.IsActive("Lejehus:2") = False Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False If AkselDia < "20" Then MessageBox.Show("Aksel diameter skal være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "25" Then MessageBox.Show("Aksel diameter skal være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "20" Then Try Parameter (oName, "Neddrejning") = 47 'Part1 Catch End Try 'Rulle-1.ipt.Neddrejning = "47" Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) If Tætning = "Ingen" Then Try Parameter (oName, "NeddrejDyb") = 14 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "14" End If If Tætning = "Metaltætning" Then Try Parameter (oName, "NeddrejDyb") = 29 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "29" End If If Tætning = "Simmerring" Then Try Parameter (oName, "NeddrejDyb") = 24 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "24" End If If Tætning = "Skanroll" Then Try Parameter (oName, "NeddrejDyb") = 24 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "24" End If If Tætning = "SKF Z-tætning" Then Try Parameter (oName, "NeddrejDyb") = 21 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "21" End If End If If AkselDia = "25" Then Try Parameter (oName, "Neddrejning") = 52 'Part1 Catch End Try 'Rulle-1.ipt.Neddrejning = "52" Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90051.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90070.ipt", True) If Tætning = "Ingen" Then Try Parameter (oName, "NeddrejDyb") = 15 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "15" End If If Tætning = "Metaltætning" Then Try Parameter (oName, "NeddrejDyb") = 30 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "30" End If If Tætning = "Simmerring" Then Try Parameter (oName, "NeddrejDyb") = 25 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "25" End If If Tætning = "Skanroll" Then Try Parameter (oName, "NeddrejDyb") = 25 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "25" End If If Tætning = "SKF Z-tætning" Then Try Parameter (oName, "NeddrejDyb") = 22 'Part1 Catch End Try 'Rulle-1.ipt.NeddrejDyb = "22" End If End If If Kraftig_rulle = False Then MessageBox.Show("Denne diameter findes KUN i kraftig version. (Kraftig rulle er nu valgt)", "Kraftig rulle") Kraftig_rulle = True End If Next End If 'Ø60,3 If Diameter = "60,3" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 60.3 'Part1 Parameter (oName, "Indv_diam") = 60.3-2.9-2.9 'Part1 'Parameter (oName, "RGods") = 2.9 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "60,3" 'Rulle-1.ipt.RGods = "2,9" 'Rulle-1.ipt.Neddrejning = "1" Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90067.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If Kraftig_rulle = True Then MessageBox.Show("Denne diameter findes IKKE i kraftig version. (kraftig rulle er nu fravalgt)", "Kraftig rulle") Kraftig_rulle = False End If Next End If 'Ø63,5 If Diameter = "63,5" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 63.5 'Part1 Parameter (oName, "Indv_diam") = 63.5-2.5-2.5 'Part1 'Parameter (oName, "RGods") = 2.5 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "63,5" 'Rulle-1.ipt.RGods = "2,5" 'Rulle-1.ipt.Neddrejning = "1" Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90000.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If Kraftig_rulle = True Then Try Parameter (oName, "RGods") = 6.3 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "6,3" Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90000.ipt", True) End If Next End If 'Ø70 If Diameter = "70" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 70 'Part1 Parameter (oName, "Indv_diam") = 70-2.9-2.9 'Part1 'Parameter (oName, "RGods") = 2.9 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "70" 'Rulle-1.ipt.RGods = "2,9" 'Rulle-1.ipt.Neddrejning = "1" Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90082.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If Diameter = "70" AndAlso Kraftig_rulle = True Then MessageBox.Show("Denne diameter findes IKKE i kraftig version. (kraftig rulle er nu fravalgt)", "Kraftig rulle") Kraftig_rulle = False End If Next End If 'Ø76 If Diameter = "76" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 76.1 'Part1 Parameter (oName, "Indv_diam") = 76.1-2.9-2.9 'Part1 'Parameter (oName, "RGods") = 2.9 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "76,1" 'Rulle-1.ipt.RGods = "2,9" 'Rulle-1.ipt.Neddrejning = "1" Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "25" Then MessageBox.Show("Aksel diameter kan kun være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "20" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90001.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) End If If AkselDia = "25" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90002.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90051.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90070.ipt", True) End If If Kraftig_rulle = True Then MessageBox.Show("Denne diameter findes IKKE i kraftig version. (kraftig rulle er nu fravalgt)", "Kraftig rulle") Kraftig_rulle = False End If Next End If 'Ø80 If Diameter = "80" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 80 'Part1 Parameter (oName, "Indv_diam") = 80-5-5 'Part1 'Parameter (oName, "RGods") = 5 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "80" 'Rulle-1.ipt.RGods = "5" 'Rulle-1.ipt.Neddrejning = "1" Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "20" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90003.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) End If If Kraftig_rulle = True Then Try Parameter (oName, "RGods") = 7.5 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "7,5" End If Next End If 'Ø89 Pga daglig tale er Diameteren sat til 89 istedet for 88,9 If Diameter = "89" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 88.9 'Part1 Parameter (oName, "Indv_diam") = 88.9-2.9-2.9 'Part1 'Parameter (oName, "RGods") = 2.9 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "88,9" 'Rulle-1.ipt.RGods = "2,9" 'Rulle-1.ipt.Neddrejning = "1" Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "30" Then If Materiale = "S235" Then MessageBox.Show("Aksel diameter kan kun være Ø20 eller Ø25. (er nu sat til 25)", "Aksel Diameter") AkselDia = "25" End If End If If AkselDia = "20" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90004.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) End If If AkselDia = "25" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90006.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90051.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90070.ipt", True) End If If Kraftig_rulle = True Then booleanKraft = InputRadioBox("Hvor kraftig", "4mm", "6,3mm", booleanParam, Title := "Kraftig rulle") If booleanKraft = True Then Try Parameter (oName, "RGods") = 6.3 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "6,3" Else Try Parameter (oName, "RGods") = 4 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "4" End If End If Next End If 'Ø101,6 If Diameter = "101,6" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 101.6 'Part1 Parameter (oName, "Indv_diam") = 101.6-3.2-3.2 'Part1 'Parameter (oName, "RGods") = 3.2 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "101,6" 'Rulle-1.ipt.RGods = "3,2" 'Rulle-1.ipt.Neddrejning = "1" Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia > "25" Then MessageBox.Show("Aksel diameter kan kun være Ø20 eller Ø25. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "20" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90083.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) End If If AkselDia = "25" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90084.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90051.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90070.ipt", True) End If If Kraftig_rulle = True Then MessageBox.Show("Denne diameter findes IKKE i kraftig version. (kraftig rulle er nu fravalgt)", "Kraftig rulle") Kraftig_rulle = False End If Next End If 'Ø108 If Diameter = "108" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 108 'Part1 Parameter (oName, "Indv_diam") = 108-3.6-3.6 'Part1 'Parameter (oName, "RGods") = 3.6 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "108" 'Rulle-1.ipt.RGods = "3,6" 'Rulle-1.ipt.Neddrejning = "1" Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "20" Then MessageBox.Show("Aksel diameter kan kun være Ø20, Ø25 eller Ø30. (er nu sat til 20)", "Aksel Diameter") AkselDia = "20" End If If AkselDia = "20" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90007.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", True) End If If AkselDia = "25" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90008.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90051.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90070.ipt", True) End If If AkselDia = "25" AndAlso Kraftig_rulle = True Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90009.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90119.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90087.ipt", True) End If If AkselDia = "30" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90009.ipt", True) Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90061.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90073.ipt", True) End If If Kraftig_rulle = True Then Try Parameter (oName, "RGods") = 6.3 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "6,3" End If Next End If 'Ø133 If Diameter = "133" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 133 'Part1 Parameter (oName, "Indv_diam") = 133-3.6-3.6 'Part1 'Parameter (oName, "RGods") = 3.6 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "133" 'Rulle-1.ipt.RGods = "3,6" 'Rulle-1.ipt.Neddrejning = "1" Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90010.ipt", True) Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True If AkselDia < "25" Then MessageBox.Show("Aksel diameteren skal være minimun 25mm. (er nu sat til 25)", "Aksel Diameter") AkselDia = "25" End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90119.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90087.ipt", True) End If If AkselDia = "30" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90061.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90073.ipt", True) End If If Diameter = "133" AndAlso Kraftig_rulle = True Then Try Parameter (oName, "RGods") = 6.3 'Part1 Catch End Try 'Rulle-1.ipt.RGods = "6,3" End If Next End If 'Ø159 If Diameter = "159" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Lejehus = "Alm leje og tætning" Try Parameter (oName, "RDiameter") = 159 'Part1 Parameter (oName, "Indv_diam") = 159-6.3-6.3 'Part1 'Parameter (oName, "RGods") = 6.3 'Part1 Parameter (oName, "Neddrejning") = 1 'Part1 Catch End Try 'Rulle-1.ipt.RDiameter = "159" 'Rulle-1.ipt.RGods = "6,3" 'Rulle-1.ipt.Neddrejning = "1" Component.IsActive("Centertætning:1") = True Component.IsActive("Centertætning:4") = True Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90110.ipt", True) If AkselDia < "25" Then MessageBox.Show("Aksel diameteren skal være minimun 25mm. (er nu sat til 25)", "Aksel Diameter") AkselDia = "25" End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90119.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90087.ipt", True) End If If AkselDia = "30" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90052.ipt", True) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90073.ipt", True) End If Next End If If Diameter = "159" AndAlso Kraftig_rulle = True Then MessageBox.Show("Denne diameter findes IKKE i kraftig version. (kraftig rulle er nu fravalgt)", "Kraftig rulle") Kraftig_rulle = False End If 'Definering af Længde på rullen (selve rullens længde) ----------------------------------------------------------------------------------------------- If Diameter < "60" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Lejehus = "Kombineret leje og tætningshus" Then Try Parameter (oName, "RLængde") = Længde - 159 'Part1 Catch End Try 'Rulle-1.ipt.RLængde = Længde - "2" End If If Lejehus = "Alm leje og tætning" Then Try Parameter (oName, "RLængde") = Længde 'Part1 Catch End Try 'Rulle-1.ipt.RLængde = Længde End If Next End If If Diameter > "60" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "RLængde") = Længde - Measure.MinimumDistance("Work Plane1", "Work Plane2")- Measure.MinimumDistance("Work Plane1", "Work Plane2")'Part1 Catch End Try 'Rulle-1.ipt.RLængde = Længde - Measure.MinimumDistance("Work Plane1", "Work Plane2")- Measure.MinimumDistance("Work Plane1", "Work Plane2") Next End If 'Definering af 6-kant --------------------------------------------------------------------------------------------------------------------------------- If sekskant = True Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Diameter <> "50" Then MessageBox.Show("Du kan kun vælge sekskant til Ø50 rulle (Sekskant er nu fravalgt) ", "6-kant") sekskant = False End If If Lejehus = "Alm leje og tætning" Then MessageBox.Show("Du kan ikke vælge sekskant alm leje og tætning (Sekskant er nu fravalgt) ", "6-kant") sekskant = False End If If sekskant = True Then booleanseks = InputRadioBox("Udvendig eller indvendig", "Lejehus med Udvendig ", "Lejehus med Indvendig", booleanseks, Title := "6-kant type") If booleanseks = True Then Component.Replace("kombihus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90093.ipt", True) Component.IsActive("Aksel:1") = False End If If booleanseks = False Then Component.Replace("kombihus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90092.ipt", True) Component.IsActive("Aksel:1") = True Try Parameter (oName, "ADiameter") = 15 'Part2 Parameter (oName, "Sekskant") = True 'Part2 Catch End Try 'Rulle-2.ipt.ADiameter = "15" 'Rulle-2.ipt.Sekskant = True Constraint.IsActive("LejeAksel:1") = False Constraint.IsActive("LejeAksel:2") = False Constraint.IsActive("Sekskant:1") = True Constraint.IsActive("Sekskant:2") = True End If End If Next End If If sekskant = False Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Sekskant") = False 'Part2 Catch End Try 'Rulle-2.ipt.Sekskant = False Component.IsActive("Aksel:1") = True Constraint.IsActive("LejeAksel:1") = True Constraint.IsActive("LejeAksel:2") = True Constraint.IsActive("Sekskant:1") = False Constraint.IsActive("Sekskant:2") = False Next End If 'Definering af Aksel -------------------------------------------------------------------------------------------------------------------------------- If booleanseks = False Then If Udhæng = True Then booleanUdhæng = InputRadioBox("Ens udhæng i hver side?", "Nej, jeg vil have forskellige udhæng", "Ja, de skal være ens", booleanUdhæng, Title := "Ens udhæng") If booleanUdhæng = True Then If Længde <= "465" Then UdhængafstL = InputBox("Definer det længste udhæng (Hvis rullen proppes, er dette modsatte ende af proppen)", "Aksel udhæng", "13") UdhængafstK = InputBox("Definer det korteste udhæng (Hvis rullen proppes, skal denne være standard)", "Aksel udhæng", "13") For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Afst_lås_spor1") = UdhængafstK + 12.5 'Part2 Parameter (oName, "Afst_lås_spor2") = UdhængafstL + 12.5 'Part2 Catch End Try Next 'Rulle-2.ipt.Afst_lås_spor1 = UdhængafstK + "12,5" 'Rulle-2.ipt.Afst_lås_spor2 = UdhængafstL + "12,5" Else UdhængafstL = InputBox("Definer det længste udhæng (Hvis rullen proppes, er dette modsatte ende af proppen)", "Aksel udhæng", "16") UdhængafstK = InputBox("Definer det korteste udhæng (Hvis rullen proppes, skal denne være standard)", "Aksel udhæng", "16") For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Afst_lås_spor1") = UdhængafstK + 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = UdhængafstL + 15.5 'Part2 Catch End Try Next 'Rulle-2.ipt.Afst_lås_spor1 = UdhængafstK + "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = UdhængafstL + "15,5" End If CAkselCenter = (UdhængafstL - UdhængafstK)/"2" For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "ALængde") = Længde + UdhængafstK + UdhængafstL 'Part2 Catch End Try Next nLængde = Længde + UdhængafstK + UdhængafstL 'Rulle-2.ipt.ALængde = Længde + UdhængafstK + UdhængafstL Else CAkselCenter = "0" If Længde <= "465" Then Udhængafst = InputBox("Definer udhæng", "Aksel udhæng", "13") For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Afst_lås_spor1") = Udhængafst + 12.5 'Part2 Parameter (oName, "Afst_lås_spor2") = Udhængafst + 12.5 'Part2 Catch End Try Next 'Rulle-2.ipt.Afst_lås_spor1 = Udhængafst + "12,5" 'Rulle-2.ipt.Afst_lås_spor2 = Udhængafst + "12,5" Else Udhængafst = InputBox("Definer udhæng", "Aksel udhæng", "16") For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Afst_lås_spor1") = Udhængafst + 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = Udhængafst + 15.5 'Part2 Catch End Try Next 'Rulle-2.ipt.Afst_lås_spor1 = Udhængafst + "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = Udhængafst + "15,5" End If For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "ALængde") = Længde + Udhængafst + Udhængafst 'Part2 Catch End Try Next nLængde = Længde + Udhængafst + Udhængafst 'Rulle-2.ipt.ALængde = Længde + Udhængafst + Udhængafst End If Else CAkselCenter = "0" For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Længde <= "465" Then Try Parameter (oName, "ALængde") = Længde + 26 'Part2 Catch End Try nLængde = Længde + 26 'Rulle-2.ipt.ALængde = Længde + "26" Else Try Parameter (oName, "ALængde") = Længde + 32 'Part2 Catch End Try nLængde = Længde + 32 'Rulle-2.ipt.ALængde = Længde + "32" End If Next End If End If 'Definering af Constraints ----------------------------------------------------------------------------------------------------------------------------- If Lejehus = "Alm leje og tætning" Then Constraint.IsActive("Clejehus:1") = False Constraint.IsActive("Clejehus:2") = False End If If Lejehus = "Kombineret leje og tætningshus" Then Constraint.IsActive("Clejehus:1") = True Constraint.IsActive("Clejehus:2") = True End If 'Definering af Aksel diameter -------------------------------------------------------------------------------------------------------------------- For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "ADiameter") = AkselDia 'Part2 Catch End Try Next 'Rulle-2.ipt.ADiameter = AkselDia 'Definering af Låseringsspor ------------------------------------------------------------------------------------------------------------------------ If AkselDia = "8" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 0.94 'Part2 Parameter (oName, "Lås_spor_dybde") = 7 'Part2 Catch End Try Next 'Rulle-2.ipt.Låseringspor = "0,94" 'Rulle-2.ipt.Lås_spor_dybde = "7" End If If AkselDia = "10" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 1.1 'Part2 Parameter (oName, "Lås_spor_dybde") = 9.6 'Part2 Catch End Try Next 'Rulle-2.ipt.Låseringspor = "1,1" 'Rulle-2.ipt.Lås_spor_dybde = "9,6" End If If AkselDia = "12" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 1.1 'Part2 Parameter (oName, "Lås_spor_dybde") = 11.5 'Part2 Catch End Try Next 'Rulle-2.ipt.Låseringspor = "1,1" 'Rulle-2.ipt.Lås_spor_dybde = "11,5" End If If AkselDia = "15" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 1.1 'Part2 Parameter (oName, "Lås_spor_dybde") = 14.3 'Part2 Catch End Try 'Rulle-2.ipt.Låseringspor = "1,1" 'Rulle-2.ipt.Lås_spor_dybde = "14,3" If sekskant = True Then Try Parameter (oName, "Låseringspor") = 1.1 'Part2 Parameter (oName, "Lås_spor_dybde") = 9.6 'Part2 Catch End Try 'Rulle-2.ipt.Låseringspor = "1,1" 'Rulle-2.ipt.Lås_spor_dybde = "9,6" End If Next End If If AkselDia = "20" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 1.3 'Part2 Parameter (oName, "Lås_spor_dybde") = 19 'Part2 Catch End Try Next 'Rulle-2.ipt.Låseringspor = "1,3" 'Rulle-2.ipt.Lås_spor_dybde = "19" End If If AkselDia = "25" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 1.3 'Part2 Parameter (oName, "Lås_spor_dybde") = 23.9 'Part2 Catch End Try Next 'Rulle-2.ipt.Låseringspor = "1,3" 'Rulle-2.ipt.Lås_spor_dybde = "23,9" End If If AkselDia = "30" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Låseringspor") = 1.6 'Part2 Parameter (oName, "Lås_spor_dybde") = 28.6 'Part2 Catch End Try Next 'Rulle-2.ipt.Låseringspor = "1,6" 'Rulle-2.ipt.Lås_spor_dybde = "28,6" End If 'Definering af Akselender ------------------------------------------------------------------------------------------------------------------------- If Akselend1 = "Nøglevide" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende1") = "Nøglevide" 'Part2 Indbyg1 = Nøgledybde Catch End Try Next 'Rulle-2.ipt.Ende1 = "Nøglevide" Aend1 = "-1F" & Nøglevide 'Indbyg1 = Rulle-2.ipt.Nøgledybde End If If Akselend2 = "Nøglevide" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende2") = "Nøglevide" 'Part2 Indbyg2 = Nøgledybde Catch End Try Next 'Rulle-2.ipt.Ende2 = "Nøglevide" Aend2 = "-1F" & Nøglevide 'Indbyg2 = Rulle-2.ipt.Nøgledybde End If If Akselend1 = "Nøglevide" AndAlso Akselend2 = "Nøglevide" Then Aend1 = "-2F" & Nøglevide Aend2 = "" End If If Akselend1 = "Udvendig gevind" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende1") = "Udvendig gevind" 'Part2 Indbyg1 = 12 Catch End Try Next 'Rulle-2.ipt.Ende1 = "Udvendig gevind" Aend1 = "-1M" & AkselGevind & " udv." 'Indbyg1 = Rulle-2.ipt.Gevdyb End If If Akselend2 = "Udvendig gevind" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende2") = "Udvendig gevind" 'Part2 Indbyg2 = 12 'Part2 Catch End Try Next 'Rulle-2.ipt.Ende2 = "Udvendig gevind" Aend2 = "-1M" & AkselGevind & " udv." 'Indbyg2 = Rulle-2.ipt.Gevdyb End If If Akselend1 = "Udvendig gevind" AndAlso Akselend2 = "Udvendig gevind" Then Aend1 = "-2M" & AkselGevind & " udv." Aend2 = "" End If If Akselend1 = "Indvendig gevind" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende1") = "Indvendig gevind" 'Part2 Catch End Try Next 'Rulle-2.ipt.Ende1 = "Indvendig gevind" Aend1 = "-1M" & AkselGevind & " indv." Indbyg1 = "0" End If If Akselend2 = "Indvendig gevind" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende2") = "Indvendig gevind" 'Part2 Catch End Try Next 'Rulle-2.ipt.Ende2 = "Indvendig gevind" Aend2 = "-1M" & AkselGevind & " indv." Indbyg2 = "0" End If If Akselend1 = "Indvendig gevind" AndAlso Akselend2 = "Indvendig gevind" Then Aend1 = "-2M" & AkselGevind & " indv." Aend2 = "" End If If Akselend1 = "Nøglevide og indv. gevind" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende1") = "Nøglevide og indv. gevind" 'Part2 Indbyg1 = Nøgledybde Catch End Try Next 'Rulle-2.ipt.Ende1 = "Nøglevide og indv. gevind" Aend1 = "-1F" & Nøglevide & "+M" & AkselGevind & " indv." 'Indbyg1 = Rulle-2.ipt.Nøgledybde End If If Akselend2 = "Nøglevide og indv. gevind" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Ende2") = "Nøglevide og indv. gevind" 'Part2 Indbyg2 = Nøgledybde Catch End Try Next 'Rulle-2.ipt.Ende2 = "Nøglevide og indv. gevind" Aend2 = "-1F" & Nøglevide & "+M" & AkselGevind & " indv." 'Indbyg2 = Rulle-2.ipt.Nøgledybde End If If Akselend1 = "Nøglevide og indv. gevind" AndAlso Akselend2 = "Nøglevide og indv. gevind" Then Aend1 = "-2F" & Nøglevide & "+M" & AkselGevind & " indv." Aend2 = "" End If 'Definering af størrelsen på gevind ------------------------------------------------------------------------------------------------------------------ If AkselGevind > AkselDia Then MessageBox.Show("Din Aksel er blevet mindre end gevindet i enden. (Gevind nu sat til M6) ", "Gevind konflikt") AkselGevind = "6" End If If AkselGevind = "6" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Gevind") = 6 'Part2 Parameter (oName, "UdvGev") = 6 'Part2 Catch End Try Next 'Rulle-2.ipt.Gevind = "6" 'Rulle-2.ipt.UdvGev = "6" End If If AkselGevind = "8" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Gevind") = 8 'Part2 Parameter (oName, "UdvGev") = 8 'Part2 Catch End Try Next 'Rulle-2.ipt.Gevind = "8" 'Rulle-2.ipt.UdvGev = "8" End If If AkselGevind = "10" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Gevind") = 10 'Part2 Parameter (oName, "UdvGev") = 10 'Part2 Catch End Try Next 'Rulle-2.ipt.Gevind = "10" 'Rulle-2.ipt.UdvGev = "10" End If If AkselGevind = "12" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Gevind") = 12 'Part2 Parameter (oName, "UdvGev") = 12 'Part2 Catch End Try Next 'Rulle-2.ipt.Gevind = "12" 'Rulle-2.ipt.UdvGev = "12" End If If AkselGevind = "16" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Gevind") = 16 'Part2 Parameter (oName, "UdvGev") = 16 'Part2 Catch End Try Next 'Rulle-2.ipt.Gevind = "16" 'Rulle-2.ipt.UdvGev = "16" End If If AkselGevind = "20" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Gevind") = 20 'Part2 Parameter (oName, "UdvGev") = 20 'Part2 Catch End Try Next 'Rulle-2.ipt.Gevind = "20" 'Rulle-2.ipt.UdvGev = "20" End If 'Definering af Indbygningsmål ----------------------------------------------------------------------------------------------------------------- For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Indbyg = nLængde - Indbyg1-Indbyg2 Catch End Try Next 'Indbyg = Rulle-2.ipt.ALængde - Indbyg1-Indbyg2 'Definering af tætning -------------------------------------------------------------------------------------------------------------------------------- If Tætning = "Skanroll" Then Tættyp = "Labyrint " Component.IsActive("Skanroll labyrint tætning:1") = True Component.IsActive("Skanroll labyrint tætning:2") = True Component.IsActive("Simmerring:1") = False Component.IsActive("Simmerring:2") = False Component.IsActive("SKF Z-Tætning:1") = False Component.IsActive("SKF Z-Tætning:2") = False Component.IsActive("Metaltætning:1") = False Component.IsActive("Metaltætning:2") = False If AkselDia < "20" Then MessageBox.Show("Du kan kun vælge Skanroll Labyrinttætning til Ø20 aksel. Vælg en anden", "Forkert akselstørrelse") End If If AkselDia > "20" Then MessageBox.Show("Du kan kun vælge Skanroll Labyrinttætning til Ø20 aksel. Vælg en anden", "Forkert akselstørrelse") End If End If If Tætning = "SKF Z-tætning" Then Tættyp = "SKF-Z. " Component.IsActive("Skanroll labyrint tætning:1") = False Component.IsActive("Skanroll labyrint tætning:2") = False Component.IsActive("Simmerring:1") = False Component.IsActive("Simmerring:2") = False Component.IsActive("SKF Z-Tætning:1") = True Component.IsActive("SKF Z-Tætning:2") = True Component.IsActive("Metaltætning:1") = False Component.IsActive("Metaltætning:2") = False If AkselDia < "20" Then MessageBox.Show("Du kan kun vælge SKF Z-tætning til Ø20 aksel. Vælg en anden", "Forkert akselstørrelse") End If If AkselDia > "20" Then MessageBox.Show("Du kan kun vælge SKF Z-tætning til Ø20 aksel. Vælg en anden", "Forkert akselstørrelse") End If End If If Tætning = "Metaltætning" Then Tættyp = "Simm. met. " Component.IsActive("Skanroll labyrint tætning:1") = False Component.IsActive("Skanroll labyrint tætning:2") = False Component.IsActive("Simmerring:1") = False Component.IsActive("Simmerring:2") = False Component.IsActive("SKF Z-Tætning:1") = False Component.IsActive("SKF Z-Tætning:2") = False Component.IsActive("Metaltætning:1") = True Component.IsActive("Metaltætning:2") = True If AkselDia > "25" Then MessageBox.Show("Du kan kun vælge Metaltætning til Ø20 og Ø25 aksel. (Tætning er nu fravalgt)", "Forkert akselstørrelse") Tætning = "Ingen" End If If AkselDia = "25" AndAlso Diameter = "108" AndAlso Kraftig_rulle = True Then MessageBox.Show("Du kan kun vælge Metaltætning til Ø25 aksel i en Ø108 rulle, som ikke er kraftig.", "Forkert akselstørrelse") End If If Diameter > "108" Then MessageBox.Show("Du kan IKKE vælge Metaltætning til ruller større end Ø108. (Tætning er nu fravalgt)", "Forkert akselstørrelse") Tætning = "Ingen" End If If AkselDia < "20" Then MessageBox.Show("Du kan kun vælge Metaltætning til Ø20 og Ø25 aksel. Vælg en anden", "Forkert akselstørrelse") End If If AkselDia = "20" Then Component.Replace("Metaltætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90081.ipt", True) CMetaltæt:1 = "1,2" End If If AkselDia = "25" Then Component.Replace("Metaltætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90078.ipt", True) CMetaltæt:1 = "0" If Diameter = "50" Then MessageBox.Show("Du kan IKKE vælge Metaltætning til Ø50 rulle med Ø25 aksel. (Tætning er nu fravalgt)", "Forkert akselstørrelse") Tætning = "Ingen" For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "NeddrejDyb") = 12 'Part1 Parameter (oName, "Afst_lås_spor1") = 13 'Part2 Parameter (oName, "Afst_lås_spor2") = 13 'Part2 Catch End Try Next 'Rulle-1.ipt.NeddrejDyb = "12" 'Rulle-2.ipt.Afst_lås_spor1 = "13" 'Rulle-2.ipt.Afst_lås_spor2 = "13" End If End If End If If AkselDia < "20" Then If Ekstratæt = True Then MessageBox.Show("Du kan kun vælge Ekstratætning til Ø20 og Ø25 aksel. (Ektra tætning er nu fravalgt)", "Forkert akselstørrelse") Ekstratæt = False End If End If If AkselDia > "25" Then If Ekstratæt = True Then MessageBox.Show("Du kan kun vælge Ekstratætning til Ø20 og Ø25 aksel. (Ektra tætning er nu fravalgt)", "Forkert akselstørrelse") Ekstratæt = False End If End If If Ekstratæt = True Then Tættypekstra = "Ekstra tæt. " Component.IsActive("Ekstratætning:2") = True Component.IsActive("Ekstratætning:3") = True Constraint.IsActive("CSimmerring:1") = False Constraint.IsActive("CSimmerring:2") = False Constraint.IsActive("CSimmerringX:1") = True Constraint.IsActive("CSimmerringX:2") = True Else Tættypekstra = "" Component.IsActive("Ekstratætning:2") = False Component.IsActive("Ekstratætning:3") = False Constraint.IsActive("CSimmerring:1") = True Constraint.IsActive("CSimmerring:2") = True Constraint.IsActive("CSimmerringX:1") = False Constraint.IsActive("CSimmerringX:2") = False End If If Tætning = "Ingen" Then If Diameter > "57" Then MessageBox.Show("Du kan ikke vælge Ingen tætning til Ruller over Ø57 (Er nu sat til Simmering)", "Forkert Tætningsvalg") Tætning = "Simmerring" Else Tættyp = "Uden tæt. " Component.IsActive("Skanroll labyrint tætning:1") = False Component.IsActive("Skanroll labyrint tætning:2") = False Component.IsActive("Simmerring:1") = False Component.IsActive("Simmerring:2") = False Component.IsActive("SKF Z-Tætning:1") = False Component.IsActive("SKF Z-Tætning:2") = False Component.IsActive("Metaltætning:1") = False Component.IsActive("Metaltætning:2") = False End If End If If Tætning = "Simmerring" Then Tættyp = "Simm. Gum. " Component.IsActive("Skanroll labyrint tætning:1") = False Component.IsActive("Skanroll labyrint tætning:2") = False Component.IsActive("Simmerring:1") = True Component.IsActive("Simmerring:2") = True Component.IsActive("SKF Z-Tætning:1") = False Component.IsActive("SKF Z-Tætning:2") = False Component.IsActive("Metaltætning:1") = False Component.IsActive("Metaltætning:2") = False End If 'Definering af låseringsspor ---------------------------------------------------------------------------------------------------------------------- If Diameter = "30" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "8" Then Try Parameter (oName, "Afst_lås_spor1") = 8.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 8.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "8,5" 'Rulle-2.ipt.Afst_lås_spor2 = "8,5" End If If AkselDia = "12" Then Try Parameter (oName, "Afst_lås_spor1") = 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 15.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = "15,5" End If Next End If If Diameter = "38" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 15.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = "15,5" End If If Tætning = "Simmerring" Then Try Parameter (oName, "Afst_lås_spor1") = 22.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 22.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "22,5" 'Rulle-2.ipt.Afst_lås_spor2 = "22,5" End If Next End If If Diameter = "50" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Lejehus = "Kombineret leje og tætningshus" Then If AkselDia = "8" Then Try Parameter (oName, "Afst_lås_spor1") = 13.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 13.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "13,5" 'Rulle-2.ipt.Afst_lås_spor2 = "13,5" End If If AkselDia = "15" Then Try Parameter (oName, "Afst_lås_spor1") = 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 15.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = "15,5" End If If sekskant = True Then Try Parameter (oName, "Afst_lås_spor1") = 10.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 10.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "10,5" 'Rulle-2.ipt.Afst_lås_spor2 = "10,5" End If End If If Lejehus = "Alm leje og tætning" Then If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 15.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = "15,5" End If If Tætning = "Metaltætning" Then Try Parameter (oName, "Afst_lås_spor1") = 30.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 30.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "30,5" 'Rulle-2.ipt.Afst_lås_spor2 = "30,5" End If If Tætning = "Simmerring" Then Try Parameter (oName, "Afst_lås_spor1") = 25.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 25.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "25,5" 'Rulle-2.ipt.Afst_lås_spor2 = "25,5" End If If Tætning = "Skanroll" Then Try Parameter (oName, "Afst_lås_spor1") = 25.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 25.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "25,5" 'Rulle-2.ipt.Afst_lås_spor2 = "25,5" End If If Tætning = "SKF Z-tætning" Then Try Parameter (oName, "Afst_lås_spor1") = 22.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 22.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "22,5" 'Rulle-2.ipt.Afst_lås_spor2 = "22,5" End If End If Next End If If Diameter = "57" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 15.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 15.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "15,5" 'Rulle-2.ipt.Afst_lås_spor2 = "15,5" End If If Tætning = "Metaltætning" Then Try Parameter (oName, "Afst_lås_spor1") = 30.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 30.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "30,5" 'Rulle-2.ipt.Afst_lås_spor2 = "30,5" End If If Tætning = "Simmerring" Then Try Parameter (oName, "Afst_lås_spor1") = 25.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 25.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "25,5" 'Rulle-2.ipt.Afst_lås_spor2 = "25,5" End If If Tætning = "Skanroll" Then Try Parameter (oName, "Afst_lås_spor1") = 25.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 25.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "25,5" 'Rulle-2.ipt.Afst_lås_spor2 = "25,5" End If If Tætning = "SKF Z-tætning" Then Try Parameter (oName, "Afst_lås_spor1") = 22.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 22.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "22,5" 'Rulle-2.ipt.Afst_lås_spor2 = "22,5" End If Next End If If Diameter = "60,3" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 19 'Part2 Parameter (oName, "Afst_lås_spor2") = 19 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "19" 'Rulle-2.ipt.Afst_lås_spor2 = "19" Else Try Parameter (oName, "Afst_lås_spor1") = 33 'Part2 Parameter (oName, "Afst_lås_spor2") = 33 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "33" 'Rulle-2.ipt.Afst_lås_spor2 = "33" End If Next End If If Diameter = "63,5" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 19 'Part2 Parameter (oName, "Afst_lås_spor2") = 19 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "19" 'Rulle-2.ipt.Afst_lås_spor2 = "19" Else Try Parameter (oName, "Afst_lås_spor1") = 33 'Part2 Parameter (oName, "Afst_lås_spor2") = 33 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "33" 'Rulle-2.ipt.Afst_lås_spor2 = "33" End If Next End If If Diameter = "70" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "20" Then Component.Replace("Centertætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90075.ipt", True) If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 18.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 18.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "18,5" 'Rulle-2.ipt.Afst_lås_spor2 = "18,5" Else Try Parameter (oName, "Afst_lås_spor1") = 32.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 32.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "32,5" 'Rulle-2.ipt.Afst_lås_spor2 = "32,5" End If End If Next End If If Diameter = "76" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "20" Then If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 18.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 18.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "18,5" 'Rulle-2.ipt.Afst_lås_spor2 = "18,5" Else Try Parameter (oName, "Afst_lås_spor1") = 32.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 32.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "32,5" 'Rulle-2.ipt.Afst_lås_spor2 = "32,5" End If End If If AkselDia = "25" Then If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 18 'Part2 Parameter (oName, "Afst_lås_spor2") = 18 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "18" 'Rulle-2.ipt.Afst_lås_spor2 = "18" Else Try Parameter (oName, "Afst_lås_spor1") = 32 'Part2 Parameter (oName, "Afst_lås_spor2") = 32 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "32" 'Rulle-2.ipt.Afst_lås_spor2 = "32" End If End If Next End If If Diameter = "80" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "20" Then Component.Replace("Centertætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90075.ipt", True) If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 19 'Part2 Parameter (oName, "Afst_lås_spor2") = 19 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "19" 'Rulle-2.ipt.Afst_lås_spor2 = "19" Else Try Parameter (oName, "Afst_lås_spor1") = 33 'Part2 Parameter (oName, "Afst_lås_spor2") = 33 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "33" 'Rulle-2.ipt.Afst_lås_spor2 = "33" End If End If Next End If If Diameter = "89" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "20" Then If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 19 'Part2 Parameter (oName, "Afst_lås_spor2") = 19 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "19" 'Rulle-2.ipt.Afst_lås_spor2 = "19" Else Try Parameter (oName, "Afst_lås_spor1") = 33 'Part2 Parameter (oName, "Afst_lås_spor2") = 33 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "33" 'Rulle-2.ipt.Afst_lås_spor2 = "33" End If End If If AkselDia = "25" Then If Tætning = "Ingen" Then Try Parameter (oName, "Afst_lås_spor1") = 17.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 17.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "17,5" 'Rulle-2.ipt.Afst_lås_spor2 = "17,5" Else Try Parameter (oName, "Afst_lås_spor1") = 31.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 31.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "31,5" 'Rulle-2.ipt.Afst_lås_spor2 = "31,5" End If End If Next End If If Diameter = "101,6" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "20" Then Component.Replace("Centertætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90075.ipt", True) Try Parameter (oName, "Afst_lås_spor1") = 32.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 32.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "32,5" 'Rulle-2.ipt.Afst_lås_spor2 = "32,5" End If If AkselDia = "25" Then Component.Replace("Centertætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90076.ipt", True) Try Parameter (oName, "Afst_lås_spor1") = 31.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 31.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "31,5" 'Rulle-2.ipt.Afst_lås_spor2 = "31,5" End If Next End If If Diameter = "108" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "20" Then Try Parameter (oName, "Afst_lås_spor1") = 32.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 32.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "32,5" 'Rulle-2.ipt.Afst_lås_spor2 = "32,5" End If If AkselDia = "25" Then Try Parameter (oName, "Afst_lås_spor1") = 31.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 31.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "31,5" 'Rulle-2.ipt.Afst_lås_spor2 = "31,5" End If If AkselDia = "25" AndAlso Kraftig_rulle = True Then Try Parameter (oName, "Afst_lås_spor1") = 34.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 34.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "34,5" 'Rulle-2.ipt.Afst_lås_spor2 = "34,5" End If If AkselDia = "30" Then Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False Try Parameter (oName, "Afst_lås_spor1") = 37.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 37.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "37,5" 'Rulle-2.ipt.Afst_lås_spor2 = "37,5" End If Next End If If Diameter = "133" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If AkselDia = "25" Then Try Parameter (oName, "Afst_lås_spor1") = 34.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 34.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "34,5" 'Rulle-2.ipt.Afst_lås_spor2 = "34,5" End If If AkselDia = "30" Then Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False Try Parameter (oName, "Afst_lås_spor1") = 37.5 'Part2 Parameter (oName, "Afst_lås_spor2") = 37.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "37,5" 'Rulle-2.ipt.Afst_lås_spor2 = "37,5" End If Next End If If Diameter = "159" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Component.IsActive("Centertætning:1") = False Component.IsActive("Centertætning:4") = False If AkselDia = "25" Then Try Parameter (oName, "Afst_lås_spor1") = 39 'Part2 Parameter (oName, "Afst_lås_spor2") = 39 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "39" 'Rulle-2.ipt.Afst_lås_spor2 = "39" End If If AkselDia = "30" Then Try Parameter (oName, "Afst_lås_spor1") = 40 'Part2 Parameter (oName, "Afst_lås_spor2") = 40 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "40" 'Rulle-2.ipt.Afst_lås_spor2 = "40" End If Next End If If Længde <= "465" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Afst_lås_spor1") = Parameter (oName, "Afst_lås_spor1") - 3 'Part2 Parameter (oName, "Afst_lås_spor2") = Parameter (oName, "Afst_lås_spor2") - 3 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = Rulle-2.ipt.Afst_lås_spor1 - "3" 'Rulle-2.ipt.Afst_lås_spor2 = Rulle-2.ipt.Afst_lås_spor2 - "3" Next End If 'Definering af Udhæng--------------------------------------------------------------------------------------------------------------------------------- If Udhæng = True Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If booleanUdhæng = True Then Nudhæng = "Udh." & UdhængafstL & "+" & UdhængafstK If Længde <= "465" Then Try Parameter (oName, "Afst_lås_spor1") = UdhængafstK + Parameter (oName, "Afst_lås_spor1") - 13 'Part2 Parameter (oName, "Afst_lås_spor2") = UdhængafstL + Parameter (oName, "Afst_lås_spor2") - 13 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = UdhængafstK + Rulle-2.ipt.Afst_lås_spor1 - "13" 'Rulle-2.ipt.Afst_lås_spor2 = UdhængafstL + Rulle-2.ipt.Afst_lås_spor2 - "13" Else Try Parameter (oName, "Afst_lås_spor1") = UdhængafstK + Parameter (oName, "Afst_lås_spor1") - 16 'Part2 Parameter (oName, "Afst_lås_spor2") = UdhængafstL + Parameter (oName, "Afst_lås_spor2") - 16 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = UdhængafstK + Rulle-2.ipt.Afst_lås_spor1 - "16" 'Rulle-2.ipt.Afst_lås_spor2 = UdhængafstL + Rulle-2.ipt.Afst_lås_spor2 - "16" End If Else Nudhæng = "Udh." & Udhængafst If Længde <= "465" Then Try Parameter (oName, "Afst_lås_spor1") = Udhængafst + Parameter (oName, "Afst_lås_spor1") - 13 'Part2 Parameter (oName, "Afst_lås_spor2") = Udhængafst + Parameter (oName, "Afst_lås_spor2") - 13 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = Udhængafst + Rulle-2.ipt.Afst_lås_spor1 - "13" 'Rulle-2.ipt.Afst_lås_spor2 = Udhængafst + Rulle-2.ipt.Afst_lås_spor2 - "13" Else Try Parameter (oName, "Afst_lås_spor1") = Udhængafst + Parameter (oName, "Afst_lås_spor1") - 16 'Part2 Parameter (oName, "Afst_lås_spor2") = Udhængafst + Parameter (oName, "Afst_lås_spor2") - 16 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = Udhængafst + Rulle-2.ipt.Afst_lås_spor1 - "16" 'Rulle-2.ipt.Afst_lås_spor2 = Udhængafst + Rulle-2.ipt.Afst_lås_spor2 - "16" End If End If Next End If 'Definering af prop -------------------------------------------------------------------------------------------------------------------------------- If Prop = True AndAlso AkselDia = "20" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Prop") = True 'Part2 Catch End Try 'Rulle-2.ipt.Prop = True Component.IsActive("Metaltætning:1") = True Component.Replace("Metaltætning:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90085.ipt", False) Component.IsActive("Skanroll labyrint tætning:1") = False Component.IsActive("Simmerring:1") = False Component.IsActive("SKF Z-Tætning:1") = False Nprop = "Proppet " Nudhæng = "Udh." & UdhængafstL Next Else For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Prop = False Try Parameter (oName, "Prop") = False 'Part2 Catch End Try 'Rulle-2.ipt.Prop = False Nprop = "" Next End If 'Definering af Kombineret leje og tætningshus ------------------------------------------------------------------------------------------------------- If Lejehus = "Alm leje og tætning" Then Leje = "Alm Leje. " Component.IsActive("Leje:1") = True Component.IsActive("Leje:2") = True Component.IsActive("Kombihus:1") = False Component.IsActive("Kombihus:2") = False Else Leje = "Kombihus. " Tættyp = "" End If 'Definering af Kædehjul -------------------------------------------------------------------------------------------------------------------------------- If Kædehjul = True Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name If Diameter < "60" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter > "108" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter = "60,3" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter = "70" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter = "76" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter = "80" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter = "101,6" Then MessageBox.Show("Der kan Kun vælges Kædehjul til Ø63,5, Ø89 og Ø108 (Kædehjul er nu fra valgt)", "Kædehjul") Component.IsActive("Leje:3") = False Kædehjul = False End If If Diameter = "63,5" Then If Tænder <> "Z15 5/8" Then MessageBox.Show("Der kan kun sættes 15 Tands kædehjul på en Ø63,5 (Er nu sat til Z15)", "Kædehjul") Tænder = "Z15 5/8" End If If Tænder = "Z15 5/8" Then Component.IsActive("Kædehjul:1") = True Constraint.IsActive("CKædehjul:1") = True Component.IsActive("Kædehjul:2") = False Component.IsActive("Kædehjul:3") = False Component.IsActive("Lejehus:1") = False Component.Replace("Kædehjul:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90104.ipt", False) Constraint.IsActive("LejeAksel:1") = True Constraint.IsActive("LejeAksel:2") = True Constraint.IsActive("LejeRør:1") = False Constraint.IsActive("LejeRør:2") = False CAkselCenter = "-25,25" End If If AkselDia = "20" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", False) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", False) End If If Længde <= "465" Then Try Parameter (oName, "ALængde") = Længde + 49 + 27.5 'Part2 Catch End Try nLængde = Længde + 49 + 27.5 'Rulle-2.ipt.ALængde = Længde + "49" + "27,5" If Kraftig_rulle = True Then Component.IsActive("Leje:3") = True CSimmerring = "0" Try Parameter (oName, "Afst_lås_spor1") = 22.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "22,5" Else Component.IsActive("Leje:3") = False CSimmerring = "14" Try Parameter (oName, "Afst_lås_spor1") = 36.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "36,5" End If Else Try Parameter (oName, "ALængde") = Længde + 49 + 33.5 'Part2 Catch End Try nLængde = Længde + 49 + 33.5 'Rulle-2.ipt.ALængde = Længde + "49" + "33,5" If Kraftig_rulle = True Then Component.IsActive("Leje:3") = True Try Parameter (oName, "Afst_lås_spor1") = 25.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "25,5" Else Component.IsActive("Leje:3") = False Try Parameter (oName, "Afst_lås_spor1") = 39.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "39,5" End If End If End If If Diameter = "89" Then If Tænder = "Z23 3/4" Then MessageBox.Show("Der kan kun sættes 5/8 Tands kædehjul på en Ø89 (Er nu sat til Z15 5/8)", "Kædehjul") Tænder = "Z15 5/8" End If If Tænder = "Z15 5/8" Then Component.IsActive("Kædehjul:1") = True Constraint.IsActive("CKædehjul:1") = True Component.IsActive("Kædehjul:2") = False Component.IsActive("Kædehjul:3") = False Component.IsActive("Lejehus:1") = False Component.Replace("Kædehjul:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90103.ipt", False) Constraint.IsActive("LejeAksel:1") = True Constraint.IsActive("LejeAksel:2") = True Constraint.IsActive("LejeRør:1") = False Constraint.IsActive("LejeRør:2") = False CAkselCenter = "-25,25" If AkselDia = "20" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90050.ipt", False) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90068.ipt", False) End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90047.ipt", False) Component.Replace("Simmerring:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90069.ipt", False) End If If Længde <= "465" Then Try Parameter (oName, "ALængde") = Længde + 49 + 27.5 'Part2 Catch End Try nLængde = Længde + 49 + 27.5 'Rulle-2.ipt.ALængde = Længde + "49" + "27,5" If Kraftig_rulle = True Then Component.IsActive("Leje:3") = True 'CSimmerring = "0" Try Parameter (oName, "Afst_lås_spor1") = 22.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "22,5" Else Component.IsActive("Leje:3") = False 'CSimmerring = "14" Try Parameter (oName, "Afst_lås_spor1") = 36.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "36,5" End If Else Try Parameter (oName, "ALængde") = Længde + 49 + 33.5 'Part2 Catch End Try nLængde = Længde + 49 + 33.5 'Rulle-2.ipt.ALængde = Længde + "49" + "33,5" If Kraftig_rulle = True Then Component.IsActive("Leje:3") = True Try Parameter (oName, "Afst_lås_spor1") = 25.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "25,5" Else Component.IsActive("Leje:3") = False Try Parameter (oName, "Afst_lås_spor1") = 39.5 'Part2 Catch End Try 'Rulle-2.ipt.Afst_lås_spor1 = "39,5" End If End If End If If Tænder = "Z23 5/8" Then Component.IsActive("Kædehjul:1") = False Constraint.IsActive("CKædehjul:1") = False Component.IsActive("Kædehjul:2") = True Component.IsActive("Kædehjul:3") = True Component.IsActive("Lejehus:1") = True Component.Replace("Kædehjul:2", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90105.ipt", False) Component.Replace("Kædehjul:3", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90105.ipt", False) Constraint.IsActive("LejeAksel:1") = True Constraint.IsActive("LejeAksel:2") = True Constraint.IsActive("LejeRør:1") = False Constraint.IsActive("LejeRør:2") = False CAkselCenter = "0" End If End If If Diameter = "108" Then If Tænder <> "Z23 3/4" Then MessageBox.Show("Der kan kun sættes 3/4 Tands kædehjul på en Ø108 (Er nu sat til Z23 3/4)", "Kædehjul") Tænder = "Z23 3/4" End If If Tænder = "Z23 3/4" Then Component.IsActive("Kædehjul:1") = False Constraint.IsActive("CKædehjul:1") = False Component.IsActive("Kædehjul:2") = True Component.IsActive("Kædehjul:3") = True Component.IsActive("Lejehus:1") = True Component.Replace("Kædehjul:2", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90106.ipt", False) Component.Replace("Kædehjul:3", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90106.ipt", False) Constraint.IsActive("LejeAksel:1") = True Constraint.IsActive("LejeAksel:2") = True Constraint.IsActive("LejeRør:1") = False Constraint.IsActive("LejeRør:2") = False CAkselCenter = "0" End If End If Next Else Component.IsActive("Leje:3") = False Component.IsActive("Kædehjul:1") = False Component.IsActive("Kædehjul:2") = False Component.IsActive("Kædehjul:3") = False End If 'Definering af Materiale -------------------------------------------------------------------------------------------------------------------------------- If Materiale = "S235" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Mat = "Stål" MatUK = "Steel" Try Parameter (oName, "RMateriale") = "S235" 'Part1 Parameter (oName, "AMateriale") = "S235" 'Part2 Catch End Try 'Rulle-1.ipt.RMateriale = "S235" 'Rulle-2.ipt.AMateriale = "S235" Next End If If Materiale = "AISI304" Or Materiale = "AISI316L" Then For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Mat = "RF" MatUK = "SL" Try Parameter (oName, "RMateriale") = "AISI304" 'Part1 Catch End Try 'Rulle-1.ipt.RMateriale = "AISI304" booleanParam = InputRadioBox("Skal rullen være komplet rustfri, eller kun røret", "Alt i Rustfrit", "Kun rulle", booleanParam, Title := "Rustfri") If booleanParam = True Then RF = "Fuld RF" Try Parameter (oName, "AMateriale") = "AISI304" 'Part2 Catch End Try 'Rulle-2.ipt.AMateriale = "AISI304" If Diameter > "60" AndAlso Diameter < "89" Then MessageBox.Show("Komplette rustfri ruller findes kun under Ø60 og i Ø89 og Ø159 udgave (er nu sat til Kun rulle)", "Lejer") booleanParam = False End If If Diameter > "89" AndAlso Diameter < "159" Then MessageBox.Show("Komplette rustfri ruller findes kun under Ø60 og i Ø89 og Ø159 udgave (er nu sat til Kun rulle)", "Lejer") booleanParam = False End If If Diameter = "30" Then If AkselDia < "12" Then MessageBox.Show("Ø30 rulle med kombi lejehus kan ikke vælges som komplet rustfri (er nu sat til Kun rulle)", "Lejer") Try Parameter (oName, "AMateriale") = "S235" 'Part2 Catch End Try 'Rulle-2.ipt.AMateriale = "S235" End If If AkselDia = "12" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90099.ipt", True) End If End If If Diameter = "38" Then If AkselDia = "15" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90098.ipt", True) End If End If If Diameter = "50" Then If AkselDia = "20" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90063.ipt", True) End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90097.ipt", True) End If End If If Diameter = "57" Then If AkselDia = "20" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90063.ipt", True) End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90095.ipt", True) End If End If If Diameter = "89" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90011.ipt", True) If AkselDia = "20" Then MessageBox.Show("Du kan ikke vælge rustfri leje til Ø20 i Ø89 rulle (er nu sat til Ø25)", "Lejer") AkselDia = "25" booleanPara = False End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90064.ipt", True) End If If AkselDia = "30" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90096.ipt", True) End If End If If Diameter = "159" Then Component.Replace("Lejehus:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90111.ipt", True) 'If AkselDia = "20" Then 'MessageBox.Show("Du kan ikke vælge rustfri leje til Ø20 i Ø89 rulle (er nu sat til Ø25)", "Lejer") 'AkselDia = "25" 'booleanPara = False 'End If If AkselDia = "25" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90064.ipt", True) End If If AkselDia = "30" Then Component.Replace("Leje:1", "M:\tegn\Standard bibliotek\90000 Indkøbt standard\90096.ipt", True) End If End If Else Try Parameter (oName, "AMateriale") = "S235" 'Part2 Catch End Try 'Rulle-2.ipt.AMateriale = "S235" RF = "" End If Next End If 'Definering af Nøglevide --------------------------------------------------------------------------------------------------------------------------- For Each oOcc In oAsmCompDef.Occurrences oName = oOcc.Name Try Parameter (oName, "Nøgledybde") = Nøgledybde 'Part2 Parameter (oName, "Nøglevide") = Nøglevide 'Part2 Catch End Try 'Rulle-2.ipt.Nøgledybde = Nøgledybde 'Rulle-2.ipt.Nøglevide = Nøglevide Next If Nøglevide >= AkselDia Then Nøglevide = AkselDia - 1 End If 'Navngivning -------------------------------------------------------------------------------------------------------------------------------------- If Kraftig_rulle = True Then Kraftig = "Kraftig " KraftigUK = "Heavy " Else Kraftig = "" KraftigUK = "" End If iProperties.Value("Summary", "Title") = "Rulle " & Kraftig & Mat iProperties.Value("Summary", "Manager") = "Roll " & KraftigUK & MatUK iProperties.Value("Project", "Description") = Leje & Tættyp & Nprop & Nudhæng & Tættypekstra iProperties.Value("Custom", "Raavare") = "Ø" & Diameter & "x" & Længde & "x" & Indbyg & "x" & nLængde & "-Ø" & AkselDia & " " & Aend1 & Aend2 'Set alle parters BOM structure til Default ------------------------------------------------------------------------------------------------------ If Component.IsActive("Lejehus:1") = True Then oCompOcc = Component.InventorComponent("Lejehus:1") oCompOcc.BOMStructure = BOMStructureEnum.kDefaultBOMStructure End If If Component.IsActive("Lejehus:2") = True Then oCompOcc = Component.InventorComponent("Lejehus:2") oCompOcc.BOMStructure = BOMStructureEnum.kDefaultBOMStructure End If 'Gemme ---------------------------------------------------------------------------------------------------------------------------------------------- If Gem = True Then 'set a reference to the assembly component definintion. 'this assumes an assembly document is open. 'Dim oAsmCompDef As AssemblyComponentDefinition oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition 'define the path and file name Dim sPathandName As String sPathandName = ThisDoc.PathAndFileName(False) ' Create a new part file to derive the selected part into 'note: kPartDocumentObject is the default template 'you could specifiy a path and file name for a custom template Dim oPartDoc As PartDocument oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject, ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject)) 'create the derived assembly deffinition Dim oDerivedAssemblyDef As DerivedAssemblyDefinition oDerivedAssemblyDef = oPartDoc.ComponentDefinition.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition(sPathandName & ".iam") 'Set level of Detail oDerivedAssemblyDef.ActiveLevelOfDetailRepresentation = "Konfigurator" 'Set derive style options oDerivedAssemblyDef.DeriveStyle = DerivedComponentStyleEnum.kDeriveAsSingleBodyWithSeams 'options: 'kDeriveAsSingleBodyWithSeams 'kDeriveAsSingleBodyNoSeams 'kDeriveAsMultipleBodies 'kDeriveAsWorkSurface 'Create the derived part Dim oDerivedAssembly As DerivedAssemblyComponent oDerivedAssembly = oPartDoc.ComponentDefinition.ReferenceComponents.DerivedAssemblyComponents.Add(oDerivedAssemblyDef) ' Break the link 'oDerivedAssembly.BreakLinkToFile() oDerivedAssembly.SupressLinkToFile() Gem = False End If End Sub Sub CopyIproperties (ByVal fromDoc As Document, ByVal toDoc As Document) Dim fromPs As PropertySet For Each fromPs In fromDoc.PropertySets Dim toPs As PropertySet If Not toDoc.PropertySets.PropertySetExists(fromPs.InternalName) Then toPs = toDoc.PropertySets.Add(fromPs.Name, fromPs.InternalName) Else toPs = toDoc.PropertySets(fromPs.InternalName) End If Dim fromP For Each fromP In fromPs Dim toP On Error Resume Next toP = toPs.ItemByPropId(fromP.PropId) If Err.Number <> 0 Then toP = toPs.Add(fromP.Value, fromP.Name, fromP.PropId) Else toP = toPs(fromP.Name) If fromP.Value <> Nothing Then toP.Value = fromP.Value End If End If On Error Goto 0 Next Next 'AssignNumber: 'GoExcel.Open("M:\tegn\Standard bibliotek\Standard nummer udtagning.xlsx", "80000") ' ' PreviousNumber=GoExcel.CellValue("B2") ' NewNumber=PreviousNumber+1 ' GoExcel.CellValue("B2") = NewNumber ' iProperties.Value("Project", "Part Number") = GoExcel.CellValue("C2") 'If question = vbYes Then 'GoExcel.Open("M:\tegn\Standard bibliotek\nummer udtagning.xls", "80000") ' PreviousNumber=GoExcel.CellValue("A2") ' NewNumber=PreviousNumber+1 ' GoExcel.CellValue("A2") = NewNumber ' iProperties.Value("Project", "Part Number") = GoExcel.CellValue("C2") ' 'Else End If 'GoExcel.Save() End Sub
Yeah Debugging would be the best, but... it realy is a novel... XD im having hard time working with it myself..
About identifying the error, then I find it kinda hard, since it´s an error that comes mostly when jumpin between sizes far from eachother in my configuration... and also when i run "Gem = True" at the bottom of my rule...
I hope i have the time to do some serious debugging soon, then i might use your loop until i find an answer to the problem.. 🙂
I will mark this as solved.. 🙂
/LSA
Hi again Mike
Just wanted to update on this... the error im getting seems to vary, not realy sure when it does what, but now it´s a "member not found" error. For all goes that i don't get a highlighted line in my code, so i know where to look for the error..!
I have tried to isolate the entire code in blocks at a time, to find the error, and i came up with this part..:
'Parameter.Quiet = TrueDim oAsmCompDef As AssemblyComponentDefinition oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition 'Iterate through all of the occurrencesDim oOcc As ComponentOccurrence Dim oName As String
System.Runtime.InteropServices.COMException (0x80020003): Medlemmet blev ikke fundet. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
at Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
at LmiRuleScript.Main()
at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
I have also posted this error in the thread where i got the code from.
Any ideas are welcome..
/LSA