[Smart properties] Is there t_il an XML file limit?

Hello

I am currently in the process of setting up the Smart Properties of our prt.

In order to be able to control several drop-down menus depending on the material that has been applied to the part, I use the "Conditional Group" function (see attached screenshot).

Except that I can no longer add additional conditional groups without causing a crash. That is to say that if I add one (I made several different ones to avoid errors of bad configuration) and I apply the modifications, Smart Properties crashes. Impossible to restart the Smart Properties, even after a PC reboot. The only way to be able to restart the Smart is to put the Xml file back as it was before the modification.

My question, is there a limit on the quantity of conditional groups? Or maybe a size limit of the Xml file?

Or maybe it's something else entirely...

 


capture.png

To know the limit of smartproperties, the most aware are the developers. For this you should make a request to the support.

It's possible that there is a limit in quantity and maybe they can direct you to another method than doing a lot of conditional groups.

What do you want to do next in each group for each type of subject?

As Coluche said, ask me what you need, I'll tell you how to do without it!

2 Likes

Today, we have linked the "material" property in Smart Properties to the material that was applied to the part via our own material library. This allows us to avoid having a 3D that does not conform in terms of mass with respect to what would be on the plan.

Currently, we have defined 3 properties in Smart (Processing, Finishing, and Protection). Each one is linked to its own drop-down menu driven by a text file. Each of these text files brings together all the processing possibilities (e.g.) that we have internally, this creates a very long and difficult to digest drop-down menu. And above all, it is not necessarily coherent, because a given treatment cannot be carried out on just any material.

 

That's why I try to go through conditional groups. If my material is 3.3206, then my processing property will necessarily be populated by None, my Finishing line necessarily uses a dedicated text file, and the available protection list has a particular text file for that material.

And so on...

And I even have a group that, if matter doesn't fulfill any of the other conditions, then it automatically fills my 3 properties of a certain value.

 

In short, some materials having identical property choices, I was able to reduce the number of conditional groups, but I still lack a lot of them.

Are there any overlapping of conditions?

For the moment, no. I only used one condition for each conditional group.

 

 

Why not nested the conditions if the material is stainless steel 304 then $traitement=T1 $Finition=F1, if the material is s235 then $traitement=T2 $Finition=F2

This will make only one condition even if quite complicated to achieve.

As a reminder, here is the text of the help concerning the conditions (not the conditional groups), it is clearly indicated, no limits:

 

You also have the option to nest several conditions in a row with each other. There is no limit!

 

IFF($Matiere=Steel|IFF($Matiere=Alloy Steel|$TypeAcier|$Autre))

The above syntax is not correct because the IFF must always be in the OTHERWISE value.

 

The correct syntax is:

IFF($Matiere=Steel|$SiAcier|IFF($Matiere=Alloy Steel|$TypeAcier|$Autre))

- If the "Material" property is equal to "Steel" then the "Conditionnel_matiere_1" property recovers the value of the "SiSteel" property.

Otherwise

- If the "Material" property is equal to "Alloy Steel" then the "Conditionnel_matiere_1" property recovers the value of the "SteelType" property.

Otherwise

- The "Conditionnel_matiere_1" property recovers the value of the "Other" property.

Otherwise another solution but complicated to my taste make an xml file by subject with the possible treatments.

"Why not nested the conditions if the material is stainless steel 304 then $traitement=T1 $Finition=F1, if the material is s235 then $traitement=T2 $Finition=F2"

Simply because it's not that simple. What we are looking for is:

if the material is 304, then I have to choose between the T1 or T2 or T3 treatment. And if the material is 316, then I have to choose the T2, T4 or T5 treatment. The same goes for the other finishing sections, etc.

That's why I pass for the condional group which makes me appear (or not) precise drop-down menus.

For the solution of an xml file by subject, why not, but I don't know how to do it. Are there any tutorials?

Hello

Here's a solution:

https://www.my-cad.fr/utilitaire-solidworks-menus-dynamiques/

Kind regards.

Hello

I've already thought about this solution, except that the beginning of my dynamic menu would be the matter, which is a driven variable. 

But if we managed to overcome this first step, then yes, everything else could work like this.

What is it driven by?

By the subject matter assigned to 3D:

In concrete terms, any new part with the material property indicated by "SW-Material@Nomdufichier.SLDPRT"

Not sure if it works, but have you tried?

In the prt template, create a custom property "Material" and assign it "SW-Material@blabla... "

In smartproperties, recreate a "Material" field by assigning it a text file as a source or a database.

Maybe with a little luck it can work.

If in Smart the material remains the variable, then Smart Properties does not recognize the text of the value obtained. I've already tested.

And we absolutely have to keep the 3D material linked to the Smart Properties material.

Support answer: Yes, there is a limit. The SolidWorks software requires that there are no more than 125 operations in the Smart Properties.

1 Like