乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 142|回复: 9

lisp CAD坐标批量提取(大神请进)

[复制链接]

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2014-3-11 15:28:00 | 显示全部楼层 |阅读模式
如何利用lisp程序一次性提取CAD中点的坐标。
因为我的图是CAD剖面图自己进行了网格划分,然后提取网格上的点(从左向右竖直方向的网格线进行0,1,2这样编号,便于到excel中数据处理方便)。看到网上有个说是批量lisp输出坐标程序如下,
(defun c:md()
(setvar "cmdecho" 0)
(COMMAND ".UNDO" "BE")
(command "-units" "2" "3" "2" "3" "" "")
(setq fp (open "d:/点编号坐标.xls" "a") s (getvar "cmdecho") n (getint "\n请输入总节点数! "))
(princ "点编号" fp)(princ "\t" fp)
(princ "X坐标值" fp)(princ "\t" fp)
(princ "Y坐标值" fp)(princ "\n" fp)
(repeat n
(setq k (getstring "\n输入点编号(如:K1)!")
p (getpoint "\n选取节点!")
x (strcat "X=" (rtos (nth 0 p)))
y (strcat "Y=" (rtos (nth 1 p))))
(princ k fp)(princ "\t" fp)
(princ x fp)(princ "\t" fp)
(princ y fp)(princ "\n" fp))
(close fp)
(setvar "cmdecho" s))
(princ "\n提示:输入 MD 命令来运行本程序!")
(princ)
    不过加载后运行只能是一个个点击导出坐标太麻烦了。从网上看到说是可以利用什么“图元集”的方法,自己也不懂看看老师能不能帮个忙在您空闲时,可以批量提取坐标的lisp小程序。

5yohpc3rmvk.jpg

5yohpc3rmvk.jpg


    这是我要提取点坐标的dwg图,图中红色网格是自己划分的。就是提取红色网格每个交点的坐标,并从左向右编号批量提取出来。。。望各位老师、高手帮忙看下,自己也不懂lisp程序因为。因为好多这种剖面图企图坐标,一个个点击太麻烦了。。。非常感谢!!
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2014-3-11 15:32:00 | 显示全部楼层
自己先顶下,免得沉了!!
    自己再机械CAD论坛里讨论过都没有提供太好的意见,这里说是高手如云,希望能解决。因为急着用,有哪位高手看到会的话,看看能不能编个小程序,小弟非常感谢!!
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2014-3-12 14:58:00 | 显示全部楼层
看来利用图元类似方法还是有难度的。。
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2014-3-12 21:57:00 | 显示全部楼层
看来还是自己用老办法吧
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2014-3-21 12:39:00 | 显示全部楼层
已解决,这么专业的论坛,还没有百度知道效率
回复

使用道具 举报

0

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
3
发表于 2014-4-28 16:03:00 | 显示全部楼层
怎么解决的不发上来,菜鸟学习下
回复

使用道具 举报

2

主题

65

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2014-7-26 08:14:00 | 显示全部楼层
怎么解决的,可以发上来给大家共享下啊,共同提高学习。虽然你当时没有得到本论坛的大师们及时解决,但不代表大师们不会,可能是因为他们没空或者当时没看到而已。
回复

使用道具 举报

0

主题

17

帖子

6

银币

初来乍到

Rank: 1

铜币
17
发表于 2014-9-21 16:03:00 | 显示全部楼层
这么专业的论坛,自己好幸运
回复

使用道具 举报

1

主题

21

帖子

5

银币

初来乍到

Rank: 1

铜币
25
发表于 2015-2-2 22:21:00 | 显示全部楼层
.........................
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2015-7-10 17:20:00 | 显示全部楼层

(defun c:tqzb( )  
(setvar "cmdecho" 0)
(COMMAND ".UNDO" "BE")  
(command "-units" "2" "3" "2" "3" "" "")  
(setq fp (open "e:/三维CAD坐标值.xls" "a") s (getvar "cmdecho") n (getint "\n请输入总点数! "))  
(princ "序号" fp)(princ "\t" fp)  
(princ "X坐标值" fp)(princ "\t" fp)
(princ "Y坐标值" fp)(princ "\t" fp)  
(princ "Z坐标值" fp)(princ "\n" fp)
(setq k 0)  
(repeat n        
(setq k (1+ K)      
   p (getpoint "\n选取节点!")         
   x (strcat (rtos (nth 0 p)))         
   y (strcat (rtos (nth 1 p)))   
   z (strcat (rtos (nth 2 p)))    )   
  (princ  (strcat "K" (itoa k)) fp) (princ "\t" fp)
  (princ x fp)(princ "\t" fp)  
  (princ y fp)(princ "\t" fp)
  (princ z fp)(princ "\n" fp) )
  (close fp)  
(setvar "cmdecho" s))
(princ "\n提示:输入 tqzb 命令来运行本程序!")
(princ)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 00:06 , Processed in 0.512365 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表