Lee Mac 发表于 2022-7-6 15:22:38

 
谢谢,我总是乐于接受建议
 
 
对不起,我没有在rtos函数中包含十进制和0 dp参数-我的错误。
 
由于32767整数的限制,我想将num保持为实数,并显示它而不带dp。
 
 
我必须承认,我讨厌UCS,也没有在这个版本中包含任何处理这个问题的内容,但我会将你的想法融入其中

Lee Mac 发表于 2022-7-6 15:27:50

试一试,它应该包含UCS。。。但是我不太擅长UCS转换,所以如果它不起作用,就大声喊
 

(defun c:ptwriter(/ *error* oldcmd file num pt)
(vl-load-com)

(defun *error* (msg)
   (if oldcmd
   (setvar "CMDECHO" oldcmd))
   (princ))

(setq oldcmd (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(if (and (setq file (getfiled "Create a Text File" "" "txt" 9))
          (not (initget 5))
          (setq num (getint "\nSpecify Starting Point Number: ")))
   (progn
   (setq file (open file "w"))
   (while (setq pt (getpoint (strcat "\nPosition Point Number " (rtos num) ": ")))
       (command "_point" "_non" pt)
       (write-line
         (strcat (rtos num) ","
               (rtos (car pt)) ","
               (rtos (cadr pt)) ","
               (rtos (caddr pt))) file)
       (Make_Text (trans pt 1 0) (rtos num 2 0) 0.0)
       (setq num (+ num 1.)))
   (close file)
   (princ "\n<< Points Written to File >>"))
   (princ "\n<!> No File Selected <!>"))
(setvar "CMDECHO" oldcmd)
(princ))

(defun Make_Text(pt val rot)
(entmake
   (list
   (cons 0 "TEXT")
   (cons 8 (getvar "CLAYER"))
   (cons 10 pt)
   (cons 40 (getvar "TEXTSIZE"))
   (cons 1 val)
   (cons 50 rot)
   (cons 7 (getvar "TEXTSTYLE"))
   (cons 71 0)
   (cons 72 1)
   (cons 73 2)
   (cons 11 pt))))

eldon 发表于 2022-7-6 15:33:00

神奇的李-麦克
 
ucs运行良好。屏幕提示和数据文件中还有两个(rtos num)实例,但我自己设法解决了这些问题。此外,我的文本大小没有被拾取,我更喜欢保留对齐方式,但我再次处理了这些问题。
 
非常感谢。这是一个Lisp程序,我将使用大量。
 
我希望这不会占用你考试的太多时间——也许是你的放松方式?

Lee Mac 发表于 2022-7-6 15:38:13

 
啊,是的,也许我不应该这么匆忙地改变它。。。。
 
 
 
没问题,Eldon,当你知道你写的LISP被很好地使用时,我喜欢它-给你一些自豪感
 
至于考试,我在9天内就要考试了,并且做了一些复习,但可能没有我应该做的那么多——我只是太喜欢写程序了。。。
 
页: 1 [2]
查看完整版本: 导出x-y坐标