LISP程序中如何输入点的三维坐标

LISP程序中如何输入点的三维坐标,第1张

LISP中有获取点坐标函数

语法

(getpoint [pt] [prompt])

功能及参数

此函数将暂停以等待用户输入一点, pt 点为在目前UCS下的 2D 或 3D 基准点。Prompt 是一任意字符串, 用来提示用户输入一点。用户则可使用鼠标指定一点, 或由键盘输入目前单位格式的坐标, 来回答此点的位置。假如您设定了 pt这个参数, 则AutoCAD会从这个基准点拉一条橡皮筋到鼠标目前所在的位置。

范例

(setq p (getpoint))

(setq p (getpoint "Where "))

(setq p (getpoint '(15 20) "Second point:"))

此一返回值将表示成目前 UCS 坐标的 3D 点。

注意您不能在回应一个 getpoint 要求时, 再输入其他的 LISP表达式。

相关函数:getcorner 与 initget 函数。

(defun C:sx3 ( / n ss &kw L ff &k1 %k1 %k2);批量选择圆心坐标到记事本

 (setvar "cmdecho" 0) ;;关闭变量

 (setvar "blipmode" 0);;关闭控制点

 (setvar "dimzin" 0)

 (vl-load-com)        ;;加载vlax扩展函数

 (setq n 0 ss '())    ;;取得一个空表

 (princ "\n请选择文字")

 (setq &kw (ssget '((0  "CIRCLE"))));选择圆

 (if (/= &kw nil);;如果有选择了圆

  (progn

   (setq L (sslength &kw)

         ff (open "d://圆心到TXTtxt" "w");在D盘建立文本<圆心到TXT>

   );;

   (repeat L

    (setq &k1 (entget (ssname &kw n))

          %k1 (cdr (assoc 10 &k1)) ;;取得圆心坐标

          ss (cons %k1 ss)         ;;加入选择集

          n (+ n 1)

    )

   )

   (setq ss (vl-sort ss (function (lambda (x y)(< (fix (car x)) (fix (car y)))))));;X排序从左到右

   (setq ss (vl-sort ss (function (lambda (x y)(> (fix (cadr x)) (fix (cadr y)))))));;Y排序从上到下

   (setq n 0)

   (repeat L

    (setq &k1 (nth n ss)

          %k1 (rtos (car &k1) 2 3) ;;取得X坐标,小数点后三位

          %k2 (rtos (cadr &k1) 2 3);;取得Y坐标,小数点后三位

          n (+ n 1)

    )

    (princ "X=" ff)  ;;先输入X=(自己决定是否输入,不输入这句话删除)

    (princ %k1 ff)   ;;然后输入X坐标

    (princ " " ff)   ;;一个空格分开

    (princ "Y=" ff)  ;;然后输入Y=(自己决定是否输入,不输入这句话删除)

    (princ %k2 ff)   ;;然后输入Y坐标

    (princ "\n" ff)  ;;换一行计算

   )

   (close ff);;关闭文本

  )

 )

 (prin1);;结束;;(记事本里面的数据可以导入表格)

)

(prompt "\n《C:SX3》坐标写入记事本")

(prin1)

加循环

(setq el (car (entsel)))

(foreach n (entget el)

(if (= 10 (car n))

(setq ptlist (cons (cdr n) ptlist)) )

)

以上就是关于LISP程序中如何输入点的三维坐标全部的内容,包括:LISP程序中如何输入点的三维坐标、如何用lisp框选一些圆,然后输出圆心坐标到TEXT文件、请问怎么用LISP语言,提取多段线的端点坐标,在获得属性列表后,我只能通过assoc判断出第一个端点坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9585763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存