What happens to a very basic AutoCAD user input feature we all take it granted?

What happens to a very basic AutoCAD user input feature we all take it granted?

norman.yuan
Mentor Mentor
665 Views
10 Replies
Message 1 of 11

What happens to a very basic AutoCAD user input feature we all take it granted?

norman.yuan
Mentor
Mentor

I was shocked when I encountered an issue recently.

 

All AutoCAD users know a very basic AutoCAD input feature: when you draw a line with command "LINE", after you pick or enter the start point at command line, you can either pick next point as end point, or you can enter a point at command line, either entering x,y (or x,y,z), OR entering a relative point with [length]<[Angle], such as 100<0, 100<45...

 

As programmer, I do not do CAD work, so have not been entering point at command line like that for very long time (always picking when testing my CAD apps), until a few days ago in a development project where I was asked to specifically pay attention for the points entered by user at command line. Then the unbelievable issue shocked me: the relative point input method (e.g. [Length]<[Angle]) no longer work with the AutoCAD in my computer.

 

At beginning, I thought something was wrong with my computer/AutoCAD. But I have 3 computers with AutoCAD2020 to 2023 (4 versions) installed. So, I tried in different computers: the thing we all take granted only works with AutoCAD 2023 (which I just installed a few days ago), and it DOES NOT WORK with all other versions (2020 to 2022) in all my computers.

 

As someone who has been working with AutoCAD over 30 years, one can imagine how shocked I am: either the feature is gone/broken in AutoCAD, or I am totally out-of-date about AutoCAD and is doing something wrong.

 

So, I'd like hear from people here who read this to do a simple test with your AutoCAD:

1. start command "LINE";

2. select start point;

3. enter next point at COMMANDLINE as relative point, say, 100<0, or 100<90...

See whether AutoCAD draws the line as expected.

 

I have already verified this with a couple of people I know and were confirmed what I saw (e.g. only Acad2023 works as expected). I do not have Acad older than 2020 available.

 

As .NET API programmer, I post this here is because this issue affect the method Editor.GetPoint()! When using this method, if you want to allow user to enter point at command line as relative point, you must use PromptPointOption and make its property "UserBasePont" to true and supply a Point3D to its "BasePoint" property. Again, as my discovery, this would not work as expected with Acad prior to Acad 2023.

 

I am still in disbelieve in spite of what I saw! Really hope someone posts back to prove I am wrong.

Norman Yuan

Drive CAD With Code

EESignature

666 Views
10 Replies
Replies (10)
Message 2 of 11

hippe013
Advisor
Advisor

Works as expected using Civil 3D 2019. Why in the world would they remove this feature? 

0 Likes
Message 3 of 11

Ed__Jobe
Mentor
Mentor

I don't remember when it was, but they switched the default coordinate entry mode from relative to absolute. So now you have to enter @ before your polar coordinate example. It sounds like 2023 switched the default back to relative?

Edit: I can't find when they changed the default, but you can control it with DYNIPCOORDS.

Ed


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.
How to post your code.

EESignature

0 Likes
Message 4 of 11

norman.yuan
Mentor
Mentor

@Ed__Jobe 

 

No, I just tried with @ instead of < (i.e. entering point like 100@0, or 100@90). No, they do not work with all versions (2020 to 2023), at least with my 3 computers.

 

OK, DYNPICOORDS system variable may be relatively new (do not know when it was introduced), but it defaults to 0 (relative). But here with my AutoCAD 2020 to 2022, no matter what its value is (0, or 1), the relative point entering still does not work. But with Acad2023, this system variable indeed work as expected: that is, with default value 0, entering 100<0, 100<45... works, and with value 1, they do not work. But no, using "@" does not work with all versions of AutoCAD.

 

Norman Yuan

Drive CAD With Code

EESignature

0 Likes
Message 5 of 11

Ed__Jobe
Mentor
Mentor

Not like that, you still use < for the angle. Try "@20<45". Regardless of the default input method, you can always explicitly use @ for relative and # for absolute.

Ed


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.
How to post your code.

EESignature

Message 6 of 11

norman.yuan
Mentor
Mentor

OK, prefixing "@" works, regardless the system variable DYNPICOORDS. I have no idea since when @ was required (again, as programmer, not drafter, I obviously was not aware of this, but only know the old tricks for the old days). However, with Acad2023, there is no need for the "@" preFix, just like in the old days. So, why the need of "@" prefix (and since when)?

 

Slightly correction: for Acad2023, if DYNPICOORDS is 1, then "@" prefix is required, when it is 0 (default), "@" is not required. 

Norman Yuan

Drive CAD With Code

EESignature

0 Likes
Message 7 of 11

Ed__Jobe
Mentor
Mentor

I can't remember when they changed it. We were at 2016, then upgraded to 2018, and that's when I first remember the change. But I can't find any documentation on when that happened. But DYNIPCOORDS controls what what the default is so you don't have to explicitly enter @ or #. You only need to enter one when you want to use the input method that is not the default.

Ed


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.
How to post your code.

EESignature

0 Likes
Message 8 of 11

norman.yuan
Mentor
Mentor

Update:

 

After @Ed__Jobe's prompt of the system variable "DYNPICOORDS", I change it back and forth, and then suddenly, it works now. That is, with this variable being 0, I can enter point line 100<45 (without having to prefix with "@"). in one of my computer, it is now working with Acad2021, 2022, BUT not with Acad2020 in the same computer. 

 

The unacceptable thing here is that AutoCAD take input 100<45 as if it is 100,45, instead of prompt user "wrong entering": how can it treat "<" as ","?

 

I have recorded video clips showing below for Acad2020 and Acad2022 (to prove what I saw):

 

 

 
 

Norman Yuan

Drive CAD With Code

EESignature

0 Likes
Message 9 of 11

norman.yuan
Mentor
Mentor

Here is another video clip:

 

Norman Yuan

Drive CAD With Code

EESignature

0 Likes
Message 10 of 11

norman.yuan
Mentor
Mentor

The point is, if DYNPICOORDS controls whether relative point coordinate is allowed, then "@" should only be required when the variable is set to 1 (as Acad2023) does. But for my Acad2020 to 2022, I have to use "@" always. Now, after toggled the variable a few times, Acad2021 and Acad2022 in one of my computer works normally (as in Acad2023), but still not with other computers. It looks like the system variable is not correctly stored/retrieved from the registry (with current user profile, I guess). Again the video clips I posted proves it.

 

Norman Yuan

Drive CAD With Code

EESignature

0 Likes
Message 11 of 11

Ed__Jobe
Mentor
Mentor

I only have 2021 installed. And its working here. So it sounds like one of your installs has a bug. Maybe because you have multiple versions installed? Not like Autodesk took away a feature.

Ed


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.
How to post your code.

EESignature

0 Likes