What's new

Parts Replacement and Exploded View problem

danwilley

Member
Hello,

I am a new user of 3D CAD Modeling and Alibre. I started with a trial license of Atom 3D in early February (2020). Two weeks into that trial I upgraded to a Expert trial license and eventually bought that Expert license two weeks ago (Alibre Build 20072). The learning curve has been steep for me but the ideas are starting to click. I have run into a problem that I am hoping someone can help me with.

My Project Layout - The project I am working on has been done using the ground up approach. I have 18 parts (including fasteners) at the lowest level. I then created several intermediate assemblies with those parts. And finally integrated those intermediate assemblies and lower level parts into a top level assemble. Basically three levels. I have a global parameter file driving various design features across all three levels of parts and assemblies. I have produced drawings of all parts and assemblies and some drawing sets have multiple sheets. Each drawing set typically includes a Bill Of Materials (BOM) with call-outs.

My Problem - I am basically finished with this project but doing a final review for continuity. (I am doing all of this for a friend and will give him the set of finished drawings). After looking over all of it I decided to rename some of the parts and assemblies for consistency, and rename most of the fastener parts to better represent each part by its name. I am using McMaster Carr part numbers and their corresponding STEP files. After stumbling over the rename ("save as") work flow... (I backup a lot and had many roll backs and retries), I finally have the new names in the parts, assemblies, and BOMs. I did have to use the "Replace Component" function to get the newly named fastener parts put into the renamed assemblies that use them. (I would have expected that newly renamed part to be picked up without that extra "replace component" work flow step.) Okay, the newly named parts and assemblies are all there. Great!

Except now .... when I look at the drawings, the exploded views are not drawn correctly... some of the drawing is correct but some is not. If I look at the exploded view in an assembly, it is also not correct. The parts (fasteners) that I replaced (whose names were changed), are no longer being exploded. They remain in their (correct) un-exploded position rather being moved to their "exploded" position. All of the other parts however still explode correctly. These same errors carry over to the exploded/BOM drawings. The BOM contains the correct new part names (the part names that were replaced), but the exploded views are incorrect (or only partially correct). The call-outs are correct for all parts except those parts that were replaced. Those broken call-outs are still attached to the replaced parts, but now contain a question mark instead of the correct part number as listed in the (correct) BOM.

I have attached 6 screen shots to help explain...

Before parts replacement: 1) Non-exploded view, 2) Exploded view 3) BOM Drawing
After parts replacement: 4) Non-exploded view, 5) Exploded view 6) BOM Drawing


What am I doing wrong?
(I do not want to have to go back and rework all of the BOM drawings.)

Thanks in advance,
Dan

Before Parts Replacement - NonExploded View.JPG

1) Before Parts Replacement - Non Exploded View


Before Parts Replacement - Exploded View.JPG

2) Before Parts Replacement - Exploded View


Before Parts Replacement - BOM Drawing.JPG

3) Before Parts Replacement - BOM Drawing


After Parts Replacement - NonExploded View.JPG

4) After Parts Replacement - NonExploded View


After Parts Replacement - Exploded View.JPG

5) After Parts Replacement - Exploded View

After Parts Replacement - BOM Drawing.JPG

6) After Parts Replacement - BOM Drawing
 

JST

Alibre Super User
The issue is that Alibre has conflated the file name and the part name. So if you want to change the displayed name/description, you are essentially SOL. That will mess up every place the part is used, because Alibre uses that file name for everything to do with identifying the part. If you change it, the part becomes a "new part", without any usages nor constraints. One has to "sub it in" as you found out.

And one needs to remember to have the check boxes in the "substituting window" marked so as to apply the same constraints to the new part. In turn, that requires the part to have the very same identification of all surfaces and edges etc that are used on the constraints. If any of that is not true, then the part may be unconstrained, or wrongly constrained, due to using the same identifiers, which may now be wrong.

The PARTIAL WORKAROUND is to use the properties window to put a "description" in that tells what it is, and can be used instead of the file name on BOMs. That will not help you select parts from a list, but at least it will appear as a reasonable entry on a BOM, which I take it is a lot of what you actually want.

