What's new

Hardware (?) problem.

tpj-tech

New Member
Hi. I have a challenge, wonder if any do have a solution? Problem: Laying out a lot of holes in sheet metal (or just a part) in a pattern causes my Alibre to halt. I thought it was a HW problem, so checked with CPUID HW monitor open, and I noticed, that the only 2 cores seems to working a bit during the command. (Linear pattern). Checked up with normal load, including loading large assemblies, and the all cores (6) working full. Any of you know if it is software problem in Alibre or what is going here? My setup I5-8400, 32gB RAM, 2x500 Samsung EVO 970 Nvme2, graphics PNY Nvidia P2000.
(Checked also rendering in Keyshot9, there everything works to the limit, both with and without using GPU mode.)

It is a real professional problem for me, as I often need to design sheets woth a lot of patterned holes, so pls. helt me out :)
 

simonb65

Alibre Super User
Laying out a lot of holes in sheet metal
How may are you doing? What is the number in either direction? There is a performance hit on any machine when doing patterns, the scale of that depends on the number! It's something that has been mentioned to Alibre on a couple of occasions, but I've never seen an improvement or response.

Have you tried to split the holes patterns into a number of smaller pattern features to see if the overall performance improves.

You also don't specify which version of Alibre you are using.
 

simonb65

Alibre Super User
@tpj-tech, as a comparison, a hole pattern of 19 x 19 on my desktop (spec in signature) takes 4 seconds from hitting OK to render.

A hole pattern of 39 x 39 takes 33 seconds! ...

upload_2020-6-10_14-39-31.png
 

DavidJ

Administrator
Staff member
3D CAD processes are largely serial and hence can't use multiple cores. Background operation can perhaps use other cores.
 

NateLiquidGravity

Alibre Super User
Cutting a sketch with a 50X50 round shape pattern = about 90 seconds to recompute.

Cutting a sketch with a 10X10 round shape pattern = nearly instantly.

Cutting a sketch with a 10X10 round shape pattern then feature pattern that 5x5 = about 25 seconds to recompute.

Making it in steps is definitely faster. There will be a sweet spot where the time is best.
 

simonb65

Alibre Super User
Be nice if the Alibre team could look at performance profiling these things and make some improvements.

I first saw issues with performance when programatically adding parts to an assembly using the API, it seems that after every part added, it computes everything again, so you end up with an exponential performance problem. For performance, the calculation needs to take place once at the end (i.e. suspend it until all the parts are added), which I suspect is how a 'Load' operation handles it!

I suspect from the nature of the feature pattern and its exponential time to process as the pattern increases, this is a similar issue internally to the API issue!

Alibre really needs profiling and optimising!
 

HaroldL

Alibre Super User
Laying out a lot of holes in sheet metal (or just a part) in a pattern causes my Alibre to halt.
Would be nice to know what "a lot of holes" actually is. If you're trying to create a perforated sheet with holes covering the entire sheet then you are likely to have a performance hit. If it just a small pattern then maybe not so much. You're creating a lot of geometry that needs to be calculated with patterns. Too bad there's not an easier way to create them, although, you could try the Linear Topology Pattern from the Part Modeling tools.
Depending on how large your pattern is there are ways to create a partial pattern then indicate the extents of the pattern on the drawing without creating the whole pattern and bogging down your computer.

As a side note, Alibre is not the only CAD program that suffers from performance issues with large patterns. Where I retired from we could bring SolidWorks to a standstill by creating hole patterns. Sometimes took over a minute to complete them.
 

tpj-tech

New Member
How may are you doing? What is the number in either direction? There is a performance hit on any machine when doing patterns, the scale of that depends on the number! It's something that has been mentioned to Alibre on a couple of occasions, but I've never seen an improvement or response.

Have you tried to split the holes patterns into a number of smaller pattern features to see if the overall performance improves.

You also don't specify which version of Alibre you are using.

