CAD software discussion forum > 3D CAD/CAM > Part Families - Rederive and References

Part Families - Rederive and References

Rank: 1

eric5935

Newbie

posts: 7

Registered: 2013-11-7

Message 1 of 8

 Part Families - Rederive and References
27-01-2014 03:07 . pm | View his/her posts only
I create a simple part family following the instructions here: http://help.zwsoft.com/en/zw3d/articles/article-991.html

The part consists of a block and the length (default of 100) is varied. A set of 4 holes are spaced 10mm from the edge and a final hole is in the middle.


I can correctly create child (derivative) parts, but if I update the parent and re-derive the part, then the references seem to get re-attached to the parent instead of getting moved to the child part.


I see this on both ZW3D 2013 SP1 and ZW3d 2014 Beta. The attached images show the base part, the correctly derived part, and the incorrectly rederived part.


Is this a bug, or do I need to use references in a different way?


Thanks,
Eric


Rederived part (incorrect)

derived-part-rederived.png
2014-1-27 15:04

Derive part (correct)

derived-part.png
2014-1-27 15:04

Base Part (Correct)

base-part.png
2014-1-27 15:04

Rank: 7Rank: 7Rank: 7

Paul

Moderator

posts: 262

Registered: 2011-9-17

Message 2 of 8

28-01-2014 04:05 . am | View his/her posts only
Hi Eric,
I cannot reproduce your problem which suggests the modelling technique is causing something which doesn't mean there is not a bug.
Can you upload you file?
Why are you re-deriving the part?
Once you have derived a part, it is a standalone part. If you need to change it you do it directly in the part or just change the part attribute(Part/Attribute/Driving Parameters)and Apply or OK it which should update the part.
I wonder if you are over cooking the cake!

FYI Using the driving parameters is another way of quickly changing key dimensions within a part with out having to edit the part.

Cheers

Rank: 1

eric5935

Newbie

posts: 7

Registered: 2013-11-7

Message 3 of 8

28-01-2014 01:23 . pm | View his/her posts only
Post Last Edit by eric5935 at 2014-1-28 13:26

The reason for doing the rederive is that I have a base part with a bolt pattern and let's say I've created 5 derived versions of it with different dimensions. Later on, I decide that I need to change the bolt pattern (or say change from normal drill holes to threaded holes), now I have the option of:
1) going into all 5 derived versions and making the same change
2) create 5 new derived parts with the new change and replace all instances of those
parts in my assemblies
3) rederive the parts

Option number 3 seems like the best option to me, but it unfortunately doesn't seem to work with my model.

I've attached the file for review in ZW3D 2013 format. The parts contained in it are as follows:

Parts contained in file

rederive-part-list.png
2014-1-28 13:21
rederive-test.Z3.zip (93.62 KB)
If you know of a better way to model this, please let me know. I appreciate the help.

Thanks,
Eric

Rank: 7Rank: 7Rank: 7

Paul

Moderator

posts: 262

Registered: 2011-9-17

Message 4 of 8

29-01-2014 01:10 . pm | View his/her posts only
Hi Eric,
I understand your problem.
However I cannot reproduce it which strongly suggests you are doing something I am not. I don't get what you mean by re-derive the same part? When you do that which part are you using as a master? and how do you do the re-derive?
(When you derive a new part it takes the original and copies everything except the changed attribute/s. It is then standalone so making subsequent changes to the master will have zero effect on the derived parts.)
What you asking for is an option for some attributes to clone from the master but retain a link to the master same as we lock a reference in a spreadsheet. A kinda nice idea. We can get that another way.
What we can do is set up your model to access common variables so you enter one place and change every place.