They SHOULD have made a "display name" that is separate from the file name, and had THAT displayed in all the pick lists. (this is a common and expected feature of, for instance, PC board layout programs, it is not hard to do). That name would not be used as an ID by the program, it would just be displayed in lists and would serve as a "tag" for the part that the user can ID it by. Changing THAT would not mess up anything.

They did not (bless them with a brick), and "it is what it is", however unhelpful, counterproductive, and <insert derogatory expletive here> it is.
 
Last edited:
Hi Dan -- I am located in the (American) Pacific (Daylight) Time Zone. I have a GoToMeeting account and I believe that I could show you some "work arounds" that may make your life easier. E-mail me (tangent@olympus.net) with a proposed date & time for such a "get together" if this sounds good to you. -- Lew
 

idslk

Alibre Super User
Hello Dan,

can you describe your sequence of renaming/save as procedure more in detail?
Mainly i ask for if you've done it top down or bottom up.

Regards
Stefan
 

DavidJ

Administrator
Staff member
Exploded views have to be re-created if you have replaced parts (EDIT - with a Saved As file). A pain.

Callout balloons have to be deleted and re-created if you have replaced parts (to associate them with the new files). Only takes a short time.
 
Last edited:

idslk

Alibre Super User
Hello David,

maybe it wasn't neccessary to replace parts. That's why i asked for the details. If Dan only wants to have his own names for single parts and he hasn't to rename the assemblies, the task could be done while saving the main assembly and all constituent with a save as. If he changes only the names of the single parts during this save as, the assemblies and sub assemblies should stay the "same". And ,also if i haven't tested it, the drawings sould be update with no changes at exploded views and call out ballons. This differs, as you said, if the parts have been replaced with "same parts with new names".
May you can some of your time and verify this...

Regards
Stefan
 

DavidJ

Administrator
Staff member
If the original file is renamed (i.e. don't 'Save As', just rename the file in WFS). It is still necessary to do the 'Replace' when opening the drawing to link the original but renamed file, but after replacing, the callout balloons remain connected correctly. This is because file GUID (which is used to link things internally) has not changed.

The normal caution to only use 'Save As' came about when users would copy/paste a part to create a second instance, then re-name and edit one instance. That leads to 2 physically differing parts with same GUID.

So if you just want to change a part file name - you can with rather less disruption.

I have not tested whether that method would lead exploded views intact...
 
Last edited:

idslk

Alibre Super User
Hello David,

I have made an assembly with 4 subassemblies with 9 parts each. All consist of 3 different single parts. One adapter plate, one washer and one screw.
I have made exploded views. One in the sub assembly, one in the main assembly. I have made drawings of the exploded views.
Now i want to rename the "screw" to "screw_M5".

( That's how i have understood Dan...)

What i've done now, is as "save as" all into the same folder. Before pressing ok, i have renamed the screw.

upload_2020-3-14_17-44-42.png

This results to this folder content:
upload_2020-3-14_17-46-58.png

The original "screw" and the saved as "Screw_M5". (If wanted for cleanliness, the first screw can be deleted)
The assemblies have been updated and overwritten! So the drawings will refer to the "new" parts!
The results in the drawings are: Drawing views have to be updated but the exploded views stay intact!!
upload_2020-3-14_17-51-48.png

Regards
Stefan
 

danwilley

Member
Thanks for the reply and discussion. I have read a lot of previous forum discussion from over two years ago forward and this seems to be a reoccurring problem, unfortunately. My comments in order of their posting.

JST... Ok (understood) regarding the use of filename. A "display name" along side the OS filename would be good to have for sure. But even without that, a rename (as implemented with the "save as" function) should patch up all occurrences of that name within the model graph. The code seems to do most of the patch up but doesn't go far enough. Yes, I understand the importance of the "retain constraints" check box on the "replace component" function. Because the renamed component (fastener) is exactly the same (assuming it was written to disk by Alibre with only a filename change)... then using "replace component" I would think is just a reload (?) of the same file (content wise) but with a different name (speculation on my part). I want the file name change for two reasons.. 1) To have a more consistent name space on the final drawings (display name would certainly take care of that but not necessary in my case), but 2) for easier recognition by the 3D Modeler guy (that would be me) when looking for a part to include in a new assembly. For my case, simply handling the part's file rename properly and completely would handle both of these. Again though, your idea of a "display name" would be a nice "over-achievement".

LEW... Thanks for the GoToMeeting offer. I will take you up on that in the near future. I will send you a private email.

Stefan... Regarding the sequence of renaming/save-as procedure I discovered/followed. I followed a bottom up sequence. So using a "Riser Block" example I posted above...
1) I loaded a fastener part. Then I did a "save as" of that part with the new file name. I did this first for all three of the fastener parts. I then closed those parts out of Alibre. Home page still running.
2) I loaded the "Riser Top" and did a "save as" with its new name.
3) I loaded the "Riser Base" and did a "save as" with its new name.
4) I then loaded the "Riser" assembly, it's associated BOM and drawing files. My thought here was all of the related components needed to be loaded in Alibre. Then I did a "replace component" on the "Riser Top" and "Riser Base" followed by the three fastener parts. I then did a "save as" for the "Riser" assembly with it's new name.
5) I don't remember when I renamed the drawing file.. Humm, I must have done a "save as" with its new name right after the steps above..

