cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X

How to Add Many Components to an Assembly at Once?

smorris
5-Regular Member

How to Add Many Components to an Assembly at Once?

Include only supports one component at a time via UI or drag-n-drop?

I have a folder full of parts. I want them all in the same assembly for organization purposes. I know I can create a mapkey to assemble them all one-by-one, but I'd really like to know why I cannot drag-n-drop or use Include on more than one component at a time. This seems like a simple request and something that most other CAD systems can do without issue.

Anyone has thoughts on the easiest way to get a folder or folder structure of parts all into a single assembly?


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.
15 REPLIES 15
dschenken
21-Topaz I
(To:smorris)

I would create a VBA routine that creates a mapkey or trail file that does the import. Alternatively, check Jose Costa and his Trailmaker utility See the end of Re: Trailmaker 0.3

The reason you cannot do this with drag-and-drop is that PTC did not include that function. Reading some of the posts on 'the old new thing' on the MS blog will show that even Microsoft doesn't have every function available for every case imaginable. It's a good read for understanding how Windows and Windows development works, but also looks at the tradeoffs software developers have to make. https://blogs.msdn.microsoft.com/oldnewthing/

David, couldn't Pro|Program do an assembly of an entire folder of parts with a fairly simple script?

Scott, you can do a lot of dragging around of parts and you can even get things to drag around together if they are so constrained.

Nothing keeps you from having clusters of parts constrained to each other and let them move around by dragging.

This is a typical application for mechanism constraints.

Why drag around all that graphics data of parts simply strewn around when you are making a new assembly?

Why bother having all the geometry in the way when you are trying to find mating faces or features?

Tip, you can open all the parts in memory so you can easily select them during the install operation in case of a large library to traverse.

Pro/Program isn't a scripting language. It is a variant of relations.

The drag-and-drop is to pick a file from a Windows explorer window and drag the icon over the Creo window, which Creo is programmed to recognize as a short cut for open or assemble.

I was thinking of scripting a pro|program formatted file that can be imported.

I think Pro/Program only operates as an overlay on an existing model structure, but cannot create or remove elements from that underlying structure.

The only case where it would be of value is if the original parts were in a family table or assembly exchange group. If all the items were brought into memory first then one could edit the Program after creating enough assembled instances by changing the names. I've done this instead of using the Assembly/Replace interface. It is much faster when a large number of instances need to be dealt with; especially as it can be used to make multiple substitutions with only one edit of the Program file.

Using Program pushes the hard work from assembling the items to opening all of them to get them in memory, so the same sort of task with different related commands:

Case 1:

For All Selected Parts

    Assemble Each Selected Part

Case 2:

For All Selected Parts

     Open Each Selected Part (and then close the window)

Then Create Assembly of same Qty as Selected Part

Then Edit the Program to use In-memory parts (limited to Family Table/pre-defined Exchange assembly Parts)

PATTERN

dschenken
21-Topaz I
(To:ss-8)

Right answer, wrong question. Original question is how to assemble all the items in a folder to an assembly with one action.

Two methods:

Use dynamic assembly constraints and patterns, better yet, reference pattern.

Pre-defining mating interfaces at the part level also helps the selection process.

I find the dynamic assembly constraints to be quite useful.  They do not require anything other than a config.pro change.

Breaking out of "assumed" mating conditions on the second install of a component is simple.

You insert and constrain...insert and constrain... but the install component feature remembers your last installed component, so this also helps to quickly add multiple part.

It is just a little different way of thinking.

dynamic assembly constraints and patterns


what are those? and how do you change the config.pro?

You can define component interfaces intended for assembly references.  Makes picking and mating decisions easier.  "Dynamic" is likely the wrong term for this.

...and patterns are quick ways to making the same part distribute based on some kind of reference.

Typical example is a flange with many bolts.  If the flange has a reference pattern from say, placing the holes using a pattern feature at the past level, Creo recognized that pattern as a reference for the bolt locations.  No mating or anything, just a pattern of parts that follow the 1st instance.

smorris
5-Regular Member
(To:TomD.inPDX)

The real use case stems from this OnShape video. Just watch the start of it...

https://www.onshape.com/videos/assembly-mates

At the start of the video, they can include a whole collection of components into an assembly in one step. I look at Creo and go "ugh!", I can only drag in one part at a time. I think its a real deficiency that Creo does not allow multiple components to be dropped in the model tree of an assembly to be "Included". Its still not as nice as OnShape since they actually show the components in their default locations, but it would be nice to not have to add them all one-by-one.

Mapkey seems like the only way to make this happen unless there is some cool functionality in the Trailmaker. Scripting this needs to be easy to make it worthwhile.

I should probably create a new Product Idea for the Include operation to support multiple items. That would be the easiest implementation, just the longest route to success.

dschenken
21-Topaz I
(To:smorris)

The reason they are in usable default locations in On-shape is they were originally created in the context of a similar assembly; see https://www.onshape.com/videos/essentials-assembly-basics

They can open a group like this because they designed their software to do this. Plus, the example they chose was chosen because it demos well. If there were 100s of parts all located at random locations and orientation and they had to sort through them to place them it would not look so attractive.

psobejko
12-Amethyst
(To:smorris)

When I first read your post, I was thinking it would be really handy to have this capability if trying to do a mass - rename operation in Windchill - as you'd initiate the rename of the one assembly and be able to rename all its components after collecting the assembly's dependents into the windchill rename-table.

Anyway, here are my 2 cents:

OnShape is like Solidworks in their assembly methodology; they are not like Creo and you just have to accept it and stop trying to use these CAD tools in the same manner.

Think about what utility throwing 100's of components into a Creo assembly would provide?  When you are defining the placement of the 5th one in on the list, the components #6-#100 will disappear from your view and will not be available to assist in organizing the overall structure...

In fact, a question to ask is whether your assembly should really have 100 components in it's model tree.  Is this really how the real thing will be built?

I am using SolidWorks and I can tell you that I much prefer Creo when it comes to inserting, placing, and mating.

SW may have midplane, but Creo has the ability to place AND mate parts in 5 clicks, 4 if rotational freedom is allowed.

Top Tags