Jump to content

Moving 3d objects to touch face


danielk

Recommended Posts

Im trying to move objects correctly , lets say from one to top of another .

Untill now im swithching to desired view ( top, right, left etc...) and then moving . if my base point is a vertex and the point i want it to be attached it also a vertex , i have no problem. the problem starts when im trying to move object from their center point or other non vertex points to touch the face of the other object.

in the file i attached there's two rectangles i want to move the small one in top of the big one in the Z axis only , so i switched to the view i want but still unable to move it to the next face . Ive tried playing with 3d object snap , no success.

 

i hope i got myself clear (sorry for my English , not my mother language) 332.JPG

151.dwg

Link to comment
Share on other sites

  • Replies 35
  • Created
  • Last Reply

Top Posters In This Topic

  • SEANT

    11

  • danielk

    9

  • ReMark

    3

  • JD Mather

    3

Top Posters In This Topic

Posted Images

Coordinate Filters work fairly well for that type of task. See the Command Line sequence below, along with the GIF animation in ZIP file.

 

Command: MOVE

Select objects: 1 found

Select objects:

Specify base point or [Displacement] :

Specify second point or : .xz

of @

(need Y):

Filters.zip

Link to comment
Share on other sites

Couldn't the problem be avoided by switching to one of the isometric views and a 2D wireframe visual style so the user can see where picks are being made?

Link to comment
Share on other sites

I may be reading more into the request than I should but it sounds like the objective is to move the objects face to face without additional displacement. For example, in the 151.dwg, the bottom face of the smaller solid would come into contact with the top face of the larger without any movement in the WCS XY plane. The end result would amount to a displacement of 0,0, -4770.3943

Link to comment
Share on other sites

I may be reading more into the request than I should but it sounds like the objective is to move the objects face to face without additional displacement. For example, in the 151.dwg, the bottom face of the smaller solid would come into contact with the top face of the larger without any movement in the WCS XY plane. The end result would amount to a displacement of 0,0, -4770.3943

 

I believe you have it right there SEANT.

I mistook the issue and

I posted without having looked at the .dwg, never mind. :beer:

 

I usually do that with the help of a throw away polyline created in an appropriate ortho view,

from any OSNAP on the bottom of the little object, to the PERPENDICULAR snap on the top of the other object.

When moving I choose the ENDPOINTS of the polyline, as I know they are parallel to the UCS.

Sounds like a convoluted way to improvise a point filter, which I never learned when I started with the software. :)

Edited by Dadgad
Link to comment
Share on other sites

Coordinate Filters work fairly well for that type of task. See the Command Line sequence below, along with the GIF animation in ZIP file.

 

Command: MOVE

Select objects: 1 found

Select objects:

Specify base point or [Displacement] :

Specify second point or : .xz

of @

(need Y):

 

 

yes you are right , thats was my purpose . i follow your instruction but i cant get to work , maybe something is turn on/off that doesnt supposed to be?

Link to comment
Share on other sites

I mistakenly made the process more confusing than it should have been. I thought the viewport on the right (in the 151.dwg file) was “Right” View/UCS, when it was actually still WCS.

 

 

To be more specific:

Coordinate filters do adhere to the current UCS. If the current coordinate system is World, and the objective is to move an object in only the Z direction, then the command sequence sould be:

(text in red italics are notes on what should be done at that point)

 

 

 

Command:MOVE Select the smaller solid

Select objects: 1 found

Select objects: Hit Enter

Specify base point or [Displacement] : With End osnap running, select bottom corner of small solid

Specify second point or : .xy Input “.xy” at prompt

of @ The “@” symbol registersthe previous picked point to zero the X and Y coordinate

(need Z): .z Input ".z" and select a point on the top face of the larger solid

Link to comment
Share on other sites

 

I usually do that with the help of a throw away polyline created in an appropriate ortho view,

from any OSNAP on the bottom of the little object, to the PERPENDICULAR snap on the top of the other object.

When moving I choose the ENDPOINTS of the polyline, as I know they are parallel to the UCS.

Sounds like a convoluted way to improvise a point filter, which I never learned when I started with the software. :)

 

None of AutoCAD’s coordinate restriction methods are particularly fluid. Coord Filters, Osnap Tracking, 3D Gizmo are not a hell of a lot better than temporary construction geometry.

 

The Coordinate Filters set up as a macro are pretty good. Or, at least a little bit faster. (see animation)

As example, OnlyX:

CUI.jpg

Filter2.zip

Link to comment
Share on other sites

i looked at the animation , looks like a good soulotion for my needs. i dont know how to create the macros and how to insert them in the "right click menu", as i see its through the CUI. i will try to create it somehow. Thanks

Link to comment
Share on other sites

As a quick listing of steps –

Invoke the CUI command to present the cui editor.

 

1. Create a new command

 

2. Give the command a name and insert the appropriate macro

 

.yz;@;

For OnlyX

.xz;@;

For OnlyY

.xy;@;

For OnlyZ

.z;@;

For OnlyXY

 

3. Drag the new command up to the Shortcut Menus – Command Menus

CUI.jpg

Link to comment
Share on other sites

I mistakenly made the process more confusing than it should have been. I thought the viewport on the right (in the 151.dwg file) was “Right” View/UCS, when it was actually still WCS.

 

 

To be more specific:

