12 Replies Latest reply on Feb 23, 2018 6:56 PM by Josh Hixon

    Driving parts from custom properties.

    Josh Hixon

      Hello all,

      I have been recently tasked with Increasing efficiency and accuracy of drawings. One of the things I have come up with is using PDM data cards to input the specific requirements for our parts (created from template parts). My question is more of a general what problems could I create by doing this. Let me detail out what I have done.


      One of the things we produce is rectangle Pool blankets. To make our descriptions, Material usage, and etc., match the actual model (Been a huge issue in the past), I have made it so the Draftsmen only have to input data one time, the first time the data card pops up after saving the file into PDM. Bam!! Finished part with minimal drawing clean up.

      Data Card variables have been set up for width and length of covers. In a sketch within an assembly, I have made the rectangle drive from the Properties associated with the variables. Other things have been automatically calculated using global variables within the properties. Such as the Square Footage of the main body of the cover. This is a fairly dumbed down version. Some of our products will have many more dimensions driven by the property than just 2.  The Description for parts is all driven from the other input data to make sure that information all matches.


      The person that can answer this bonus, gets the answered correctly privileges. Is there a way to drive what weldment profile is selected from a custom property? So if I have material set as a variable, and a draftsman selects say 2" pipe or 1.5" pipe from a drop down on the data card, the weldment automatically changes to that profile.

        • Re: Driving parts from custom properties.
          John Stoltzfus

          Josh Hixon wrote:



          The person that can answer this bonus, gets the answered correctly privileges.

          Forget the bonus's and privileges, the points produced won't even by a Pop Tart


          As for your question -  Did you try Design Tables or Drive Works?

            • Re: Driving parts from custom properties.
              Josh Hixon

              We have looked at Drivework's, unfortunately for our applications, we would need the paid version, and we are not going to be able to do that anytime soon. Also, I found it to be a little buggy. Some of the parts I created actually took longer with drive works, just due to the time it took to save. Design Tables are not my favorite thing, also we don't use a lot of configurations. My Design Table experience is very limited, but my understanding is it's mostly good for making lots of configurations really fast? Maybe it is something worth Visiting though. I am kinda picky I guess. Here is an example of a data card I have made and how it Changes the model. Again this is extremely simple compared to some of our models. My concern is that I am going to have issues with driving the part from custom properties. I have not seen any yet, but I feel like it is kinda backward from how most people use the custom properties. I just want to avoid any Major Issues before they happen.


              Pool Cover.JPG

                • Re: Driving parts from custom properties.
                  John Stoltzfus

                  Driving components from Custom Properties could be a challenge, where the information is truly up to date.  SolidWorks rebuilds from the top of the feature tree down, so it is always best to push the information down hill.  You can have a little bit of uphill pull, but not much and surely not the second layer deep.  I might be thinking this thing all wrong, but doing it the way you are proposing let's suppose a few scenarios...


                  Let's say you have 10 parts in an assembly and part 5 has one of the controlling Custom Properties and that CP controls the width of part 1 and the length of part 10.  At every change you would need to rebuild multiple times or the information won't be correct.  If you follow the Rebuild Structure, part 1 rebuilds, part 2 rebuilds, part 3 rebuilds, part 4 rebuilds, part 5 is changed and rebuilt, since part 5 controls the width of part 1, you need to rebuild again and not change five then SW will rebuild as it goes down the feature tree.


                  A good recipe for circular rebuilds if you'r not careful.

                    • Re: Driving parts from custom properties.
                      Josh Hixon

                      The way I have them set up, A single sketch at the top Level assembly Drives everything. So custom properties are driving the assembly sketch, and all my parts/assemblies underneath that are based on the sketch in the Top assembly. I already had the Circular rebuild issue you talked about. That will make a guy go crazy.....It was a different part each time I rebuilt. I have less hair from that day. As long as everything is based on the assembly sketch, I should avoid that right? So let's use that blanket as an example, It has three parts driven from that sketch. The main rectangular shape panel and two parts for different edging materials. These parts have no defining dimensions, they are linked to the assembly only. That should avoid the Rebuild issue you are talking about right?

                    • Re: Driving parts from custom properties.
                      Craig Schultz

                      This is how I did it for configurable/custom parts at my last place as well. Global variables, equations, ......


                      Since you're using PDM I would make a base Part/Assembly/Drawings that work using the data card.  Then as you bring in different variations....copy tree the assembly, parts, and drawings.  Once you have that base assembly done, start on your other generic top level assemblies.  Name them logically, so when you have a new request come in, the designer/drafter can copy tree the proven assembly with the new variables.


                      Good luck

                  • Re: Driving parts from custom properties.
                    Rob Edwards

                    Hi Josh

                    What you are looking for is maybe something I have been working on for quite a while, I'm not quite there but getting closer


                    The highlighted sketch below is the profile of the structural member BTM RAIL

                    My approach is to change the structural member profile directly, not the structural member itself and use the structural member to describe the body, not the profile.  If that makes sense


                    So I name the structural member and provide all the properties that I require, but after inserting it I delete the simple rectangle it was and drive it directly from the model.  Note above in the folder BtmCuts - the Btm Rail Ovolo is suppressed and we are showing a groove and a chamfer


                    Changing things is easy enough, now we have ovolo all round, by just suppressing a feature.

                    Now here's the thing, you can drive a suppression state by a custom property through equations... do I get my prize?


                    Changes made to each profile, populate around to all the structural members, and its a pick'n'mix approach for each body.

                    A bonus is, if I suppress all my cuts I get my PAR (square) cutlist which is helpful


                    At the moment this is just a concept and I created my profiles in the part, but the next step is to drive the profiles from inserted parts, that can bring in custom properties that describe the profile..  it's all ars about tit but I'm pretty excited about it


                    I've also got trim order for the corners and cross rails

                    and a nice master sketch, where any combination of dimensions can be set driven/driving


                    plus equations

                    all you guessed it, can be driven by custom properties


                    My cutlist is working out reasonably, but I'd like to change the panels to structural members too, so that I can ensure that the length is in the correct orientation.  Using bounding boxes often gives me the wrong information

                    I can stitch them together in an assembly and apply the same treatment to other parts.

                    The amazing thing is how robust it has been.  The error showing is because I only have 1 middle rail (No pattern instances)


                    Anyway that's how I do

                      • Re: Driving parts from custom properties.
                        Josh Hixon

                        Unfortunately for us, our weldment profile needs to stay consistent. If I understand what you are saying, you drive the weldment sketch after it has been inserted? That seems like a crazy good way to do it, but for my purpose, it just doesn't quite work.  Now suppressing things from an equation I will have to look into a bit more, that could be very useful. What you have created here is really quite awesome though, thank you for sharing.

                          • Re: Driving parts from custom properties.
                            Rob Edwards

                            Thanks Josh


                            For my frame joinery work the traditonal stile and rail system has a consistent naming convention for each element which is all I really use the Weldment Profile Properties to populate.  I also have a width and thickness property, along with some other common properties, like material, machine and surface finishes, etc which are just empty placeholders.


                            The challenge I have faced is that each job whilst sharing the same basic construction has a myriad of possible, grooves and rebates and edge details that are just too diverse to standardise.  On top of that each profile belongs to a family where the stile, the top rail, the btm rail, the mid rail, and muntin, must share the same elements of the profile but all slightly different.  My initial approach to this problem was to just use square weldment profiles and then to pretty much simulate the actual machining operations in the shop, but the work was still too much for one off jobs.


                            My breakthrough came when I realised that if I took a surface that represented my section, I could select the face and convert entities onto the profile sketch.  Then winding back the tree before the sketch you can introduce any number of trim operations, that can be suppressed or unsuppressed and they create no dependencies down stream, yet convert without error onto the profile.  I always get to keep references to the original section, even when the vertices are removed because I have access to the underlying sketch.


                            I use revolved surfaces to perform the trim so that I do not need to worry about orientation and a simple sketch driven pattern can instantly populate them wherever needed.


                            You could probably devise a similar system to link from one structural member to another.  I presume you would have to boolean subtract a section of your standard profiles from a block and then use this 'negative' to repeat the process imprinting your profile onto another block that would always have the same face id which is all that is required for this to work.  That way you would be able to add as many profiles as you like that all link up to one.  Then you just choose which one you want to use and maybe a macro to populate the properties, although if you were inserting your structural members as parts you have the option to import cut list properties to file properties, so maybe that would suffice.


                            Anyway I'm just rambling now, I'm pretty certain my ideas are a bit hair-brained for most organisations, but we're such a small operation, basically just a handful of guys in a barn.


                            If I ever get this going properly I'm hoping I can get back in there with them, as just this one model would do for most of our work.


                            All the best


                            good luck

                        • Re: Driving parts from custom properties.
                          Josh Hixon

                          Just to add some things I have learned about automating parts in this way.

                          • PDM professional makes this process so much easier. Using text with alias list, allows you to display a value like "right step" on the data card while writing a numeric value to the custom property. There are many uses for this, but a big one is allowing you to select a card value, and suppress or un-suppress tree items based on an equation since equations only allow numeric input.
                          • On the topic of equations, never name your tree items the will be suppressed with dashes in the name. The macro that runs to suppress the item using the equation you wrote, will try to solve the name of the folder in the macro, and it causes SolidWorks to crash every time.

                          I will keep posting things I learn so others can learn from my mistakes.