suppress part

suppress part

jostroopers
Collaborator Collaborator
833 Views
12 Replies
Message 1 of 13

suppress part

jostroopers
Collaborator
Collaborator

I have a wooden frame.
These have a 'Breedte' and 'Diepte' parameter.
If these measurements are above a certain value there will be placed a wooden beam in the middle.
I have created a level of detail and with the ilogic function 'Component.IsActive' I can switch between on and off.
However, I am unable to write the ilogic code to switch on and off the wooden beam at the specified values.
Via the link you see  the diagram of the values.

https://www.vlakkelichtkoepel.nl/tekeningen/XL%20afmetingen.pdf

With the white values there is no wooden beam.
In the blue values, one beam comes in the middle and two  beams are added by the green values.

 

Here is my code so far:

 

If Breedte <= 1000 And Diepte <= 2000  Then
	Component.IsActive("Tussenligger") = False

ElseIf Breedte > 1000 < 1200 And Diepte > 1800 Then
	Component.IsActive("Tussenligger") = True
		ElseIf Component.IsActive("Tussenligger") = False
			
ElseIf Breedte > 1200 < 1300 And Diepte > 1700 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte > 1300 < 1500 And Diepte > 1500 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte > 1400 < 1800 And Diepte > 1400 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte > 1800 < 2000 And Diepte > 1100 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte >= 2000 And Diepte > 1000 Then
	Component.IsActive("Tussenligger") = True

End If

 

Mvg Jos
Youre drawings are as good as the symbols that compleet them.....
0 Likes
834 Views
12 Replies
Replies (12)
Message 2 of 13

bradeneuropeArthur
Mentor
Mentor

Could you please give a more detailed explanation.

 

the code seems to work...

 

but don't understand what you need further!

 

The pdf is not showing anything.

Regards,

Arthur Knoors

Autodesk Affiliations & Links:
blue LinkedIn LogoSquare Youtube Logo Isolated on White Background


Autodesk Software:Inventor Professional 2025 | Vault Professional 2024 | Autocad Mechanical 2024
Programming Skills:Vba | Vb.net (Add ins Vault / Inventor, Applications) | I-logic
Programming Examples:
Drawing List!|
Toggle Drawing Sheet!|
Workplane Resize!|
Drawing View Locker!|
Multi Sheet to Mono Sheet!|
Drawing Weld Symbols!|
Drawing View Label Align!|
Open From Balloon!|
Model State Lock!
Posts and Ideas:
My Ideas|
Dimension Component!|
Partlist Export!|
Derive I-properties!|
Vault Prompts Via API!|
Vault Handbook/Manual!|
Drawing Toggle Sheets!|
Vault Defer Update!

! For administrative reasons, please mark a "Solution as solved" when the issue is solved !


 


EESignature

0 Likes
Message 3 of 13

jostroopers
Collaborator
Collaborator

If i give in Breedte of 1000 and Diepte of 2000 then the beam must be suppressed.

When i give in Breedte 1100 and Diepte 1900 then the beam must be unsuppressed.

That is working.

But when i go to Breedte 1100 and Diepte 1700 then the beam must be unsuppressed.

And that is not happening.

In the pdf you can see by what Breedte and Diepte the beam must be unsuppressed and suppressed.

By al the value in the bleu area there the beam must be unsuppressed.

So by Breedte 1500 and Diepte 1500 the beam must be unsuppressed.

By Breedte 2400 and Diepte 1100 the beam must be unsuppressed.

And by Breedte 1000 and Diepte 1300 the beam must be suppressed.

Mvg Jos
Youre drawings are as good as the symbols that compleet them.....
0 Likes
Message 4 of 13

chandra.shekar.g
Autodesk Support
Autodesk Support

@jostroopers,

 

Try the following iLogic code to supress / unsuppress beams for blue and green value. For green value, need to update second beam in code.

 

If Breedte <= 1000 And Diepte <= 2000  Then
	Component.IsActive("Tussenligger") = False 
	
ElseIf Breedte = 1100 And Diepte > 1800 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte = 1200 And Diepte > 1700 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte > 1300 < 1500 And Diepte > 1500 Then	
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte = 1500 And Diepte > 1400 Then
	
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte = 1600 And Diepte > 1300 Then
	Component.IsActive("Tussenligger") = True	
	