Coordinate filters do adhere to the current UCS. If the current coordinate system is World, and the objective is to move an object in only the Z direction, then the command sequence sould be:

(text in red italics are notes on what should be done at that point)

 

 

 

Command:MOVE Select the smaller solid

Select objects: 1 found

Select objects: Hit Enter

Specify base point or [Displacement] : With End osnap running, select bottom corner of small solid

Specify second point or : .xy Input “.xy” at prompt

of @ The “@” symbol registersthe previous picked point to zero the X and Y coordinate

(need Z): .z Input ".z" and select a point on the top face of the larger solid

 

o.ki got confused too much, tried the move the smaller object to touch the face of the larger one .

i chossed the object>Enter

typed : ".xy" Enter

typed: ".z@" and chossed the upper point of the large object ,Enter.

 

sometimes it moves , sometimes it doesnt move to the desired point , what is the logic beyond it ?

Link to comment
Share on other sites

Sorry. It appears I’ve still left out a step or two in my description.

 

 

 

Select objects: Hit Enter

Specify base point or [Displacement] : With End osnap running, select bottom corner of small solid

 

Specify second point or : .xy Input “.xy” at prompt then

 

of @ at the “of” prompt type “@” then

 

 

 

(need Z): Select point at destination position. I had originally claimed that a “.z” was needed – actually, it doesn’t matter if the “.z” is included or not.

Link to comment
Share on other sites

O.K I got it , but now after digging to this subject i found point filters already exist in autocad 2013 by default so the process is like that :

 

1) i switched to right view (upper left corner) .

2) i type MOVE (move command ofcourse) select the smaller object (if you are in right view , the smaller object will appear above the bigger one). hit ENTER

3)after selection i click on the base point ( left bottom corner) hit ENTER

4)now i press the SHIFT+RIGHT CLICK and a shortcut menu will appear. I move to the "point filter" tab and another small window will appear. i will click on the .xz (thats the point im filtering beacuse i want the move the smaller object only in the Y direction ).

5)then i click again on the same left bottom corner. this CLICK(lets call it click16 just for the record) determine from where the rectangle will move if ill click any other place it will move the object from that point to the next point (next step) but still in the y direction from click16. (SAME RULES FOR OTHER POINT FILTERS)

 

6) now i choose the upper left corner of the bigger object and click again , thats it , now the small object is located on the top of the surface of the bigger one.

 

 

Thats like what you said but i see this function already exist in 2013 , i wrote it to myself and for others maybe someone will find it useful. but its all with your help SEANT ofcourse, thank you very much its an issue i was dealing with for long time.

Edited by danielk
Link to comment
Share on other sites

O.K I got it , but now after digging to this subject i found point filters already exist in autocad 2013 by default so the process is like that :

 

1) i switched to right view (upper left corner) .

2) i type MOVE (move command ofcourse) select the smaller object (if you are in right view , the smaller object will appear above the bigger one). hit ENTER

3)after selection i click on the base point ( left bottom corner) hit ENTER

4)now i press the SHIFT+RIGHT CLICK and a shortcut menu will appear. I move to the "point filter" tab and another small window will appear. i will click on the .xz (thats the point im filtering beacuse i want the move the smaller object only in the Y direction ).

5)then i click again on the same left bottom corner. this CLICK(lets call it click16 just for the record) determine from where the rectangle will move if ill click any other place it will move the object from that point to the next point (next step) but still in the y direction from click16. (SAME RULES FOR OTHER POINT FILTERS)

 

6) now i choose the upper left corner of the bigger object and click again , thats it , now the small object is located on the top of the surface of the bigger one.

 

 

Thats like what you said but i see this function already exist in 2013 , i wrote it to myself and for others maybe someone will find it useful. but its all with your help SEANT ofcourse, thank you very much its an issue i was dealing with for long time.

 

Can you attach a before and after dwg?

I still get the feeling this is more work than actually needed.

Maybe I don't understand the problem. A file might be worth 10,000 words.

Link to comment
Share on other sites

JDM: Post #1 has a file attached.

 

The OP states he wants to move the smaller object from its center to the top of the larger object. He does not say where on the object however.

 

Personally I would switch to a 2Dwireframe visual style and use one of the four default isometric views so I can see what I am grabbing and where I am going. To move the smaller object by its center I would use the Move command with the M2P modifier. If the smaller object is being moved to an OSnap on some portion of the larger object's geometry then its a breeze to complete the move command. However, if it is not being moved to one of those points then another method has to be utilized to obtain the final correct positioning.

Link to comment
Share on other sites

....I would still need the end result to be certain of the design intent.

 

If I understand the problem I would create a diagonal line on each and then move. Done.

If they weren't already lined up with desired contact faces then I would Align and then move using the diagonal lines .

 

I normally only work with one viewport.

Link to comment
Share on other sites

Nicely done, danielk. It looks like you have a good handle on point filters.

 

 

....I would still need the end result to be certain of the design intent.

 

If I understand the problem I would create a diagonal line on each and then move. Done.

If they weren't already lined up with desired contact faces then I would Align and then move using the diagonal lines .

 

I normally only work with one viewport.

 

 

Admittedly, there is a slight language barrier but, based on confirmation in a latter post, I think this is the task intent. If the file in Post # 1 is the “before”, this would be the “after”.

151After.dwg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...