Results 1 to 3 of 3

Thread: ILOGIC ISSUE

  1. #1
    Member
    Join Date
    2018-08
    Posts
    11
    Login to Give a bone
    0

    Default ILOGIC ISSUE

    Good morning,

    I am having issues with a piece of ilogic code (included below).
    A bit of background. We are a wood shop and I am trying to follow our shop workflows in that we would typically glue veneers and solid wood sticks to a mdf core and then router the desired shape out of that glued up assembly. Trying to follow that workflow in Inventor appears to be almost impossible in that you cannot add a sketch block or ifeature to an assembly in Inventor. I have tried going down the road of adding the sketch block to one of the parts before it gets added to the assembly. The problem with that is that when I extrude the sketch block in a part and add that part to the assembly part of the extruded profile goes into other parts. It needs to be extruded in the assembly to work properly.
    Having said all that my solution has been to add several features directly to the assembly and just suppress or un-suppress the feature that is needed. This all seems like a fairly easy workaround except I cannot get the illogic rule to work as intended. It keeps un-suppressing multiple features each time it runs. Please look at the code below and tell me where I am going wrong.
    I think it is a big hole in the software that it doesn’t let you add ifeatures or sketch blocks to an assembly. There are many times when steel weldments and wood assemblies need machining after welding or gluing. (end of rant)

    Thanks!

    Dim ST As Long
    'Turn off all Prifiles
    Feature.IsActive("LeftStile","OG, 1 3/8")=False
    Feature.IsActive("LeftStile","OG, 1 3/4")=False
    Feature.IsActive("LeftStile","OG, 2 1/4")=False

    Feature.IsActive("LeftStile","OS, 1 3/8")=False
    Feature.IsActive("LeftStile","OS, 1 3/4")=False
    Feature.IsActive("LeftStile","OS, 2 1/4")=False

    Feature.IsActive("LeftStile","QB, 1 3/8")=False
    Feature.IsActive("LeftStile","QB, 1 3/4")=False
    Feature.IsActive("LeftStile","QB, 2 1/4")=False

    Select Case Parameter("Stick_Profile")
    Case "OG"
    ST=0.5
    If Parameter("Door_Thickness") = 1.375 Then
    Feature.IsActive("LeftStile","OG, 1 3/8")=True
    Feature.IsActive("LeftStile","OG, 1 3/4")=False
    Feature.IsActive("LeftStile","OG, 2 1/4")=False
    MessageBox.Show("1.375, OG", "Title")
    ElseIf Parameter("Door_Thickness") = 1.75 Then
    Feature.IsActive("LeftStile","OG, 1 3/8")=False
    Feature.IsActive("LeftStile","OG, 1 3/4")=True
    Feature.IsActive("LeftStile","OG, 2 1/4")=False
    MessageBox.Show("1.75, OG", "Title")
    ElseIf Parameter("Door_Thickness") = 2.25 Then
    Feature.IsActive("LeftStile","OG, 1 3/8")=False
    Feature.IsActive("LeftStile","OG, 1 3/4")=False
    Feature.IsActive("LeftStile","OG, 2 1/4")=True
    MessageBox.Show("2.25, OG", "Title")
    End If

    Case "OS"
    ST=0.28125
    If Parameter("Door_Thickness") = 1.375 Then
    Feature.IsActive("LeftStile","OS, 1 3/8")=True
    Feature.IsActive("LeftStile","OS, 1 3/4")=False
    Feature.IsActive("LeftStile","OS, 2 1/4")=False
    MessageBox.Show("1.375, OS", "Title")
    ElseIf Parameter("Door_Thickness") = 1.75 Then
    Feature.IsActive("LeftStile","OS, 1 3/8")=False
    Feature.IsActive("LeftStile","OS, 1 3/4")=True
    Feature.IsActive("LeftStile","OS, 2 1/4")=False
    MessageBox.Show("1.75, OS", "Title")
    ElseIf Parameter("Door_Thickness") = 2.25 Then
    Feature.IsActive("LeftStile","OS, 1 3/8")=False
    Feature.IsActive("LeftStile","OS, 1 3/4")=False
    MessageBox.Show("2.25, OS", "Title")
    End If

    Case "QB"
    ST= 0.500

    If Parameter("Door_Thickness") = "1.375" Then
    Feature.IsActive("LeftStile","QB, 1 3/8")=True
    Feature.IsActive("LeftStile","QB, 1 3/4")=False
    Feature.IsActive("LeftStile","QB, 2 1/4")=False
    MessageBox.Show("1.375, OG", "Title")

    ElseIf Parameter("Door_Thickness") = "1.75" Then
    Feature.IsActive("LeftStile","QB, 1 3/8")=False
    Feature.IsActive("LeftStile","QB, 1 3/4")=True
    Feature.IsActive("LeftStile","QB, 2 1/4")=False
    MessageBox.Show("1.75, QB", "Title")

    ElseIf Parameter("Door_Thickness") = 2.25 Then
    Feature.IsActive("LeftStile","QB, 1 3/8")=False
    Feature.IsActive("LeftStile","QB, 1 3/4")=False
    MessageBox.Show("2.25, OG", "Title")

    End If
    End Select
    '[ Left Stick
    Parameter("LLStick", "LSLStick_x")=Parameter("Stick_Thickness")
    Parameter("LLStick", "LSLStick_y")=Parameter("Door_Height")
    Parameter("LLStick", "LSLStick_z")=Parameter("Door_Thickness")-Parameter("LIVeneer", "LSIVeneer_z")-Parameter("LEVeneer", "LSEVeneer_z")
    ']
    '[ Right Stick
    Parameter("LRStick", "LSRStick_x")=Parameter("Stick_Thickness")
    Parameter("LRStick", "LSRStick_y")=Parameter("Door_Height")
    Parameter("LRStick", "LSRStick_z")=Parameter("Door_Thickness")-Parameter("LIVeneer", "LSIVeneer_z")-Parameter("LEVeneer", "LSEVeneer_z")
    ']
    '[ Core
    Parameter("StileCore", "LSCore_x")=Parameter("Left_Stile_Width")-Parameter("LLStick", "LSLStick_x")-Parameter("LRStick", "LSRStick_x") + ST
    Parameter("StileCore", "LSCore_y")=Parameter("Door_Height")
    Parameter("StileCore", "LSCore_z")=Parameter("Door_Thickness")-Parameter("LIVeneer", "LSIVeneer_z")-Parameter("LEVeneer", "LSEVeneer_z")
    ']
    '[ Interior Veneer
    Parameter("LIVeneer", "LSIVeneer_x")=Parameter("Left_Stile_Width")+ST
    Parameter("LIVeneer", "LSIVeneer_y")=Parameter("Door_Height")
    Parameter("LIVeneer", "LSIVeneer_z")=Parameter("Veneer_Thickness")
    ']
    '[ Exterior Veneer
    Parameter("LEVeneer", "LSEVeneer_x")=Parameter("Left_Stile_Width")+ST
    Parameter("LEVeneer", "LSEVEneer_y")=Parameter("Door_Height")
    Parameter("LEVeneer", "LSEVeneer_z")=Parameter("Veneer_Thickness")
    ']
    iLogicVb.UpdateWhenDone = True

  2. #2
    Member
    Join Date
    2012-06
    Posts
    28
    Login to Give a bone
    0

    Default Re: ILOGIC ISSUE

    Mike.Lee is it possible to attach the files where you try to use this rule? It makes it easier to find where the code isn't working correctly.

    Also, have you looked at Multibodies? maybe this can be an other method to create the models you want.
    Rob

  3. #3
    I could stop if I wanted to
    Join Date
    2015-12
    Posts
    286
    Login to Give a bone
    0

    Default Re: ILOGIC ISSUE

    One possible approach is to convert the assembly into a weldment. The tools that become available may be what you need, as they only stay within the assembly and do not propagate down into the sub-components. The caveat here is that an assy that is converted to a weldment cannot be converted back into a standard assy. Perhaps use a copy, or derive the assy and then convert it.
    Last edited by Bunny; 2019-11-17 at 09:17 PM.

Similar Threads

  1. 2016: ILogic
    By darenn in forum Inventor - General
    Replies: 0
    Last Post: 2016-09-26, 06:27 PM
  2. 2011: Ilogic
    By lepore_s in forum Inventor - General
    Replies: 0
    Last Post: 2013-10-21, 07:26 PM
  3. ilogic
    By ismail.asi in forum Inventor - General
    Replies: 0
    Last Post: 2012-07-26, 12:27 PM
  4. 2011: ilogic
    By stephentaylor33782934 in forum Inventor - General
    Replies: 1
    Last Post: 2012-06-27, 10:20 AM
  5. Who uses iLogic and what do you think of it
    By pjohnson.137155 in forum Inventor - General
    Replies: 8
    Last Post: 2012-06-15, 11:39 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •