Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Comments
You are correct. Everything I model is grouped into areas that will be 3D printed and placed on the model once parts are sanded, textured, and painted. So I was creating indivitual Documents for each group. Not realizing I could do the same thing by creating Part Studios for each group under one main Document. I have already experienced the improvment, but still learning to work between PS and ASM's.
I now know to start orgainizing model groups at the very beggining of the project.
Thanks for your help.
Here is another sample with similar structure and showing more techniques. There is a sample included called divide that shows a way to break up large parts to fit in the printer. You don't have to start with broken up bits. If you want to do this later feel free to ask questions. There is a feature script involved plus an in context part studio.
https://cad.onshape.com/documents/18cf90ffc658b26bb4eb2976/w/11825a07bebecbad43a457f1/e/daa23e34328fdacb9b0bb9f7
@jack_erhart I think Nick's comments are spot on. And your skills at modeling parts, is exemplary, but I think you need more understanding about assemblies. Nick is right, a "sub-assembly", is just an assembly, that is used inside another assembly (the difference is in name only - it's just where you use it). And the nesting of sub assemblies can be many, many layers deep. If you learn about assemblies, your skills at 3D cad will go through the roof.
The real magic starts to happen in the assembly environment - If you mate properly, you could "animate" the actual movement of all moving model parts (yes even a locomotive engine).
I think you are very close to having that "eureka moment".
I've got a related question about this:
What's the best workflow for the design of a part that needs to serve different contexts? To extend the automotive analogy further (apologies, my knowledge of locomotives isn't good), consider that a car needs a steering column mount, and that mount needs to serve both Left Hand Drive and Right Hand Drive variants. The same part is serving both contexts in order to keep BOM / tooling costs down. The context for each of the LHD and RHD positions is different, eg: relationship with surrounding HVAC components and wiring harnesses is different for the LHD and RHD contexts. So to design the part in context it helps to be able to see the context of both positions simultaneously. I'm presently doing this for a project using 'Derived' workflow and it seems OK - but whenever I do this Onshape advises me against using Derived and suggests using Assemblies instead.
Can assemblies handle simultaneous context, or is this a use case where 'Derived' is still the best way to handle it?
ps. Thanks for posting this thread @jack_erhart this is very helpful.
Andrew,
First off, you are welcome. Secondly, Fast prototyping is one of the things that has made 3D printing so popular. So you are very correct in mentioning it as one of the many ways to develope and test parts.
Is there away to scale an assembled model within an Assembly? Or do I have to change the size of each part in their Part Studio?
Andrew
Using multiple contexts will give you what you're looking for. Time to make sure names are given besides context 1 & context 2. Like context RHD & context LHD. Make sure to practice single context on something before jumping in since the additional context will add complexity and more tracking. It is still way better than using derived systems especially when using multiple placement of sub assemblies. This uses less system overhead. To see both contexts at the same time, open another browser on your second screen to run another OS. You can then see context one on 1 screen and context 2 on the other. You can switch back and forth seamlessly or some one else can work on the other context on their own screen.
At some point you'll probably want to get into configured assemblies to work on the LHD & RHD. But that's down the road. Again both configurations can be worked on simultaneously.
Thanks @glen_dewsbury , I'll check it out. My regen times are starting to get a bit up there, so anything to reduce system overhead would be welcome.
@glen_dewsbury
Any information on scaling within an Assembly?
Scaling is only in part studios. Assemblies are all about physical relations between parts, motion and meta-data. There's no geometry modification in an assembly.
Hello Andrew, I could be misunderstanding your questions, but, you might consider "configurations" as a way to show right/left instances. It took me awhile to wrap my head around configs. & configured suppression, but it is a very powerful methodology. you might give it a try.
Here is a sample of scaling parts. Requires a bit of know how with a configuration variable.
Scaling is done when parts inserted into assembly.
Part studio 1 used OS part and part studio 2 is an import.
https://cad.onshape.com/documents/98809516cc59bd2e8a1e5aac/w/c5d4e1303a6a7c47865378db/e/9d9d07123748e1e25e5a7611
I'm not sure how the scaling was adchieved. Could you explain configuration variable? So you are saying that scaling can happen within an assembly at the insertion point? I will have to test that.
A workaround that I have found is to edit in context, once part is in the created Part Studio selected the entire part. Then once selected, mirror that selection. That creates an entire copy of multiple parts identified by numbers. If anything gets reversed, because of the mirror process, just select it and mirror it again. Kind of a long way around, but it works.
In the part studio a configuration variable is added (scale) then used in the transform feature. No need to change in studio for normal use. You can change here just to see the affect.
When you insert into assembly it will look for the scale you input before selecting part.
Later if this works to your liking I can demonstrate use of a global variable so the scale can bet set once at the end.
So I am assuming this all still happens within the Part Studio? Appreciate the insight. Not sure how I would use it for my projects, since I model in full size, and then scale parts for printing to the scale I need. I was trying to see if once I had put an entire model together in an Assembly if I could scale it to any size I would like. Appreciate the help.
That was the intent of the above sugestion. Build full scale then insert into an assembly scaled to print size.
Sorry forgot to post link to reference.
https://cad.onshape.com/documents/98809516cc59bd2e8a1e5aac/w/c5d4e1303a6a7c47865378db/e/9d9d07123748e1e25e5a7611
Thank Glen,
I have a little different question to ask, but it's still about workflow.
Is there a common place or methoud in inserting parts into an assembly that will allow them to be placed as they were built in a Parts Studio? As an example I insert the mainframe pieces of my model into an assembly, and then want to place suspension parts onto the mainframe in their proper location. I know how to use mate connectors, but is there a common origin to click on when inserting the suspension parts for them to land where they were built in the Parts Studio? Hope that makes since.
@jack_erhart Yes - when first inserting a part, before dropping the part, notice when you move the cursor off the graphics area that the origin of the part will snap to the origin of the assembly, once this happens that's when you drop the part ( this will maintain the 3d spacial relationship of the original part). A point of caution - this does not lock the inserted part into position, If you don't want that part to move around , then you have to constrain it or, fix it in place (don't put this step off or you might inadvertently move the part without knowing) . If you mistakenly move it, and notice that you did, you can use the undo button to bring it back to the original position.
If the cursor is inside the graphics area the part will follow the cursor, and you can drop it wherever you wish (knowing that you are going to constrain it later).
Thank you Rick,
Does this work if you are bringing in a group of parts? Sometimes I click on inserting a group that is made up of many parts, since they were create in relationship to each other. That saves a lot of time.
@jack_erhart
It would work on an entire multi-part, part studio - given that all the parts in the parts studio are in the correct orientation. But remember, once inserted, they all become free-floating - you still have to mate everything, anyway. This is kind of the reason you make assemblies to be used as "sub assemblies". Once you mate the smaller assemblies together - the mates are brought along, when you insert this assembly as a "sub-assembly".
When I'm modeling in a multi-part environment, I don't pay to much attention if the parts are in the correct orientation, just as long as I can use some existing geometry, that helps to speed up the modeling process (some parts are even inside other parts - although I try to keep this to a minimum) This part orientation, is not to important, because I know I will build the assemblies correctly later, in the assembly environment.
Remember a multi-part studio is just a container for individual, stand alone parts (orientation is not critical at this stage). The level of "order" or "chaos" is entirely a personal matter that is up to you.
Here's an idea for a scaled assembly. Se a variable in a variable_studio starting wit a value of one.
Calculate dimensions based on scale. Things like shell will be inverted to keep walls thick enough or minimum wall for your printer if that's needed.
Make your fully mated assembly. Then open another OS in a separate window so you can see complete assembly and variable studio and watch what happens when the scale value is changed.
You can work through the entire project and not be concerned about printed scale at the last.
https://cad.onshape.com/documents/18cf90ffc658b26bb4eb2976/w/11825a07bebecbad43a457f1/e/09fafc2d34f91451942eb493
Thanks @rick_randall The RHD / LHD was a simple example / analogy of designing a common part that needs to serve two contexts. In my real case the common part exists in both contexts simultaneously (the RHD / LHD analogy / example breaks down :( )
Glen,
Could you explain a bit more simply how you are using a variable to scale? Not familar with writing variables, but I would like to understand how this could help my workflow.
There are a few ways to make variables. This sample is is through a variable studio which is created the same way as a part studio or assembly. Once it is created you can access it like any other tab. Make sure the check box is selected. Green check mark for sharing among the other tabs.
From there you can add variables that will be accessible in all part studios and assemblies. Where you need them they can be retrieved by starting to type the name any place a dialog is open for data input. A drop down list will open showing variable names from which to select. Make sure scale is a number since no units are wanted.
You'll notice that this example is simplified so all scaling is done on completed parts by a transform and relocates of mates. I realized that wall thickness is not required since the printer can use a lower density infill.
At any time you can switch to variable studio and change scale to see if scaled version is as expected then reset to 1 to continue working. Keep the transform at the last position in feature list.
https://cad.onshape.com/documents/0e5e30c72d6cc3e775161d1b/w/4e2f28dafe5421fb1146131c/e/addb3db77e1aa01f30a00b05
In the assembly, Use your offset wanted (in this case 10 * #scale). The 10" dimension is for placement at full scale.