明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3557|回复: 14

[求助]求一个提取直线起点终点坐标的lisp程序

  [复制链接]
发表于 2005-4-26 15:37:00 | 显示全部楼层 |阅读模式
因毕业设计需要,小弟急需一个提取直线起点终点坐标的lisp程序模板,还望各位高人帮忙。不胜感激!
发表于 2005-4-26 17:10:00 | 显示全部楼层
这个程序好象非常简单:


(setq pt1(cdr (assoc 10 (entget line)))


pt2 (cdr (assoc 11 (entget line))))


难道搞不定(line)是直线实体名
 楼主| 发表于 2005-4-26 17:13:00 | 显示全部楼层
小弟初学lisp,能给我解释一下每句都是什么意思吗?
 楼主| 发表于 2005-4-26 17:35:00 | 显示全部楼层
那如果是一段圆弧呢?怎么提取起点终点圆心坐标?还是希望高人能给出解释,小弟对lisp一窍不通,只是毕业设计急需,5。1前再作不出这两个程序,老师说就不要做了,也不要毕业了。所以小弟真的很急,希望各位大哥能体会小弟的急切心情!不胜感激!
 楼主| 发表于 2005-4-26 19:41:00 | 显示全部楼层
我输入了结果如下: 命令: (setq pt1(cdr (assoc 10 (entget line)))
(_>
(_> pt2 (cdr (assoc 11 (entget line))))
; 错误: 参数类型错误: lentityp nil 请问这是为什么?
发表于 2005-4-26 19:58:00 | 显示全部楼层
先看看联机帮助中的 DXF 组码帮助,最起码的知识了。
发表于 2005-4-27 08:28:00 | 显示全部楼层
应该不算最起码,LISP语言最起码的应该就是括号对了,5楼第一句少了一个括号,都不能发现,,,我就不明白你怎么交差了...
发表于 2005-4-27 08:52:00 | 显示全部楼层
2楼的没有少,只是5楼那样直接在cad里用有问题
 楼主| 发表于 2005-4-27 09:27:00 | 显示全部楼层
我是按2楼给的直接输入,应该没少括号,还是输入的问题。请问应该怎么输入
发表于 2005-4-27 09:34:00 | 显示全部楼层
(defun c:tq()



(setq pt1(cdr (assoc 10 (entget (car (entsel)))))


pt2 (cdr (assoc 11 (entget (car (entsel))))))


)


用前面的例子改了一下


把它存为.lsp,然后加载,在执行就行了


程序里的line是实体名称,不能输入这个





您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 05:27 , Processed in 0.183983 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表