协调。
大家好,我是这个论坛的新手,我想问一下如何
获取光标的x、y、z坐标并打印和
使用LISP将其保存到txt文件。我正在使用autocad 2011。
感谢您的帮助。
当做
大理石 获取点或grread ?
(defun c:test ( / fn fo pt )
(if
(and
(setq fn (getfiled "" "" "txt" 1))
(setq fo (open fn "w"))
)
(progn
(while (setq pt (getpoint "\nPick Point: "))
(write-line (apply 'strcat (mapcar 'strcat (mapcar 'rtos (trans pt 1 0)) '("," "," ""))) fo)
)
(close fo) (startapp "notepad" fn)
)
)
(princ)
) 李-麦克我对你能以如此快的速度写出这些lisp文件感到惊讶和印象深刻。 我练习得太多了。。。
谢谢伙计 嗨,李,
非常感谢您的快速回复,代码正在运行,但如何在LISP代码中插入目录,例如:我想将txt文件保存到:
C: \文档和设置\管理员\我的文档\我的坐标
具有文件名坐标。txt,这样每次我运行LISP程序时,它都不会问我文件名和保存位置。
提前感谢,
大理石 你好,Marbenorallo,
只需添加如下路径:
(defun c:test (/ fn fo pt)
(if
(and
(setq fn "C:\\Documents and Settings\\Administrator\\My Documents\\My Coordinates\\Coordinates.txt")
(setq fo (open fn "w")); (make "w" --> "a" and it will append
) ;_and
(progn
(while (setq pt (getpoint "\nPick Point: "))
(write-line (apply 'strcat (mapcar 'strcat (mapcar 'rtos (trans pt 1 0)) '("," "," ""))) fo)
) ;_while
(close fo)
(startapp "notepad" fn)
) ;_progn
) ;_if
(princ)
) ;_defun
记住“w”,它会使文件“coordinates.txt”在每次使用该程序时自动覆盖。
如果将其更改为“a”,则现有文件将保留,坐标将附加到文件中。
@李:希望你不要介意,我不想“踩到你的脚趾”(英语?)
请您向我/我们解释一下这一部分:
(apply 'strcat (mapcar 'strcat (mapcar 'rtos (trans pt 1 0)) '("," ","
"")))
Trans我只能理解两次“mapcar”和al的组合“,”。。。
我知道你用delimeters将其格式化为字符串,但我需要理解代码。
别担心
当然,这里有一个由内而外计算的表达式的逐步步骤(使用(1.2 1.3 1.4)的示例点):
希望这能澄清问题,但如果你需要进一步解释,请告诉我 你好,马可,
你给出的lisp代码正是我想要的。非常感谢你。我还有一个关于坐标的问题。如何获取选定直线、多段线、圆弧和块的坐标,并将坐标打印到txt文件中。
当做
大理石 嗨,Marbs,
在我的网站上搜索我的“Point Manager”程序,它可以(大部分)满足你的需求。
李
页:
[1]
2