找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 551|回复: 1

[LISP程序]:帮帮忙,求救啊

[复制链接]
发表于 2005-6-1 10:45:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
  1. (Defun C:SPLL()
  2.        (PrinC "\n这是对 Spline 进行数据分析的基本程序...")
  3.        (While(progn(setq pen(car(entsel "\n指定一条 Spline: ")))
  4.                         (/= "SPLINE"(cdr(assoc 0 (entget pen))))
  5.                 )
  6.                 (Alert "所指对象不是 Spline,请重新指定...")
  7.        )
  8.   (princ "\这是一条:")
  9.   (setq s (getstring))
  10.   (princ "\请选择原点:")
  11.   (setq pt1(getpoint))
  12.   (print pt1)
  13.   (setq a1(car pt1))
  14.   (setq a2(cadr pt1))
  15.   (setq ent(entget pen))
  16.   (setq ct 0)
  17.   (textpage)
  18.   (princ"\n 拟合点的坐标值:")
  19.   (setq c1(length ent))
  20.   (while(< ct c1)
  21.    (setq d2(car(nth ct ent)))
  22.       (if(= 10 d2)
  23. (progn
  24.    (setq d3(cdr(nth ct ent)))
  25.    (setq b1(car d3))
  26.    (setq b2(cadr d3))
  27.    (setq b1(- b1 a1))
  28.    (setq b1(abs b1))
  29.    (setq b2(- b2 a2))
  30.    (setq b2(abs b2))
  31.    (subst b1 (car d3) ent)
  32.    (subst b2 (cadr d3) ent)
  33.    (setq d3(cdr(nth ct ent)))
  34.    (print d3)
  35.    )
  36.       )
  37.    (setq ct(+ 1 ct))
  38.   )
  39.   (print)
  40.   )
  41. 修改原先的数据,但好象不行!不知怎么做了!

  42. 另外如何另存在一个EXCEL文件中?!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-6-1 13:55:54 | 显示全部楼层
[php](load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在acad.lsp中增加(load"xyp_lib")
2.在每个程序内增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
通用函数下载地址:
http://www.xdcad.net/forum/attachment.php?s=&postid=1606661
|;

(defun c:test ()
  (CMDLA0)
  (jzhz)
  ;|
  (setq tx2 (UKWORD 1 "Y N" "\n是否输出顶点坐标数据:Y-是/N-否" tx2))
  (if (= tx2 "Y")
    (setq ffn (getfiled "\n保存的坐标文件" "坐标" "txt" 1)
          ff  (open ffn "w")
    )
  )
  |;
  (setq        s1     (usel1 0 "SPLINE" "SPLINE线")
        lst    (entget (car s1))
        lstbak lst
        lst10  '()
        lst11  '()
  )
  (mkla "控制点" 1)
  (while (setq ls1 (assoc 10 lst))
    (setq pt1        (dxf 10 lst)
          lst        (vl-remove ls1 lst)
          lst10        (cons pt1 lst10)
    )
    (X_zb pt1)
  )
  (setq lst lstbak)
  (mkla "拟合点" 3)
  (while (setq ls1 (assoc 11 lst))
    (setq pt1        (dxf 11 lst)
          lst        (vl-remove ls1 lst)
          lst11        (cons pt1 lst11)
    )
    (X_zb pt1)
  )

  ;|
  (if (= tx2 "Y")
    (progn
      (close ff)
      (princ (strcat "\n 坐标写至=>" ffn))
    )
  )
  |;
                                        ;(princ lst10);控制点
                                        ;(princ lst11);拟合点
  (CMDLA1)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 06:49 , Processed in 0.184801 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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