ElseIf Breedte = 1700 And Diepte > 1200 Then
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte > 1700 < 2000 And Diepte > 1100 Then	
	Component.IsActive("Tussenligger") = True
	
ElseIf Breedte > 1900 < 2500 And Diepte > 1000 Then
	Component.IsActive("Tussenligger") = True
	If Breedte > 2000 < 2300 And Diepte = 2000 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte > 2200 < 2500 And Diepte > 1700 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	End If
	
ElseIf Breedte > 2400 < 2900 And Diepte > 900 Then
	Component.IsActive("Tussenligger") = True	
	If Breedte = 2500 And Diepte > 1600 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 2600 And Diepte > 1600 < 2000 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 2700 And Diepte > 1500 < 1900 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 2800 And Diepte > 1500 < 1800 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	Else
		Component.IsActive("Tussenligger") = False 'First beam suppressed
		Component.IsActive("Tussenligger") = False 'Second beam suppressed
	End If
	
ElseIf Breedte > 2800 < 3300 And Diepte > 800 Then
	Component.IsActive("Tussenligger") = True	
	If Breedte = 2900 And Diepte > 1500 < 1800 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 3000 And Diepte = 1600 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 3100 And Diepte > 1100 < 1700 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 3200 And Diepte > 1100 < 1600 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	Else
		Component.IsActive("Tussenligger") = False 'First beam suppressed
		Component.IsActive("Tussenligger") = False 'Second beam suppressed
	End If
	
ElseIf Breedte > 3200 < 3900 And Diepte > 700 Then	
	Component.IsActive("Tussenligger") = True	
	If Breedte > 3200 < 3500 And Diepte > 1100 < 1600 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte = 3500 And Diepte > 1000 < 1500 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	ElseIf Breedte > 3500 < 3900 And Diepte > 1000 < 1400 Then
		Component.IsActive("Tussenligger") = True 'Activates second beam for green value
	Else		
		Component.IsActive("Tussenligger") = False 'First beam suppressed
		Component.IsActive("Tussenligger") = False 'Second beam suppressed
	End If
Else 
	Component.IsActive("Tussenligger") = False
End If

iLogicVb.UpdateWhenDone = True


Please feel free to contact if there is any queries.

 

If solves problem, click on "Accept as solution" / give a "Kudo".

 

Thanks and regards, 


CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network



0 Likes
Message 5 of 13

jostroopers
Collaborator
Collaborator

Hi Chandra

 

Thanks for reply

I have made some changes to the model.
I split the 'Tussenligger' to 'Tussenligger_1' and 'Tussenligger_2'  so that they are two separate parts.
I also split the windows to have separate parts.
Then I used your code.
I have adjusted this so that it fits the schedule.
However, I always get error reports from an Expression and I have to apply an End If.
However, I can not manage to solve the reports.

Mvg Jos
Youre drawings are as good as the symbols that compleet them.....
0 Likes
Message 6 of 13

chandra.shekar.g
Autodesk Support
Autodesk Support

@jostroopers,

 

Code works fine after 2 changes as shown below.

 

  1. Equal(=) symbol should be after Greater(>) symbol or Lesser(<) symbol.
  2. "End If" is added to If condition.

Missing_EndIf.png

 

Please feel free to contact if there is any queries.

 

If solves problem, click on "Accept as solution" / give a "Kudo".

 

Thanks and regards.


CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network



0 Likes
Message 7 of 13

jostroopers
Collaborator
Collaborator

If there are two 'IF' statements you have to end with two 'End If'!?

But i get still an error: ElseIf moet worden voorafgegaan door een overeenkomende If of ElseIf. (ElseIf must be preceded by a corresponding If or ElseIf)

When i delete Else in the first row the error disappears.

 

Mvg Jos
Youre drawings are as good as the symbols that compleet them.....
0 Likes
Message 8 of 13

jostroopers
Collaborator
Collaborator

It is stil not working.

I made a movie:

 https://www.screencast.com/t/Etv9cGz5qd

When i change 'Breedte' en 'Diepte' the model will not update correct.

 

Mvg Jos
Youre drawings are as good as the symbols that compleet them.....
0 Likes
Message 9 of 13