Hi Simon, I have tried "everything", pattern as single holes (both as "hole" and as "cut feature), I tried one row linear pattern, one column pattern, a small
"square" pattern. I use V21, "no updates available"... It has always be demanding for any 3D software with many holes, but it seems to me the problem has got worse in the newest version / my 2 y old computer. This is a problem to me, since I often need to make +5000 holes (most often round) in one sheet and it seems impossible, my computer / or the software causes it to a complete stall. It do not brake down, just stops, with the (6) cores going from full turbo (3900 MhZ) to idleling before it finishes. And it do not seem to be the hardware, because no temperatures etc are anyway near max. But I do notice, that even RAM
usage should be increasing (starts of at 20%), only 1-2% increase. So I wonder, is there a "loop" problem in the software.?

Just tested: in sketch, (laying out holes) same problem, it halts before finishing. Had a collegue do the same in SW, it took about 1 min 20 sec, but the job was done. It looks to me, that because there is some kind of bug in Alibre, that causes it to halt, going into a "loop" or something, because processor demand suddenly drops during the process.
 
Last edited:

HaroldL

Alibre Super User
I often need to make +5000 holes (most often round) in one sheet
:eek::eek:
As I noted in my post, you can do a partial pattern then mirror it to represent the full pattern and add notations to the drawing specifying the size and number of holes and the extents of the pattern. That way you won't be hampered by the computer attempting to resolve all those holes.

There may be another ways of showing the pattern but here's a screen shot of one method of dimensioning the part drawing with a "reduced" hole pattern.

DwgHolePatternExtents.png
 

tpj-tech

New Member
:eek::eek:
As I noted in my post, you can do a partial pattern then mirror it to represent the full pattern and add notations to the drawing specifying the size and number of holes and the extents of the pattern. That way you won't be hampered by the computer attempting to resolve all those holes.

There may be another ways of showing the pattern but here's a screen shot of one method of dimensioning the part drawing with a "reduced" hole pattern.

View attachment 30768
Hi Harold,
I know of the short cuts, and I often use for manufacturing purposes, no porblem. But the problem for me now, when making a number of different sheets in different dimensions (for covering facade), where the holes are meant to part of the design, I can not present it in full for the customer. Right now they are
taking for example the silhuet of a horses head / a horse in some plates, all seen from different angles. My plan was to create "the complete pattern" and then
delete the holes not needed to create the silhoute. For presentation for the customer in 3D, who wants this before manufacturing, but seems I can not do it with Alibre for now :-/....
 

Ralf

Alibre Super User
KeyShot is a great option for customer presentations.
Assign the material (circular mesh) with one click:

KS-Mesh.png

Also for somewhat more complex geometry:
Kugel-KS.png
 
Last edited:

HaroldL

Alibre Super User
But the problem for me now, when making a number of different sheets in different dimensions (for covering facade), where the holes are meant to part of the design, I can not present it in full for the customer. Right now they are
taking for example the silhuet of a horses head / a horse in some plates, all seen from different angles.
Whoa, that's something I don't think I've seen before. I can see where you'd end up with a very large number of holes.
 

idslk

Alibre Super User
Whoa, that's something I don't think I've seen before.
do a search with "perforated metal fascade signs" do get some impressions... There are also companies were you can get "your" photo as perforated sheetsmetal...
Regards
Stefan
Btw. If you divide the image into smaller parts (like 30*30 holes) you can design them with good speed as single parts in alibre and assemble these "tiles" to the complete picture (assembly) also in good speed in alibre...
 

bigseb

Alibre Super User
Hi Harold,
I know of the short cuts, and I often use for manufacturing purposes, no porblem. But the problem for me now, when making a number of different sheets in different dimensions (for covering facade), where the holes are meant to part of the design, I can not present it in full for the customer. Right now they are
taking for example the silhuet of a horses head / a horse in some plates, all seen from different angles. My plan was to create "the complete pattern" and then
delete the holes not needed to create the silhoute. For presentation for the customer in 3D, who wants this before manufacturing, but seems I can not do it with Alibre for now :-/....
You have an example of what you have so far?
 

NateLiquidGravity

Alibre Super User
I first saw issues with performance when programatically adding parts to an assembly using the API, it seems that after every part added, it computes everything again, so you end up with an exponential performance problem. For performance, the calculation needs to take place once at the end (i.e. suspend it until all the parts are added), which I suspect is how a 'Load' operation handles it!

FYI on the scripting side they have documented the following to speed things up:
Code:
Assembly.PauseUpdating()
#Pauses updating the assembly user interface

Assembly.ResumeUpdating()
#Resumes updating the assembly user interface

Part.PauseUpdating()
#Pauses updating the part user interface

Part.ResumeUpdating()
#Resumes updating the part user interface

Additionally I've also noticed when printing a ton of things that it is faster to accumulate them in a string with multiple lines and then print that string. For example:
Code:
Win = Windows()

# this is slow
for i in range(0, 500):
    print(str(i))
print('That was slow!\n')

Win.InfoDialog("The program gets here but is still printing slowly. Wait for it to stop before closing this window.", "Printing")

# this is fast
outputstring = ''
for i in range(0, 500):
    outputstring += '\n' + str(i)
print(outputstring)
print('That was fast!\n')
 

simonb65

Alibre Super User
@NateLiqGrav, thanks, I'll take a look and see if the Pause/Resume is exposed in the API (it may only be accessable to the scripting engine).

As for the strings, there are many optimizations that can be made with strings as creating a string (allocating memory) is time consuming. Which is why in languages like C#, for instance, its faster to use StringBuider than String. The same with printing to a window/console as each print operation allocates/deallocates memory. Much faster to do it once than 500 times!

Most of my programming work is either win UI performance based or embedded controllers, both of which require high levels of performance and where the majority of work is testing, profiling and optimising for performance.
 

fabcadmz

Senior Member
Linear Topology Pattern will pattern faces a lot faster than feature pattern will. This is found under the part modeling tools, so you will need to enable the part modeling toolbar to be able to use this on a sheetmetal part.
It might be worth a shot, but as was already mentioned, Alibre might not quite be the tool for this type of thing.
 

Max

Administrator
Staff member
Linear Topology Pattern will pattern faces a lot faster than feature pattern will. This is found under the part modeling tools, so you will need to enable the part modeling toolbar to be able to use this on a sheetmetal part.
It might be worth a shot, but as was already mentioned, Alibre might not quite be the tool for this type of thing.

This is the right(est) answer.

Sketch Pattern and Feature Pattern actually compute new geometry. Topology Pattern says "take whatever faces are here and put them in more places" so the underlying compute is much faster. It has some limitations, but for the use case of patterning circles on a sheet it should be a lot faster.

Some data using various approaches on a 40x40 pattern of holes through a thin sheet on my machine - seconds shown are compute seconds + Refaceting for Display:

Sketch Based (Total: 1:43)
1) Create a 40x40 pattern of holes in a sketch - 61 seconds
2) Use that sketch to make an extrude cut - 42 seconds

Feature Pattern Based (Total: 0:41)
1) Create a single circle and extrude Cut it - 0 seconds
2) Create a 40x40 Feature Pattern - 41 seconds

Topology Pattern Based (Total: 0:15)
1) Create a single circle and extrude Cut it - 0 seconds
2) Select the interior circular face and Topology Pattern a 40x40 set - 15 seconds
 
Top