I know there's precise input abilities for sketching, but for the life of me I can't find anything about it in Assembly mode.
I've seen threads where people have mentioned such and have asked but saw no replies.
So, does anyone know how to insert a part/subassembly into an assembly by precise input?
My client has their assemblies built on a global positioning point and users need to insert these into upper level assemblies at 0,0,0 or variations from that if need be.
Solved! Go to Solution.
Solved by PACDrafting. Go to Solution.
Can't do rotations, but if you look at the Occurence tab in a component's iProperties, you can directly enter X, Y & Z offsets from the assembly's (global) origin.
Great tip, thanks.
The only issue with this is one has to insert the file first, then modify the X, Y, & Z locations.
Me, I don't mind that, it gets me what I need for the most part. But I know users will claim this isn't much different than inserting it and then constraining the file, which is what they are having to do now.
But, it would be a great help if one could specify the coordinates to insert the file at the insert command.
Do you hear me ADesk? Why don't we have this option....or if we do, why isn't it easy to find?
What is the reference of the files inserted?
Are they all created with lower left corner at origin? (or something similar)
or are they all created symmetrical about the origin?
or are they all created in absolute x,y,z position?
I wonder if KWiKInsertNFix would do most of what you want? I don't use it myself, so I can't make any claims for it, but I think there are quite a few satisfied users.
Another nice and quicky way to send parts or assemblies to Assembly Origin is using Ground and Root Component.
This might be an option.
Try this:
Drop this into a vba module.
Select your occurrences required to move to 0,0,0 then run the macro.
Public Sub MoveSelectedtoZERO() ' Set a reference to the assembly component definintion. Dim oApp As Application: Set oApp = ThisApplication Dim odoc As Document: Set odoc = oApp.ActiveDocument Dim oCompOcc As ComponentOccurrence Dim ocompdef As ComponentDefinition Dim SourceName As String Dim SourceDoc As Document Dim oobject As Object Dim SourcePropertySet As PropertySets Dim SourceParamSets As Parameters Dim SourceDerParams As DerivedParameters Dim selectedobjects As New Collection 'Code collects the reference of each items that was selected on the screen prior to running the code If odoc.SelectSet.Count = 0 Then MsgBox "A minimum of 1 active part needs to be selected before use.", vbExclamation Exit Sub End If Dim i As Integer Dim PartsCount As Integer PartsCount = odoc.SelectSet.Count For i = 1 To PartsCount selectedobjects.Add (odoc.SelectSet.Item(i)) Next For Each oobject In selectedobjects ' Get the current transformation matrix from the occurrence. Dim oTransform As Matrix Set oTransform = oobject.Transformation oTransform.SetTranslation ThisApplication.TransientGeometry.CreateVector(0, 0, 0) Call oobject.SetTransformWithoutConstraints(oTransform) oobject.Grounded = True Next End Sub
Wow!
Great info all.
I'll run each of these by a few of the users and see which works best for everyone.
Again, many thanks.