Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Run rule twice to fix error in rule..?!

6 REPLIES 6
SOLVED
Reply
Message 1 of 7
LSA-skan
634 Views, 6 Replies

Run rule twice to fix error in rule..?!

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

6 REPLIES 6
Message 2 of 7
mrattray
in reply to: LSA-skan

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:

 

 

 

 

 

Mike (not Matt) Rattray

Message 3 of 7
LSA-skan
in reply to: mrattray

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

Message 4 of 7
LSA-skan
in reply to: LSA-skan

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

 

Message 5 of 7
mrattray
in reply to: LSA-skan

That's a lot of code....
You're right about try catch and on error, but if you can identify the problem section of the code then you could put a try catch there and put "GoTo Label" in the catch statement.
The right answer, though, is to debug that novel you have there...
Mike (not Matt) Rattray

Message 6 of 7
LSA-skan
in reply to: mrattray

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

Message 7 of 7
LSA-skan
in reply to: mrattray

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.

http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Define-filename-on-subpart-with-rule/m...

 

Any ideas are welcome..

 

/LSA

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report