David... My apologies if I am preaching to the choir. The user shouldn't have to do any of that patch up work manually. Its nothing but a simple filename change. If for what ever reason the GUID has changed because the part was renamed... then upon hitting the "replace component" button, Alibre should iterate the object graph replacing all occurrence of the old GUID with the new GUID. Likewise, if a component has a different filename, because that filename is so important, Alibre should iterate the object graph and replace all occurrences of that name (which actually I think it does properly). After all, Alibre has the old component and the new components both loaded (I am guessing) and so should iterate every thing that is loaded to patch up the graph to make it whole. I would expect that exploded views and loaded drawings to also be updated too. It just seems to me that the code as written today does not go far enough. Given all of the past discussion and frustration with doing simple part renames, this should have been addressed long ago. The user shouldn't be forced to manually check all of their related drawings and exploded views looking for these broken side effects, and redoing call outs and the like.

Stefan (append two)... Ok I followed your work flow and loaded the "Riser Assembly", then did a "Save As" but before pressing "Okay", I renamed all of the parts (fasteners, riser base, rise top), then pressed "Okay". I got the same results as you in that the exploded views stayed intact in the top assembly. Regarding the drawing... the correct exploded view carried over okay and the call outs were pointing correctly and in the correct (original) position .. great. But... the call outs all have "question marks" and the BOM table was empty. I deleted the BOM table and reloaded and repositioned it back on the drawing. The BOM that came back was correct (with new part names) including all the changes I made to the original BOM layout. (I deleted a few columns from the instance generated by the default BOM template, changed fonts and centered the contents of two columns. All those changes were intact). But, the call-outs still have the question marks. As I mentioned above to David, I should not have to go and patch-up call outs. That is, delete and then new-up every old broken call-out. There are 18 in this one drawing, 16 of which are broken. I spent a lot of time putting that drawing together and shouldn't have to go back and touch all of them. (Not to mention other assembly drawings or having to remember to do this all again if I make a name change 6 months from now.) Alibre should do it. Alibre has the information there. If it knows to put a question mark in a properly placed call out, then it should go out and reload the BOM contents and reestablish the call out numbers. After all, that's what I have to do manually. Alibre can do it programmatically in a split second... and should.
So this process (outlined by Stefan) showed how to keep the exploded views intact. Not out of the woods yet... now I have the fastener and other parts renamed and the higher level assembly is somewhat happy except for the drawing (which needs to be fixed). Now what do I do if that same renamed fastener part is used in another down stream assembly. Do I load that other assembly and do a "replace component" with the newly renamed fastener part? Does it's exploded views now break (see my original post)? The point here is that this part rename work flow is incomplete and fragile. For a function as basic and (as often requested), it should be properly addressed by the Alibre development team. I hope they are reading this thread.

Thanks,
Dan
 

idslk

Alibre Super User
Hello Dan,

of course there are things to do for the Alibre team...
In the meantime, here are some tips (maybe not new, but may they help anyway)
If you have changed things in your design it makes sense to do a "Reproject Views" with "Select All Views" checked.

upload_2020-3-15_0-31-25.png

then you should edit the BOM and do a "Resequence" which eliminates gaps and "new unwanted numbers".

