没有什么可以回答我的问题,它只是建议用123.4557代替原来的123.45'57“格式。正如你所看到的,我们可以用前者来绘制线条。
我想到时候你得给我解释一下
这可以安排,但你需要告诉我,如果你想坚持原来的格式为方位提示或使用双精度的建议
如果我不使用lisp绘图。
例如
(Defun c:demo (/ file opfile a ptlst sp p_ ang ro ptlst pts)
(setq file (Getfiled "Boundary Data" (getvar 'DWgprefix) "txt" 33))
(startapp "Notepad" file)
(setq pts nil
ptlstnil
opfile (open file "r")
)
(While (setq a (read-line opfile))
(setq ptlst (append ptlst (list (strcase a))))
)
(close opfile)
(if (and ptlst
(setq sp (getpoint "\nPick Start point:"))
(setq pts (append pts (list sp)))
(setq txht (getreal "\nEnter Text height:"))
)
(progn
(command "_pline" sp)
(foreach itm ptlst
(command "_non" itm)
(setq pts (append pts (list (getvar 'Lastpoint))))
)
(command "")
(mapcar '(lambda (j k l)
(setq str (substr (vl-string-subst " - Az " "<" l) 2)
str (vl-string-subst "%%d" "D" str)
)
(setq txtD (entmakex
(list (cons 0 "TEXT")
(cons 10
(Setq p_
(polar j (setq ang (angle j k)) (* 0.5 (distance j k)))
)
)
(cons 11 (polar p_ (+ ang (* pi 1.5)) txht))
(cons 40 txht)
(Cons 50 (if (setq ro (<(/ pi 2.0)ang (* pi 1.5))) (+ ang pi) ang))
'(72 . 4)
'(73 . 3)
(cons 1 (if ro (strcat "<< "str)(strcat str " >>")))
)
)
)
)
pts
(cdr pts)
ptlst
)
)
)(princ)
)
我得到了Madruga_SP的那部分。
这是我很难理解的部分。
输入@500方位角等于123.4557和距离500有那么难吗?如果唯一的问题是“d”和引号符号,那么可以用123-45-57提示您,这里的问题如第14篇文章所示,是分钟和秒之间的区别。一个在哪里结束,另一个在哪里开始?
45.233-->23英尺3英寸或2英尺33英寸?
此外,似乎您希望“看到”屏幕上绘制的线条,与我向您建议和证明的相反,输入所有值,然后一次性绘制多段线[很像alanjt的代码,可以修改,其中会提示您输入,然后绘制多段线]。
我认为真正的问题是通过避免其他符号来轻松键入值。现在,如果你或比加尔能够阐明分秒的问题,那么,如果应该是轻松无礼的日本人。
对不起,我理解力差
当你使用这个输入角度的系统时,你要非常小心地始终使用两位数表示分和秒。
所以45d3'5“将变成45.0305
有些人坚持用3位数字来表示度数,如果必要的话,可以加上前导零。
There's nothing there that answers my Q, It only suggest instead of the original format of123.45'57" use 123.4557. As you can see we were able to use the former to plot the lines.
I guess you're going to have to explain it to me then
That can be arrange, but you need to tell me if you want to stick with the original format for azimuth prompt or use Bigals suggestion
If I were to draw without using lisp.
e.g
Command: plPLINESpecify start point:Specify next point or : @500 (defun c:Test (/ p) (if (setq p (getpoint "\nSpecify SE corner of square: ")) (entmakex (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 4) '(70 . 1) (cons 10 (setq p (trans p 1 0))) ) (mapcar (function (lambda (x) (cons 10 (mapcar '+ p x)))) '((-500. 0. 0.) (-500. 500. 0.) (0. 500. 0.)) ) ) ) ) (princ))
I got that partMadruga_SP.
This is the part i'm having trouble understanding.
Is it that hard to type in @500 an azimuth equivalent 123.4557 and distance 500?if the only issue the "d" and quote symbols then you can be prompted with 123-45-57, the issue here as shown on post # 14 is the distinction between minutes and seconds. where does one end and the other start?
45.233 ----> 23'3" or 2'33"?
Also it appears that you want to "see" the linesbeing drawn on the screen as oppose to what i suggested and proven to you, input all the values then draw the polyline in one go .
The real issue here me thinks is the ease of typing in the value by avoiding the other symbols. Now if you or Bigal can shed light on the minutes and seconds issue then if should be easy cheesy japanesey.
sorry for my poor understanding
When you use this system of entering angles, you are very careful to always use two digits for both the minutes and seconds.
So 45d3'5" would become 45.0305
There are some who insist on having 3 digits for the degrees, and put leading zeroes if necessary.
页:
1
[2]