chandra.shekar.g
Autodesk Support
Autodesk Support

@jostroopers,

 

For more details about "If" conditional statement, go through the following links.

 

https://www.dotnetperls.com/if-vbnet

 

https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/if-then-else-stat...

 

Can you please provide full iLogic code? You can insert in post as I done in previous reply.

 

Thanks and regards,


CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network



0 Likes
Message 10 of 13

bradeneuropeArthur
Mentor
Mentor
Use messageboxes to check if all if-statements are reached.
This is how you can check your program from mistakes and failures.
If you need assistance regarding this please let me know.

Regards,

Arthur Knoors

Autodesk Affiliations & Links:
blue LinkedIn LogoSquare Youtube Logo Isolated on White Background


Autodesk Software:Inventor Professional 2025 | Vault Professional 2024 | Autocad Mechanical 2024
Programming Skills:Vba | Vb.net (Add ins Vault / Inventor, Applications) | I-logic
Programming Examples:
Drawing List!|
Toggle Drawing Sheet!|
Workplane Resize!|
Drawing View Locker!|
Multi Sheet to Mono Sheet!|
Drawing Weld Symbols!|
Drawing View Label Align!|
Open From Balloon!|
Model State Lock!
Posts and Ideas:
My Ideas|
Dimension Component!|
Partlist Export!|
Derive I-properties!|
Vault Prompts Via API!|
Vault Handbook/Manual!|
Drawing Toggle Sheets!|
Vault Defer Update!

! For administrative reasons, please mark a "Solution as solved" when the issue is solved !


 


EESignature

0 Likes
Message 11 of 13

jostroopers
Collaborator
Collaborator

Here is my code.

 

SyntaxEditor Code Snippet

If Breedte < 1100 And Diepte <= 2000  Then
	Component.IsActive("Tussenligger_1") = False
	Component.IsActive("Tussenligger_2") = False
	
ElseIf Breedte >= 1100 < 1200 And Diepte >= 1900 Then
	Component.IsActive("Tussenligger_1") = True
	
ElseIf Breedte >= 1200 < 1300 And Diepte >= 1800 Then
	Component.IsActive("Tussenligger_1") = True
	
ElseIf Breedte >= 1300 < 1500 And Diepte >= 1600 Then	
	Component.IsActive("Tussenligger_1") = True
	
ElseIf Breedte >= 1500 < 1800 And Diepte >= 1500 Then
	Component.IsActive("Tussenligger_1") = True
	
ElseIf Breedte >= 1800 < 2000 And Diepte >= 1200 Then
	Component.IsActive("Tussenligger_1") = True	
	
ElseIf Breedte >= 2000 < 2100 And Diepte >= 1100 Then
	Component.IsActive("Tussenligger_1") = True	
	
ElseIf Breedte >= 2100 < 2300 And Diepte >= 1100 Then
	Component.IsActive("Tussenligger_1") = True
	If Breedte > 2000 < 2300 And Diepte  >= 1900 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	End If
End If
	
If Breedte >= 2300 < 2500 And Diepte >= 1100 Then
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 2300 < 2500 And Diepte >= 1800 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 2500 < 2600 And Diepte >= 1100 Then
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 2500 < 2600 And Diepte >= 1700 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 2600 < 2700 And Diepte >= 1100 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 2600 < 2700 And Diepte >= 1700 < 2000 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 2700 < 2800 And Diepte >= 1100 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 2700 < 2800 And Diepte >= 1700 < 1900 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 2800 < 3000 And Diepte >= 1100 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 2800 < 3000 And Diepte >= 1700 < 1800 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 3000 < 3100 And Diepte >= 1100 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 3000 < 3100 And Diepte >= 1600 < 1700 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 3100 < 3200 And Diepte >= 800 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 3100 < 3200 And Diepte >= 1200 < 1700 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 3200 < 3500 And Diepte >= 800 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 3200 < 3500 And Diepte >= 1200 < 1600 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 3500 < 3600 And Diepte >= 800 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 3500 < 3600 And Diepte >= 1200 < 1500 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If
End If
	
