Extracting sheet metal properties in I-part members

Extracting sheet metal properties in I-part members

Anonymous
Not applicable
623 Views
4 Replies
Message 1 of 5

Extracting sheet metal properties in I-part members

Anonymous
Not applicable

Hello all, 

 

I think I want to do something very simple, but I have been struggling for ages on this. I have many I-parts that have many members. All these members differ in size, sheet metal style and material. 

That's a nice case for an I-part right? We can manage the members in a table, and we can create flat patterns & drawings that go with these members, so when we get an order for a machine, we don't have to touch any of these components. 

 

The things is, that I want to show the length & width of the flat pattern, the sheet metal style, and the K-factor of the I-parts members in the parts lists of the assemblies they sit in. 

 

I have 4 custom properties for this. Flat_Pattern_Length; Flat_Pattern_Width; Sheet_Metal_Style; Sheet_Metal_k_Factor

 

These properties show up on the parts lists. 

 

I use Inventor 2012 (with Solidworks Enterprise PDM [please don't ask])

 

I have tried to make a rule in the factory that fills these properties. I fire the rule on "save document". My train of thought: Every time Inventor saves a member, it applies the factory rule, and fills the member properties.

 

Results are extremely unstable. I have seen all members generated with correct properties, I have also seen that literally nothing happens on the members. There are some brute force workarounds (edit member scope, run rule) but this is not a sustainable solution. 

 

I cannot imagine it would be so hard to get the sheet metal information available as properties for these files!

 

Can any of you give me some advice to make the solution I envisioned work? Or does anybody have another way of making this work? 
The use of I-parts is a fixed constraint, and the use of those property names is an almost fixed constraint. 

 

0 Likes
624 Views
4 Replies
Replies (4)
Message 2 of 5

Anonymous
Not applicable

Did I post in the right category? I was doubting if customization is the place.. 

0 Likes
Message 3 of 5

xiaodong_liang
Autodesk Support
Autodesk Support

Hi klaas.oudejans,

 

I would think you are asking a question of iLogic, however sorry I am struggling to understand the scenario. Could you elaborate the steps to reproduce? If I misunderstood, or this is rather a question of product, please clarify. Thanks.

0 Likes
Message 4 of 5

Anonymous
Not applicable

Hi XiaoDong! 

 

I think this question is about finding the right solution to show sheet metal properties on a bill of material. 

 

I need 4 custom properties to display the information for sheet metal parts

 

Flat_Pattern_Length; Flat_Pattern_Width; Sheet_Metal_Style; Sheet_Metal_k_Factor

 

How do I fill those properties with the right information? Let's say I have a certain crossmemeber in a frame. It comes in 30 different sizes & styles. 15x in 3mm sheet metal and 15x in 5 mm sheet metal. 

Those two style use different k-factors. All parts have different dimensions. I created an I-part to drive the variance. 


How can I make it so that when one crossmember out that serie is used in an assembly, it shows the right information on the parts list of that assembly? 

 

I tried to do it with an I-logic rule, and that is not working out. This rule fires an a save file event, and puts the right information into the properties. Works for "normal" files but not for I-parts (sometimes it does, and I don't understand why)

So maybe someone knows how to make the I-logic rule work, or maybe somebody knows a completely different solution to get the same results. 

 

I would expect this to be a very, very simple thing to do in Inventor, but I am 100% stuck on it..

 

Best regards, 

 

Klaas

 

0 Likes
Message 5 of 5

Anonymous
Not applicable

This is the rules by the way that does (or does not do) it in my current setup: 

 

On Error Resume Next
Err.Clear()
Dim extents_length As String
Dim extents_width As String
Dim currentStyle As String
openDoc = ThisDoc.Document
UoM = openDoc.unitsofmeasure.LengthUnits
''MsgBox(UoM)
If UoM = 11272 Then

UoM_identifier = " in"
round_integer = 2

Else

UoM_identifier = " mm"
round_integer = 1

End If

extents_length = Round(SheetMetal.FlatExtentsLength,round_integer) & UoM_identifier
'MsgBox(extents_length)
extents_width = Round(SheetMetal.FlatExtentsWidth,round_integer) & UoM_identifier
'MsgBox(extents_width)
currentStyle = SheetMetal.GetActiveStyle()
kFactor = SheetMetal.ActiveKFactor

'MsgBox(currentStyle)
'
MsgBox(Err.number)
If Err.number =0 Then
'MsgBox("error was null")
iProperties.Value("Custom", "Flat_Pattern_Length") = extents_length
iProperties.Value("Custom", "Flat_Pattern_Width") = extents_width
iProperties.Value("Custom", "Sheet_Metal_Style") = currentStyle
iProperties.Value("Custom", "Sheet_Metal_K_Factor") = kFactor

End If
0 Likes