This requires the use of Master Variables(MV) in a separate part and or file. In the MV you enter just a variable for each common dimension.e.g. hole size, thickness etc.
e.g. New Part, names Master Variable and add variables or an equation set (my preference)
Now make the Master Part, use the variables contained in the MV part to drive the common items and leave the L variable local to the Master Part. This means each derived part will now use the local variable to control the L, whilst almost everything else will use the values from the MV. (Tip, once you have use the variable once in a sketch, you can just repeatedly use that dimension to drive other same dimensions in the same sketch e.g your hole centre offset if it is even)
You could get super sneaky and make L1, l2, L3 etc in the MV but then you might as well just copy and paste the part and edit the L back to the MV for each.

Each derived part will need to regen after you have made a MV change. You can do to selected group or individually from the Root Object level with out opening the part.


You could even put the MV set in the assembly or in a separate file with other assembly variables. Just keep referring to these EVERYTIME they are needed somewhere in a model and make sure your modelling is waterproof!

Cheers Paul

Rank: 1

eric5935

Newbie

posts: 7

Registered: 2013-11-7

Message 5 of 8

29-01-2014 02:12 . pm | View his/her posts only
Ah, sorry about the back-and-forth here - I figured you already knew what I meant by the rederive option.

It's available in the Object Manager by right-clicking on the part and choosing "Rederive". There's a brief description in the help file: http://help.zwsoft.com/en/zw3d/articles/article-222.html
In addition, when you do the initial "Derive new part" from the part attributes menu, it records the "Derived From" attribute so it can regenerate the part in the future.

Here are some screen shots that clarify faster than any amount of words.

Rederiving the already-derived part

deriving-the-part.png
2014-1-29 14:03



Derived part attributes

rederived-part-attributes.png
2014-1-29 14:03



I'm currently trying to figure out the master variable suggestion that you have. It sounds good for a common base part where I remember to put everything into it. However, in this case, I am trying to do a top-down design with some common parts that have different dimensions. As I refine the design, I will have to go back and update the base part and then would like to rederive the new parts. Rederive seems to work with everything but the references (and I tried both normal sketch references and also sketch auto-references with the same result).

Thanks,
Eric

Rank: 7Rank: 7Rank: 7

Paul

Moderator

posts: 262

Registered: 2011-9-17

Message 6 of 8

30-01-2014 03:57 . am | View his/her posts only
Post Last Edit by mudcrab at 2014-1-30 04:01

Hi Eric,
never used the re-derive hence my ignorance.
So now I have now and that is a bug.

In essence the Driving attributes is actually a Variable manager in disguise with the option to make a new part.
I sometime use Driving Attributes after I have built a part, instead of setting up separate variables.
I have attached the file with the Master Values part so you can see how i set it up. Use Regen, to refresh the derived parts after making any master value changes.

Cheers -Paul
GL_DeriveTest2.zip (39.44 KB)

Rank: 1

eric5935

Newbie

posts: 7

Registered: 2013-11-7

Message 7 of 8

30-01-2014 11:54 . am | View his/her posts only
Thank you very much for the Master Variable example! I hadn't figured out scoping of variables yet, and now it's perfectly clear and I have some good uses for this technique.

For the rederive function, I also tried setting the driving parameter back to the original and rederiving to see if that would be a work-around, but it doesn't make a difference. The references appear to get detached from the main object during the rederive operation.

Does anybody at ZWSoft have a comment about this (and hopefully it could be fixed in the next 2014 beta)?

Thanks,
Eric

Rank: 7Rank: 7Rank: 7

Paul

Moderator

posts: 262

Registered: 2011-9-17

Message 8 of 8

30-01-2014 03:10 . pm | View his/her posts only
Hi Eric,
good to hear it is some use.
EVERYONE suing ZW3D should learn how to use variables. You can do so much with them and it is relatively easy but so powerful.

A variable can be almost anything and from anywhere to do almost anything!
I suggest you also spend a bit of time and get familiar with Design Optimiser via Show'n'Tell
http://www.zwsoft.com/Service_Support/ser_zw3d/Show/en/177.html
It's really cool and opens up other doors...
Cheers - P
See also