View Issue Details

IDProjectCategoryView StatusLast Update
0000881PartDesignBugpublic2012-11-21 09:05
Reporterscopaev Assigned Tojrheinlaender  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Fixed in Version0.13 
Summary0000881: V0.13 - Linear Pattern - Only works for 2 Occurrences (1 repeat of pattern).
DescriptionThe occurrences does not work if any number > 2 is entered.
TagsNo tags attached.
FreeCAD Information

Activities

wmayer

2012-11-16 18:01

administrator   ~0002541

Last edited: 2012-11-16 18:03

It works! You have to play a bit with the value of "Length". The linear pattern fails if the pattern objects would intersect. So you have to make sure that there is enough space between the two pattern objects. Therefore you may have to increase the value of "Length" but you also have to be careful that no pattern object jumps outside the support plane.

See the attached file.

2012-11-16 18:03

 

linear_pattern.fcstd (19,466 bytes)

2012-11-16 18:43

 

scopaev

2012-11-16 18:49

reporter   ~0002542

I'm so sorry, I completely misunderstood the functionality. I did not realize there had to be a different item than the one you are working with as a base.

I am used to just being able to set the Pattern number (in freecad the occurance Number) and the feature just copies onto itself as many times as you want (as long as they are touching). See attached picture. I assumed if I changed the occurrance to 3 I would just have had 3 cylinders on top of each other instead of 2.

Maybe I want to suggest an aditional ability for patterns?

What do yo guys think?

wmayer

2012-11-17 01:49

administrator   ~0002543

In part design the most important rule is that the output of any operation must be a single solid.

And for the linear pattern all the objects lie on a common face so that in your example it's not possible to have more than two cylindrical parts. Btw, modelling a cylinder this way doesn't make much sense anyway IMO because you can create this with one pad by just defining the full length.

2012-11-17 13:56

 

FC-SwExLin1-Body.jpg (105,381 bytes)   
FC-SwExLin1-Body.jpg (105,381 bytes)   

2012-11-17 13:57

 

FC-SwExLin1-Patterned.jpg (124,041 bytes)   
FC-SwExLin1-Patterned.jpg (124,041 bytes)   

scopaev

2012-11-17 14:06

reporter   ~0002544

I appreciate that the single solid rule is important to FC, so I am not suggesting to break it.
You can have any number of my cylinders on top of each other and they would all be part of the same thing.
I only used the cylinder as a simplistic form of expressing the idea.

I was actually attempting to build a Circuit Parts Library and I was using the method I did in SW. I change the # of occurrences of the center body pattern, then the pin pattern to auto-magically make my parts 4 pin, 16 pin, or whatever.
Please see attached files Fc-SwExLin1-Body And FC-SWExLin1-Patterned for an example of what I was trying to do in FC.

To use FC now would mean I have to create a different body for each component so it is not as auto-magic as I would have hoped, but no worries, I Still love FC!

wmayer

2012-11-18 11:37

administrator   ~0002554

OK, I see what you mean but at the moment the linear pattern doesn't support this behaviour. I'll assign this to the author of the linear pattern feature.

jrheinlaender

2012-11-20 08:40

developer   ~0002566

It is possible to implement intersecting occurrences, but it will have a performance penalty because of inefficient programming of booleans in OCE.

IMHO you should model the Circuit part like this:
First feature: The body with an equation for the length
Second feature: The feet as a multitransform: Mirror + linear pattern

Drawback: 1. isn't implemented yet in FC (but a python script could probably do it)

scopaev

2012-11-20 13:35

reporter   ~0002570

Thank you for all the help guys.

I believe this is just a case of bad modeling habits by me. jrheinlaender is correct, I much better off modeling as he described, and now I am hard pressed to think of any reason I would need the "intersecting occurrences". Now I am trying to figure out why SW even allows me to do such a thing.

You could totally close this "non-bug" out. I take it back :-). It works as it should on all modeling packages and I appologize for taking you folks away from the more important aspects of FC!

One other question...why does FC allow me to have intersecting occurrences with 2 occurrences? For consistancy, maybe in the future not allow unless it is on a base and some sort of warning telling folks the base part is missing? Just a thought.

jrheinlaender

2012-11-21 09:03

developer   ~0002571

Intersecting occurrences are possible for 2 occurrences because it comes at no extra cost (coding and performance).
Currently (until the introduction of the Body feature) the original is used as the "base part". This is a temporary solution and not totally consistent, as you pointed out.

jrheinlaender

2012-11-21 09:05

developer   ~0002572

Inconsistency in GUI will be handled with introduction of Body feature in 0.14

Issue History

Date Modified Username Field Change
2012-11-16 15:05 scopaev New Issue
2012-11-16 18:01 wmayer Note Added: 0002541
2012-11-16 18:03 wmayer File Added: linear_pattern.fcstd
2012-11-16 18:03 wmayer Note Edited: 0002541
2012-11-16 18:43 scopaev File Added: Screenshot from 2012-11-16 13:40:35.png
2012-11-16 18:49 scopaev Note Added: 0002542
2012-11-17 01:49 wmayer Note Added: 0002543
2012-11-17 13:56 scopaev File Added: FC-SwExLin1-Body.jpg
2012-11-17 13:57 scopaev File Added: FC-SwExLin1-Patterned.jpg
2012-11-17 14:06 scopaev Note Added: 0002544
2012-11-18 11:37 wmayer Note Added: 0002554
2012-11-18 11:39 wmayer Status new => assigned
2012-11-18 11:39 wmayer Assigned To => jrheinlaender
2012-11-20 08:40 jrheinlaender Note Added: 0002566
2012-11-20 13:35 scopaev Note Added: 0002570
2012-11-21 09:03 jrheinlaender Note Added: 0002571
2012-11-21 09:05 jrheinlaender Note Added: 0002572
2012-11-21 09:05 jrheinlaender Status assigned => closed
2012-11-21 09:05 jrheinlaender Resolution open => no change required
2012-11-21 09:05 jrheinlaender Fixed in Version => 0.13