If Breedte >= 3600 <= 3800 And Diepte >= 800 Then	
	Component.IsActive("Tussenligger_1") = True	
	If Breedte >= 3600 <= 3600 And Diepte >= 1200 < 1400 Then
		Component.IsActive("Tussenligger_2") = True 'Activates second beam
	Else		
		Component.IsActive("Tussenligger_1") = False 'First beam suppressed
		Component.IsActive("Tussenligger_2") = False 'Second beam suppressed
	End If

Else 
	Component.IsActive("Tussenligger_1") = False
	Component.IsActive("Tussenligger_2") = False
End If

iLogicVb.UpdateWhenDone = True

 

 

 

Mvg Jos
Youre drawings are as good as the symbols that compleet them.....
0 Likes
Message 12 of 13

clutsa
Collaborator
Collaborator

You could try something more like

Component.IsActive("Part:1") = False
Component.IsActive("Part:2") = False
beams = 0

Select Case Diepte
	Case 1900 To 2000
		Select Case Breedte
			Case 1100 To 2099
				beams = 1
			Case Is  >= 2100
				beams = 2
		End Select
	Case 1800 To 1899
		Select Case Breedte
			Case 1100 To 2299
				beams = 1
			Case Is >= 2300
				beams = 2
		End Select
	Case 1700 To 1799
		Select Case Breedte
			Case 1200 To 2299
				beams = 1
			Case Is >= 2300
				beams = 2
		End Select
	Case 1600 To 1699
		Select Case Breedte
			Case 1300 To 2499
				beams = 1
			Case Is >= 2500
				beams = 2
			End Select
'more cases go here Case Else MessageBox.Show("else", "Title") beams = 0 End Select If beams = 1 Then Component.IsActive("Part:1") = True Else If beams = 2 Then Component.IsActive("Part:1") = True Component.IsActive("Part:2") = True End If

Also note that I had tons of issues when I was debugging this because my template was in imperial and I was using metric numbers so at the very top I did a temp message box to verify "Diepte" and "Breedte" only to find they were getting converted to inches so I wasn't checking the numbers I thought I was. You may have some issue like that.

If I've helped you, please help me by supporting this idea.
Mass Override for Each Model State

Custom Glyph Icon for iMates

Message 13 of 13

chandra.shekar.g
Autodesk Support
Autodesk Support

@jostroopers,

 

Try the following iLogic code to update beams. Basically, all the values from parameter always in "cm" units by default. So, the value is multiplied by 10 to convert to "mm" unit.

 

b = Parameter.Param("Breedte").Value * 10 
d = Parameter.Param("Diepte").Value * 10

Component.IsActive("Tussenligger_1") = False 
Component.IsActive("Tussenligger_2") = False 

If b <= 1000 And d <= 2000 Then
	Component.IsActive("Tussenligger_1") = False 
	Component.IsActive("Tussenligger_2") = False 

ElseIf b = 1100 Then
	If d = 1900 OrElse d = 2000 Then		
		Component.IsActive("Tussenligger_1") = True
	Else
		Component.IsActive("Tussenligger_1") = False 
	End If		
ElseIf b = 1200 AndAlso d >= 1800 Then
	Component.IsActive("Tussenligger_1") = True	
ElseIf b = 1300 OrElse b = 1400 Then
	If d >= 1700 Then
		Component.IsActive("Tussenligger_1") = True
	Else
		Component.IsActive("Tussenligger_1") = False 
	End If	
ElseIf b = 1500 AndAlso d > 1400 Then	
	Component.IsActive("Tussenligger_1") = True
	
ElseIf b = 1600 AndAlso d > 1300 Then
	Component.IsActive("Tussenligger_1") = True	
	
ElseIf b = 1700 AndAlso d > 1200 Then
	Component.IsActive("Tussenligger_1") = True
	
ElseIf b = 1800 OrElse b = 2000 Then		
	If d >= 1200 Then
		Component.IsActive("Tussenligger_1") = True
	Else
		Component.IsActive("Tussenligger_1") = False 
	End If