upload_2020-3-15_0-34-41.png

In your drawing you can minimize the balloons to reduce rework. If you have chosen "Callout" and the first part, don't click apply to leave the window, instead click on a next part. You will get one balloon with two leaders. Then you can click on "Apply"
upload_2020-3-15_0-40-59.png upload_2020-3-15_0-41-56.png

If you have a "?" in a ballon, you don't have to delete the ballon. You can double click (LMB) on the question mark. The callout annotation window will open.
upload_2020-3-15_0-44-38.png upload_2020-3-15_0-45-1.png

If you choose "Override" you can choose the item number you need and your balloon will update in the same place you've chosen at creation date of the drawing.
upload_2020-3-15_0-46-27.png upload_2020-3-15_0-47-24.png

Unfortunealy i do not have a better workflow for replaced components...

Regards
Stefan
 

danwilley

Member
Hello Stefan,

Thanks for the tips. I knew about all of them except the multi-pointer call-out. I will use that feature for sure for a less crowded drawing... notation wise. I have spent dozens of hours watching the Alibre how-to videos and reading as much, but never saw that described (or maybe I didn't notice it because the learning curve is overwhelming at first).

In your append above you described the “Save As” sequence you wrote and how it seemed to work. I responded and agreed. Well as it turns out it does not work for multi-layer parts and assembly projects like mine (it dead locks). Also, the BOM files do not get updated. Hence, there are two problems... the BOM which is fixable (see below) but the “Save-as” dead locks procedurally.

This dead-lock has forced me to abandon trying to rename the parts and to leave my project as it was. I am frustrated that I spent over 4 days on this without resolution. Any customer that has lots of drawings and then needs to make a part name change, right away or 6 months later, is out of luck. A part rename function really needs to be properly addressed by Alibre.. all the way through to the drawings. All of the parametric 3D modeling function is just wonderful in Alibre. I am perplexed why such a low level function as renaming a part is not addressed all the way to drawings. (I spent my professional career as a programmer working on complex projects ranging from embedded software to enterprise level software. This would be a Severity-1 defect in those environments.)

After thinking about this, JST's suggestion of adding a “display name” is probably the easiest, most useful and flexible solution. That function has my vote (if my vote matters).

To continue …

Elephant in the room... procedural dead lock.

The “Save As” procedure worked great until I got a procedural dead-lock on a higher level assembly that contains both a lower level part (fastener, in my case) and an intermediate assembly that also contains that same lower level part (fastener). The dead lock is in the “Save As” dialog for that higher level assembly. In my case, a fastener part was renamed by a previous “Save As” for a different assembly... the part had already been created on disk with the new name. When I did the “Save as” for the next assembly, that fastener part was listed twice in the file name list... once using the old name, and once using the new name. When I changed the old name to the new name (in the “Save As” dialog), the dialog disabled the “Okay” button and displayed an error message saying a part already existed by that name. Well yea... its called an overwrite. The dialog doesn't allow you to go any further at that point except to change the name of that file to something different, or Exit the dialog. The whole rename sequence is dead locked... end of game.

Prior to discovering this dead-lock situation and while working on doing the “Save as” rename on mid-level assemblies, I discovered that the Bill Of Materials (BOM) file did not get updated with the new part names. So I created a procedure to re-generate the BOM associated with an assemble to be used by an existing drawing. I wrote that procedure up and appended it here as a PDF. It is long but doable. It will work provided you don't have the “save as” dead lock problem. Maybe it will be helpful to someone.


Thanks,
Dan
 

Attachments

  • Part Name Change and BOM Fix-up Procedure.pdf
    73.4 KB · Views: 7

DavidJ

Administrator
Staff member
Dan,

I believe (but don't have a suitable project to test this on) that renaming of the part file in WFS, then replacing the apparently missing part with its new name (actually the same file)when prompted upon opening the drawing in Alibre should work. It should avoid the 'procedural lock' situation you describe.
 

danwilley

Member
Hi David,

Okay great... so the procedural rule would be, as soon as the first assembly renames a part in WFS, you should remove the old file name (by appending “-OLD”, deleting or what ever). You just want the old name missing to trigger the “missing file” challenge. I will try this and report back the results.

(Edge case, and assuming this works, I suppose after getting by this rename dialog, you could then bring the old file name back in WFS if that old name was still needed by some parallel project not participating in the part rename. Not that I want to do that but just thinking a little further.)

Thanks,
Dan
 

DavidJ

Administrator
Staff member
To be clear - the process I'm suggesting is

1. decide on parts which you wish to rename.
2. re-name each part in File Explorer (not from Alibre)
3. open the drawing (or the assembly is there isn't a drawing) - you'll be prompted about the missing parts. Use the replace button at the bottom of the prompt dialogue to replace each renamed file. When done, you'll have to re-project drawing views - all should be OK.

If renaming more than a small number of parts, it might be sensible to repeat the process with smaller numbers of re-names, just to make it easier to keep track of.
 

JST

Alibre Super User
......
............
I want the file name change for two reasons.. 1) To have a more consistent name space on the final drawings (display name would certainly take care of that but not necessary in my case), but 2) for easier recognition by the 3D Modeler guy (that would be me) when looking for a part to include in a new assembly. For my case, simply handling the part's file rename properly and completely would handle both of these. Again though, your idea of a "display name" would be a nice "over-achievement"........

Thanks,
Dan

That is why the name suggestion is good. It directly addresses pretty much everything you mention. It is not just a "nice overachievement"

I think you missed the point, so I will repeat it

there are SEVERAL good points to the idea....

1) The name would be used as the default "name" for parts on BOMS etc

2) When using "insert part" etc, THE NAME WOULD BE WHAT IS DISPLAYED ON ALL SELECTION LISTS and the "design explorer" in ALIBRE. That would make it ridiculously easy to know what part you are looking at.

3) The name would be the part name exported to Keyshot.

4) The name would NOT be the file system name, so that things would NOT be completely upended with a re-name, as they are now. The same old file system name can continue to be used for ALIBRE to identify parts.

It essentially changes the "human readable" name to be a different, easily changeable name, that is NO LONGER baked-into the entire part ID system of ALIBRE.

This functionality is used in ALL circuit board layout programs that I am aware of, and works exceedingly well. It is not a new thing, and is not a problem in use. It makes things easier by 100x in PCB layout, and should work very well in ALIBRE.

And it is essentially an "overlay" to existing ALIBRE functionality, it should not be necessary to do much to that at all.

This would be a huge benefit if using a "real" library system, which ALIBRE does not have yet, but should have.

At the risk of being a broken record here, the "workaround" of the rename process David J suggests, is just that, a "workaround", adding many steps to the rename process. If you have a simple assembly, there may be no huge disruption, but if you have many parts, it becomes an issue.
 
Last edited:

DavidJ

Administrator
Staff member
Stefan - I explained earlier where that recommendation came from.

In this particular situation, renaming the file in WFS doesn't cause major issues - it does if the user copies a file and then renames/edits it.

2 different files with same GUID = trouble. Re-naming a single file = minor effort to re-link it.
 

idslk

Alibre Super User
David,
i know - erveryone else also?
Should it be shown how to edit the GUID to get two files with the same name...;)
Regards
Stefan
 
Hi Dan -- One thing I run into all the time is that my Part Names generally follow the format: "Document Number - Document Type - Item Description - Revision ID." A typical Part for me is named something like "20A-M-00160 - Gonkulator Armature - Rev Prelim." This would be a Part created for my first contract of 2020 ("20A") being a Machined Part ("-M") defined as number 00160 against that Contract having the Description of "Gomkulator Armature" and being of "Preliminary" release status (which will change to "--" (for New), "A," "B," "C," etc as the design evolves and progresses.

So, I reach the point where the "Rev" changes from "Prelim" to "--." I (A) archive the "Prelim" revision appropriately, (B) rename the Part file from "Rev Prelim" to "Rev --" and make whatever changes agreed by the (appropriate) Design Review meeting. [Mind you I also generate a "Rev --" Drawing and PDF at this point as well.] As I deleted the "Rev Prelim" from the directory when the "Rev --" version was created, opening the "UsedOn Assembly" forces me to replace the "Rev Prelim" part model with the "Rev --" version.

Other than this being a RPITA rather than being able to Rename" files from within the Alibre Design context, it does work. -- Lew
 
Top