明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: zhongguola

[LISP]求学 这样的程序该怎样编写

  [复制链接]
 楼主| 发表于 2006-3-14 15:58 | 显示全部楼层

ljpnb兄:看看下面这个cad图,能不能把桩的坐标直接提入到电子表格当中,电子表格的形式如下:

桩号 X坐标 Y坐标 Z坐标
J1 1111.000 111.000 0.000
J2 222.000 222.000 0.000
J3 333.000 333.000 0.000
J4 444.000 444.000 0.000
J5 555.000 555.000 0.000
J6 666.000 666.000 0.000
J7 777.000 777.000 0.000
J8 888.000 888.000 0.000
J9 999.000 999.000 0.000
J10 1000.000 1000.000 0.000

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2006-3-14 17:46 | 显示全部楼层
  1. (load "xyp_lib")
  2. ;|加载通用函数
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. 通用函数下载地址:
  11. http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554
  12. |;
  13. (defun c:test ()
  14.   (CMDLA0)
  15.   (setq ss (ssget "X" '((0 . "INSERT") (2 . "zhuang")))
  16. ss (xyp-Sort ss 10 "Y-min")
  17. i  0
  18.   )
  19.   (princ "\n桩号 X坐标 Y坐标 Z坐标")
  20.   (foreach s ss
  21.     (setq i (1+ i))
  22.     (setq pt (car s)
  23.    tx (strcat "J"
  24.        (rtos i 2 0)
  25.        " "
  26.        (rtos (car pt) 2 3)
  27.        " "
  28.        (rtos (cadr pt) 2 3)
  29.        " "
  30.        (rtos (caddr pt) 2 3)
  31.       )
  32.     )
  33.     (princ"\n")
  34.     (princ tx)
  35.   )
  36.   (CMDLA1)
  37. )
发表于 2006-3-14 21:19 | 显示全部楼层
ljpnb兄:你编一个程序呀!!!!!!
发表于 2006-3-14 21:27 | 显示全部楼层
我水平有限,不一定能搞定,这儿高手很多,可以叫他们帮忙啊,有时间我也会帮忙的
发表于 2006-3-14 21:34 | 显示全部楼层
ljpnb兄:加油啊!!!!!!!!!!!
 楼主| 发表于 2006-3-14 23:07 | 显示全部楼层

请问xyp1964兄:

为什么命令行总是提示:

命令:test

;错误:no function defintion:CMDLA0

发表于 2006-3-14 23:21 | 显示全部楼层
zhongguola发表于2006-3-14 23:07:00 请问xyp1964兄: 为什么命令行总是提示: 命令:test<...
先得加载俺的“通用函数”xyp_lib.vlx!
 楼主| 发表于 2006-3-15 17:43 | 显示全部楼层

xyp1964兄:您的函数和程序都非常非常实用!!!!

但是这个程序似乎并不完全符合楼主的意思。

我需要的是:按照图形中的线路顺序依次提取,线路之外的块坐标则不用提取;

其一:您的程序会出现这样的问题:如果在图形中的线路之外也有块,且块名也是zhuang的话,在运行您的程序时候就会把多余的坐标(即线路之外的块)一起提取到表中,而且顺序混乱。

其二:在程序中能不能加入(setq filename (getfiled"打开存放数据的excel电子表格文档""d:\\.......\\" "xls" 1),这是我在网上其他程序中看到的,这样的话就可以把数据直接存放到电子表格当中了!!!

发表于 2006-3-15 17:51 | 显示全部楼层
对cad与excel的数据交换一窍不通,无法帮你了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 13:51 , Processed in 0.281950 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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