ElseIf b >= 2000 AndAlso b <= 2400 Then
	MessageBox.Show("b >= 200 or b<= 240")
	If d >= 1100 Then 
		
		Component.IsActive("Tussenligger_1") = True
		If b = 2100 OrElse b = 2200 Then
			If d = 2000 Then
				
				Component.IsActive("Tussenligger_2") = True 'Activates second beam for green value
			Else
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 2300 OrElse b = 2400 Then
			If d >= 1800 Then
				
				Component.IsActive("Tussenligger_2") = True 'Activates second beam for green value
			Else
				Component.IsActive("Tussenligger_2") = False
			End If
		End If
	Else 
		Component.IsActive("Tussenligger_1") = False 'Deactivates second beam for green value
		Component.IsActive("Tussenligger_2") = False 'Deactivates second beam for green value
	End If

ElseIf b >= 2500 AndAlso b <= 2800 Then
	
	If d >= 1000 Then 
			
		If b = 2500 Then
			Component.IsActive("Tussenligger_1") = True
			If d >= 1700 Then
				
				Component.IsActive("Tussenligger_2") = True 'Activates second beam for green value
			Else
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 2600 Then			
			If d >= 1700 AndAlso d <= 1900 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 'Activates second beam for green value
			ElseIf d >= 1000 AndAlso d <= 1600 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False 
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 2700 Then			
			If d >= 1600 AndAlso d <= 1800 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 1000 AndAlso d <= 1500 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False 
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 2800 Then			
			If d = 1600 OrElse d = 1700 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 1000 AndAlso d <= 1500 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False 
				Component.IsActive("Tussenligger_2") = False
			End If
		End If
	Else 
		Component.IsActive("Tussenligger_1") = False 'Deactivates second beam for green value
		Component.IsActive("Tussenligger_2") = False 'Deactivates second beam for green value
	End If
	
ElseIf b >= 2900 AndAlso b <= 3200 Then
	
	If d >= 900 Then 
			
		If b = 2900 Then			
			If d = 1600 OrElse d = 1700 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 900 AndAlso d <= 1500 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False 
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 3000 Then			
			If d = 1600 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 900 AndAlso d <= 1500 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False 
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 3100 Then
			Component.IsActive("Tussenligger_1") = True
			If d >= 1200 AndAlso d <= 1600 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 900 AndAlso d <= 1100 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 3200 Then
			Component.IsActive("Tussenligger_1") = True
			If d >= 1200 AndAlso d <= 1500 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 900 AndAlso d <= 1100 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False
				Component.IsActive("Tussenligger_2") = False
			End If
		End If
	Else 
		Component.IsActive("Tussenligger_1") = False 'Deactivates second beam for green value
		Component.IsActive("Tussenligger_2") = False 'Deactivates second beam for green value
	End If
	
ElseIf b >= 3300 AndAlso b <= 3800 Then
	
	If d >= 800 Then 
		
		If b = 3300 OrElse b = 3400 Then			
			If d >= 1200 AndAlso d <= 1500 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 800 AndAlso d <= 1100 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b = 3500 Then
			Component.IsActive("Tussenligger_1") = True
			If d >= 1100 AndAlso d <= 1400 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 900 AndAlso d <= 1000 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False
				Component.IsActive("Tussenligger_2") = False
			End If
		ElseIf b >= 3600 AndAlso b <= 3800 Then			
			If d >= 1100 AndAlso d <= 1300 Then
				
				Component.IsActive("Tussenligger_1") = True
				Component.IsActive("Tussenligger_2") = True 
			ElseIf d >= 900 AndAlso d <= 1000 Then
				Component.IsActive("Tussenligger_1") = True
			Else
				Component.IsActive("Tussenligger_1") = False
				Component.IsActive("Tussenligger_2") = False
			End If		
		End If
	Else 
		Component.IsActive("Tussenligger_1") = False 'Deactivates second beam for green value
		Component.IsActive("Tussenligger_2") = False 'Deactivates second beam for green value
	End If
Else 
	
	Component.IsActive("Tussenligger_1") = False
	Component.IsActive("Tussenligger_2") = False
End If

iLogicVb.UpdateWhenDone = True

 

After updating iLogic code, need to add the rule to iLogic form as shown below.

 

Dragging Rule.png

 

On every change of Bredte and Depte, double click on "Schema afmetingen" button as shown above in iLogic form.

 

Please feel free to contact if there is any queries.

 

If solves problem, click on "Accept as solution" / give a "Kudo".

 

Thanks and regards,


CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network



0 Likes