Community
AutoCAD Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

AutoCAD - Moving 3D Objects in One Axis or Plane Using Point Filters, Relative Coordinates Not Working

30 REPLIES 30
Reply
Message 1 of 31
grenier4
2949 Views, 30 Replies

AutoCAD - Moving 3D Objects in One Axis or Plane Using Point Filters, Relative Coordinates Not Working

To put it simply, I'm trying to precisely move objects around in 3D space relative to other objects without using the 3D Gizmo. I'm often trying to do this in an orthogonal view such as Front, Left, etc. (I'm avoiding the 3D Gizmo at the moment because it only works in 3D wireframe and it often appears in the middle of the 3D object; it has to be relocated to the desired location on the object before the move can happen.) Point filters seem to be the most promising way of doing this but I just can't get them to work right.

 

Let's say I invoke the Move or 3DMove command because I want to move an object in only the Z direction. I click on a base point on the object. I invoke a point filter of .z and select a destination reference point, perhaps on some other object at a different elevation. The object is moved to that z value but then AutoCAD is asking me for xy coordinates before it will complete the move. I want the xy coordinates to remain unchanged. I was only trying to move the object in the z direction. How do I tell it to just use the existing xy coordinates of the base point? A relative coordinate of 0,0? No dynamic input is giving the desired result... @0,0,0, #0,0,0, *0,0,0 all try to move the object to the drawing origin. Enabling ortho only seems to help if I'm in a 3D view and not an orthogonal view.

 

Perhaps the answer is the 3D Gizmo is the only effective way of making these kinds of moves, I just don't understand why point filters can't be used reliably in a similar way. I'm 95% of the way there but I can't tell it NOT to change the values of the other coordinates. I have the same issue if I'm moving in two axes at once. If I use a .xy point filter to specify the destination point it then wants a z value... but I don't want the z value to change.

 

For context, I'm a long-time Vectorworks user and I'm used to making single-axis/planar moves of 3D objects from orthogonal views with essentially no problems. In AutoCAD, I'm finding it constantly wants to throw objects forward and backward in the screen plane when I'm in a front or side view, for example. This seems to happen no matter what combination of snaps I try. Ideally, it would be nice if there was a way to tell AutoCAD to just restrict movements to the screen plane in certain contexts. Front view? Only allow movements in XZ. Left view? Only allow movements in YZ. Such behavior would be much more convenient. Vectorworks seems to do this innately. 

 

[ The subject line of this post has been edited for clarity by @handjonathan Original: Moving 3D Objects in One Axis or Plane Using Point Filters, Relative Coordinates Not Working ]

30 REPLIES 30
Message 2 of 31
j.palmeL29YX
in reply to: grenier4


@grenier4 wrote:

 

Let's say I invoke the Move or 3DMove command because I want to move an object in only the Z direction. I click on a base point on the object. I invoke a point filter of .z and select a destination reference point, ...  then AutoCAD is asking me for xy coordinates ... I want the xy coordinates to remain unchanged.  


 

at this point pick the base point again. That's all. 

A try of explanation: 

First you pick a base point (xyz). 

Than - for the destination point - you pick another point, but use only its z  value (you filter the z-value of this point). If you asked for the needed XY value pick the base point again and AutoCAD "grabs" its xy value to complete the destination point.

If you need more help, post an example file so we can demonstrate the handling. 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 3 of 31
grenier4
in reply to: j.palmeL29YX

I know you can do that, but that doesn't work reliably when you are looking at complicated 3D geometry from an orthogonal view such as left side or front... it is very easy to snap to something else near the originally selected base point and now you've moved the object in an unintended direction which you won't realize until you look at the model from another view. I'm looking for a method that is consistently reliable when working from such an orthogonal perspective. Having to re-select greatly increases the possibility for error.
Message 4 of 31
j.palmeL29YX
in reply to: grenier4


@grenier4 wrote:
 it is very easy to snap to something else near the originally selected base point 

If that is your problem, then I ask me, how do you choose the first time the base point exactly and reliable? 

If you have several points nearly or exactly overlapping in the view direction you need an a little rotated view direction. Either you do it on the fly (orbit a little, select the needed point and go back to the previous view) or you create an additional (small) viewport which shows your model in a "isometric" view. So you can switch to this view port for selecting points which are "hidden" or hard to select in your orthogonal main view. 

 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 5 of 31
SEANT61
in reply to: grenier4

I have a few macros setup in the 'Command' Shortcut Menu to isolate specific axis' during point acquisition.  I think these are inline with your stated needs.  See these threads for a demo.

 

https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lock-direction-of-move-strech-comman...

https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/align-text-to-a-picked-point/m-p/877...

 


************************************************************
May your cursor always snap to the location intended.
Message 6 of 31
DumR0
in reply to: grenier4

Hi,

Just inverse steps, move, select base point, make the filter on Z direction, then select destination point, then just clic anywhere *(whit ortho on) in the direction Z with 

 

hope will help you

Message 7 of 31
grenier4
in reply to: j.palmeL29YX

I don't have any trouble with the initial base point selection because there's no movement of the object going on when I select the base point. (I'm in an orthographic view and my intention is not to move the object inward and outward from the view plane). When I select the destination point is when the depth of the point with respect to the view plane matters.
Message 8 of 31
grenier4
in reply to: DumR0

What you're describing isn't really an inversion of the steps? Those are the same steps I described above. Ortho does not work reliably to solve this, especially when you are doing a move constricted to two axes not just one.
Message 9 of 31
DumR0
in reply to: grenier4

you said: I invoke a point filter of .z and select a destination reference point, perhaps on some other object at a different elevation. The object is moved to that z value but then AutoCAD is asking me for xy coordinates before it will complete the move. I want the xy coordinates to remain unchanged. I was only trying to move the object in the z direction. How do I tell it to just use the existing xy coordinates of the base point?

I at the end said: whit ortho activated just click in direction of the Z direction once  and Autocad will  move the object on the desired place, ignoring x.y

Message 10 of 31
grenier4
in reply to: SEANT61

The behavior this user is trying to replicate from SketchUp is basically what I'm trying to accomplish but I want it to work from an orthogonal view, not an isometric view: https://knowledge.autodesk.com/search-result/caas/screencast/Main/Details/9b2da834-3f1b-4beb-a889-9d...

 

I don't really know anything about macros or how to create them. The behavior shown in your "Wayward Screencast" does seem to be what I'm looking for if it works from any view orientation. It isn't asking you to specify the other coordinates after you are choosing the destination point of interest. Presumably a macro is just a sequence of normal commands that you could invoke manually. What is something like .yz;non;@; doing? How would you invoke that without using a macro?

 

I'm failing to see why these workarounds are necessary when you are in an orthogonal view especially. Is there not some way to have AutoCAD automatically constrain movements to the view plane? Hypothetically, let's say I set up 2D wireframe split views in model space; top, front, left, isometric. If I wanted to use my top view to make movements only in XY, and my front view to make movements only in XZ, and my left view to make movements only in YZ, could I do that without invoking filters or macros every time I wanted to move something?

 

Message 11 of 31
DumR0
in reply to: grenier4

Dumitrurobu4BPMD_0-1673268796575.png

this is your example, to do  like you said, in each view u must set the ucs  on the view, ucs enter, type V which stands for current view enter (basic: Aligns the XY plane of the UCS to a plane perpendicular to your viewing direction. The origin point remains unchanged, but the X and Y axes become horizontal and vertical.)., then you will able to move like you said with out filter direction

Message 12 of 31
sutherland-
in reply to: grenier4

Hi @grenier4 

 

To move an object in a specific direction in 3D space in AutoCAD, you can use the 3DMOVE or MOVE command and specify a point filter and a destination point. To specify a point filter, you can use the "." operator followed by one of the coordinates (x, y, or z) to filter for points in a specific direction. For example, ".z" will filter for points in the z direction.

To move an object in a specific direction and keep the other coordinates unchanged, you can use a relative coordinate for the destination point. For example, to move an object in the z direction and keep the x and y coordinates unchanged, you could use a relative coordinate of @0,0,<distance> for the destination point. This will move the object in the z direction by the specified distance, while keeping the x and y coordinates unchanged.

If you are using dynamic input, you can enter the relative coordinate directly in the command line or dynamic input box. If dynamic input is turned off, you can enter the relative coordinate by typing it directly in the command line or by using the "R" option in the MOVE or 3DMOVE command.

It is also possible to restrict movement to a specific plane in AutoCAD by using the "Plan" option in the MOVE or 3DMOVE command. This will allow you to move the object in a specific plane (x-y, y-z, or x-z) and keep the other coordinate unchanged.


Please click on Accept Solution so other community members can see how to solve the issue.
Also, consider giving a Like to the comments that you feel helped you.

Best regards,
Level  sutherland-

Member
Message 13 of 31
grenier4
in reply to: DumR0

Thank you. If I'm understanding correctly each of these views has a completely independent UCS? In an orthogonal view, AutoCAD seems to not be changing the inward/outward depth of objects when I move them as long as the UCS is redefined so I'm only moving them in X and Y. Let's say I wanted to work with these four views but I wanted to switch between them so each takes up the entire workspace when I'm using it. Is there a really fast way of doing that where the UCS follows the view, or would UCS>V have to be invoked every time the view is changed? Perhaps I'm changing views incorrectly (I'm mostly using the View Cube). Vectorworks seems to do this automatically; when I change to a front view the coordinate system is immediately redefined to allow XY movements constricted to that new viewing plane.
Message 14 of 31
grenier4
in reply to: sutherland-

I understand I can do a relative coordinate using @0,0,<distance> but I don't want to type in the distance... I want a coordinate that is @0,0,<Z value of a selected reference point>. Is there a way of accomplishing that?

Message 15 of 31
sutherland-
in reply to: grenier4

  1. Select the reference point that you want to use as a base.

  2. Type "ID" in the command line and press Enter.

  3. The "Identify" command will display the x, y, and z coordinates of the reference point.

  4. Use the "@" operator and the coordinates of the reference point to create a relative coordinate. For example, if the reference point has a z coordinate of 10, you can use the relative coordinate @0,0,10 to specify a distance of 10 units from the reference point in the z direction.

You can then use this relative coordinate as the base point or displacement in a command like MOVE or COPY to move or copy objects relative to the reference point.


Please click on Accept Solution so other community members can see how to solve the issue.
Also, consider giving a Like to the comments that you feel helped you.

Best regards,
Level  sutherland-

Member
Message 16 of 31
grenier4
in reply to: sutherland-

Thank you. When I tried this I had to type ID and then select the point, not the other way around. I don't find that approach to be practical for quick work. If I'm constantly moving and aligning 3D objects with one another I can't be having to identify the coordinate values just so I can re-enter them into the Move command. I also don't quite understand how identifying the absolute coordinate value of a point is usable as a relative value in the Move command, would I not need to know the difference between the absolute values of the base and the destination in order to form a relative coordinate? (Unless I move the UCS before running the ID command)

Message 17 of 31
sutherland-
in reply to: grenier4

It's true that using the ID command to specify a reference point can be time-consuming if you need to do it frequently. There are a few different approaches you can take to make the process faster and more efficient:

  1. Use object snaps: Object snaps allow you to specify points on objects quickly and accurately by snapping to specific parts of the object, such as its endpoint, midpoint, or center. This can be especially useful if you need to align objects with one another.

  2. Use the From option in the MOVE command: Instead of specifying the base point and destination point separately, you can use the From option in the MOVE command to specify both at the same time. For example, you could type "MOVE FROM [reference point] TO [destination point]" to move an object from the reference point to the destination point in one step.

  3. Use the Base option in the MOVE command: Similar to the From option, you can use the Base option in the MOVE command to specify a base point and then specify the displacement from that point. This can be faster than using the ID command if you need to move an object by a specific distance in a particular direction.

  4. Use the Relative Coordinate format: As you mentioned, you can use the relative coordinate format to specify a point relative to a reference point. For example, if the reference point has coordinates of (10,20,30), you could use the relative coordinate "@5,10,15" to specify a point 5 units to the right and 10 units up from the reference point.


Please click on Accept Solution so other community members can see how to solve the issue.
Also, consider giving a Like to the comments that you feel helped you.

Best regards,
Level  sutherland-

Member
Message 18 of 31
j.palmeL29YX
in reply to: grenier4

@grenier4 

Why you don't show us an example dwg as I asked above, so we can see what you want to? 

 

>>Here<< an example how I would do it if I want to move the pyramid along the Z-axis to the Z-position of the cone. Where or what is the problem for you?  

 

 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Message 19 of 31
grenier4
in reply to: j.palmeL29YX

In your video you move an object in the Z direction while looking at the XY plane (straight down the Z axis). From your viewing perspective the object doesn't move at all. I'm trying to move an object in XY while looking at the XY plane without the Z direction changing, or move an object in the YZ plane without the X changing, etc. In your video the possibility for error arises in choosing the Z value of the cylinder... how do you know if you're getting the top of the cylinder or the bottom or maybe some other overlapping geometry? Your XY selection is easy because you're looking straight down at XY. My scenario is reversed... choosing the Z is easy if I'm looking at the XZ or YZ planes... but there is possibility for error when I need to select the XY coordinate it asks for. This is the problem I'm having with trying to use Point Filters for this... it's demanding that we enter values for those other coordinates and not giving us the option to just leave them unchanged.

Message 20 of 31
cadffm
in reply to: grenier4

>>"I'm trying to move an object in XY while looking at the XY plane without the Z direction changing, "

 

In this case (Z) - read about OSNAPZ

 

and for general pointfilters: User macro's as sean said.

>>"Presumably a macro is just a sequence of normal commands that you could invoke manually."

Right.

>>"What is something like .yz;non;@; doing? "

.yz | is a pointfile as you should know, it takes the y and z value from a point/coordinate.

non | is one autocad object snap to supress all object snaps

@Anonymous the AutoCAD shortcut for the lastpoint

and the ";" is used as ENTERhit in menumacros, nothing else

 

.yz;non;@;

is the same as

.yz<enter>non<enter>@<enter>

 

And if you want to move object by a distance, the basepoint of movement doesn't matter if on the same axcis.

 

Now it should be clear how .XYZ Pointfilters working,

you have to give the same Z-Value (for example) for both points.

 

Move <object selection> <1.point> .Z <enter> @ <enter> <2.Point to get XY value>

 

Sebastian

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

AutoCAD Inside the Factory


Autodesk Design & Make Report