导出x-y坐标
我正在寻找一个lisp,当你捕捉一个点时,它会在图形中放置一个带图形的点。它还需要将带有点编号的坐标导出到文本文件,即trimble m5 rec文件。
它还需要自动编号,我需要它用于土地测量。
有人能帮我吗?米斯特。bert@live.nl
你这么问真令人难以置信,几天前我遇到了一个类似的问题。
不确定这是否正是你想要的,但试一试:
(defun c:pclick( / filNam start point file)
(setq filNam "C:\\ptnumlist.txt")
(if (not (findfile filNam)) (close (open filNam "A")))
(setq start (getreal "\nEnter starting number: "))
(while (setq point (getpoint "\nClick on target point: "))
(setq file (open filnam "A"))
(write-line (strcat (rtos start 2 0) " " (rtos (car point) 2 5) "," (rtos (cadr point) 2 5)) file)
(setq start (1+ start))
(close file)
)
)
检查这条线索的结尾,可能是你想要的
http://www.cadtutor.net/forum/showthread.php?t=19666
它可以在autocad map中执行任何操作
这是一个很好的Lisp程序,但我需要捕捉到一条线或符号中的一个点。
必须用1或100放置一个数字,并且必须自动编号。
并用点编号制作坐标列表。 对不起,当你说“抓拍”的时候,你的意思是你正在点击你需要的点,并且你想把它们编号并记录下来吗?
我点击对象或符号,是的,数字需要记录在点编号、北距和东距以及高度中。(点编号,x,y,z) 当然,我的LISP的这个版本正是这样做的:
(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 pt (rtos num) 0.0)
(setq num (1+ num)))
(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))))
做得好,李,像往常一样,西部最快的lisper(有代码)Bert\u D的几个点大多数测量仪器都会读取一个XYZ txt文件,所以你不需要特殊格式的文件来修剪。文件只需要Ptnum,X,Y,Z每行一个。关于Z,您是如何提议将Z值分配给点或线等的,否则点将始终为0.0。
我们使用CIV3d和其他软件,他们能够书写设计的3d线条和点。如果您必须手动添加Z值,那么这将非常耗费人力。
如果您使用的是CIV3d,那么您现在可以通过使用点编组来做您想做的事情。
李·麦克,Lisp程序。我比前一个版本更喜欢这个版本,但是我可以大胆地指出几个可以改进的地方吗。
虽然点号是一个整数,但不知何故它会将自己变成一个十进制数。
在UCS中时,最新版本会将正确的UCS坐标写入文件,但会将点号文本放置在WCS坐标处。以前的版本将WCS坐标写入文件,但将点号放置在UCS坐标处。
否则我会把这个放在手边
页:
[1]
2